Function at 0x40ee60
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x818
mov eax, dword [0x4890a0]
xor eax, esp
mov dword [esp + 0x814], eax
mov eax, dword [esp + 0x81c]
push ebx
push esi
push edi
mov dword [esp + 0x1c], ecx
mov dword [ecx + 4], 0
mov dword [ecx], 0
cmp eax, 0x10000
jae 0x40eec8
push eax
call fcn.0040edb0
mov esi, eax
add esp, 4
mov dword [esp + 0xc], esi
test esi, esi
jne 0x40efa5
pop edi
lea eax, [esi + 2]
pop esi
pop ebx
mov ecx, dword [esp + 0x814]
xor ecx, esp
call fcn.00431784
add esp, 0x818
ret
push 0
push 0
push 3
push 0
push 1
push 0x80000000
push eax
call dword [sym.imp.kernel32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x40ef02
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x814]
xor ecx, esp
call fcn.00431784
add esp, 0x818
ret
mov ebx, dword [sym.imp.kernel32.dll_SetFilePointer]
push 2
push 0
push 0
push esi
call ebx
push 0
push 0
push 0
push esi
mov edi, eax
call ebx
lea eax, [edi + 2]
push eax
call fcn.00431c1f
mov ebx, eax
add esp, 4
mov dword [esp + 0xc], ebx
test ebx, ebx
jne 0x40ef54
push esi
call dword [sym.imp.kernel32.dll_CloseHandle]
pop edi
pop esi
lea eax, [ebx + 2]
pop ebx
mov ecx, dword [esp + 0x814]
xor ecx, esp
call fcn.00431784
add esp, 0x818
ret
push 0
lea ecx, [esp + 0x18]
push ecx
push edi
push ebx
push esi
call dword [sym.imp.kernel32.dll_ReadFile]
mov edx, edi
shr edx, 1
xor eax, eax
push esi
mov word [ebx + edx*2], ax
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp dword [esp + 0x14], edi
je 0x40efa3
mov ecx, ebx
push ecx
call fcn.00431ac8
add esp, 4
pop edi
pop esi
mov eax, 3
pop ebx
mov ecx, dword [esp + 0x814]
xor ecx, esp
call fcn.00431784
add esp, 0x818
ret
mov esi, ebx
push ebp
push 0x10000
call fcn.00431c1f
mov ebx, eax
push 0x1000
mov dword [esp + 0x24], ebx
call fcn.00431c1f
add esp, 8
mov ebp, eax
test ebx, ebx
je 0x40f172
test ebp, ebp
je 0x40f172
cmp dword [0x4db750], 0
jne 0x40f00f
xor edi, edi
mov esi, 0x4dd498
push edi
push 0x482ee4
push esi
mov edx, 0x20
call fcn.0040ec20
mov dword [ebp + edi*4], esi
add esi, 0x40
add esp, 0xc
inc edi
cmp esi, 0x4ed498
jl 0x40efe5
mov esi, dword [esp + 0x10]
jmp 0x40f027
xor eax, eax
mov edx, dword [0x4db750]
mov ecx, dword [eax + edx]
mov dword [eax + ebp], ecx
add eax, 4
cmp eax, 0x1000
jl 0x40f011
mov eax, dword [esp + 0x10]
mov edx, 0xfeff
add esi, 2
mov dword [esp + 0x14], 0
cmp word [eax], dx
je 0x40f050
mov dword [esp + 0x14], 7
jmp 0x40f152
xor edx, edx
movzx ecx, word [esi]
cmp cx, 0x5c
jne 0x40f07c
movzx eax, word [esi + 2]
cmp ax, 0xa
jne 0x40f06a
add esi, 4
jmp 0x40f052
cmp ax, 0xd
jne 0x40f07c
cmp word [esi + 4], 0xa
jne 0x40f07c
add esi, 6
jmp 0x40f052
cmp cx, 0x20
jb 0x40f095
cmp edx, 0x3ff
jge 0x40f090
mov word [esp + edx*2 + 0x24], cx
inc edx
add esi, 2
jmp 0x40f052
movzx eax, word [esi]
test ax, ax
je 0x40f0b5
cmp ax, 0x20
jae 0x40f0b5
test ax, ax
je 0x40f0b5
movzx eax, word [esi + 2]
add esi, 2
cmp ax, 0x20
jb 0x40f0a3
xor ecx, ecx
mov word [esp + edx*2 + 0x24], cx
mov ax, word [esp + 0x24]
cmp ax, 0x3b
je 0x40f12a
test ax, ax
je 0x40f12a
lea edx, [esp + 0x24]
push 0x3d
push edx
call fcn.00431793
mov edi, eax
add esp, 8
test edi, edi
je 0x40f136
lea ecx, [esp + 0x24]
xor eax, eax
push ecx
mov word [edi], ax
call fcn.00432db5
add esp, 4
test eax, eax
je 0x40f140
jl 0x40f14a
cmp eax, 0x400
jge 0x40f14a
add edi, 2
push edi
mov ecx, ebx
mov dword [ebp + eax*4], ebx
call fcn.0040ec40
mov eax, ebx
add esp, 4
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40f117
sub eax, edx
sar eax, 1
lea ebx, [ebx + eax*2 + 2]
cmp word [esi], 0
jne 0x40f050
jmp 0x40f152
mov dword [esp + 0x14], 4
jmp 0x40f152
mov dword [esp + 0x14], 5
jmp 0x40f152
mov dword [esp + 0x14], 6
mov edx, dword [esp + 0x10]
push edx
call fcn.00431ac8
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [eax], ebp
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x18]
add esp, 4
jmp 0x40f19a
push esi
call fcn.00431ac8
add esp, 4
test ebx, ebx
je 0x40f188
push ebx
call fcn.00431ac8
add esp, 4
test ebp, ebp
je 0x40f195
push ebp
call fcn.00431ac8
add esp, 4
mov eax, 2
mov ecx, dword [esp + 0x824]
pop ebp
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00431784
add esp, 0x818
ret