Function at 0x43f028
Capabilities:
Read file on windows

Disassembly:
push 0x1f0
mov eax, 0x44dce9
call fcn.0041bc3d
mov esi, 0x48df94
push esi
push 0x44c
call fcn.00440631
push esi
call fcn.0043ec74
mov eax, dword [0x48dd20]
shr eax, 0x11
test al, 1
je 0x43f2e0
xor eax, eax
lea edi, [ebp - 0x44]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
and dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
and dword [ebp - 4], eax
lea edx, [ebp - 0x44]
cmp dword [0x48dc3c], 7
mov ecx, 0x48dc28
cmova ecx, dword [0x48dc28]
call fcn.00409972
push 0x2e
lea ecx, [ebp - 0x44]
call fcn.0040a4ce
push str.xstg
lea ecx, [ebp - 0x44]
call fcn.00401e31
mov edx, dword [0x48dd4c]
lea ecx, [ebp - 0x44]
ror edx, 5
call fcn.00449c60
test al, al
je 0x43f288
cmp dword [ebp - 0x30], 7
lea eax, [ebp - 0x44]
push 0x45da38
cmova eax, dword [ebp - 0x44]
push eax
call fcn.00421653
mov esi, eax
mov dword [ebp - 0x1ec], esi
pop ecx
pop ecx
test esi, esi
je 0x43f288
mov ecx, esi
call fcn.00408207
mov edi, eax
push edi
mov dword [ebp - 0x1e4], edi
call fcn.0041b558
push esi
push 1
push edi
push eax
mov dword [ebp - 0x1e0], eax
call fcn.00427935
add esp, 0x14
test eax, eax
je 0x43f26a
lea ecx, [ebp - 0x11c]
call fcn.004071b0
xor eax, eax
lea edi, [ebp - 0x2c]
stosd dword es:[edi], eax
push 0xf
pop esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], esi
mov byte [ebp - 0x2c], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x1e4]
mov edi, dword [ebp - 0x1e0]
push edi
call fcn.00402136
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x11c]
call fcn.00449490
test al, al
je 0x43f1f3
cmp dword [0x48dfa8], esi
mov ecx, 0x48df94
push dword [ebp - 0xcc]
mov eax, ecx
cmova eax, dword [0x48df94]
and dword [0x48dfa4], 0
cmp dword [ebp - 0xc8], esi
mov byte [eax], 0
lea eax, [ebp - 0xdc]
cmova eax, dword [ebp - 0xdc]
push eax
call fcn.00402136
push 0x48df94
call fcn.0043ec74
cmp dword [0x48dff0], esi
mov ecx, 0x48dfdc
push dword [ebp - 0xb4]
mov eax, ecx
cmova eax, dword [0x48dfdc]
and dword [0x48dfec], 0
cmp dword [ebp - 0xb0], esi
mov byte [eax], 0
lea eax, [ebp - 0xc4]
cmova eax, dword [ebp - 0xc4]
push eax
call fcn.00402136
cmp dword [ebp - 0x18], esi
lea eax, [ebp - 0x2c]
cmova eax, dword [ebp - 0x2c]
and dword [ebp - 0x1c], 0
mov byte [eax], 0
mov eax, dword [ebp - 0x18]
cmp eax, esi
jbe 0x43f24c
mov ecx, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1e4], ecx
cmp eax, 0x1000
jb 0x43f243
lea eax, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0x1e4]
push eax
call fcn.0040249b
mov eax, dword [ebp - 0x1e0]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1e4]
push eax
push ecx
call fcn.0041b2a1
pop ecx
pop ecx
and dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x18], esi
mov byte [ebp - 0x2c], 0
call fcn.00407215
jmp 0x43f273
mov edi, dword [ebp - 0x1e0]
push 0xf
pop esi
push edi
call fcn.0041b553
push dword [ebp - 0x1ec]
call fcn.00421a91
pop ecx
pop ecx
jmp 0x43f28b
push 0xf
pop esi
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x30]
cmp eax, 7
jbe 0x43f2e3
mov ecx, dword [ebp - 0x44]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e0], ecx
cmp eax, 0x1000
jb 0x43f2d5
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x1e0]
push eax
call fcn.0040249b
mov eax, dword [ebp - 0x1e4]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1e0]
push eax
push ecx
call fcn.0041b2a1
pop ecx
pop ecx
jmp 0x43f2e3
push 0xf
pop esi
mov edi, 0x48dfac
push edi
push 0x438
call fcn.00440631
cmp dword [0x48dfbc], 2
jbe 0x43f302
push edi
call fcn.00410c87
mov ecx, dword [0x48df88]
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [0x48dd20]
shr eax, 0x12
test al, 1
je 0x43f348
lea ecx, [ebp - 0x1dc]
call fcn.00406a04
lea ecx, [ebp - 0x1dc]
mov dword [ebp - 4], 5
call fcn.0040d84b
test al, al
jne 0x43f430
lea ecx, [ebp - 0x1dc]
call fcn.00406b59
xor eax, eax
lea edi, [ebp - 0x5c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], esi
mov byte [ebp - 0x5c], 0
lea eax, [ebp - 0x5c]
mov dword [ebp - 4], 8
push eax
push 0x40b
call fcn.004406a6
test al, al
je 0x43f3ad
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x94]
call fcn.0040bdfe
mov byte [ebp - 4], 9
mov ecx, dword [0x48dff4]
test ecx, ecx
je 0x43f39e
lea eax, [ebp - 0x94]
push eax
call fcn.00449180
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 8
call fcn.0040be5c
call fcn.0043fff4
cmp dword [0x48de80], 0
jne 0x43f3c4
cmp dword [0x48de84], 0
je 0x43f3c9
call fcn.0043f967
mov ecx, dword [0x48df88]
mov eax, dword [ecx]
call dword [eax]
push 0x48dfac
call fcn.0043ff2e
call fcn.0043f634
mov eax, dword [ebp - 0x48]
cmp eax, esi
jbe 0x43f42a
mov ecx, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e0], ecx
cmp eax, 0x1000
jb 0x43f421
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x1e0]
push eax
call fcn.0040249b
mov eax, dword [ebp - 0x1e4]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1e0]
push eax
push ecx
call fcn.0041b2a1
pop ecx
pop ecx
call fcn.0041bb8f
ret
lea eax, [ebp - 0x44]
push 0x43
push eax
call fcn.004013b0
mov ecx, eax
call fcn.00407ce1
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x24]
call fcn.0040546d
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x1fc]
call fcn.00404a1f
push 0x463524
lea eax, [ebp - 0x1fc]
push eax
call fcn.0041ec4e
int3