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

Disassembly:
push 0xffffffffffffffff
push 0x100706f8
mov eax, dword fs:[0]
push eax
sub esp, 0x78
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1007bf74]
xor eax, esp
push eax
lea eax, [esp + 0x8c]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x28], ebx
mov ecx, dword [esp + 0xec]
mov eax, dword [ebx + 8]
mov ecx, dword [ecx + 0xc]
mov esi, dword [eax + 0x3f4]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
xor ebp, ebp
mov dword [esp + 0x94], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x44], esi
mov byte [esp + 0x14], 0
mov byte [esp + 0x15], 0
call eax
cmp dword [0x1007a11c], ebp
mov edi, dword [esp + 0xe8]
mov ebp, dword [esp + 0x100]
setne al
test al, al
mov dword [esp + 0x18], edi
je 0x1001ebd6
mov ecx, dword [ebx + 8]
mov eax, dword [ecx + 0x58]
mov edx, dword [ebp + 8]
mov byte [esp + 0x17], 1
mov byte [esp + 0xb8], 1
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc0], eax
mov ecx, dword [ebx + 8]
imul esi, esi, 0x4b0
push 1
push esi
add ecx, 0x564
call fcn.1000b210
mov ecx, dword [ebx + 8]
push 1
push 0x960
add ecx, 0x55c
mov dword [esp + 0x50], eax
call fcn.1000b210
test eax, eax
mov dword [esp + 0x54], eax
je 0x1001f23b
cmp dword [esp + 0x48], 0
je 0x1001f23b
push ebp
push 4
mov ecx, ebx
call fcn.10018c80
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 8]
cmp byte [eax + 0x574], 0
mov dword [esp + 0x30], 0
je 0x1001ebdd
cmp dword [eax + 0xdfc], 1
jne 0x1001ebdd
mov cl, 1
jmp 0x1001ebdf
mov byte [esp + 0x17], 0
jmp 0x1001eb60
xor cl, cl
cmp byte [esp + 0x17], 1
mov byte [esp + 0x1f], cl
jne 0x1001ec10
test cl, cl
je 0x1001ebf7
mov eax, dword [esp + 0xd8]
jmp 0x1001ec0c
lea ecx, [edi + edi*2]
add ecx, ecx
add ecx, ecx
push 1
push ecx
lea ecx, [eax + 0x6bc]
call fcn.1000b210
mov dword [esp + 0x30], eax
test edi, edi
jbe 0x1001f235
jmp 0x1001ec24
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0xe4]
mov eax, dword [esp + 0xdc]
mov eax, dword [eax + 8]
mov edx, ecx
and ecx, 0x1f
mov esi, 1
shl esi, cl
shr edx, 5
test dword [eax + edx*4], esi
mov edx, dword [esp + 0x9c]
je 0x1001ec68
mov eax, dword [edx + 0xc]
push 0
lea ecx, [esp + 0xa0]
call eax
sub dword [esp + 0x18], 1
jmp 0x1001f22a
mov eax, dword [edx + 4]
xor esi, esi
lea ecx, [esp + 0x9c]
mov dword [esp + 0x24], esi
call eax
test ax, 0xfff0
sete cl
test cl, cl
jne 0x1001ecb9
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xd0]
mov dx, word [eax + edx*2]
mov edi, dword [esp + 0xcc]
or dx, word [eax + edi*2]
mov edi, dword [esp + 0xc8]
or dx, word [eax + edi*2]
mov byte [esp + 0x14], 1
movzx eax, dx
mov dword [esp + 0x34], eax
cmp byte [esp + 0x17], 1
mov edi, dword [esp + 0xd8]
jne 0x1001eed0
cmp byte [esp + 0x1f], 0
mov byte [esp + 0x16], 0
je 0x1001ece0
mov dword [esp + 0x30], edi
mov byte [esp + 0x16], 1
mov ecx, dword [esp + 0x30]
xor edi, edi
cmp byte [esp + 0x14], 0
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], 0xffffffff
jne 0x1001eec1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
add edx, esi
cmp dword [esp + 0x18], edx
jbe 0x1001ee67
mov eax, dword [esp + 0x9c]
mov edx, dword [eax + 4]
lea ecx, [esp + 0x9c]
call edx
mov ecx, dword [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebx, dword [ebx + 8]
test ax, 0xfff0
sete al
mov edx, ecx
and ecx, 0x1f
mov ebp, 1
shl ebp, cl
shr edx, 5
test dword [ebx + edx*4], ebp
je 0x1001ed74
mov eax, dword [esp + 0x9c]
mov edx, dword [eax + 0xc]
push 0
lea ecx, [esp + 0xa0]
mov byte [esp + 0x1a], 0
call edx
add dword [esp + 0x24], 1
mov ebx, dword [esp + 0x28]
jmp 0x1001ed00
test al, al
je 0x1001ee2f
cmp byte [esp + 0x16], 0
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x2c]
jne 0x1001ed9e
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xc8]
add ecx, 0xc
cmp eax, ebx
mov dword [esp + 0x2c], ecx
mov ebp, eax
jb 0x1001edb8
mov ebp, ebx
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
cmp ecx, edx
mov eax, ecx
jb 0x1001edce
mov eax, edx
cmp ebp, eax
jae 0x1001edde
cmp dword [esp + 0x20], ebx
jb 0x1001edea
mov dword [esp + 0x20], ebx
jmp 0x1001edea
cmp ecx, edx
mov dword [esp + 0x20], ecx
jb 0x1001edea
mov dword [esp + 0x20], edx
cmp edi, ebx
mov ebp, edi
ja 0x1001edf2
mov ebp, ebx
cmp ecx, edx
mov eax, ecx
ja 0x1001edfa
mov eax, edx
cmp ebp, eax
jbe 0x1001ee06
cmp edi, ebx
ja 0x1001ee0e
mov edi, ebx
jmp 0x1001ee0e
cmp ecx, edx
mov edi, ecx
ja 0x1001ee0e
mov edi, edx
mov edx, dword [esp + 0x9c]
mov eax, dword [edx + 0xc]
push 0
lea ecx, [esp + 0xa0]
call eax
mov ebx, dword [esp + 0x28]
add esi, 1
jmp 0x1001ed00
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xd0]
mov dx, word [eax + ecx*2]
mov ecx, dword [esp + 0xcc]
or dx, word [eax + ecx*2]
mov ecx, dword [esp + 0xc8]
or dx, word [eax + ecx*2]
mov ebx, dword [esp + 0x28]
movzx edx, dx
mov byte [esp + 0x14], 1
mov dword [esp + 0x34], edx
test esi, esi
je 0x1001eec1
cmp byte [esp + 0x15], 0
je 0x1001ee87
mov eax, dword [esp + 0xec]
mov ecx, dword [ebx + 0xc]
push eax
call fcn.100156d0
mov byte [esp + 0x15], 0
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0xec]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x20]
push 0
push edx
mov edx, dword [ebx + 8]
push 4
push esi
sub edi, ecx
push 0
add edi, 1
push edi
push ecx
mov ecx, dword [esp + 0x10c]
add eax, ecx
mov ecx, dword [edx]
push eax
push 4
call fcn.10005ad0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x24]
add eax, esi
sub dword [esp + 0x18], eax
jmp 0x1001ef73
test cl, cl
je 0x1001ef73
mov ebp, dword [esp + 0x18]
lea esp, [esp]
cmp ebp, esi
jbe 0x1001ef1c
mov edx, dword [esp + 0x9c]
mov eax, dword [edx + 4]
lea ecx, [esp + 0x9c]
call eax
test ax, 0xfff0
sete al
test al, al
je 0x1001ef1c
mov edx, dword [esp + 0x9c]
mov eax, dword [edx + 0xc]
push 0
lea ecx, [esp + 0xa0]
add esi, 1
call eax
jmp 0x1001eee0
test esi, esi
je 0x1001ef73
cmp byte [esp + 0x15], 0
je 0x1001ef3c
mov ecx, dword [esp + 0xec]
push ecx
mov ecx, dword [ebx + 0xc]
call fcn.100156d0
mov byte [esp + 0x15], 0
mov edx, dword [esp + 0xec]
mov ecx, dword [edx]
push 0
push edi
push 4
push esi
push 0
lea eax, [esi + esi*2]
push eax
mov eax, dword [esp + 0x108]
add ecx, eax
push 0
push ecx
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx]
push 4
call fcn.10005ad0
sub ebp, esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x18], ebp
cmp byte [esp + 0x14], 0
je 0x1001f22a
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x50], eax
mov eax, 0x4b0
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
xor eax, eax
cmp dword [esp + 0x18], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], eax
jbe 0x1001f1d2
mov al, byte [esp + 0x14]
cmp al, 1
mov esi, 0x19
je 0x1001f003
mov edx, dword [esp + 0x9c]
mov eax, dword [edx + 4]
lea ecx, [esp + 0x9c]
call eax
movzx ecx, ax
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 8]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xe4]
mov edx, ecx
and ecx, 0x1f
mov edi, 1
shl edi, cl
shr edx, 5
test dword [eax + edx*4], edi
je 0x1001f1d2
cmp dword [esp + 0x24], esi
jb 0x1001f1d2
cmp dword [esp + 0x20], esi
jb 0x1001f1d2
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 0xc]
cmp dword [edx + 0x24], 1
mov ecx, dword [esp + 0xa8]
mov edi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xf8]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0xa0]
mov edx, dword [edx + 8]
sete al
mov byte [esp + 0x58], al
mov eax, ecx
imul eax, edi
sub edi, ebp
add eax, esi
mov dword [esp + 0x68], edi
cmp byte [edx + 0x574], 0
mov dword [esp + 0x7c], eax
je 0x1001f076
mov ebx, dword [edx + 0x554]
mov edi, dword [ebx + edi*4]
mov dword [esp + 0x68], edi
mov ebx, ecx
imul ebx, dword [esp + 0xcc]
add ebx, esi
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0xcc]
sub ebx, ebp
mov dword [esp + 0x6c], ebx
cmp byte [edx + 0x574], 0
je 0x1001f0b4
mov ebp, dword [edx + 0x554]
mov ebx, dword [ebp + ebx*4]
mov ebp, dword [esp + 0xf8]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0xd0]
imul ecx, ebx
sub ebx, ebp
add ecx, esi
mov dword [esp + 0x70], ebx
cmp byte [edx + 0x574], 0
mov dword [esp + 0x84], ecx
je 0x1001f0e3
mov ecx, dword [edx + 0x554]
mov edx, dword [ecx + ebx*4]
mov dword [esp + 0x70], edx
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x104]
push eax
mov eax, dword [esp + 0x104]
push ecx
mov ecx, dword [esp + 0x104]
push edx
push eax
push ebx
push ecx
mov ecx, dword [esp + 0x40]
push 3
lea edx, [esp + 0x98]
push edx
lea eax, [esp + 0x88]
push eax
mov dword [esp + 0x98], edi
call fcn.100186d0
mov edi, dword [esp + 0x78]
mov edx, dword [edi]
mov eax, dword [edx + 4]
push 0
push ebx
mov ecx, edi
call eax
mov ebp, dword [esp + 0x50]
mov edx, dword [edi]
mov edx, dword [edx + 8]
movzx esi, word [esp + 0x2c]
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x60]
push ecx
lea eax, [esp + 0x6c]
push eax
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x38]
push ecx
push ebp
push eax
mov ecx, edi
call edx
test eax, eax
je 0x1001f1ac
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x64]
add dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x5c]
sub eax, esi
movzx eax, ax
movzx eax, ax
add dword [esp + 0x40], eax
sub dword [esp + 0x24], eax
mov edx, eax
imul edx, dword [esp + 0x44]
add ebx, edx
sub dword [esp + 0x20], ecx
lea edx, [ebp + ecx*2]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x9c]
mov edx, dword [eax + 0xc]
push 0
lea ecx, [esp + 0xa0]
call edx
sub dword [esp + 0x18], 1
mov al, 0
mov byte [esp + 0x14], al
jne 0x1001efb7
cmp dword [0x1007a130], 0
je 0x1001f22a
mov edi, dword [esp + 0x3c]
test edi, edi
jbe 0x1001f22a
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x28]
mov edx, dword [esi + 8]
push eax
push ecx
mov ecx, dword [edx]
push 0
call fcn.10005910
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x60]
push 0
push eax
mov eax, dword [esi + 8]
push 2
push edi
push 0
push ecx
mov ecx, dword [eax]
push 0
push 0
push edx
call fcn.10005ad0
mov dword [esp + 0x38], eax
mov byte [esp + 0x15], 1
cmp dword [esp + 0x18], 0
ja 0x1001ec20
mov eax, dword [esp + 0x38]
jmp 0x1001f240
mov eax, 0x8007000e
mov ecx, dword [esp + 0x8c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x6c