Function at 0x406289
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
mov eax, dword [0x423410]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [0x42502c]
push edi
mov edi, dword [0x425028]
sub edi, 0x14
sbb ebx, 0
test ebx, ebx
jg 0x4062c1
jl 0x4062ba
test edi, edi
jae 0x4062c1
xor eax, eax
jmp 0x4066f6
push esi
push 0
push ebx
push edi
push dword [0x4f1090]
call fcn.0040cde4
mov dword [0x4f10a0], eax
push 0x14
lea eax, [ebp - 0x18]
push eax
push dword [0x4f1090]
mov dword [0x4f10a4], edx
call fcn.00419c37
add esp, 0x1c
mov dword [0x4f1074], eax
cmp eax, 0x14
je 0x40630e
mov ebx, 0x401
mov esi, 0x4e5064
mov edi, 0x424f80
jmp 0x40643d
push 4
lea eax, [ebp - 0x18]
push 0x423010
push eax
call fcn.0040b80b
add esp, 0xc
test eax, eax
jne 0x4066f3
lea eax, [ebp - 0x14]
push eax
call fcn.00403fed
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x10]
push eax
call fcn.00404013
mov dword [ebp - 0x58], eax
lea eax, [ebp - 8]
push eax
mov dword [ebp - 0x54], edx
call fcn.00403fed
mov ecx, dword [0x4f1138]
mov esi, 0xffff
add esp, 0xc
cmp ecx, esi
je 0x406368
dec eax
cmp ecx, eax
jne 0x4066f3
cmp dword [ebp - 0x54], ebx
jb 0x406374
ja 0x4062fa
cmp dword [ebp - 0x58], edi
ja 0x4062fa
push 0
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push dword [0x4f1090]
call fcn.0040cde4
mov dword [0x4f10a0], eax
push 0x38
lea eax, [ebp - 0x50]
push eax
push dword [0x4f1090]
mov dword [0x4f10a4], edx
call fcn.00419c37
add esp, 0x1c
mov dword [0x4f1074], eax
cmp eax, 0x38
jne 0x4062fa
push 4
lea eax, [ebp - 0x50]
push 0x42300c
push eax
call fcn.0040b80b
add esp, 0xc
test eax, eax
je 0x4064e4
add edi, 0xffffffc8
adc ebx, 0xffffffff
push 0
push ebx
push edi
push dword [0x4f1090]
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x54], ebx
call fcn.0040cde4
mov dword [0x4f10a0], eax
push 0x38
lea eax, [ebp - 0x50]
push eax
push dword [0x4f1090]
mov dword [0x4f10a4], edx
call fcn.00419c37
add esp, 0x1c
mov dword [0x4f1074], eax
cmp eax, 0x38
jne 0x4062fa
push 4
lea eax, [ebp - 0x50]
push 0x42300c
push eax
call fcn.0040b80b
add esp, 0xc
mov ebx, 0x401
mov esi, 0x4e5064
mov edi, 0x424f80
test eax, eax
je 0x406492
cmp dword [0x424fbc], 0
jne 0x40644f
cmp dword [0x424f88], 0
je 0x406470
push ebx
push dword [0x4f108c]
push 0x41e11c
push esi
call fcn.0040ab01
add esp, 0xc
push eax
push esi
push edi
call dword [0x4f1380]
add esp, 0x10
push ebx
push 0x41df98
push esi
call fcn.0040ab01
pop ecx
pop ecx
push eax
push esi
push edi
call dword [0x4f1380]
add esp, 0x10
push 2
pop eax
jmp 0x4066f5
cmp dword [0x424fbc], 0
jne 0x4064a4
cmp dword [0x424f88], 0
je 0x4064c5
push ebx
push dword [0x4f108c]
push 0x41e11c
push esi
call fcn.0040ab01
add esp, 0xc
push eax
push esi
push edi
call dword [0x4f1380]
add esp, 0x10
push ebx
push 0x41e000
push esi
call fcn.0040ab01
pop ecx
pop ecx
push eax
push esi
push edi
call dword [0x4f1380]
add esp, 0x10
mov esi, 0xffff
lea eax, [ebp - 0x40]
push eax
call fcn.00403fed
pop ecx
cmp eax, dword [ebp - 0x70]
jne 0x4066f3
lea eax, [ebp - 0x3c]
push eax
call fcn.00403fed
mov dword [ebp - 0x6c], eax
mov eax, dword [0x4f113c]
pop ecx
cmp eax, esi
je 0x406516
cmp eax, dword [ebp - 0x6c]
jne 0x4066f3
lea eax, [ebp - 0x38]
push eax
call fcn.00404013
mov dword [ebp - 0x68], eax
mov eax, dword [0x4f1128]
pop ecx
mov ecx, dword [0x4f112c]
mov dword [ebp - 0x64], edx
cmp eax, esi
jne 0x406539
test ecx, ecx
je 0x40654a
cmp eax, dword [ebp - 0x68]
jne 0x4066f3
cmp ecx, edx
jne 0x4066f3
lea eax, [ebp - 0x30]
push eax
call fcn.00404013
mov dword [ebp - 0x60], eax
mov eax, dword [0x4f1130]
pop ecx
mov ecx, dword [0x4f1134]
mov dword [ebp - 0x5c], edx
cmp eax, esi
jne 0x40656d
test ecx, ecx
je 0x40657e
cmp eax, dword [ebp - 0x60]
jne 0x4066f3
cmp ecx, edx
jne 0x4066f3
lea eax, [ebp - 0x28]
push eax
call fcn.00404013
mov dword [ebp - 0x78], eax
mov eax, dword [0x4f1118]
pop ecx
mov ecx, dword [0x4f111c]
mov dword [ebp - 0x74], edx
cmp eax, 0xffffffff
jne 0x4065a2
test ecx, ecx
je 0x4065b3
cmp eax, dword [ebp - 0x78]
jne 0x4066f3
cmp ecx, edx
jne 0x4066f3
lea eax, [ebp - 0x20]
push eax
call fcn.00404013
pop ecx
mov ecx, dword [0x4f1120]
mov ebx, eax
mov eax, dword [0x4f1124]
mov dword [ebp - 0x7c], edx
cmp ecx, 0xffffffff
jne 0x4065d6
test eax, eax
je 0x4065e6
cmp ecx, ebx
jne 0x4066f3
cmp eax, edx
jne 0x4066f3
mov edx, dword [ebp - 0x58]
xor edi, edi
inc edi
mov dword [0x425028], edx
mov edx, dword [ebp - 0x54]
mov dword [0x4f1140], edi
mov dword [0x42502c], edx
cmp dword [0x4f1138], esi
jne 0x40661c
mov edx, dword [ebp - 0x70]
mov dword [0x4f1138], edx
cmp edx, esi
je 0x40661c
mov dword [0x4f1144], edi
cmp dword [0x4f113c], esi
jne 0x406637
mov edx, dword [ebp - 0x6c]
mov dword [0x4f113c], edx
cmp edx, esi
je 0x406637
mov dword [0x4f1144], edi
cmp dword [0x4f1128], esi
jne 0x406669
cmp dword [0x4f112c], 0
jne 0x406669
mov edx, dword [ebp - 0x68]
mov dword [0x4f1128], edx
mov edx, dword [ebp - 0x64]
mov dword [0x4f112c], edx
cmp dword [ebp - 0x68], esi
jne 0x406663
test edx, edx
je 0x406669
mov dword [0x4f1144], edi
cmp dword [0x4f1130], esi
jne 0x40669b
cmp dword [0x4f1134], 0
jne 0x40669b
mov edx, dword [ebp - 0x60]
mov dword [0x4f1130], edx
mov edx, dword [ebp - 0x5c]
mov dword [0x4f1134], edx
cmp dword [ebp - 0x60], esi
jne 0x406695
test edx, edx
je 0x40669b
mov dword [0x4f1144], edi
cmp dword [0x4f1118], 0xffffffff
jne 0x4066ce
cmp dword [0x4f111c], 0
jne 0x4066ce
mov edx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
mov dword [0x4f1118], edx
mov dword [0x4f111c], esi
cmp edx, 0xffffffff
jne 0x4066c8
test esi, esi
je 0x4066ce
mov dword [0x4f1144], edi
cmp ecx, 0xffffffff
jne 0x4066f3
test eax, eax
jne 0x4066f3
mov eax, dword [ebp - 0x7c]
mov dword [0x4f1120], ebx
mov dword [0x4f1124], eax
cmp ebx, ecx
jne 0x4066ed
test eax, eax
je 0x4066f3
mov dword [0x4f1144], edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.0040da8f
leave
ret