Function at 0x427d40
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x14
push ebx
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 4]
test eax, eax
jg 0x427d58
cmp dword [esi], 0
jle 0x427ec5
mov ecx, dword [0x6833d0]
call fcn.00420970
mov eax, dword [eax + 0x9c]
mov ecx, dword [0x6833d0]
mov dword [esp + 0x1c], eax
call fcn.00420970
mov ecx, dword [eax + 0x174]
mov dword [esp + 0x14], ecx
mov ecx, dword [0x6833d0]
call fcn.00420970
mov edx, dword [eax + 0x178]
mov eax, dword [0x6833d0]
mov dword [esp + 0x10], edx
mov ecx, dword [eax + 0x17b4]
test ecx, ecx
mov dword [esp + 0x18], ecx
je 0x427daf
call fcn.004f2060
mov ecx, dword [esi + 8]
lea edi, [esi + 0x570]
push ecx
call fcn.00614b45
mov edx, dword [esi + 8]
mov dword [edi], eax
push edx
call fcn.006145cc
mov eax, dword [0x6833d0]
add esp, 8
mov ecx, dword [eax + 0x424]
mov edx, dword [ecx]
call dword [edx + 0xcc]
lea ebx, [esi + 0x420]
push 0x8000
push ebx
call fcn.004c5800
add esp, 8
cmp eax, 0xffffffff
mov dword [esi + 8], eax
je 0x427eb7
mov ecx, dword [0x6833d0]
push ebp
call fcn.00424270
mov ecx, dword [0x6833d0]
push 1
mov ebp, eax
call fcn.004245a0
mov eax, dword [edi]
mov ecx, dword [esi + 8]
push 0
push eax
push ecx
call fcn.00614b56
mov eax, dword [0x6833d0]
mov edx, dword [esi + 8]
add esp, 0xc
mov ecx, dword [eax + 0x424]
push edx
call fcn.005fe500
mov ecx, dword [0x6833d0]
push ebp
call fcn.004245a0
mov ecx, dword [esi + 8]
push ecx
call fcn.004c5900
push 0x180
push 0x8002
push ebx
call fcn.00614875
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esi + 8], eax
pop ebp
je 0x427eb7
mov ecx, dword [edi]
mov edx, dword [esi + 0x568]
push 0
push ecx
push eax
mov dword [esi + 0x56c], edx
mov dword [esi + 0x568], ecx
call fcn.00614b56
mov ecx, dword [esi + 8]
lea eax, [esp + 0x18]
push 4
push eax
push ecx
call fcn.0061467f
add esp, 0x18
test eax, eax
jle 0x427eb7
mov edx, dword [esi + 8]
push 4
push edi
push edx
call fcn.0061467f
add esp, 0xc
test eax, eax
jg 0x427ed0
mov ecx, esi
call fcn.004270d0
mov ecx, esi
call fcn.00426f90
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x14
ret 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esi + 8]
push 0
push eax
push ecx
call fcn.00614b56
mov ecx, dword [esp + 0x24]
add esp, 0xc
test ecx, ecx
je 0x427ef0
call fcn.004f2140
mov eax, dword [esp + 0x24]
test eax, eax
mov eax, dword [esi + 0x564]
jne 0x427f07
inc eax
mov dword [esi + 0x564], eax
jmp 0x427f78
test eax, eax
jle 0x427f12
dec eax
mov dword [esi + 0x564], eax
mov eax, dword [esi + 0x564]
mov ecx, dword [esi + 0x560]
test eax, eax
mov edx, dword [ecx + eax*4]
mov dword [esi + 0x568], edx
jle 0x427f37
mov edx, dword [ecx + eax*4 - 4]
mov dword [esi + 0x56c], edx
jmp 0x427f41
mov dword [esi + 0x56c], 0
mov edx, dword [esi + 0x55c]
dec edx
cmp eax, edx
jge 0x427f54
mov ecx, dword [ecx + eax*4 + 4]
mov dword [edi], ecx
jmp 0x427f5a
mov dword [edi], 0
test eax, eax
jne 0x427f78
mov edx, dword [esi + 0x54c]
mov ebx, dword [esp + 0xc]
push eax
mov eax, dword [esi + 8]
add edx, ebx
push edx
push eax
call fcn.00614b56
add esp, 0xc
mov eax, 0x1f4
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov ecx, dword [0x6833d0]
mov eax, dword [esp + 0x1c]
push eax
mov edx, dword [ecx]
call dword [edx + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push 0
push ecx
mov ecx, dword [0x6833d0]
push edx
call fcn.00420970
mov ecx, eax
call fcn.004b3520
fld dword [esp + 0x10]
call fcn.0061318c
fld dword [esp + 0x14]
push eax
call fcn.0061318c
mov ecx, dword [0x6833d0]
push eax
call fcn.00420970
mov ecx, eax
call fcn.004b3500
mov ecx, 0x68d8e0
call fcn.00548ca0
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 0x20]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x14
ret 4