Function at 0x43c900
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x8544
call fcn.004609c0
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.004602b0
add esp, 0xc
mov edx, dword [ebp - 0x8538]
cmp dword [edx + 4], 0
jne 0x43c975
mov eax, dword [ebp - 0x8538]
mov dword [eax + 8], 0x10dd
mov ecx, dword [ebp - 0x8538]
mov eax, dword [ecx + 8]
jmp 0x43ceb2
cmp dword [ebp + 8], 0
jne 0x43c996
mov edx, dword [ebp - 0x8538]
mov dword [edx + 8], 0x57
mov eax, dword [ebp - 0x8538]
mov eax, dword [eax + 8]
jmp 0x43ceb2
push 0x104
push 0
lea ecx, [ebp - 0x118]
push ecx
call fcn.004602b0
add esp, 0xc
lea edx, [ebp - 0x118]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0043c2c0
add esp, 8
mov dword [ebp - 0x8520], 0
mov dword [ebp - 0x851c], 0
push 0x480bc8
mov ecx, dword [ebp + 8]
push ecx
call fcn.00460890
add esp, 8
mov dword [ebp - 0x851c], eax
cmp dword [ebp - 0x851c], 0
jne 0x43ca0e
mov edx, dword [ebp - 0x8538]
mov dword [edx + 8], 0x6e
mov eax, dword [ebp - 0x8538]
mov eax, dword [eax + 8]
jmp 0x43ceb2
push 2
push 0
mov ecx, dword [ebp - 0x851c]
push ecx
call fcn.004639e3
add esp, 0xc
mov edx, dword [ebp - 0x851c]
push edx
call fcn.004638ee
add esp, 4
mov dword [ebp - 0x8520], eax
movzx eax, word [ebp + 0x48]
cmp eax, 0x8000
jae 0x43ca4d
movzx ecx, word [ebp + 0x48]
mov dword [ebp - 0x853c], ecx
jmp 0x43ca57
mov dword [ebp - 0x853c], 0x8000
mov edx, dword [ebp - 0x853c]
mov dword [ebp - 0x8534], edx
cmp dword [ebp + 0x18], 0
je 0x43ca8b
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.0x43cab6.2
mov ecx, dword [ebp - 0x8540]
jmp dword [ecx*4 + 0x43cec4]
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.0043cf90
mov edx, dword [ebp - 0x8538]
mov dword [edx + 8], eax
jmp 0x43cba3
mov eax, dword [ebp + 0x9c]
push eax
mov ecx, dword [ebp - 0x8520]
push ecx
mov ecx, dword [ebp - 0x8538]
call fcn.0043d080
mov edx, dword [ebp - 0x8538]
mov dword [edx + 8], eax
jmp 0x43cba3
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.0043d160
mov ecx, dword [ebp - 0x8538]
mov dword [ecx + 8], eax
jmp 0x43cba3
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.0043d470
mov edx, dword [ebp - 0x8538]
mov dword [edx + 8], eax
jmp 0x43cba3
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.0043d380
mov ecx, dword [ebp - 0x8538]
mov dword [ecx + 8], eax
jmp 0x43cba3
mov edx, dword [ebp - 0x8538]
mov dword [edx + 8], 0x57
mov eax, dword [ebp - 0x8538]
cmp dword [eax + 8], 0
jne 0x43cbba
mov ecx, dword [ebp + 0x9c]
cmp dword [ecx], 0
je 0x43cbc4
jmp 0x43ce87
cmp dword [ebp + 0x10], 0
je 0x43cc56
push 0
push 0
mov edx, dword [ebp - 0x851c]
push edx
call fcn.004639e3
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.0046373b
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jle 0x43cc35
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.0041e660
add esp, 0x10
jmp 0x43cc3c
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 0x43cc56
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.004639e3
add esp, 0xc
mov eax, dword [ebp - 0x851c]
push eax
call fcn.00465e79
add esp, 4
test eax, eax
jne 0x43ce2d
push 0x8400
push 0
lea ecx, [ebp - 0x8518]
push ecx
call fcn.004602b0
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.0046373b
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
cmp dword [ebp + 0x10], 0
je 0x43cd52
cmp dword [ebp - 8], 0
jle 0x43cd52
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.0041e660
add esp, 0x10
cmp dword [ebp - 0x8528], 0
jne 0x43cd50
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x8534]
jle 0x43cd50
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.004639e3
add esp, 0xc
mov eax, dword [ebp - 0x8534]
shr eax, 1
mov dword [ebp - 0x8534], eax
jmp 0x43cc7d
jmp 0x43cd7f
cmp dword [ebp - 0x10], 0
jle 0x43cd7a
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.004609f0
add esp, 0xc
jmp 0x43cd7f
jmp 0x43cc7d
cmp dword [ebp + 0x18], 0
je 0x43cde3
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 0x43cdb5
mov eax, dword [ebp - 0x8520]
mov dword [ebp - 0x8544], eax
jmp 0x43cdbf
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.0043d550
mov ecx, dword [ebp - 0x8538]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x8538]
cmp dword [edx + 8], 0
jne 0x43ce24
mov eax, dword [ebp + 0x9c]
cmp dword [eax], 0
je 0x43ce28
jmp 0x43ce87
jmp 0x43cc7d
cmp dword [ebp + 0x18], 0
je 0x43ce55
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 0x43ce73
mov eax, dword [ebp + 0x9c]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp - 0x8538]
call fcn.0043d630
jmp 0x43ce87
mov edx, dword [ebp + 0x9c]
push edx
push 0
mov ecx, dword [ebp - 0x8538]
call fcn.0043d630
cmp dword [ebp - 0x851c], 0
je 0x43cea9
mov eax, dword [ebp - 0x851c]
push eax
call fcn.00460750
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.004600a2
mov esp, ebp
pop ebp
ret 0x98