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

Disassembly:
push 0x18c
mov eax, 0x47230d
call fcn.0046c277
mov dword [ebp - 0x198], ecx
mov esi, dword [ebp + 8]
mov dword [ebp - 0x194], esi
call fcn.0043b96c
push eax
lea ecx, [ebp - 0x54]
call fcn.00439aec
xor edi, edi
mov dword [ebp - 4], edi
call fcn.0043b972
mov ecx, eax
call fcn.004394d5
test al, al
je 0x460635
push esi
lea ecx, [ebp - 0x54]
call fcn.00439536
push edi
push 0x80
push 3
push edi
push 1
push SysReAllocString
lea ecx, [ebp - 0x54]
call fcn.00439451
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x184], eax
cmp eax, 0xffffffff
jne 0x4605e1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.00439431
jmp 0x46071b
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, edi
je 0x4605d0
push esi
mov dword [ebp - 0x18c], edi
call fcn.0043903a
pop ecx
push edi
mov ebx, eax
lea eax, [ebp - 0x18c]
push eax
push esi
push ebx
push dword [ebp - 0x184]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x184]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x18c], esi
je 0x46070b
push ebx
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
pop ecx
jmp 0x4605d0
call fcn.0043b972
push eax
lea ecx, [ebp - 0x54]
call fcn.00439519
call fcn.0043b978
test al, al
je 0x460653
call fcn.0043b97e
jmp 0x460667
push 2
push edi
lea ecx, [ebp - 0x54]
call fcn.00439451
push eax
call fcn.00455c38
add esp, 0xc
mov dword [ebp - 0x184], eax
cmp eax, edi
je 0x4605d0
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp - 0x190]
push eax
push 1
push esi
push dword [ebp - 0x184]
call fcn.00454420
add esp, 0x14
test eax, eax
jne 0x4605d0
mov esi, dword [ebp - 0x58]
cmp esi, edi
je 0x4605d0
push esi
call fcn.0043903a
push 3
push esi
mov ebx, eax
push ebx
push dword [ebp - 0x190]
push dword [ebp - 0x184]
call fcn.00455c96
add esp, 0x18
cmp eax, edi
je 0x4606f6
cmp eax, 0x600
je 0x4606f6
push ebx
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
pop ecx
call fcn.0043b978
test al, al
jne 0x4605d0
push dword [ebp - 0x184]
call fcn.00455cce
jmp 0x460632
call fcn.0043b978
test al, al
jne 0x46070b
push dword [ebp - 0x184]
call fcn.00455cce
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.00439431
cmp ebx, edi
jne 0x46079a
push edi
push 0x80
push 3
push edi
push 1
push SysReAllocString
push dword [ebp - 0x194]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x184], eax
cmp eax, 0xffffffff
je 0x460796
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, edi
je 0x460796
push esi
mov dword [ebp - 0x188], edi
call fcn.0043903a
pop ecx
push edi
mov ebx, eax
lea eax, [ebp - 0x188]
push eax
push esi
push ebx
push dword [ebp - 0x184]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x184]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x188], esi
je 0x460792
push ebx
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
pop ecx
xor ebx, ebx
cmp ebx, edi
jne 0x46079a
xor eax, eax
jmp 0x4607b2
mov ecx, dword [ebp - 0x198]
push esi
push ebx
call fcn.0046031e
push ebx
mov esi, eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
pop ecx
mov eax, esi
call fcn.0046c2c1
ret 4