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

Disassembly:
push 0xffffffffffffffff
push 0x100706c8
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 0x1001e426
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 0x1001ea88
cmp dword [esp + 0x48], 0
je 0x1001ea88
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 0x1001e42d
cmp dword [eax + 0xdfc], 1
jne 0x1001e42d
mov cl, 1
jmp 0x1001e42f
mov byte [esp + 0x17], 0
jmp 0x1001e3b0
xor cl, cl
cmp byte [esp + 0x17], 1
mov byte [esp + 0x1f], cl
jne 0x1001e45e
test cl, cl
je 0x1001e447
mov eax, dword [esp + 0xd8]
jmp 0x1001e45a
lea ecx, [edi + edi*2]
add ecx, ecx
push 1
push ecx
lea ecx, [eax + 0x6bc]
call fcn.1000b210
mov dword [esp + 0x30], eax
test edi, edi
jbe 0x1001ea82
jmp 0x1001e474
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 0x1001e4b8
mov eax, dword [edx + 0xc]
push 0
lea ecx, [esp + 0xa0]
call eax
sub dword [esp + 0x18], 1
jmp 0x1001ea77
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 0x1001e509
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 0x1001e71a
cmp byte [esp + 0x1f], 0
mov byte [esp + 0x16], 0
je 0x1001e530
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 0x1001e70b
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
add edx, esi
cmp dword [esp + 0x18], edx
jbe 0x1001e6b1
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 0x1001e5c4
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 0x1001e550
test al, al
je 0x1001e679
cmp byte [esp + 0x16], 0
mov eax, dword [esp + 0xd8]
jne 0x1001e5ea
mov edx, dword [eax]
mov ecx, dword [esp + 0x2c]
mov dword [ecx], edx
mov ax, word [eax + 4]
mov word [ecx + 4], ax
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xc8]
add dword [esp + 0x2c], 6
cmp eax, ebx
mov ebp, eax
jb 0x1001e602
mov ebp, ebx
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
cmp ecx, edx
mov eax, ecx
jb 0x1001e618
mov eax, edx
cmp ebp, eax
jae 0x1001e628
cmp dword [esp + 0x20], ebx
jb 0x1001e634
mov dword [esp + 0x20], ebx
jmp 0x1001e634
cmp ecx, edx
mov dword [esp + 0x20], ecx
jb 0x1001e634
mov dword [esp + 0x20], edx
cmp edi, ebx
mov ebp, edi
ja 0x1001e63c
mov ebp, ebx
cmp ecx, edx
mov eax, ecx
ja 0x1001e644
mov eax, edx
cmp ebp, eax
jbe 0x1001e650
cmp edi, ebx
ja 0x1001e658
mov edi, ebx
jmp 0x1001e658
cmp ecx, edx
mov edi, ecx
ja 0x1001e658
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 0x1001e550
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 0x1001e70b
cmp byte [esp + 0x15], 0
je 0x1001e6d1
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 2
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 0x1001e7b9
test cl, cl
je 0x1001e7b9
mov ebp, dword [esp + 0x18]
cmp ebp, esi
jbe 0x1001e762
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 0x1001e762
mov edx, dword [esp + 0x9c]
mov eax, dword [edx + 0xc]
push 0
lea ecx, [esp + 0xa0]
add esi, 1
call eax
jmp 0x1001e726
test esi, esi
je 0x1001e7b9
cmp byte [esp + 0x15], 0
je 0x1001e782
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 2
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 0x1001ea77
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 0x1001ea1f
mov al, byte [esp + 0x14]
lea ecx, [ecx]
cmp al, 1
mov esi, 0x19
je 0x1001e84c
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 0x1001ea1f
cmp dword [esp + 0x24], esi
jb 0x1001ea1f
cmp dword [esp + 0x20], esi
jb 0x1001ea1f
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 0x1001e8c0
mov ebx, dword [edx + 0x554]
movzx edi, word [ebx + edi*2]
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 0x1001e8ff
mov ebp, dword [edx + 0x554]
movzx ebx, word [ebp + ebx*2]
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 0x1001e930
mov ecx, dword [edx + 0x554]
movzx edx, word [ecx + ebx*2]
mov dword [esp + 0x70], edx
nop
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 0x1001e9f9
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 0x1001e800
cmp dword [0x1007a130], 0
je 0x1001ea77
mov edi, dword [esp + 0x3c]
test edi, edi
jbe 0x1001ea77
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 0x1001e470
mov eax, dword [esp + 0x38]
jmp 0x1001ea8d
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