Function at 0x415890
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x38
mov eax, dword [esp + 0x3c]
push ebx
push ebp
push esi
push edi
mov ebx, ecx
xor edi, edi
push edi
push eax
mov dword [ebx + 4], edi
mov dword [ebx + 0x438], edi
mov dword [ebx + 0x43c], edi
mov dword [ebx + 0x440], edi
mov dword [ebx + 0x464], edi
mov dword [ebx + 0x468], edi
mov dword [ebx + 0x46c], edi
mov ecx, dword [0x67a8cc]
push ecx
call dword [sym.imp.MSVCRT.dll_fseek]
mov edx, dword [0x67a8cc]
mov ebp, dword [sym.imp.MSVCRT.dll_fread]
push edx
push 1
push 4
push ebx
call ebp
mov eax, dword [0x67a8cc]
lea ecx, [esp + 0x34]
push eax
push 1
push 0x10
push ecx
call ebp
push 0x24
call fcn.004784b0
add esp, 0x30
cmp eax, edi
je 0x415918
lea edx, [esp + 0x18]
push 1
push edx
mov ecx, eax
call fcn.00495db0
jmp 0x41591a
xor eax, eax
mov dword [ebx + 4], eax
mov eax, dword [0x67a8cc]
push eax
push 1
lea ecx, [ebx + 8]
push 0x20
push ecx
call ebp
mov edx, dword [0x67a8cc]
lea eax, [ebx + 0x28]
push edx
push 1
push 0x400
push eax
call ebp
mov eax, dword [0x67a8cc]
lea esi, [ebx + 0x428]
push eax
push 1
push 0x10
push esi
call ebp
mov ecx, dword [0x67a8cc]
lea edx, [esp + 0x68]
push ecx
push 1
push 0x10
push edx
call ebp
mov eax, dword [0x67a8cc]
add esp, 0x40
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], edi
push eax
push 1
push 8
push ecx
mov dword [esp + 0x24], edi
call ebp
mov edx, dword [0x67a92c]
mov eax, dword [ebx]
add esp, 0x10
test edx, eax
je 0x415a34
mov eax, dword [0x67a8cc]
lea ecx, [ebx + 0x444]
push eax
push 1
push 0x20
push ecx
call ebp
mov edx, dword [0x67a8cc]
lea eax, [esp + 0x38]
push edx
push 1
push 0x10
push eax
call ebp
mov ecx, dword [0x67a8cc]
lea edx, [esp + 0x6c]
push ecx
push 1
push 4
push edx
mov dword [esp + 0x7c], edi
call ebp
mov eax, dword [0x67a930]
mov ecx, dword [ebx]
add esp, 0x30
test eax, ecx
je 0x415a04
push 0x24
call fcn.004784b0
add esp, 4
cmp eax, edi
je 0x4159fc
lea ecx, [esp + 0x28]
push 1
push ecx
mov ecx, eax
call fcn.00495db0
jmp 0x4159fe
xor eax, eax
mov dword [ebx + 0x464], eax
mov edx, dword [0x67a938]
mov eax, dword [ebx]
test edx, eax
je 0x415a45
cmp dword [esp + 0x4c], edi
je 0x415a45
push 0x10
call sub.MFC42u.DLL_operatornew
mov ecx, dword [esp + 0x50]
add esp, 4
mov dword [ebx + 0x468], eax
push ecx
mov ecx, eax
call fcn.00485ac0
jmp 0x415a45
mov ecx, 8
xor eax, eax
lea edi, [ebx + 0x444]
rep stosd dword es:[edi], eax
xor edi, edi
mov eax, dword [ebx]
mov ecx, dword [0x67a918]
test eax, ecx
je 0x415b0d
test dword [0x67a91c], eax
je 0x415a90
xor edx, edx
push 0x24
mov dword [esi], edx
mov dword [esi + 4], edx
mov dword [esi + 8], edx
mov dword [esi + 0xc], edx
call fcn.004784b0
add esp, 4
cmp eax, edi
je 0x415a88
lea ecx, [esp + 0x38]
push 1
push ecx
mov ecx, eax
call fcn.00495db0
jmp 0x415a8a
xor eax, eax
mov dword [ebx + 0x438], eax
mov edx, dword [0x67a920]
mov eax, dword [ebx]
test edx, eax
je 0x415b1a
mov eax, dword [esp + 0x10]
cmp eax, edi
jle 0x415b1a
cmp dword [esp + 0x14], edi
je 0x415b1a
add eax, 0x400
push eax
mov dword [ebx + 0x43c], eax
call fcn.00478e60
mov ecx, 0x100
lea esi, [ebx + 0x28]
mov edi, eax
mov dword [ebx + 0x440], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x18]
mov ecx, dword [0x67a8cc]
push 0
push eax
push ecx
call dword [sym.imp.MSVCRT.dll_fseek]
mov edx, dword [0x67a8cc]
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx + 0x440]
push edx
push eax
add ecx, 0x400
push 1
push ecx
call ebp
add esp, 0x20
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret 4
xor edx, edx
mov dword [esi], edx
mov dword [esi + 4], edx
mov dword [esi + 8], edx
mov dword [esi + 0xc], edx
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x38
ret 4