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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10078558
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe8
push ebx
push esi
push edi
push 2
mov dword [esp + 0x3c], edx
xor ebx, ebx
pop edi
mov dword [esp + 0x18], 0x90c4d8e5
mov esi, ecx
push 1
mov dword [esp + 0x10], 0xfffffffb
mov dword [esp + 0x14], ebx
pop ecx
jmp 0x10019377
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xc8], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x10019368
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x18], ebx
jl 0x100193d6
push 3
lea ecx, [esp + 0xb8]
call fcn.10015dbf
mov dword [esp + 0x20], 0xfffffffc
mov dword [esp + 0x10], ebx
jmp 0x100193b9
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xb4]
mov dword [eax + ecx*4], 9
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x100193a3
dec dword [esp + 0xc]
lea ecx, [esp + 0xb4]
call fcn.100165dc
dec dword [esp + 0x18]
jns 0x10019387
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0x58]
push dword [esp + 0x44]
movdqa xmm0, xmmword [0x10007cb0]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0xd8]
mov dword [esp + 0x38], 0x69fdf99f
push eax
push ebx
movdqu xmmword [esp + 0xe0], xmm0
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
call fcn.100172d4
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x30], 4
jmp 0x100194ef
mov dword [esp + 0x2c], edi
mov dword [esp + 0x2c], 3
cmp dword [esp + 0x2c], ebx
jl 0x100194c9
push edi
lea ecx, [esp + 0x68]
call fcn.10015dbf
push 0x7400
lea eax, [esp + 0x68]
mov byte [esp + 0x100], 1
push eax
push ebx
lea eax, [esp + 0x88]
push eax
push 0x6d80
call fcn.1001b8e5
mov eax, dword [esp + 0x78]
add esp, 0x14
mov dword [eax + 4], ebx
jmp 0x100194a9
push 0x4b1b
lea eax, [esp + 0x30]
push eax
push ebx
lea eax, [esp + 0x64]
push 0x1aa9
push eax
call fcn.10019cce
mov eax, dword [esp + 0x78]
add esp, 0x14
inc dword [eax + 4]
mov eax, dword [esp + 0x64]
cmp dword [eax + 4], 3
jle 0x10019485
lea ecx, [esp + 0x64]
mov byte [esp + 0xfc], bl
call fcn.100165dc
dec dword [esp + 0x2c]
jns 0x1001944a
push ebx
push 0x269d
push 0xe44
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.1001bc4d
add esp, 0x18
dec dword [esp + 0x30]
cmp dword [esp + 0x30], 0xfffffff2
jg 0x10019438
or dword [esp + 0xfc], 0xffffffff
lea ecx, [esp + 0x58]
call fcn.100165dc
cmp dword [esi + 0x10], ebx
jne 0x10019517
xor al, al
jmp 0x10019bce
mov dword [esp + 0x18], 0xffffffff
lea ecx, [esp + 0x8c]
push 3
call fcn.10015dbf
push 3
mov dword [esp + 0x100], edi
mov dword [esp + 0x18], ebx
pop edx
jmp 0x10019550
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x80], 1
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x1001953d
mov dword [esp + 0x14], ebx
jmp 0x1001956e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x8c]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x1001955c
mov eax, dword [esp + 0x84]
sub eax, dword [esp + 0x88]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x8c]
mov dword [eax], ecx
cmp ecx, dword [esp + 0x84]
jne 0x100195bc
mov eax, dword [esp + 0x88]
xor ecx, ecx
cmp eax, 0xffffffff
mov eax, dword [esp + 0x8c]
setg cl
mov dword [eax + 4], ecx
jmp 0x100195f7
mov dword [esp + 0xc], 0x652d0da0
mov dword [esp + 0x18], 8
jmp 0x100195d8
cmp dword [esp + 0xc], ebx
jne 0x100195df
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffffa
jne 0x100195ce
mov byte [esp + 0x27], bl
cmp byte [esp + 0x27], 0
je 0x100195f7
push ebx
push 0x516f
call fcn.10019c82
pop ecx
pop ecx
or dword [esp + 0xfc], 0xffffffff
lea ecx, [esp + 0x8c]
call fcn.100165dc
mov eax, dword [esp + 0x38]
mov dword [eax], ebx
cmp dword [esi + 0x14], 0x10
jb 0x1001961b
mov ecx, dword [esi]
jmp 0x1001961d
mov ecx, esi
cmp dword [esi + 0x14], 0x10
mov dword [esp + 0x34], ecx
jb 0x1001962b
mov edx, dword [esi]
jmp 0x1001962d
mov edx, esi
mov eax, dword [esi + 0x10]
add eax, edx
cmp ecx, eax
je 0x100199fb
mov dword [esp + 0x10], 9
lea ecx, [esp + 0x98]
mov dword [esp + 0xc], 0x45d811f0
mov eax, 0x3e0566a9
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0xc], 0xededb5ca
mov dword [esp + 0xc], 0x8dd44ad3
mov dword [esp + 0xc], 0x10fecafe
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0x18], 0xf6e2
mov dword [esp + 0xc], 0xfffffffe
mov dword [esp + 0xc], 0x7626a9d9
push 1
call fcn.10015dbf
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x14], ebx
jmp 0x100196cb
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x50], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x100196bf
xor edx, edx
mov dword [esp + 0x14], ebx
inc edx
jmp 0x100196ec
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x98]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x100196da
mov dword [esp + 0x10], ebx
jmp 0x10019708
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x50], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x100196f8
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xa4]
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
add eax, 8
jne 0x1001973b
mov eax, ebx
cmp dword [esp + 0x54], ebx
je 0x1001973d
mov eax, edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
cmp edx, eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, edx
mov eax, dword [esp + 0x54]
setle cl
sub eax, ecx
lea ecx, [esp + 0x98]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0xc], eax
call fcn.100165dc
mov eax, dword [esp + 0x34]
mov al, byte [eax]
cmp al, 0x30
jl 0x1001979c
cmp al, 0x39
jg 0x1001979c
lea eax, [esp + 0x38]
push eax
push 0x303
lea eax, [esp + 0x3c]
push ebx
push eax
call fcn.10019c21
mov ecx, dword [esp + 0x44]
add esp, 0x10
inc ecx
jmp 0x1001961d
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], 0x819d3388
mov dword [esp + 0x20], 0xb35b6890
mov dword [esp + 0x18], 0xfffffffe
mov dword [esp + 0x10], 0xfffffff9
mov dword [esp + 0x10], ebx
jmp 0x100197d6
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x3c], 0x7e06985b
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x100197c6
cmp dword [esp + 0x14], ebx
jne 0x1001980c
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
imul eax, dword [esp + 0x14]
sub eax, dword [esp + 0x14]
sub eax, 0x66b
jne 0x1001980c
mov eax, ebx
jmp 0x1001980f
xor eax, eax
inc eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x3c], ebx
jne 0x10019825
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov ecx, dword [esp + 0x14]
setne dl
sub ecx, 8
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setg al
cmp eax, 0xad46
jg 0x100199d8
xor ecx, ecx
mov dword [esp + 0x1c], 0xfffffff8
mov dword [esp + 0x20], ebx
inc ecx
jmp 0x1001989d
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x28], 0xd9cec61c
inc dword [esp + 0x20]
cmp dword [esp + 0x20], ecx
jl 0x1001988d
cmp dword [esp + 0x18], ebx
je 0x100198b5
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
xor edx, edx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
cmp eax, ecx
mov eax, dword [esp + 0x1c]
setl dl
mov dword [esp + 0x20], edx
xor edx, edx
cmp dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
mov eax, dword [esp + 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, 0x19c36c1
setge cl
xor edx, edx
sub eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp ecx, eax
setg dl
cmp edx, dword [esp + 0x28]
jg 0x10019949
cmp dword [esp + 0x28], ebx
jne 0x10019949
mov eax, ebx
jmp 0x1001994c
xor eax, eax
inc eax
mov edx, dword [esp + 0x14]
xor ecx, ecx
add edx, eax
mov eax, dword [esp + 0x18]
add eax, 0xfffc
cmp eax, edx
setne cl
xor eax, eax
inc eax
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x28]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x28]
setl cl
mov dword [esp + 0xc], ecx
xor ecx, ecx
cmp dword [esp + 0xc], eax
mov eax, dword [esp + 0x28]
sete cl
cmp ecx, 8
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [esp + 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [esp + 0x28], ecx
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
add edx, 0x10000
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0xffcb
setne al
mov dword [esp + 0x20], eax
jmp 0x100199f0
mov byte [esp + 0x27], bl
cmp byte [esp + 0x27], 0
je 0x100199f0
push 0x7ecc
push ebx
call fcn.1001bfdd
pop ecx
pop ecx
mov eax, dword [esp + 0x38]
mov dword [eax], ebx
jmp 0x10019510
mov dword [esp + 0x18], 0xd4e06482
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0xc], ebx
jmp 0x10019a24
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xc0], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x10019a11
mov dword [esp + 0x18], 0x17
jmp 0x10019b5c
mov dword [esp + 0x10], 0x6d4f2887
mov dword [esp + 0xc], 0xad0d7276
mov dword [esp + 0xc], ebx
jmp 0x10019a5d
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x48], 0xe446df3
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x10019a4d
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], ebx
jl 0x10019b58
push dword [esp + 0x7c]
movdqa xmm0, xmmword [0x10007ca0]
lea eax, [esp + 0xf4]
push eax
lea eax, [esp + 0xe8]
mov dword [esp + 0x78], ebx
push eax
push ebx
lea ecx, [esp + 0x80]
mov dword [esp + 0x84], ebx
movdqu xmmword [esp + 0xf0], xmm0
mov dword [esp + 0x88], ebx
call fcn.100172d4
mov dword [esp + 0xc], 0xaea0
mov dword [esp + 0x20], 0x99da9727
cmp dword [esp + 0x18], ebx
je 0x10019ae2
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x70]
dec ecx
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
cmp ecx, eax
setne dl
add edx, 0xef8a
mov dword [esp + 0xc], edx
xor edx, edx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0x10]
setl dl
sub edx, 3
neg edx
mov eax, dword [esp + eax*4 + 0x48]
sbb edx, edx
inc edx
mov dword [esp + 0xc], edx
xor edx, edx
cmp eax, dword [esp + 0xc]
mov eax, dword [esp + 0x48]
sete dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [esp + 0xc0], ecx
lea ecx, [esp + 0x70]
call fcn.100165dc
dec dword [esp + 0x10]
jns 0x10019a74
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 5
jne 0x10019a37
mov dword [esp + 0x1c], ebx
jmp 0x10019bc5
mov dword [esp + 0xc], 3
lea eax, [esp + 0x44]
mov dword [esp + 0xc], 0xfffffff7
mov dword [esp + 0xc], 0x9b41dbc4
push ebx
mov dword [esp + 0x10], 0xffffffff
push eax
mov dword [esp + 0x14], 0x5e40c883
mov dword [esp + 0x14], ebx
push 0x1ca6
mov dword [esp + 0x18], 0x1d127a4e
mov dword [esp + 0x50], 0xb167d3d8
push 0x262d
call fcn.1001bdbd
add esp, 0x10
inc dword [esp + 0x1c]
xor eax, eax
inc eax
cmp dword [esp + 0x1c], eax
jle 0x10019b6d
mov ecx, dword [esp + 0xf4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret