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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1005e6f6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x130
cmp byte [ebp + 0x10], 0
push ebx
push esi
push edi
mov esi, edx
mov byte [esp + 0x48], cl
je 0x1001a23d
cmp byte [ebp + 0xc], 0
je 0x1001a206
mov byte [esp + 0x23], 0
cmp byte [esp + 0x23], 0
je 0x1001aab3
push ecx
call fcn.1001bb78
pop ecx
jmp 0x1001aab3
mov eax, dword [ebp + 0x20]
xor ebx, ebx
mov ecx, dword [ebp + 0x24]
mov eax, dword [eax]
inc eax
push eax
push ebx
lea eax, [esp + 0x128]
push eax
call fcn.1001dfa5
mov ecx, dword [ebp + 0x24]
push eax
call fcn.10001fac
push ebx
push 1
lea ecx, [esp + 0x128]
call fcn.100024be
jmp 0x1001aab3
test cl, cl
je 0x1001aa96
mov dword [esp + 0x28], 2
lea ecx, [esp + 0x7c]
mov dword [esp + 0x1c], 0xfffffff7
push 3
call fcn.10001fe6
push 2
pop esi
xor ebx, ebx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x144], ebx
mov dword [esp + 0x44], esi
mov dword [esp + 0x18], 0x2845
push 4
call fcn.10001fe6
mov byte [esp + 0x144], 1
lea ecx, [esp + 0x88]
mov dword [esp + 0x14], ebx
push esi
call fcn.10001fe6
mov byte [esp + 0x144], 2
lea eax, [esp + 0x7c]
xor edi, edi
lea edx, [esp + 0x24]
inc edi
mov ecx, 0x255b
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x10], 0xfffffff8
push eax
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x50], 0xef404622
mov dword [esp + 0x38], 6
push ebx
call fcn.1001c9b2
pop ecx
pop ecx
mov dword [esp + 0x24], ebx
jmp 0x1001a302
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0x94], 0xfffffffd
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 4
jl 0x1001a2ef
push 0xd24
push 0x27cc
push 0x398b
push 0x2a45
lea eax, [esp + 0x34]
push 0x205
push eax
lea edx, [esp + 0x84]
call fcn.1001b7e7
lea eax, [esp + 0x3c]
xor dl, dl
push 0x6750
push eax
lea ecx, [esp + 0xa8]
call fcn.1001a0d5
mov eax, dword [esp + 0x3c]
add esp, 0x20
dec eax
mov ecx, 0xffff
neg eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x6c]
mov esi, dword [eax]
imul eax, esi, 0x121a5e51
sub ecx, eax
cmp ecx, 0xffffffff
setge dl
xor eax, eax
sub edx, 0xd4f9
cmp esi, edx
setne al
cmp eax, 0xffff
sbb eax, eax
or esi, 0xffffffff
inc eax
xor ecx, ecx
mov edx, esi
sub edx, eax
mov eax, dword [esp + 0x88]
mov dword [eax], edx
mov eax, dword [esp + 0x18]
cmp edx, eax
setge cl
lea eax, [ecx + 0x5c24]
xor ecx, ecx
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x7c]
mov dword [eax + 4], edx
mov eax, dword [esp + 0x94]
cmp edx, eax
setne cl
mov dword [esp + 0x50], ecx
xor ecx, ecx
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0xa0]
dec dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
cmp dword [eax], 0xffff5ec5
mov eax, dword [esp + 0x14]
setg cl
add eax, ecx
xor ecx, ecx
cmp eax, esi
setg cl
add ecx, dword [esp + 0x54]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x98]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0xa0]
mov eax, dword [esp + 0x4c]
xor ecx, ecx
cmp eax, 0x8d16
mov eax, dword [esp + 0x6c]
setne cl
cmp ecx, dword [eax]
jle 0x1001a4c6
mov dword [esp + 0x14], 6
jmp 0x1001a4bd
mov dword [esp + 0x18], ebx
jmp 0x1001a4b3
mov dword [esp + 0x78], ebx
mov dword [esp + 0x10], 3
cmp dword [esp + 0x10], ebx
jl 0x1001a4af
push 0x2f62
mov dword [esp + 0x50], edi
mov edx, 0x3ba0
mov eax, dword [esp + 0x1c]
mov ecx, 0x6da8
push 0x7935
lea eax, [esp + 0x80]
mov dword [esp + 0x54], 0xfffffffd
push eax
push ebx
push 0x6de5
call fcn.1001a010
add esp, 0x14
dec dword [esp + 0x10]
jns 0x1001a46f
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jle 0x1001a45d
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x2e
jne 0x1001a457
jmp 0x1001a53b
mov dword [esp + 0x28], edi
mov dword [esp + 0x10], ebx
jmp 0x1001a4df
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x100], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1001a4d0
mov eax, dword [esp + 0x54]
xor ecx, ecx
test eax, eax
mov eax, dword [esp + 0x7c]
setle cl
add ecx, dword [eax + 8]
jne 0x1001a506
mov eax, dword [esp + 0x18]
mov edx, ebx
cmp dword [esp + 0x34], ebx
je 0x1001a508
mov edx, edi
mov eax, dword [esp + 0x1c]
xor ecx, ecx
cmp edx, eax
sete cl
sub ecx, dword [esp + 0x28]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x104], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
mov eax, dword [esp + 0x7c]
mov dword [eax + 4], ecx
lea ecx, [esp + 0x88]
call fcn.10002048
lea ecx, [esp + 0x6c]
call fcn.10002048
lea ecx, [esp + 0x7c]
mov dword [esp + 0x144], esi
call fcn.10002048
push dword [ebp + 0x1c]
lea ecx, [esp + 0xc0]
call fcn.10001f71
push 2
lea ecx, [esp + 0xe4]
mov dword [esp + 0x148], 3
call fcn.10001fe6
push 0x59fb
push 0x1321
push 0x3dd4
lea eax, [esp + 0x74]
mov byte [esp + 0x150], 4
push eax
push 0x2f9c
push ebx
push edi
mov dword [esp + 0x38], 0x8d4081c2
lea edx, [esp + 0xfc]
push 0x21f4
xor cl, cl
call fcn.1001a1b4
mov dword [esp + 0x3c], edi
add esp, 0x20
cmp dword [esp + 0x1c], ebx
jl 0x1001a5f2
push 0x6f60
push ebx
push ebx
mov edx, 0x4535
mov ecx, 0x40c5
call fcn.1001ce8a
add esp, 0xc
dec dword [esp + 0x1c]
jns 0x1001a5d3
lea ecx, [esp + 0xe0]
mov byte [esp + 0x144], 3
call fcn.10002048
push ecx
push dword [ebp + 8]
lea ecx, [esp + 0xc4]
call fcn.1001df1f
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], 0x6d8bc0d
mov dword [esp + 0x34], 0xffff
cmp dword [esp + 0x14], ebx
jne 0x1001a650
mov eax, dword [esp + 0x14]
dec eax
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0x5c9e
test eax, eax
jne 0x1001a650
mov eax, ebx
cmp dword [esp + 0x14], ebx
je 0x1001a652
mov eax, edi
mov ecx, dword [esp + 0x14]
xor edx, edx
imul ecx, eax
mov eax, dword [esp + 0x14]
cmp ecx, eax
setne dl
sub edx, dword [esp + 0x14]
add edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x14]
je 0x1001a6df
push 2
lea ecx, [esp + 0xa8]
call fcn.10001fe6
mov dword [esp + 0x28], 0xb6bd0d42
mov dword [esp + 0x10], ebx
jmp 0x1001a6a4
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xa4]
mov dword [eax + ecx*4], 0xfffb
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1001a68e
mov eax, dword [esp + 0xa4]
inc dword [eax]
je 0x1001a6c3
cmp dword [eax], 0
je 0x1001a6bf
mov eax, dword [esp + 0x1c]
mov eax, edi
jmp 0x1001a6c5
mov eax, ebx
mov dword [esp + 0x28], eax
lea ecx, [esp + 0xa4]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
call fcn.10002048
jmp 0x1001a6fa
sub esp, 0xc
mov dword [esp + 0x40], 0x7440
call fcn.1001c4fb
mov eax, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x34], eax
mov dword [esp + 0x34], 0xe6dabac8
cmp dword [esp + 0x30], esi
je 0x1001a71a
push ecx
lea edx, [esp + 0x34]
lea ecx, [esp + 0xc0]
call fcn.1001a18a
pop ecx
mov dword [esp + 0x18], 0x60477862
mov dword [esp + 0x1c], 0x9e96bb64
mov dword [esp + 0x10], ebx
jmp 0x1001a740
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x38], 0xfffffffa
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1001a730
mov dword [esp + 0x18], ebx
jmp 0x1001a7bb
mov dword [esp + 0x14], 4
mov dword [esp + 0x14], edi
cmp dword [esp + 0x14], ebx
jl 0x1001a7b7
mov dword [esp + 0x64], 0xfffffffe
xor dl, dl
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x38]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x38]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x38]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x38]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*4 + 0x38]
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x38], ecx
lea eax, [esp + 0x64]
push eax
mov ecx, 0x1018
call fcn.1001cbf2
dec dword [esp + 0x18]
pop ecx
jns 0x1001a75f
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffffb
jg 0x1001a74d
mov eax, dword [esp + 0x3c]
xor edx, edx
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
push 8
pop ecx
sub ecx, eax
cmp ecx, edi
setle dl
xor ecx, ecx
add edx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp edx, eax
mov eax, dword [esp + 0x38]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, dword [esp + 0x18]
cmp ecx, 4
ja 0x1001a80c
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
je 0x1001a81e
mov ecx, edi
cmp dword [esp + 0x1c], ebx
jne 0x1001a820
mov ecx, ebx
mov eax, dword [esp + 0x1c]
imul eax, ecx
test eax, eax
je 0x1001a833
mov eax, edi
cmp dword [esp + 0x1c], ebx
jne 0x1001a835
mov eax, ebx
sub dword [esp + 0x18], eax
lea eax, [esp + 0xbc]
push ecx
mov ecx, dword [ebp + 8]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.1001b9c7
movdqa xmm0, xmmword [0x1006c4b0]
lea eax, [esp + 0x124]
add esp, 0xc
mov dword [esp + 0x40], 0x5252cb13
lea ecx, [esp + 0x58]
mov dword [esp + 0x58], ebx
movdqu xmmword [esp + 0x108], xmm0
mov dword [esp + 0x5c], ebx
push dword [esp + 0x68]
mov dword [esp + 0x64], ebx
push eax
lea eax, [esp + 0x110]
push eax
push ebx
call fcn.100046f5
push 3
lea ecx, [esp + 0xb4]
mov byte [esp + 0x148], 5
call fcn.10001fe6
lea eax, [esp + 0xfc]
mov byte [esp + 0x144], 6
push eax
push ebx
push edi
lea edx, [esp + 0xbc]
mov ecx, 0x5093
call fcn.1001ce8a
mov esi, dword [esp + 0x64]
xor ecx, ecx
add esp, 0xc
cmp dword [esi + 4], 7
mov eax, dword [esi]
sete cl
inc eax
add eax, ecx
imul eax, dword [esi + 4]
cmp eax, edi
mov eax, dword [esp + 0x40]
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, 0x76ec
mov eax, dword [esp + 0xb0]
setge cl
imul ecx, edx
xor edx, edx
cmp ecx, dword [esi + 4]
setl dl
xor ecx, ecx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x58]
cmp edx, dword [eax]
mov eax, dword [esp + 0x40]
setg cl
add ecx, 5
imul eax, ecx
cmp edi, eax
mov eax, dword [esp + 0x58]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, dword [eax + 0xc]
setle dl
cmp dword [esp + 0x40], edx
je 0x1001a94e
lea eax, [esp + 0x40]
xor dl, dl
push eax
mov ecx, 0x1ebc
call fcn.1001cee1
jmp 0x1001a961
mov byte [esp + 0x23], bl
cmp byte [esp + 0x23], 0
je 0x1001a962
push ecx
push ecx
call fcn.1001dc2d
pop ecx
pop ecx
lea ecx, [esp + 0xb0]
call fcn.10002048
lea ecx, [esp + 0x58]
mov byte [esp + 0x144], 3
call fcn.10002048
cmp dword [esp + 0x30], 0xffffffff
je 0x1001aa0d
push 2
lea ecx, [esp + 0xd8]
call fcn.10001fe6
xor eax, eax
inc eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0x10], ebx
jmp 0x1001a9d3
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xd4]
mov dword [eax + ecx*4], 0x9b3198a8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1001a9bd
mov eax, dword [esp + 0xd4]
lea ecx, [esp + 0xd4]
mov dword [eax], ebx
call fcn.10002048
push 0x18ed
lea eax, [esp + 0x34]
push eax
push 0x4ed3
lea ecx, [esp + 0xc8]
call fcn.1001ab88
add esp, 0xc
mov dword [esp + 0x10], ebx
jmp 0x1001aa26
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x118], 0x124f01c0
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1001aa13
xor eax, eax
mov byte [esp + 0x2f], bl
inc eax
lea ecx, [esp + 0x2f]
push eax
push ecx
push 0x2da2
push 0x5035
push 0x7ac
push 0x3fdd
push 0x6d71
push 0x484a
xor dl, dl
mov cl, al
call fcn.1001dae4
add esp, 0x20
mov ecx, 0x242a
call fcn.1001a12b
mov ecx, dword [ebp + 0x14]
lea eax, [esp + 0xbc]
cmp ecx, eax
je 0x1001aa85
push 0xffffffffffffffff
push ebx
push eax
call fcn.100023e4
xor edi, edi
lea ecx, [esp + 0xbc]
push ebx
inc edi
push edi
jmp 0x1001a233
mov edx, dword [ebp + 0x18]
mov dword [edx], 0
jmp 0x1001aaae
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 1
inc dword [edx]
cmp dword [edx], 2
jl 0x1001aaa1
mov ecx, dword [esp + 0x13c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret