Function at 0x403460
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc14
mov eax, dword [0x470004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0x800
mov dword [ebp - 0xc0c], eax
mov edi, edx
lea eax, [ebp - 0xc04]
mov dword [ebp - 0xc10], ecx
push 0
push eax
call fcn.0043e460
add esp, 0xc
lea eax, [ebp - 0xc04]
push 0x7d0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x469520
lea eax, [ebp - 0xc04]
push eax
lea eax, [ebp - 0xc08]
push eax
call fcn.00444101
mov eax, dword [ebp - 0xc08]
add esp, 0xc
test eax, eax
je 0x4036fa
push 2
push 0
push eax
call fcn.00443fcf
push dword [ebp - 0xc08]
call fcn.00443bca
mov ebx, eax
add esp, 0x10
test ebx, ebx
jle 0x4036ec
push 0
push 0x50
push dword [ebp - 0xc08]
call fcn.00443fcf
push dword [ebp - 0xc08]
lea eax, [ebp - 0x404]
push 9
push 1
push eax
call fcn.00444361
movzx esi, byte [ebp - 0x404]
add esp, 0x1c
movzx eax, byte [ebp - 0x403]
movzx edx, byte [ebp - 0x400]
mov ecx, dword [ebp - 0x3fd]
shl esi, 8
or esi, eax
shl edx, 8
movzx eax, byte [ebp - 0x402]
shl esi, 8
or esi, eax
movzx eax, byte [ebp - 0x401]
shl esi, 8
or esi, eax
movzx eax, byte [ebp - 0x3ff]
or edx, eax
movzx eax, byte [ebp - 0x3fe]
shl edx, 8
or edx, eax
movzx eax, cl
shl edx, 8
or edx, eax
movsx eax, ch
mov ecx, dword [ebp - 0xc0c]
mov dword [edi], edx
mov dword [ecx], eax
test esi, esi
js 0x4036ec
cmp esi, ebx
jg 0x4036ec
push 0
push esi
push dword [ebp - 0xc08]
call fcn.00443fcf
push dword [ebp - 0xc08]
lea eax, [ebp - 0x404]
push 0x400
push 1
push eax
call fcn.00444361
movzx edi, byte [ebp - 0x404]
add esp, 0x1c
movzx eax, byte [ebp - 0x403]
movzx esi, byte [ebp - 0x400]
shl edi, 8
or edi, eax
shl esi, 8
movzx eax, byte [ebp - 0x402]
shl edi, 8
or edi, eax
movzx eax, byte [ebp - 0x401]
shl edi, 8
or edi, eax
movzx eax, byte [ebp - 0x3ff]
or esi, eax
movzx eax, byte [ebp - 0x3fe]
shl esi, 8
or esi, eax
movzx eax, byte [ebp - 0x3fd]
shl esi, 8
or esi, eax
mov eax, dword [ebp - 0xc10]
mov dword [ebp - 0xc14], esi
mov dword [eax], esi
jle 0x4036ec
test edi, edi
jle 0x4036ec
cmp edi, ebx
jge 0x4036ec
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00441663
push 0
push edi
push dword [ebp - 0xc08]
mov dword [ebp - 0xc0c], eax
call fcn.00443fcf
add esp, 0x10
xor ebx, ebx
test esi, esi
jle 0x4036c7
lea edi, [ebp - 0x3fa]
push 8
call fcn.00441663
movzx edx, byte [edi - 2]
mov esi, eax
movzx ecx, byte [edi - 1]
add esp, 4
shl edx, 8
or edx, ecx
movzx ecx, byte [edi]
shl edx, 8
or edx, ecx
movzx ecx, byte [edi + 1]
shl edx, 8
or edx, ecx
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xc08]
call fcn.00403020
mov dword [esi], eax
lea edi, [edi + 4]
mov eax, dword [ebp - 0xc0c]
mov dword [eax + ebx*4], esi
inc ebx
cmp ebx, dword [ebp - 0xc14]
jl 0x403678
push dword [ebp - 0xc08]
call fcn.00443c4b
mov eax, dword [ebp - 0xc0c]
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00405b44
mov esp, ebp
pop ebp
ret
push dword [ebp - 0xc08]
call fcn.00443c4b
add esp, 4
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00405b44
mov esp, ebp
pop ebp
ret