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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1008bda8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x120
mov dword [esp + 0x10], 0x462d5e48
or eax, 0xffffffff
mov dword [esp], 8
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
push ebx
mov dword [esp + 0x50], eax
xor ebx, ebx
mov dword [esp + 8], ebx
push esi
mov dword [esp + 0x40], 0x88c83b91
mov esi, edx
push edi
mov dword [esp + 0x1c], ebx
mov edi, ecx
cmp dword [esp + 0x1c], 0x11
mov dword [esp + 0x48], esi
mov dword [esp + 0x28], edi
jge 0x1001d48a
push dword [esp + 0x5c]
movdqa xmm0, xmmword [0x10008080]
lea eax, [esp + 0x104]
push eax
lea eax, [esp + 0xf8]
mov dword [esp + 0x6c], ebx
push eax
push ebx
lea ecx, [esp + 0x74]
mov dword [esp + 0x78], ebx
movdqu xmmword [esp + 0x100], xmm0
mov dword [esp + 0x7c], ebx
call fcn.1001acab
push 3
lea ecx, [esp + 0x74]
mov dword [esp + 0x138], ebx
call fcn.10019794
mov byte [esp + 0x134], 1
mov dword [esp + 0xc], ebx
jmp 0x1001d297
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x70]
mov dword [eax + ecx*4], 0x8f15
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1001d284
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov eax, dword [esp + 0x1c]
inc ecx
mov esi, dword [esp + 0x64]
xor edx, edx
mov eax, dword [esp + 0x1c]
sub ecx, dword [esi + 8]
cmp ecx, eax
mov eax, dword [esp + 0x64]
setg dl
xor ecx, ecx
cmp dword [eax + 0xc], edx
sete cl
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
cmp dword [esi + 8], ebx
je 0x1001d2e4
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
mov eax, dword [esi + 8]
add eax, 0xfff9
add eax, ecx
je 0x1001d3a0
mov dword [esp + 0x34], 0xad540778
xor edx, edx
mov dword [esp + 0xc], 0x53ebff78
mov dword [esp + 0x24], 0xce724d25
mov dword [esp + 0x18], 1
mov dword [esp + 0x24], 0xc012777f
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x4c]
cmp ecx, eax
setge dl
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], ebx
jne 0x1001d34f
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x34]
neg eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
sub ecx, eax
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0xc]
cmp dword [ecx + 8], eax
mov eax, dword [esp + 0x18]
setg dl
add eax, edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001d45d
push ebx
call fcn.1001ff8c
pop ecx
jmp 0x1001d45d
lea eax, [esp + 0x64]
mov dword [esp + 0x60], 0x9a7b
mov dword [esp + 0x18], 0xffffffff
lea edx, [esp + 0x60]
push eax
xor cl, cl
call fcn.1001ce8a
mov dword [esp + 0x14], 0xfffffff8
cmp dword [esp + 0x14], 0x22
pop ecx
jl 0x1001d45d
mov esi, dword [esp + 0x70]
xor edx, edx
inc edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], 0x7762be97
cmp dword [esp + 0x60], ebx
je 0x1001d3f9
mov ecx, edx
cmp dword [esp + 0x50], ebx
jne 0x1001d3fb
mov ecx, ebx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
dec dword [esp + 0x34]
cmp eax, edx
cmovl eax, ebx
xor edx, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
sub eax, dword [esi + 4]
cmp ecx, eax
mov eax, dword [esp + 0x70]
setl dl
sub edx, dword [eax]
mov eax, dword [esp + 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [esp + 0x24]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x44]
setl dl
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [esp + 0x24], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x22
jge 0x1001d3d8
lea ecx, [esp + 0x70]
call fcn.10019816
or dword [esp + 0x134], 0xffffffff
lea ecx, [esp + 0x64]
call fcn.10019816
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x11
jl 0x1001d229
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
xor edx, edx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0xc]
cmp ecx, eax
setg dl
sub edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
add edx, 0x7aa5bfbc
mov dword [esp + 0x18], edx
xor edx, edx
cmp dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
setg dl
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [esp + 0xc], ecx
cmp dword [edi + 0x10], ebx
jne 0x1001d4eb
xor al, al
jmp 0x1001dc6d
mov dword [esp + 0x10], ebx
lea ecx, [esp + 0xc8]
push 2
call fcn.10019794
push 2
pop ecx
mov dword [esp + 0x134], ecx
mov dword [esp + 0x18], 0x42c60eda
mov dword [esp + 0x18], 0xc257
mov dword [esp + 0x3c], ebx
jmp 0x1001d530
mov eax, dword [esp + 0x3c]
mov dword [esp + eax*4 + 0xe8], 1
inc dword [esp + 0x3c]
cmp dword [esp + 0x3c], ecx
jl 0x1001d51d
push ebx
push 0x315b
lea eax, [esp + 0xd0]
push eax
push 0x64d2
lea eax, [esp + 0x4c]
push eax
push 0x2dc7
call fcn.10020a70
mov dword [esp + 0x28], 1
add esp, 0x18
cmp dword [esp + 0x10], ebx
jl 0x1001d5bf
mov dword [esp + 0x18], 1
mov dword [esp + 0x24], 0xbed85728
mov dword [esp + 0xc], ebx
jmp 0x1001d58e
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x9c], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001d57f
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0xe8], ebx
jne 0x1001d5bf
mov eax, dword [esp + 0xa0]
imul eax, dword [esp + 0x24]
mov dword [esp + 0x9c], eax
dec dword [esp + 0x24]
dec dword [esp + 0x10]
jns 0x1001d569
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001d5dd
push ebx
push 0x7b2c
push 0x17a
call fcn.1001f794
add esp, 0xc
or dword [esp + 0x134], 0xffffffff
lea ecx, [esp + 0xc8]
call fcn.10019816
xor ecx, ecx
mov dword [esi], ebx
inc ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], 0x9869ec42
mov dword [esp + 0xc], ebx
jmp 0x1001d61b
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xe0], 0x5a1fa147
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x1001d608
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001d63c
push 0x76f3
mov edx, 0x3731
call fcn.1001ce8a
pop ecx
mov dword [esp + 0xc], ebx
jmp 0x1001d68c
mov dword [esp + 0x40], 3
mov dword [esp + 0x40], ebx
jmp 0x1001d681
lea eax, [esp + 0x80]
mov dword [esp + 0x80], 0xfffffffd
push eax
lea eax, [esp + 0x44]
mov dword [esp + 0x1c], 0xffffffff
push ebx
push eax
call fcn.1001f41c
add esp, 0xc
inc dword [esp + 0x18]
inc dword [esp + 0x40]
cmp dword [esp + 0x40], 0x1a
jl 0x1001d650
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 6
jl 0x1001d642
cmp dword [edi + 0x14], 0x10
jb 0x1001d69d
mov esi, dword [edi]
jmp 0x1001d69f
mov esi, edi
cmp dword [edi + 0x14], 0x10
jb 0x1001d6a9
mov ecx, dword [edi]
jmp 0x1001d6ab
mov ecx, edi
mov eax, dword [edi + 0x10]
add eax, ecx
cmp esi, eax
je 0x1001db7b
mov dword [esp + 0x1c], 0x3cdf
mov dword [esp + 0xc], 0x40ed3c15
mov dword [esp + 0xc], 0xfa3c
mov dword [esp + 0x18], 0x6e1580eb
mov dword [esp + 0x18], 0x74c89aed
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0xc], ebx
jmp 0x1001d701
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x90], 0xfffffff8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1001d6ee
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, 1
setle cl
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
shl edx, 2
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setne cl
mov dword [esp + 0x98], ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
neg eax
sbb eax, eax
add eax, 2
inc eax
je 0x1001d758
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
xor edx, edx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x98]
mov dword [esp + 0x98], edi
mov eax, dword [esp + 0x1c]
test eax, eax
mov eax, dword [esp + 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
imul ecx, edi
cmp dword [esp + 0xc], ecx
jle 0x1001d829
xor edi, edi
mov dword [esp + 0x18], 6
inc edi
lea ecx, [esp + 0xd4]
mov dword [esp + 0x18], edi
mov dword [esp + 0x18], 4
push 3
call fcn.10019794
lea eax, [esp + 0xe4]
mov dword [esp + 0x134], 3
push eax
lea eax, [esp + 0xd8]
mov dword [esp + 0x1c], ebx
push ebx
push eax
call fcn.10020745
add esp, 0xc
mov dword [esp + 0xc], ebx
jmp 0x1001d805
cmp dword [esp + 0x94], ebx
jne 0x1001d80c
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x10
jle 0x1001d7f8
inc dword [esp + 0x18]
lea ecx, [esp + 0xd4]
or dword [esp + 0x134], 0xffffffff
call fcn.10019816
jmp 0x1001d8e9
xor ecx, ecx
mov dword [esp + 0x18], 0x212aeafd
mov dword [esp + 0x10], ebx
inc ecx
jmp 0x1001d84a
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x30], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1001d83a
mov dword [esp + 0x10], ebx
jmp 0x1001d869
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x84], 0x63d476fc
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1001d856
push ebx
call fcn.100202f4
mov eax, dword [esp + 0x20]
xor edi, edi
mov eax, dword [esp + 0x34]
xor edx, edx
inc edi
mov dword [esp + 0x1c], edi
pop ecx
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x30]
cmp ecx, eax
setg dl
xor ecx, ecx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x30]
sub edx, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
cmp edx, eax
sete cl
imul eax, ecx, 0x9b68
mov ecx, dword [esp + 0x30]
sub ecx, eax
xor eax, eax
cmp ecx, 0x7afc4999
setge al
xor edx, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x24]
mov eax, dword [esp + 0x84]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [esp + 0x18], ecx
mov al, byte [esi]
cmp al, 0x30
jl 0x1001da44
cmp al, 0x39
jg 0x1001da44
push edi
lea ecx, [esp + 0xb4]
call fcn.10019794
push edi
lea ecx, [esp + 0xa8]
mov dword [esp + 0x138], 4
call fcn.10019794
push 4
lea ecx, [esp + 0xc0]
mov byte [esp + 0x138], 5
call fcn.10019794
xor edx, edx
mov byte [esp + 0x134], 6
mov dword [esp + 0x20], ebx
inc edx
jmp 0x1001d95d
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0xb0]
mov dword [eax + ecx*4], 0x4b81
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edx
jl 0x1001d947
mov dword [esp + 0x20], ebx
jmp 0x1001d978
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x8c], ebx
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edx
jl 0x1001d969
push ebx
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x28]
push eax
push 0x2c35
call fcn.1001f5bb
add esp, 0x10
mov dword [esp + 0x20], ebx
jmp 0x1001d9b5
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0xbc]
mov dword [eax + ecx*4], 0x65420764
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 4
jl 0x1001d99f
mov edi, dword [esp + 0xb0]
xor edx, edx
mov ecx, dword [esp + 0xa4]
mov eax, dword [edi]
cmp eax, 1
mov dword [esp + 0x8c], eax
setge dl
mov dword [ecx], edx
xor ecx, ecx
cmp eax, dword [edi]
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x18], edx
setl cl
xor edx, edx
cmp ecx, dword [esp + 0x18]
lea ecx, [esp + 0xbc]
setge dl
add edx, dword [edi]
mov dword [eax + 4], edx
call fcn.10019816
lea ecx, [esp + 0xa4]
call fcn.10019816
or dword [esp + 0x134], 0xffffffff
lea ecx, [esp + 0xb0]
call fcn.10019816
mov edx, dword [esp + 0x48]
movsx eax, byte [esi]
mov edi, dword [esp + 0x28]
imul ecx, dword [edx], 0xa
add ecx, 0xffffffd0
add eax, ecx
inc esi
mov dword [edx], eax
jmp 0x1001d69f
mov dword [esp + 0x10], ebx
push 2
mov dword [esp + 0x2c], 0x4822b165
mov dword [esp + 0x10], ebx
pop edi
jmp 0x1001da6c
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x108], 0xfffffffe
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x1001da59
push 3
mov dword [esp + 0x14], 0x1b
pop esi
cmp dword [esp + 0x10], 0xfffffffc
jle 0x1001dad2
xor ecx, ecx
inc ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x28], 0xbfc3938d
mov dword [esp + 0x7c], ecx
mov dword [esp + 0xc], ebx
jmp 0x1001dab4
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x11c], 0xd193e05
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x1001daa1
push 0x1e34
lea edx, [esp + 0x80]
call fcn.1001d198
dec dword [esp + 0x14]
pop ecx
jmp 0x1001da7d
mov eax, dword [esp + 0x48]
mov dword [eax], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x28], 0x4822b165
mov dword [esp + 0xc], ebx
jmp 0x1001dafd
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x100], 0xfffffffe
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x1001daea
mov dword [esp + 0x10], 0x1b
jmp 0x1001db6f
xor eax, eax
inc eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x28], 0xbfc3938d
mov dword [esp + 0x88], eax
mov dword [esp + 0xc], ebx
jmp 0x1001db40
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x110], 0xd193e05
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x1001db2d
lea eax, [esp + 0x88]
push eax
push 0x4430
push 0x3087
push 0x5d9
push ebx
push 0x19a5
call fcn.1002043e
add esp, 0x18
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffffc
jg 0x1001db0d
jmp 0x1001d4e4
mov dword [esp + 0xc], ebx
mov dword [esp + 0x2c], 0xe58d020b
mov dword [esp + 0xc], 0xfffffffa
jmp 0x1001dc60
mov dword [esp + 0x10], 1
mov dword [esp + 0x38], 0xf40fc027
mov dword [esp + 0x10], 0xfffffff3
jmp 0x1001dc06
push 0x5a26
push 0x676a
push ebx
lea eax, [esp + 0x38]
mov dword [esp + 0x68], 0xfffffffb
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001dcfb
mov byte [esp + 0x2f], bl
add esp, 0x18
cmp byte [esp + 0x17], 0
je 0x1001dc02
push 0x7843
push 0x67bb
push ebx
push 0x3ad3
push 0x28
push 0x1785
call fcn.1001fab5
add esp, 0x18
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 5
jne 0x1001dbae
mov dword [esp + 0x38], ebx
jmp 0x1001dc55
mov dword [esp + 0x2c], ebx
jmp 0x1001dc4a
mov dword [esp + 0x10], ebx
jmp 0x1001dc3b
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001dc37
push ebx
push 0x61b0
call fcn.1001dcc0
pop ecx
pop ecx
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffe3
jl 0x1001dc1f
mov eax, dword [esp + 0x2c]
dec dword [esp + 0x2c]
cmp dword [esp + 0x2c], 0xfffffff7
jle 0x1001dc19
dec dword [esp + 0x38]
cmp dword [esp + 0x38], 0xfffffffc
jg 0x1001dc13
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x1a
jle 0x1001db94
mov al, 1
mov ecx, dword [esp + 0x12c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret