I have some code that I need help with. ( comment on each line what its doing )

I know I can get shift F1 help in ollydbg but I am not sure what they are doing with this code.

Is this the right place?


Some general questions:

I see references saying to search for fs:[30] in the dump but I can never get any search hits?

How do I display the memory location so I can use the offset data in PEid for example?

I am a newbie so bare with me.
I am doing this for fun, its what happens when the weather is -30 outsite.

Thanks for any help.

CPU Disasm
Address   Hex dump          Command                                  Comments
6F5C4B91  /$  8BFF          MOV EDI,EDI                              ; test_exe.6F5C4B91(guessed Arg1)
6F5C4B93  |.  55            PUSH EBP
6F5C4B94  |.  8BEC          MOV EBP,ESP
6F5C4B96  |.  837D 08 00    CMP DWORD PTR SS:[EBP+8],0
6F5C4B9A  |.- 74 2D         JE SHORT 6F5C4BC9
6F5C4B9C  |.  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; /pMem
6F5C4B9F  |.  6A 00         PUSH 0                                   ; |Flags = 0
6F5C4BA1  |.  FF35 8C3A5F6F PUSH DWORD PTR DS:[6F5F3A8C]             ; |Heap = 043A0000
6F5C4BA7  |.  FF15 8C705D6F CALL DWORD PTR DS:[<&KERNEL32.HeapFree>] ; \KERNEL32.HeapFree
6F5C4BAD  |.  85C0          TEST EAX,EAX
6F5C4BAF  |.- 75 18         JNZ SHORT 6F5C4BC9
6F5C4BB1  |.  56            PUSH ESI
6F5C4BB2  |.  E8 E0120000   CALL 6F5C5E97
6F5C4BB7  |.  8BF0          MOV ESI,EAX
6F5C4BB9  |.  FF15 88705D6F CALL DWORD PTR DS:[<&KERNEL32.GetLastErr ; [KERNEL32.GetLastError
6F5C4BBF  |.  50            PUSH EAX                                 ; /Arg1
6F5C4BC0  |.  E8 90120000   CALL 6F5C5E55                            ; \test_exe.6F5C5E55
6F5C4BC5  |.  59            POP ECX
6F5C4BC6  |.  8906          MOV DWORD PTR DS:[ESI],EAX
6F5C4BC8  |.  5E            POP ESI
6F5C4BC9  |>  5D            POP EBP
6F5C4BCA  \.  C3            RETN