Function at 0x10009cd4
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeb8
push esi
push edi
push ebx
cmp dword [0x1005250d], 0
je 0x10009cfe
push dword [0x1005250d]
call fcn.10051176
mov dword [0x1005250d], 0
push 0x104
lea eax, [ebp - 0x11c]
push eax
push 0
call fcn.10051008
lea eax, [ebp - 0x11c]
push eax
call fcn.1002fd2a
jmp 0x10009d2d
push 0x10009d1f
lea eax, [ebp - 0x11c]
push eax
call fcn.100510f8
push 0
pop dword [ebp - 4]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
lea eax, [ebp - 0x11c]
push eax
call fcn.10050fc0
cmp eax, 0xffffffff
je 0x10009ddb
mov dword [ebp - 4], eax
push dword [ebp - 4]
call fcn.10050ffc
cmp eax, 1
jne 0x10009dd8
push 0
push 0
push 0x2c
push dword [ebp - 4]
call fcn.100510b6
cmp eax, 0xffffffff
je 0x10009ddb
push 0
lea eax, [ebp - 8]
push eax
push 4
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 4]
call fcn.1005109e
mov eax, dword [0x1005d807]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x14]
jae 0x10009dd3
lea eax, [eax*4 + 0x30]
push 0
push 0
push eax
push dword [ebp - 4]
call fcn.100510b6
push 0
lea eax, [ebp - 8]
push eax
push 4
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 4]
call fcn.1005109e
jmp 0x10009dd6
or eax, 0xffffffff
jmp 0x10009ddb
or eax, 0xffffffff
push eax
cmp dword [ebp - 4], 0
je 0x10009dea
push dword [ebp - 4]
call fcn.10050fb4
pop eax
cmp eax, 0xffffffff
jne 0x10009dff
push dword [ebp + 8]
call fcn.1000a201
pop ebx
pop edi
pop esi
leave
ret 4
push 0x104
lea eax, [ebp - 0x11c]
push eax
push 0
call fcn.10051008
lea eax, [ebp - 0x11c]
push eax
call fcn.1002fd2a
jmp 0x10009e2e
push 0x10009e20
lea eax, [ebp - 0x11c]
push eax
call fcn.100510f8
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
lea eax, [ebp - 0x11c]
push eax
call fcn.10050fc0
cmp eax, 0xffffffff
je 0x1000a181
mov dword [ebp - 4], eax
push dword [ebp - 4]
call fcn.10050ffc
cmp eax, 1
jne 0x1000a181
push 0
push 0
push dword [ebp - 0x14]
push dword [ebp - 4]
call fcn.100510b6
cmp eax, 0xffffffff
je 0x1000a181
push 0
lea eax, [ebp - 8]
push eax
push 4
push 0x1006baa3
push dword [ebp - 4]
call fcn.1005109e
cmp word [0x1006baa3], 1
jbe 0x10009ebb
cmp word [0x1006baa5], 1
ja 0x10009ed7
push dword [ebp - 4]
call fcn.10050fb4
push dword [ebp + 8]
call fcn.1000a201
pop ebx
pop edi
pop esi
leave
ret 4
movzx eax, word [0x1006baa3]
and eax, 0xf
or eax, eax
je 0x10009ef4
movzx eax, word [0x1006baa3]
and eax, 0xfffffff0
add eax, 0x10
jmp 0x10009efb
movzx eax, word [0x1006baa3]
movzx edx, word [0x1006baa5]
imul eax, edx
mov dword [ebp - 0x18], eax
add dword [ebp - 0x11c], 8
push 0
push 0
push dword [ebp - 0x14]
push dword [ebp - 4]
call fcn.100510b6
mov eax, dword [ebp - 0x18]
lea eax, [eax + 0x400]
push eax
push 0
call fcn.1003d03c
or eax, eax
je 0x1000a181
mov dword [ebp - 0xc], eax
push 0x428
push 0
call fcn.1003d03c
or eax, eax
je 0x1000a178
mov dword [ebp - 0x10], eax
push 0
lea eax, [ebp - 8]
push eax
push dword [ebp - 0x18]
push dword [ebp - 0xc]
push dword [ebp - 4]
call fcn.1005109e
push 0
push 0
push 0x38
push dword [ebp - 4]
call fcn.100510b6
mov edx, dword [ebp - 0x10]
push 0
lea eax, [ebp - 8]
push eax
push 0x400
lea eax, [edx + 0x28]
push eax
push dword [ebp - 4]
call fcn.1005109e
push dword [ebp - 4]
call fcn.10050fb4
push 0x28
push dword [ebp - 0x10]
call fcn.1003062f
mov ecx, dword [ebp - 0x10]
mov dword [ecx], 0x28
movzx eax, word [0x1006baa3]
mov dword [ecx + 4], eax
movzx edx, word [0x1006baa5]
mov dword [ecx + 8], edx
imul eax, edx
mov dword [ecx + 0x14], eax
mov word [ecx + 0xc], 1
mov word [ecx + 0xe], 8
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x18], 0xb12
mov dword [ecx + 0x1c], 0xb12
push dword [ebp + 8]
call fcn.10050ea0
or eax, eax
je 0x1000a16f
mov dword [ebp - 0x120], eax
push dword [ebp - 0x120]
call fcn.10051158
or eax, eax
je 0x1000a161
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x10]
push dword [eax + 8]
push dword [eax + 4]
push dword [ebp - 0x120]
call fcn.10051152
or eax, eax
je 0x1000a156
mov dword [0x1005250d], eax
push dword [0x1005250d]
push dword [ebp - 0x128]
call fcn.100511a6
mov dword [ebp - 0x130], eax
jmp 0x1000a058
push 0x1000a04c
call fcn.1005106e
or eax, eax
je 0x1000a145
mov dword [ebp - 0x134], eax
jmp 0x1000a07e
push 0x1000a072
push dword [ebp - 0x134]
call fcn.10051020
or eax, eax
je 0x1000a13a
mov dword [ebp - 0x138], eax
jmp 0x1000a0aa
push 0x1000a09e
push dword [ebp - 0x134]
call fcn.10051020
or eax, eax
je 0x1000a13a
mov dword [ebp - 0x13c], eax
jmp 0x1000a0d3
push 0x1000a0c6
push dword [ebp - 0x134]
call fcn.10051020
or eax, eax
je 0x1000a13a
mov dword [ebp - 0x140], eax
call dword [ebp - 0x138]
or eax, eax
je 0x1000a13a
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x10]
push 4
push dword [eax + 8]
push dword [eax + 4]
push 0
push 0
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [eax + 8]
push dword [eax + 4]
push 0
push 0
push dword [ebp - 0x128]
push dword [ebp - 0x12c]
call dword [ebp - 0x13c]
push dword [ebp - 0x12c]
call dword [ebp - 0x140]
push dword [ebp - 0x134]
call fcn.10050fe4
push dword [ebp - 0x130]
push dword [ebp - 0x128]
call fcn.100511a6
push dword [ebp - 0x128]
call fcn.10051170
push dword [ebp - 0x120]
push dword [ebp + 8]
call fcn.10050f60
lea eax, [ebp - 0x10]
push eax
call fcn.1003d00f
lea eax, [ebp - 0xc]
push eax
call fcn.1003d00f
mov byte [0x10052432], 0
push 1
push 0
push dword [ebp + 8]
call fcn.10050efa
push dword [ebp + 8]
call fcn.10050fae
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret 4