Function at 0x43c930
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x8544
call fcn.00460a60
mov eax, dword [0x4b1570]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x8538], ecx
mov dword [ebp - 0xc], 0x3e8
mov eax, dword [ebp - 0x8538]
mov dword [eax + 8], 0
mov byte [ebp - 0x8518], 0
push 0x83ff
push 0
lea ecx, [ebp - 0x8517]
push ecx
call fcn.00460350
add esp, 0xc
mov edx, dword [ebp - 0x8538]
cmp dword [edx + 4], 0
jne 0x43c9a5
mov eax, dword [ebp - 0x8538]
mov dword [eax + 8], 0x10dd
mov ecx, dword [ebp - 0x8538]
mov eax, dword [ecx + 8]
jmp 0x43cee2
cmp dword [ebp + 8], 0
jne 0x43c9c6
mov edx, dword [ebp - 0x8538]
mov dword [edx + 8], 0x57
mov eax, dword [ebp - 0x8538]
mov eax, dword [eax + 8]
jmp 0x43cee2
push 0x104
push 0
lea ecx, [ebp - 0x118]
push ecx
call fcn.00460350
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0043c2f0
add esp, 8
mov dword [ebp - 0x8520], 0
mov dword [ebp - 0x851c], 0
push 0x480bcc
mov ecx, dword [ebp + 8]
push ecx
call fcn.00460930
add esp, 8
mov dword [ebp - 0x851c], eax
cmp dword [ebp - 0x851c], 0
jne 0x43ca3e
mov edx, dword [ebp - 0x8538]
mov dword [edx + 8], 0x6e
mov eax, dword [ebp - 0x8538]
mov eax, dword [eax + 8]
jmp 0x43cee2
push 2
push 0
mov ecx, dword [ebp - 0x851c]
push ecx
call fcn.00463a83
add esp, 0xc
mov edx, dword [ebp - 0x851c]
push edx
call fcn.0046398e
add esp, 4
mov dword [ebp - 0x8520], eax
movzx eax, word [ebp + 0x48]
cmp eax, 0x8000
jae 0x43ca7d
movzx ecx, word [ebp + 0x48]
mov dword [ebp - 0x853c], ecx
jmp 0x43ca87
mov dword [ebp - 0x853c], 0x8000
mov edx, dword [ebp - 0x853c]
mov dword [ebp - 0x8534], edx
cmp dword [ebp + 0x18], 0
je 0x43cabb
mov dword [ebp - 0x8530], 1
mov dword [ebp - 0x852c], 0
mov eax, dword [ebp + 0x20]
push eax
lea ecx, [ebp - 0x8530]
push ecx
call dword [ebp + 0x18]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x8540], edx
mov eax, dword [ebp - 0x8540]
sub eax, 1
mov dword [ebp - 0x8540], eax
cmp dword [ebp - 0x8540], 8
ja case.0x43cae6.2
mov ecx, dword [ebp - 0x8540]
jmp dword [ecx*4 + 0x43cef4]
mov edx, dword [ebp + 0x9c]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp - 0x8520]
push ecx
mov ecx, dword [ebp - 0x8538]
call fcn.0043cfc0
mov edx, dword [ebp - 0x8538]
mov dword [edx + 8], eax
jmp 0x43cbd3
mov eax, dword [ebp + 0x9c]
push eax
mov ecx, dword [ebp - 0x8520]
push ecx
mov ecx, dword [ebp - 0x8538]
call fcn.0043d0b0
mov edx, dword [ebp - 0x8538]
mov dword [edx + 8], eax
jmp 0x43cbd3
mov eax, dword [ebp + 0x9c]
push eax
mov ecx, dword [ebp - 0x8520]
push ecx
mov edx, dword [ebp + 0x14]
mov al, byte [edx]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x8538]
call fcn.0043d190
mov ecx, dword [ebp - 0x8538]
mov dword [ecx + 8], eax
jmp 0x43cbd3
mov edx, dword [ebp + 0x9c]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x8520]
push ecx
mov ecx, dword [ebp - 0x8538]
call fcn.0043d4a0
mov edx, dword [ebp - 0x8538]
mov dword [edx + 8], eax
jmp 0x43cbd3
mov eax, dword [ebp + 0x9c]
push eax
mov ecx, dword [ebp + 0x14]
mov dl, byte [ecx]
push edx
mov eax, dword [ebp - 0x8520]
push eax
mov ecx, dword [ebp - 0x8538]
call fcn.0043d3b0
mov ecx, dword [ebp - 0x8538]
mov dword [ecx + 8], eax
jmp 0x43cbd3
mov edx, dword [ebp - 0x8538]
mov dword [edx + 8], 0x57
mov eax, dword [ebp - 0x8538]
cmp dword [eax + 8], 0
jne 0x43cbea
mov ecx, dword [ebp + 0x9c]
cmp dword [ecx], 0
je 0x43cbf4
jmp 0x43ceb7
cmp dword [ebp + 0x10], 0
je 0x43cc86
push 0
push 0
mov edx, dword [ebp - 0x851c]
push edx
call fcn.00463a83
add esp, 0xc
mov eax, dword [ebp - 0x851c]
push eax
mov ecx, dword [ebp - 0x8534]
push ecx
push 1
mov edx, dword [ebp - 0x8538]
mov eax, dword [edx + 0xc]
add eax, 6
push eax
call fcn.004637db
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jle 0x43cc65
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp - 8]
push edx
lea eax, [ebp - 0x8518]
push eax
mov ecx, dword [ebp - 0x8538]
mov edx, dword [ecx + 0xc]
add edx, 6
push edx
call fcn.0041e7a0
add esp, 0x10
jmp 0x43cc6c
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 8]
imul eax, eax, 9
cdq
mov ecx, 0xa
idiv ecx
cmp dword [ebp - 0x10], eax
jl 0x43cc86
mov dword [ebp + 0x10], 0
mov dword [ebp - 0x8528], 0
mov dword [ebp - 0x8524], 0
push 0
push 0
mov edx, dword [ebp - 0x851c]
push edx
call fcn.00463a83
add esp, 0xc
mov eax, dword [ebp - 0x851c]
push eax
call fcn.00465f19
add esp, 4
test eax, eax
jne 0x43ce5d
push 0x8400
push 0
lea ecx, [ebp - 0x8518]
push ecx
call fcn.00460350
add esp, 0xc
mov edx, dword [ebp - 0x851c]
push edx
mov eax, dword [ebp - 0x8534]
push eax
push 1
mov ecx, dword [ebp - 0x8538]
mov edx, dword [ecx + 0xc]
add edx, 6
push edx
call fcn.004637db
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
cmp dword [ebp + 0x10], 0
je 0x43cd82
cmp dword [ebp - 8], 0
jle 0x43cd82
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp - 8]
push edx
lea eax, [ebp - 0x8518]
push eax
mov ecx, dword [ebp - 0x8538]
mov edx, dword [ecx + 0xc]
add edx, 6
push edx
call fcn.0041e7a0
add esp, 0x10
cmp dword [ebp - 0x8528], 0
jne 0x43cd80
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x8534]
jle 0x43cd80
mov dword [ebp - 0x8528], 1
push 1
mov ecx, dword [ebp - 8]
neg ecx
push ecx
mov edx, dword [ebp - 0x851c]
push edx
call fcn.00463a83
add esp, 0xc
mov eax, dword [ebp - 0x8534]
shr eax, 1
mov dword [ebp - 0x8534], eax
jmp 0x43ccad
jmp 0x43cdaf
cmp dword [ebp - 0x10], 0
jle 0x43cdaa
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x8538]
mov eax, dword [edx + 0xc]
add eax, 6
push eax
lea ecx, [ebp - 0x8518]
push ecx
call fcn.00460a90
add esp, 0xc
jmp 0x43cdaf
jmp 0x43ccad
cmp dword [ebp + 0x18], 0
je 0x43ce13
mov dword [ebp - 0x8530], 2
mov edx, dword [ebp - 0x8524]
add edx, dword [ebp - 8]
mov dword [ebp - 0x8524], edx
cmp dword [ebp - 0x8520], 0
jle 0x43cde5
mov eax, dword [ebp - 0x8520]
mov dword [ebp - 0x8544], eax
jmp 0x43cdef
mov dword [ebp - 0x8544], 1
mov eax, dword [ebp - 0x8524]
imul eax, eax, 0x64
cdq
idiv dword [ebp - 0x8544]
mov dword [ebp - 0x852c], eax
mov ecx, dword [ebp + 0x20]
push ecx
lea edx, [ebp - 0x8530]
push edx
call dword [ebp + 0x18]
mov eax, dword [ebp + 0x9c]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 0x10]
push edx
lea eax, [ebp - 0x8518]
push eax
mov ecx, dword [ebp - 0x8538]
call fcn.0043d580
mov ecx, dword [ebp - 0x8538]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x8538]
cmp dword [edx + 8], 0
jne 0x43ce54
mov eax, dword [ebp + 0x9c]
cmp dword [eax], 0
je 0x43ce58
jmp 0x43ceb7
jmp 0x43ccad
cmp dword [ebp + 0x18], 0
je 0x43ce85
mov dword [ebp - 0x8530], 3
mov dword [ebp - 0x852c], 0
mov ecx, dword [ebp + 0x20]
push ecx
lea edx, [ebp - 0x8530]
push edx
call dword [ebp + 0x18]
cmp dword [ebp + 0xc], 1
jne 0x43cea3
mov eax, dword [ebp + 0x9c]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp - 0x8538]
call fcn.0043d660
jmp 0x43ceb7
mov edx, dword [ebp + 0x9c]
push edx
push 0
mov ecx, dword [ebp - 0x8538]
call fcn.0043d660
cmp dword [ebp - 0x851c], 0
je 0x43ced9
mov eax, dword [ebp - 0x851c]
push eax
call fcn.004607f0
add esp, 4
mov dword [ebp - 0x851c], 0
mov ecx, dword [ebp - 0x8538]
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00460142
mov esp, ebp
pop ebp
ret 0x98