Function at 0x10015cd0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x100f7bc8
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1012fdf0]
xor eax, esp
push eax
lea eax, [esp + 0x3c]
mov dword fs:[0], eax
lea eax, [esp + 0xa8]
lea esi, [esp + 0x58]
mov dword [esp + 0x44], 1
call fcn.100182d0
test al, al
jne 0x10015f1c
mov ebx, dword [esp + 0x4c]
mov esi, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
mov ecx, dword [esp + 0x54]
sar edx, 4
mov edi, edx
shr edi, 0x1f
add edi, edx
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
cmp dword [esp + 0x58], 0
je 0x10015d6c
cmp byte [esp + 0x98], 0
jne 0x10015d6c
xor dl, dl
jmp 0x10015d6e
mov dl, 1
cmp dword [esp + 0xa8], 0
je 0x10015d86
cmp byte [esp + 0xe8], 0
jne 0x10015d86
xor cl, cl
jmp 0x10015d88
mov cl, 1
test dl, dl
jne 0x10015e09
test cl, cl
jne 0x10015e09
lea eax, [esp + 0xc8]
lea ecx, [esp + 0x78]
call fcn.100183d0
test al, al
je 0x10015e1e
mov eax, dword [esp + 0x88]
cmp eax, 0xfffffffc
je 0x10015dc2
test eax, eax
je 0x10015dbd
cmp eax, dword [esp + 0xd8]
je 0x10015dc2
call fcn.100b308d
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0xdc]
jne 0x10015e1e
mov eax, dword [esp + 0x90]
cmp eax, 0xfffffffc
je 0x10015df0
test eax, eax
je 0x10015deb
cmp eax, dword [esp + 0xe0]
je 0x10015df0
call fcn.100b308d
mov ecx, dword [esp + 0x94]
cmp ecx, dword [esp + 0xe4]
jne 0x10015e1e
mov eax, dword [esp + 0x18]
jmp 0x10015e91
cmp dl, cl
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x1c]
sete cl
test cl, cl
jne 0x10015e8d
mov ebp, dword [ebx + 0x10]
cmp dword [ebx + 0xc], ebp
jbe 0x10015e2b
call fcn.100b308d
mov edi, dword [ebx]
lea esi, [esp + 0x20]
lea eax, [esp + 0x58]
call fcn.10016d30
push ebp
push edi
push eax
mov ecx, ebx
mov byte [esp + 0x50], 2
call fcn.100169b0
mov byte [esp + 0x44], 1
cmp dword [esp + 0x38], 0x10
jb 0x10015e62
mov edx, dword [esp + 0x24]
push edx
call fcn.100b3111
add esp, 4
lea esi, [esp + 0x58]
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], 0
mov byte [esp + 0x24], 0
call fcn.10010430
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
jmp 0x10015d57
mov edi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
lea ebp, [edi*8]
sub ebp, dword [esp + 0x14]
lea ebx, [eax*8]
sub ebx, eax
add ebp, ebp
add ebx, ebx
add ebp, ebp
add ebx, ebx
lea edi, [ecx + ebp]
lea esi, [ebx + ecx]
cmp esi, edi
je 0x10015ed0
sub edi, 0x1c
cmp esi, edi
je 0x10015ed0
push edi
mov ecx, esi
call fcn.10017c40
add esi, 0x1c
cmp esi, edi
jne 0x10015eba
mov eax, dword [esp + 0x4c]
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x10]
add esi, ebp
cmp esi, edi
je 0x10015efa
sub edi, 0x1c
cmp esi, edi
je 0x10015ef6
push edi
mov ecx, esi
call fcn.10017c40
add esi, 0x1c
cmp esi, edi
jne 0x10015ee0
mov eax, dword [esp + 0x4c]
mov esi, dword [eax + 0xc]
mov ebp, dword [eax + 0x10]
add esi, ebx
cmp esi, ebp
je 0x10015f1c
sub ebp, 0x1c
cmp esi, ebp
je 0x10015f1c
push ebp
mov ecx, esi
call fcn.10017c40
add esi, 0x1c
cmp esi, ebp
jne 0x10015f06
mov byte [esp + 0x44], 0
mov eax, dword [esp + 0x58]
test eax, eax
je 0x10015f4d
test al, 1
jne 0x10015f45
and eax, 0xfffffffe
mov eax, dword [eax]
test eax, eax
je 0x10015f45
lea ecx, [esp + 0x60]
push 2
push ecx
mov edx, ecx
push edx
call eax
add esp, 0xc
mov dword [esp + 0x58], 0
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x10015f7f
test al, 1
jne 0x10015f7f
and eax, 0xfffffffe
mov eax, dword [eax]
test eax, eax
je 0x10015f7f
lea ecx, [esp + 0xb0]
push 2
push ecx
mov edx, ecx
push edx
call eax
add esp, 0xc
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 0xb0