Function at 0x412dd0
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xffffff64
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
lea esi, [ebp - 0x2c]
mov eax, 0x4bfd80
call fcn.00479eb8
mov dword [esi + 0x1c], 1
lea edx, [ebp + 0xc]
lea eax, [ebp + 0xc]
call fcn.00488c1c
inc dword [esi + 0x1c]
xor edx, edx
mov word [esi + 0x10], 8
mov dword [edi], edx
mov edx, 0x4bfcba
mov word [esi + 0x10], 0x14
lea eax, [ebp - 4]
call fcn.00488be4
inc dword [esi + 0x1c]
mov word [esi + 0x10], 8
push 0
push 0x80
push 3
push 0
push 1
push accept
cmp dword [ebp + 0xc], 0
je 0x412e4b
mov ecx, dword [ebp + 0xc]
jmp 0x412e50
mov ecx, 0x4bfcbb
push ecx
call sub.KERNEL32.DLL_CreateFileA
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x412eb0
mov word [esi + 0x10], 0x20
lea edx, [ebp - 4]
mov eax, dword [ebp + 8]
call fcn.00488e00
mov eax, dword [ebp + 8]
mov edx, 2
mov word [esi + 0x10], 0x2c
push eax
lea eax, [ebp - 4]
dec dword [esi + 0x1c]
call fcn.00488dd0
dec dword [esi + 0x1c]
lea eax, [ebp + 0xc]
mov edx, 2
call fcn.00488dd0
pop eax
mov word [esi + 0x10], 0x20
inc dword [esi + 0x1c]
mov edx, dword [esi]
mov dword fs:[0], edx
jmp 0x41309d
push 0
push ebx
call sub.KERNEL32.DLL_GetFileSize
mov word [esi + 0x10], 8
mov dword [edi], eax
test eax, eax
ja 0x412f1d
push ebx
call sub.KERNEL32.DLL_CloseHandle
mov word [esi + 0x10], 0x38
lea edx, [ebp - 4]
mov eax, dword [ebp + 8]
call fcn.00488e00
mov eax, dword [ebp + 8]
mov edx, 2
mov word [esi + 0x10], 0x44
push eax
lea eax, [ebp - 4]
dec dword [esi + 0x1c]
call fcn.00488dd0
dec dword [esi + 0x1c]
lea eax, [ebp + 0xc]
mov edx, 2
call fcn.00488dd0
pop eax
mov word [esi + 0x10], 0x38
inc dword [esi + 0x1c]
mov edx, dword [esi]
mov dword fs:[0], edx
jmp 0x41309d
lea ecx, [ebp - 0x108c]
push ecx
call fcn.00412c90
pop ecx
push 0x10
push 0
lea eax, [ebp - 0x109c]
push eax
call fcn.004798f8
add esp, 0xc
lea edx, [ebp - 0x30]
push 0
push edx
lea ecx, [ebp - 0x1034]
push 0x1000
push ecx
push ebx
call sub.KERNEL32.DLL_ReadFile
test eax, eax
jne 0x412fac
mov word [esi + 0x10], 0x50
lea edx, [ebp - 4]
mov eax, dword [ebp + 8]
call fcn.00488e00
mov eax, dword [ebp + 8]
mov edx, 2
mov word [esi + 0x10], 0x5c
push eax
lea eax, [ebp - 4]
dec dword [esi + 0x1c]
call fcn.00488dd0
dec dword [esi + 0x1c]
lea eax, [ebp + 0xc]
mov edx, 2
call fcn.00488dd0
pop eax
mov word [esi + 0x10], 0x50
inc dword [esi + 0x1c]
mov edx, dword [esi]
mov dword fs:[0], edx
jmp 0x41309d
cmp dword [ebp - 0x30], 0
je 0x412fd9
mov ecx, dword [ebp - 0x30]
push ecx
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x108c]
push edx
call fcn.00412cbc
add esp, 0xc
cmp dword [ebp - 0x30], 0x1000
je 0x412f3d
lea ecx, [ebp - 0x108c]
push ecx
lea eax, [ebp - 0x109c]
push eax
call fcn.00412d54
add esp, 8
push ebx
call sub.KERNEL32.DLL_CloseHandle
mov word [esi + 0x10], 8
xor edi, edi
lea ebx, [ebp - 0x109c]
xor eax, eax
lea edx, [ebp - 0x33]
mov al, byte [ebx]
push eax
push str._02x
push edx
call fcn.0047d588
mov word [esi + 0x10], 0x68
add esp, 0xc
lea edx, [ebp - 0x33]
lea eax, [ebp - 8]
call fcn.00488be4
inc dword [esi + 0x1c]
lea edx, [ebp - 8]
lea eax, [ebp - 4]
call fcn.00488e14
dec dword [esi + 0x1c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.00488dd0
inc edi
inc ebx
cmp edi, 0x10
jl 0x413003
mov word [esi + 0x10], 0x74
lea edx, [ebp - 4]
mov eax, dword [ebp + 8]
call fcn.00488e00
mov eax, dword [ebp + 8]
mov edx, 2
mov word [esi + 0x10], 0x80
push eax
lea eax, [ebp - 4]
dec dword [esi + 0x1c]
call fcn.00488dd0
dec dword [esi + 0x1c]
lea eax, [ebp + 0xc]
mov edx, 2
call fcn.00488dd0
pop eax
mov word [esi + 0x10], 0x74
inc dword [esi + 0x1c]
mov edx, dword [esi]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc