Function at 0x4046e6
Capabilities:
Delete file
Get file size
Read file via mapping

Disassembly:
push ebp
lea ebp, [esp - 0x1ac]
sub esp, 0x22c
mov eax, dword [0x42005c]
or dword [ebp - 0x60], 0xffffffff
push ebx
push esi
mov dword [ebp + 0x1a8], eax
mov eax, dword [ebp + 0x1b4]
push edi
push dword [eax + 0x14]
xor ebx, ebx
mov edi, ecx
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x5c], ebx
call fcn.00404475
pop ecx
push ebx
push 0x80
push 3
push ebx
push 1
lea eax, [edi + 0x124]
push bind
push eax
mov dword [ebp - 0x74], eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
mov dword [ebp - 0x68], esi
jne 0x404769
push 0x1f40
mov ecx, dword [0x420b04]
push 0x321
call fcn.00407f9f
jmp 0x404992
lea eax, [ebp - 0x7c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x40477f
push 0x1f41
jmp 0x404754
push ebx
push ebx
push ebx
push 2
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
cmp eax, ebx
mov dword [ebp - 0x70], eax
jne 0x40479a
push 0x1f42
jmp 0x404754
push ebx
push ebx
push ebx
push 4
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
cmp eax, ebx
mov dword [ebp - 0x64], eax
jne 0x4047b4
push 0x1f43
jmp 0x404754
mov esi, 0x400
cmp dword [ebp - 0x5c], ebx
je 0x4047c6
push dword [ebp - 0x5c]
call fcn.00416530
lea eax, [ebp - 0x5c]
push eax
call fcn.004166db
cmp eax, ebx
mov dword [ebp + 0x1b4], eax
jl 0x4048aa
push dword [ebp - 0x7c]
push dword [ebp - 0x64]
push 0xffffffffffffffff
call fcn.0040431e
add edi, 0x228
push edi
push dword [0x420994]
push dword [0x420990]
push dword [ebp - 0x7c]
push eax
push 0x401bb0
lea eax, [ebp - 0x58]
push 0x1ff
push eax
call fcn.0040bf33
add esp, 0x20
test eax, eax
jl 0x40496d
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x58]
push eax
push eax
push dword [ebp - 0x5c]
mov edi, 0x200
mov dword [ebp - 0x6c], edi
call fcn.0040847a
cmp eax, 0x2db0004
mov dword [ebp + 0x1b4], eax
jne 0x404977
mov eax, dword [ebp - 0x5c]
push ebx
push ebx
push ebx
push 0x1000
push dword [ebp - 0x7c]
push dword [ebp - 0x68]
push dword [eax + 0x400]
call sub.MSWSOCK.dll_TransmitFile
test eax, eax
jne 0x404873
mov dword [ebp + 0x1b4], 0x82db0101
cmp dword [ebp + 0x1b4], ebx
jl 0x4048aa
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x5c]
mov dword [ebp - 0x6c], edi
call fcn.00416572
lea eax, [ebp + 0x1b4]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00408406
cmp dword [ebp + 0x1b4], ebx
jge 0x40498b
mov ecx, dword [0x420b04]
mov eax, dword [ecx]
call dword [eax + 0x3c]
test eax, eax
jne 0x40498b
push 0x800
call fcn.0040bf2e
mov edi, eax
cmp edi, ebx
pop ecx
je 0x404981
push 0
push esi
lea ebx, [edi + 0x400]
push ebx
push esi
push dword [ebp + 0x1b4]
push 0
push 0x1200
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
jne 0x404909
push dword [ebp + 0x1b4]
push 0x401ba4
push esi
push ebx
call fcn.0040bf33
add esp, 0x10
push 0x200
lea eax, [ebp - 0x58]
push eax
push 0x2cb
push dword [0x420afc]
call dword [sym.imp.USER32.dll_LoadStringA]
push ebx
lea eax, [ebp - 0x58]
push eax
push 0x401b9c
push esi
push edi
call fcn.0040bf33
mov eax, dword [0x420b04]
mov ecx, dword [eax + 0x1264]
mov eax, dword [eax + 0x22c]
add esp, 0x14
push 6
push ecx
push edi
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push edi
mov dword [ebp - 0x60], eax
call fcn.0040bf29
xor ebx, ebx
cmp dword [ebp - 0x60], 0xa
pop ecx
jne 0x40498b
mov edi, dword [ebp - 0x80]
jmp 0x4047b9
push 0x1f44
jmp 0x404754
push 0x1f45
jmp 0x404754
push 0x1f46
jmp 0x404754
mov dword [ebp - 0x60], 1
cmp dword [ebp - 0x5c], ebx
je 0x40499f
push dword [ebp - 0x5c]
call fcn.00416530
cmp dword [ebp - 0x68], 0xffffffff
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x4049b0
push dword [ebp - 0x68]
call esi
cmp dword [ebp - 0x70], ebx
je 0x4049ba
push dword [ebp - 0x70]
call esi
cmp dword [ebp - 0x64], ebx
pop edi
pop esi
pop ebx
je 0x4049cb
push dword [ebp - 0x64]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push dword [ebp - 0x74]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp + 0x1a8]
mov eax, dword [ebp - 0x60]
call fcn.0040bf1b
add ebp, 0x1ac
leave
ret 4