Function at 0x43f1e0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x68cea0
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push esi
push edi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
push 0x1c
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0
call fcn.00404500
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0x30]
mov ecx, dword [ebx + 4]
cmp ecx, 0xffffffff
je 0x43f470
mov eax, dword [ebx + 8]
add eax, 0x1c
cmp eax, dword [ebx + 0xc]
ja 0x43f470
push 0
lea eax, [ebp + 8]
push eax
push 0x1c
push edi
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x43f470
cmp dword [ebp + 8], 0x1c
jne 0x43f470
add dword [ebx + 8], 0x1c
lea edx, [edi + 8]
cmp dword [0x72ece4], 0x10
mov ecx, 0x72ecd0
mov esi, dword [0x72ece0]
cmovae ecx, dword [0x72ecd0]
sub esi, 4
jb 0x43f2b1
nop dword [eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x43f2b6
add edx, 4
add ecx, 4
sub esi, 4
jae 0x43f2a0
cmp esi, 0xfffffffc
je 0x43f2f3
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x43f470
cmp esi, 0xfffffffd
je 0x43f2f3
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x43f470
cmp esi, 0xfffffffe
je 0x43f2f3
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x43f470
cmp esi, 0xffffffff
je 0x43f2f3
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
jne 0x43f470
mov eax, dword [ebp - 0x2c]
sub eax, edi
cmp eax, 0x14
jl 0x43f470
movzx ecx, byte [edi + 0x13]
movzx eax, byte [edi + 0x12]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 0x11]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 0x10]
shl ecx, 8
or ecx, eax
cmp ecx, 2
jne 0x43f470
push 0x14
lea eax, [ebp - 0x30]
push eax
call fcn.0043fbf0
mov ecx, dword [ebp - 0x14]
cmp eax, 1
push 0x18
sete al
mov byte [ecx + 8], al
lea eax, [ebp - 0x30]
push eax
call fcn.0043fbf0
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ecx], eax
push 0x10
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 1
call fcn.00404500
push 0x1c
mov ecx, ebx
call fcn.00620920
push 0x10
push dword [ebp - 0x24]
mov ecx, ebx
call fcn.00620500
test al, al
jne 0x43f39b
lea ecx, [ebp - 0x24]
xor bl, bl
call fcn.00404550
jmp 0x43f472
push 4
lea eax, [ebp - 0x24]
push eax
call fcn.0043fbf0
push 8
lea esi, [eax - 0x10]
lea eax, [ebp - 0x24]
mov dword [ebp + 0x18], esi
push eax
call fcn.0043fbf0
mov dword [ebp + 8], eax
lea eax, [ebp - 0x24]
push 0xc
push eax
call fcn.0043fbf0
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ecx], eax
push esi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 2
call fcn.00404500
push esi
push dword [ebp - 0x3c]
mov ecx, ebx
call fcn.00620500
test al, al
jne 0x43f3ff
xor bl, bl
jmp 0x43f45e
mov esi, dword [ebp + 0xc]
mov ecx, esi
mov ebx, dword [ebp + 8]
push ebx
mov eax, dword [esi]
mov dword [esi + 4], eax
call fcn.00404500
mov dword [ebp - 0x18], vtable.commonsystemdata::CZlibDecompressor.0
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.004635b0
test al, al
je 0x43f454
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x43f454
push dword [ebp + 0x18]
mov eax, dword [ecx]
push dword [ebp - 0x3c]
push ebx
push dword [esi]
mov eax, dword [eax + 8]
call eax
test al, al
je 0x43f454
mov eax, dword [ebp + 0x14]
mov dword [eax], ebx
mov bl, 1
jmp 0x43f456
xor bl, bl
lea ecx, [ebp - 0x18]
call fcn.00463560
lea ecx, [ebp - 0x3c]
call fcn.00404550
lea ecx, [ebp - 0x24]
call fcn.00404550
jmp 0x43f472
xor bl, bl
test edi, edi
je 0x43f487
mov edx, dword [ebp - 0x28]
mov ecx, edi
push 1
sub edx, edi
call fcn.004020c0
add esp, 4
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14