Function at 0x43fce6
Capabilities:
Read file on windows

Disassembly:
push 0x1f0
mov eax, 0x44e83c
call fcn.0041bb5d
mov esi, 0x490fe4
push esi
push 0x44c
call fcn.004413a5
push esi
call fcn.0043f934
mov eax, dword [0x490d70]
shr eax, 0x11
test al, 1
je 0x43fff8
xor eax, eax
mov dword [ebp - 0x30], 7
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x34], eax
mov word [ebp - 0x44], cx
mov dword [ebp - 4], eax
lea edx, [ebp - 0x44]
cmp dword [0x490c8c], 8
mov ecx, 0x490c78
cmovae ecx, dword [0x490c78]
call fcn.0040973e
push 0x2e
lea ecx, [ebp - 0x44]
call fcn.0040a27c
push str.xstg
lea ecx, [ebp - 0x44]
call fcn.00401e19
mov edx, dword [0x490d9c]
lea ecx, [ebp - 0x44]
ror edx, 5
call fcn.0044a860
test al, al
je 0x43ffa0
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
push 0x461628
cmovae eax, dword [ebp - 0x44]
push eax
call fcn.00421583
mov edi, eax
mov dword [ebp - 0x1e8], edi
pop ecx
pop ecx
test edi, edi
je 0x43ffa0
mov ecx, edi
call fcn.00407fe1
mov esi, eax
push esi
mov dword [ebp - 0x1e0], esi
call fcn.0041b47b
push edi
push 1
push esi
push eax
mov dword [ebp - 0x1e4], eax
call fcn.00427865
add esp, 0x14
test eax, eax
je 0x43ff88
lea ecx, [ebp - 0x11c]
call fcn.00406fd1
xor eax, eax
push 0xf
pop esi
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], esi
mov byte [ebp - 0xf4], al
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], esi
mov byte [ebp - 0xdc], al
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], esi
mov byte [ebp - 0xc4], al
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], esi
mov byte [ebp - 0xac], al
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], esi
mov byte [ebp - 0x2c], al
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
call fcn.00402114
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x11c]
call fcn.0044a0c0
test al, al
je 0x43ff09
cmp dword [0x490ff8], 0x10
mov ecx, 0x490fe4
push dword [ebp - 0xcc]
mov eax, ecx
cmovae eax, dword [0x490fe4]
and dword [0x490ff4], 0
cmp dword [ebp - 0xc8], 0x10
mov byte [eax], 0
lea eax, [ebp - 0xdc]
cmovae eax, dword [ebp - 0xdc]
push eax
call fcn.00402114
push 0x490fe4
call fcn.0043f934
cmp dword [0x491040], 0x10
mov ecx, 0x49102c
push dword [ebp - 0xb4]
mov eax, ecx
cmovae eax, dword [0x49102c]
and dword [0x49103c], 0
cmp dword [ebp - 0xb0], 0x10
mov byte [eax], 0
lea eax, [ebp - 0xc4]
cmovae eax, dword [ebp - 0xc4]
push eax
call fcn.00402114
cmp dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
and dword [ebp - 0x1c], 0
mov byte [eax], 0
mov eax, dword [ebp - 0x18]
cmp eax, 0x10
jb 0x43ff64
mov ecx, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1e0], ecx
cmp eax, 0x1000
jb 0x43ff5b
lea eax, [ebp - 0x1e8]
push eax
lea eax, [ebp - 0x1e0]
push eax
call fcn.0040247c
mov eax, dword [ebp - 0x1e8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1e0]
push eax
push ecx
call fcn.0041b1c4
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.00407000
jmp 0x43ff8b
push 0xf
pop esi
push dword [ebp - 0x1e4]
call fcn.0041b476
push edi
call fcn.004219c1
pop ecx
pop ecx
jmp 0x43ffa3
push 0xf
pop esi
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x30]
cmp eax, 8
jb 0x43fffb
mov ecx, dword [ebp - 0x44]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e0], ecx
cmp eax, 0x1000
jb 0x43ffed
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x1e0]
push eax
call fcn.0040247c
mov eax, dword [ebp - 0x1e4]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1e0]
push eax
push ecx
call fcn.0041b1c4
pop ecx
pop ecx
jmp 0x43fffb
push 0xf
pop esi
mov edi, 0x490ffc
push edi
push 0x438
call fcn.004413a5
cmp dword [0x49100c], 2
jbe 0x44001a
push edi
call fcn.004108c6
mov ecx, dword [0x490fd8]
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [0x490d70]
shr eax, 0x12
test al, 1
je 0x440060
lea ecx, [ebp - 0x1dc]
call fcn.0040695f
lea ecx, [ebp - 0x1dc]
mov dword [ebp - 4], 5
call fcn.0040d461
test al, al
jne 0x440181
lea ecx, [ebp - 0x1dc]
call fcn.00406aa4
xor eax, eax
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x5c], al
lea eax, [ebp - 0x5c]
mov dword [ebp - 4], 8
push eax
push 0x40b
call fcn.0044141a
test al, al
je 0x440101
xor eax, eax
mov dword [ebp - 0x94], 0x461844
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], esi
mov byte [ebp - 0x90], al
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x90]
cmp dword [ebp - 0x48], 0x10
push dword [ebp - 0x4c]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x5c]
cmovae eax, dword [ebp - 0x5c]
push eax
call fcn.00402114
mov byte [ebp - 4], 0xb
mov ecx, dword [0x491044]
test ecx, ecx
je 0x4400f2
lea eax, [ebp - 0x94]
push eax
call fcn.00449dc0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 8
call fcn.0040ba84
call fcn.00440d71
cmp dword [0x490ed0], 0
jne 0x440118
cmp dword [0x490ed4], 0
je 0x44011d
call fcn.004406a7
mov ecx, dword [0x490fd8]
mov eax, dword [ecx]
call dword [eax]
push edi
call fcn.00440cab
call fcn.00440374
mov eax, dword [ebp - 0x48]
cmp eax, 0x10
jb 0x44017b
mov ecx, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e0], ecx
cmp eax, 0x1000
jb 0x440172
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x1e0]
push eax
call fcn.0040247c
mov eax, dword [ebp - 0x1e4]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1e0]
push eax
push ecx
call fcn.0041b1c4
pop ecx
pop ecx
call fcn.0041baaf
ret
lea eax, [ebp - 0x44]
push 0x43
push eax
call fcn.004013b0
mov ecx, eax
call fcn.00407aba
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x24]
call fcn.00405407
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x1fc]
call fcn.004049ba
push 0x466fb4
lea eax, [ebp - 0x1fc]
push eax
call fcn.0041eb8e
int3