Function at 0x100150e1
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
and dword [ebp - 0x3c], 0
cmp dword [ebp + 0x10], 0
jne 0x100150f9
or eax, 0xffffffff
jmp 0x10015331
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x3c]
add eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp + 0x10]
lea eax, [ecx + eax + 0xf8]
mov dword [ebp - 0x10], eax
and dword [ebp - 0x20], 0
xor eax, eax
je 0x1001512e
jmp 0x10015128
mov dword [ebp - 0x28], 4
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c]
add eax, 0xf8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 0xc]
mov eax, dword [ebp + 8]
call dword [eax + 0x24]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jge 0x10015178
xor eax, eax
je 0x10015170
jmp 0x1001516a
or eax, 0xffffffff
jmp 0x10015331
and dword [ebp - 8], 0
jmp 0x10015185
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x30]
movzx eax, word [eax + 6]
cmp dword [ebp - 8], eax
jae 0x1001532f
imul eax, dword [ebp - 8], 0x28
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + eax + 0x14], 0
jne 0x100151a5
jmp 0x1001517e
push 9
push 0
lea eax, [ebp - 0x48]
push eax
call fcn.10009f77
add esp, 0xc
push 8
imul eax, dword [ebp - 8], 0x28
add eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10009ed7
add esp, 0xc
imul eax, dword [ebp - 8], 0x28
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 0x14]
add edx, dword [ecx + eax + 0xc]
mov dword [ebp - 0x38], edx
and dword [ebp - 4], 0
imul eax, dword [ebp - 8], 0x28
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + eax + 0x24]
and eax, 0xf0000000
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x20000000
je 0x10015251
cmp dword [ebp - 0xc], 0x40000000
je 0x1001525d
cmp dword [ebp - 0xc], 0x60000000
je 0x100152bc
cmp dword [ebp - 0xc], 0x80000000
je 0x100152c5
cmp dword [ebp - 0xc], 0xa0000000
je 0x100152ce
cmp dword [ebp - 0xc], 0xc0000000
je 0x100152d7
cmp dword [ebp - 0xc], 0xe0000000
je 0x100152e0
jmp 0x100152e7
mov dword [ebp - 4], 0x10
jmp 0x100152e7
mov dword [ebp - 4], 2
xor eax, eax
inc eax
shl eax, 0
movsx eax, byte [ebp + eax - 0x48]
cmp eax, 0x72
jne 0x100152ba
xor eax, eax
inc eax
shl eax, 1
movsx eax, byte [ebp + eax - 0x48]
cmp eax, 0x64
jne 0x100152ba
xor eax, eax
inc eax
imul eax, eax, 3
movsx eax, byte [ebp + eax - 0x48]
cmp eax, 0x61
jne 0x100152ba
xor eax, eax
inc eax
shl eax, 2
movsx eax, byte [ebp + eax - 0x48]
cmp eax, 0x74
jne 0x100152ba
xor eax, eax
inc eax
imul eax, eax, 5
movsx eax, byte [ebp + eax - 0x48]
cmp eax, 0x61
jne 0x100152ba
mov dword [ebp - 4], 4
jmp 0x100152e7
mov dword [ebp - 4], 0x20
jmp 0x100152e7
mov dword [ebp - 4], 4
jmp 0x100152e7
mov dword [ebp - 4], 0x40
jmp 0x100152e7
mov dword [ebp - 4], 4
jmp 0x100152e7
mov dword [ebp - 4], 0x40
xor eax, eax
je 0x100152ed
jmp 0x100152e7
imul eax, dword [ebp - 8], 0x28
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + eax + 0x10]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 4]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push eax
push dword [ebp + 0xc]
mov eax, dword [ebp + 8]
call dword [eax + 0x24]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jge 0x10015324
xor eax, eax
je 0x10015322
jmp 0x1001531c
jmp 0x1001532a
xor eax, eax
je 0x1001532a
jmp 0x10015324
jmp 0x1001517e
xor eax, eax
leave
ret