Function at 0x10015210
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
push ebx
push esi
push edi
mov dword [ebp - 0xc], 1
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
cmp dword [ebp + 0xc], 0
jne 0x10015236
xor eax, eax
jmp 0x1001547c
mov dword [ebp - 0x18], 0x800
mov eax, dword [ebp - 0x18]
push eax
call fcn.10049234
add esp, 4
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x1001525b
xor eax, eax
jmp 0x1001547c
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
push 0x1006a318
mov eax, dword [ebp + 0xc]
push eax
call fcn.10048c30
add esp, 8
test eax, eax
jne 0x1001527f
mov dword [ebp - 4], 0
jmp 0x100152b5
push 0x8000
mov eax, dword [ebp + 0xc]
push eax
call fcn.1006260a
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x100152b5
cmp dword [0x10086500], 0
jne 0x100152b5
mov eax, dword [ebp - 0x1c]
push eax
call fcn.100490dd
add esp, 4
xor eax, eax
jmp 0x1001547c
mov eax, 1
test eax, eax
je 0x10015462
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x10]
add eax, 3
cmp eax, 0x800
jge 0x1001531d
mov eax, dword [ebp - 0x18]
add eax, 0x800
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.1004eaf9
add esp, 8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x10015314
mov eax, dword [ebp - 0x1c]
push eax
call fcn.100490dd
add esp, 4
xor eax, eax
jmp 0x1001547c
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
cmp dword [ebp + 8], 0
je 0x1001532c
mov dword [ebp - 8], 1
jmp 0x1001533a
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.1005ea15
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10015376
mov eax, dword [ebp - 4]
push eax
call fcn.1005693f
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
call fcn.100490dd
add esp, 4
xor eax, eax
jmp 0x1001547c
cmp dword [ebp - 0x10], 0
jne 0x10015381
jmp 0x10015462
cmp dword [ebp - 0xc], 1
jne 0x1001544d
cmp dword [ebp + 8], 0
je 0x1001544d
mov eax, dword [ebp - 0x20]
movzx ecx, byte [eax]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0x20
jne 0x100153af
mov eax, dword [ebp - 0x20]
mov byte [eax], 0x2b
jmp 0x1001544b
cmp dword [ebp - 0x14], 0xa
jne 0x100153c0
mov eax, dword [ebp - 0x20]
mov byte [eax], 0x26
jmp 0x1001544b
cmp dword [ebp - 0x14], 0xd
jne 0x100153cf
mov dword [ebp - 0x10], 0
jmp 0x1001544b
cmp dword [ebp - 0x14], 0x5c
jne 0x100153e5
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
jmp 0x1001544b
cmp dword [ebp - 0x14], 0x40
jne 0x100153ed
jmp 0x1001544b
cmp dword [ebp - 0x14], 0x3d
jne 0x100153f5
jmp 0x1001544b
cmp dword [ebp - 0x14], 0x5f
jne 0x100153fd
jmp 0x1001544b
cmp dword [ebp - 0x14], 0x2a
jne 0x10015405
jmp 0x1001544b
cmp dword [ebp - 0x14], 0x2d
jl 0x10015413
cmp dword [ebp - 0x14], 0x39
jg 0x10015413
jmp 0x1001544b
cmp dword [ebp - 0x14], 0x41
jl 0x10015421
cmp dword [ebp - 0x14], 0x5a
jg 0x10015421
jmp 0x1001544b
cmp dword [ebp - 0x14], 0x61
jl 0x1001542f
cmp dword [ebp - 0x14], 0x7a
jg 0x1001542f
jmp 0x1001544b
mov eax, dword [ebp - 0x14]
push eax
push str.___02X
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.10049d62
add esp, 0xc
mov dword [ebp - 0x10], 3
jmp 0x10015454
mov dword [ebp - 0xc], 1
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
jmp 0x100152b5
mov eax, dword [ebp - 4]
push eax
call fcn.1005693f
add esp, 4
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret