Function at 0x100150f0
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 0x10015116
xor eax, eax
jmp 0x1001535c
mov dword [ebp - 0x18], 0x800
mov eax, dword [ebp - 0x18]
push eax
call fcn.10041dd4
add esp, 4
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x1001513b
xor eax, eax
jmp 0x1001535c
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
push 0x10063290
mov eax, dword [ebp + 0xc]
push eax
call fcn.100417d0
add esp, 8
test eax, eax
jne 0x1001515f
mov dword [ebp - 4], 0
jmp 0x10015195
push 0x8000
mov eax, dword [ebp + 0xc]
push eax
call fcn.1005b1aa
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x10015195
cmp dword [0x1007f500], 0
jne 0x10015195
mov eax, dword [ebp - 0x1c]
push eax
call fcn.10041c7d
add esp, 4
xor eax, eax
jmp 0x1001535c
mov eax, 1
test eax, eax
je 0x10015342
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 0x100151fd
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.10047699
add esp, 8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x100151f4
mov eax, dword [ebp - 0x1c]
push eax
call fcn.10041c7d
add esp, 4
xor eax, eax
jmp 0x1001535c
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
cmp dword [ebp + 8], 0
je 0x1001520c
mov dword [ebp - 8], 1
jmp 0x1001521a
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.100575b5
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x10015256
mov eax, dword [ebp - 4]
push eax
call fcn.1004f4df
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
call fcn.10041c7d
add esp, 4
xor eax, eax
jmp 0x1001535c
cmp dword [ebp - 0x10], 0
jne 0x10015261
jmp 0x10015342
cmp dword [ebp - 0xc], 1
jne 0x1001532d
cmp dword [ebp + 8], 0
je 0x1001532d
mov eax, dword [ebp - 0x20]
movzx ecx, byte [eax]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0x20
jne 0x1001528f
mov eax, dword [ebp - 0x20]
mov byte [eax], 0x2b
jmp 0x1001532b
cmp dword [ebp - 0x14], 0xa
jne 0x100152a0
mov eax, dword [ebp - 0x20]
mov byte [eax], 0x26
jmp 0x1001532b
cmp dword [ebp - 0x14], 0xd
jne 0x100152af
mov dword [ebp - 0x10], 0
jmp 0x1001532b
cmp dword [ebp - 0x14], 0x5c
jne 0x100152c5
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
jmp 0x1001532b
cmp dword [ebp - 0x14], 0x40
jne 0x100152cd
jmp 0x1001532b
cmp dword [ebp - 0x14], 0x3d
jne 0x100152d5
jmp 0x1001532b
cmp dword [ebp - 0x14], 0x5f
jne 0x100152dd
jmp 0x1001532b
cmp dword [ebp - 0x14], 0x2a
jne 0x100152e5
jmp 0x1001532b
cmp dword [ebp - 0x14], 0x2d
jl 0x100152f3
cmp dword [ebp - 0x14], 0x39
jg 0x100152f3
jmp 0x1001532b
cmp dword [ebp - 0x14], 0x41
jl 0x10015301
cmp dword [ebp - 0x14], 0x5a
jg 0x10015301
jmp 0x1001532b
cmp dword [ebp - 0x14], 0x61
jl 0x1001530f
cmp dword [ebp - 0x14], 0x7a
jg 0x1001530f
jmp 0x1001532b
mov eax, dword [ebp - 0x14]
push eax
push str.___02X
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.10042902
add esp, 0xc
mov dword [ebp - 0x10], 3
jmp 0x10015334
mov dword [ebp - 0xc], 1
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
jmp 0x10015195
mov eax, dword [ebp - 4]
push eax
call fcn.1004f4df
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