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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x170
mov esi, ecx
mov eax, dword [0x102b0014]
xor eax, ebp
mov dword [esp + 0x168], eax
add ecx, 0xfffffffc
mov dword [esp + 0x48], ecx
call fcn.101b6970
test al, al
je 0x101b6969
mov al, byte [0x102b2b08]
mov byte [esp + 0x5f], al
test al, 0x19
jne 0x101b65fb
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x7c], 0xffffffff
mov dword [esp + 0x78], 0xffffffff
lea ecx, [esi + 0x40]
call fcn.101e9270
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x140], xmm0
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov dword [esp + 0x140], eax
mov byte [esp + 0x148], 0
mov al, byte [0x102b2b08]
test al, 0x19
mov byte [esp + 0x44], al
jne 0x101b6654
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x34], 0
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x2c], 0xffffffff
mov ebx, dword [esi + 0xbe4]
mov dword [esp + 0x3c], esi
lea eax, [esi + 0xbe8]
mov dword [esp + 0x30], eax
cmp ebx, eax
jne 0x101b492c
test byte [esp + 0x44], 0x19
mov eax, dword [esp + 0x34]
je 0x101b4791
cmp byte [eax], 0
je 0x101b4791
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xe4], ecx
movq xmm0, qword [esp + 0xe0]
movq qword [esp + 8], xmm0
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.10177930
cmp byte [esp + 0x148], 0
mov esi, dword [esp + 0x3c]
je 0x101b47db
lea eax, [esp + 0xe0]
mov dword [esp], eax
lea ecx, [esp + 0x140]
call fcn.101f0390
sub esp, 4
mov eax, dword [esp + 0xe0]
cmp eax, dword [esi + 0xbfc]
mov eax, dword [esp + 0xe4]
sbb eax, dword [esi + 0xc00]
jl 0x101b47db
mov byte [esi + 0xbf4], 1
mov eax, esi
mov esi, dword [ebp + 8]
lea ebx, [eax + 0xa8c]
add eax, 0x58
mov dword [esp + 0x44], eax
mov dword [esp], esi
mov ecx, ebx
call fcn.101e9560
sub esp, 4
mov edi, eax
test byte [0x102b2b14], 0x19
mov dword [esp + 0x34], eax
jne 0x101b48cb
mov dword [esp + 0x30], 0
test edi, edi
je 0x101b4e90
mov ecx, edi
call fcn.101f0b20
test al, al
jne 0x101b47ed
mov ecx, edi
call fcn.101f0560
cmp byte [eax + 0x48], 0
mov edi, dword [esp + 0x3c]
jne 0x101b49c1
cmp dword [edi + 0x54], 0
jle 0x101b49c1
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x130], xmm0
movdqa xmmword [esp + 0x120], xmm0
movdqa xmmword [esp + 0x110], xmm0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
lea edi, [esp + 0xe0]
mov dword [esp], edi
mov edi, dword [esp + 0x34]
mov ecx, edi
call fcn.101f0980
sub esp, 4
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x138], eax
mov eax, dword [edi + 0x38]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x44]
lea edi, [esp + 0xe0]
mov edx, edi
call fcn.101b9910
mov ecx, edi
call fcn.101f10b0
jmp 0x101b47ed
mov dword [esp], edi
mov ecx, dword [esp + 0x48]
lea edi, [esp + 0xe0]
mov edx, edi
call fcn.101b6a40
mov dword [esp], edi
mov ecx, dword [esp + 0x48]
xor edx, edx
call fcn.101b6980
mov edi, dword [esp + 0xe0]
test edi, edi
je 0x101b490f
mov dword [edi], 0x102598d4
lea ecx, [edi + 4]
call fcn.10167340
mov dword [esp], edi
call fcn.10205096
mov edi, dword [esp + 0x34]
jmp 0x101b480d
mov ebx, eax
cmp eax, dword [esp + 0x30]
je 0x101b474c
mov edi, dword [ebx + 0x10]
mov eax, dword [esp + 0x3c]
cmp edi, dword [eax + 0xbf0]
je 0x101b4970
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
mov eax, dword [edi]
lea esi, [esp + 0xe0]
mov dword [esp], esi
mov ecx, edi
call dword [eax + 4]
sub esp, 4
mov dword [esp], esi
jmp 0x101b497a
lea eax, [esp + 0x140]
mov dword [esp], eax
mov ecx, edi
call fcn.101eff20
sub esp, 4
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x101b49a0
nop
nop
nop
nop
nop
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x101b4990
jmp 0x101b4920
mov eax, dword [ebx + 8]
cmp dword [eax], ebx
je 0x101b4920
add ebx, 8
nop
nop
mov ecx, dword [ebx]
lea ebx, [ecx + 8]
mov eax, dword [ecx + 8]
cmp dword [eax], ecx
jne 0x101b49b0
jmp 0x101b4920
mov ebx, dword [esp + 0x34]
mov ecx, dword [ebx + 0x1c]
call fcn.101eb5c0
mov ecx, dword [edi + 0xc64]
cmp byte [ecx + 0x10], al
mov esi, edi
jb 0x101b66a7
mov ecx, dword [ebx + 0x1c]
call fcn.101ecd70
test al, al
mov edi, ebx
je 0x101b4bb0
movsd xmm0, qword [esi + 0x34]
mov cl, 1
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x101b4bbc
mov eax, dword [esp + 0x3c]
mov esi, dword [eax + 0xa74]
lea eax, [esi + 1]
shr eax, 3
mov ecx, 0x1a41a41b
mul ecx
shr edx, 2
imul ebx, edx, 0x138
neg ebx
mov edi, 0x80000000
mov eax, dword [esp + 0x3c]
and edi, dword [eax + esi*8 + 0xb4]
lea eax, [esi + 0x9c]
shr eax, 3
mul ecx
mov dword [esp + 0x30], edx
lea ecx, [esi + ebx]
add ecx, 1
mov dword [esp + 0x38], esi
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + ecx*8 + 0xb4]
mov ebx, ecx
and ebx, 0x7ffffffe
and ecx, 1
mov edx, 0xa96619e9
mov eax, ecx
mul edx
or ebx, edi
imul ecx, ecx, 0xb5026f5a
or ecx, edx
mov edx, dword [esp + 0x30]
shr edx, 2
imul edx, edx, 0x138
neg edx
add edx, esi
add edx, 0x9c
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x3c]
mov edi, dword [edx + esi*8 + 0xb8]
shrd ebx, edi, 1
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
xor ecx, dword [edx + esi*8 + 0xb8]
shr edi, 1
xor ecx, edi
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x30]
xor eax, dword [edi + edx*8 + 0xb4]
mov edi, dword [esp + 0x34]
xor eax, ebx
mov edx, dword [esp + 0x3c]
movsd xmm0, qword [edx + 0xa84]
mov edx, dword [esp + 0x3c]
subsd xmm0, qword [edx + 0xa7c]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
mov dword [edx + esi*8 + 0xb4], eax
mov eax, dword [esp + 0x3c]
mov dword [eax + esi*8 + 0xb8], ecx
mov esi, dword [esp + 0x3c]
mov eax, dword [esi + 0xa74]
mov ecx, dword [esi + eax*8 + 0xb4]
mov eax, dword [esi + eax*8 + 0xb8]
mov edx, eax
shr edx, 0x1d
and edx, 0xfffffffd
xor edx, eax
shld eax, ecx, 3
and eax, 0x55555555
xor eax, ecx
mov ecx, dword [esp + 0x44]
mov dword [esi + 0xa74], ecx
mov ecx, edx
shld ecx, eax, 0x11
and ecx, 0x71d67fff
xor ecx, edx
mov edx, eax
shl edx, 0x11
and edx, 0xeda60000
xor edx, eax
mov eax, edx
shl eax, 5
and eax, 0xfff7eee0
xor eax, ecx
mov cl, 1
movd xmm1, eax
shr eax, 0xb
xor eax, edx
movd xmm2, eax
punpckldq xmm2, xmm1
punpckldq xmm2, xmmword [0x1025be40]
subpd xmm2, xmmword [0x1025be50]
movapd xmm1, xmm2
unpckhpd xmm1, xmm2
addsd xmm1, xmm2
mulsd xmm1, qword [0x1029e730]
mulsd xmm1, xmm0
addsd xmm1, qword [esi + 0xa7c]
movsd xmm0, qword [esi + 0x34]
ucomisd xmm0, xmm1
seta al
jmp 0x101b4bbe
cmp dword [esi + 0x54], 0
je 0x101b4cbc
xor ecx, ecx
xor eax, eax
movzx eax, al
mov dword [esp + 4], eax
movzx eax, cl
mov dword [esp], eax
lea ecx, [esp + 0x88]
call fcn.101f1400
sub esp, 8
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x44], eax
lea eax, [esp + 0xe0]
mov dword [esp], eax
mov ecx, edi
call fcn.101f0980
sub esp, 4
mov ecx, dword [esi + 0xc30]
mov ebx, dword [esi + 0xc34]
mov dword [esp + 0x34], ebx
mov eax, ecx
mov dword [esp + 0x30], ecx
sub ebx, ecx
mov edi, ebx
sar edi, 2
test ebx, ebx
lea eax, [edi + edi*8]
lea eax, [eax + eax*2]
lea edx, [edi + eax - 1]
cmove edx, ebx
mov eax, dword [esi + 0xc3c]
mov ecx, dword [esi + 0xc40]
add ecx, eax
cmp edx, ecx
jne 0x101b4c69
cmp eax, 0x1c
jb 0x101b4c7a
add eax, 0xffffffe4
mov dword [esi + 0xc3c], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
lea edi, [eax + 4]
mov dword [esi + 0xc30], edi
mov edx, dword [esp + 0x34]
cmp edx, dword [esi + 0xc38]
je 0x101b4d57
mov ebx, dword [esp + 0x44]
jmp 0x101b56db
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
jmp 0x101b58c2
mov edx, dword [esi + 0xc2c]
mov esi, dword [esi + 0xc38]
mov eax, esi
sub eax, edx
mov ecx, eax
sar ecx, 2
cmp edi, ecx
jae 0x101b4cce
mov dword [esp + 0x38], edx
mov dword [esp], 0xfc0
call fcn.1020d865
mov ecx, eax
mov eax, dword [esp + 0x34]
cmp esi, eax
je 0x101b4dbe
mov dword [eax], ecx
mov esi, dword [esp + 0x3c]
jmp 0x101b589d
cmp dword [esi + 0xbdc], 0
jne 0x101b49f0
jmp 0x101b4bba
mov ecx, eax
sar ecx, 1
test eax, eax
mov esi, 1
cmovne esi, ecx
cmp esi, 0x40000000
jae 0x101b6907
lea eax, [esi*4]
mov dword [esp], eax
call fcn.1020d865
mov ebx, eax
lea eax, [eax + edi*4]
mov dword [esp + 0x50], eax
lea eax, [ebx + esi*4]
mov dword [esp + 0x38], eax
mov dword [esp], 0xfc0
call fcn.1020d865
mov ecx, eax
cmp edi, esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x40], ebx
jne 0x101b4dad
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x50]
mov eax, ecx
sub eax, ebx
mov edx, dword [esp + 0x34]
jbe 0x101b4e99
sar eax, 2
mov edi, ecx
lea ecx, [eax + 1]
shr ecx, 0x1f
add eax, ecx
add eax, 1
add eax, eax
and eax, 0xfffffffc
sub edi, eax
jmp 0x101b51d8
mov dword [esp + 0x38], ecx
mov ecx, dword [esi + 0xc2c]
mov eax, edi
sub eax, ecx
jbe 0x101b4dd7
sar eax, 2
lea ecx, [eax + 1]
shr ecx, 0x1f
add eax, ecx
add eax, 1
sar eax, 1
mov esi, eax
neg esi
shl eax, 2
mov ebx, edi
sub ebx, eax
sub edx, edi
je 0x101b4efd
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], ebx
mov edi, edx
call fcn.10208400
mov edx, edi
mov ecx, dword [esp + 0x3c]
mov edi, dword [ecx + 0xc30]
jmp 0x101b4f01
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x50]
jmp 0x101b51e0
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x38]
je 0x101b4f21
mov edx, eax
mov esi, dword [esp + 0x3c]
jmp 0x101b5149
mov eax, edx
mov dword [esp + 0x2c], ecx
sub eax, ecx
mov ecx, eax
sar ecx, 1
test eax, eax
mov eax, 1
cmovne eax, ecx
cmp eax, 0x40000000
jae 0x101b6907
mov ebx, eax
shr ebx, 2
mov dword [esp + 0x40], eax
lea eax, [eax*4]
mov dword [esp], eax
call fcn.1020d865
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ebx
lea ecx, [eax + ebx*4]
mov edx, dword [esp + 0x40]
lea edx, [eax + edx*4]
mov dword [esp + 0x48], edx
mov edx, ecx
mov ebx, dword [esp + 0x34]
sub ebx, edi
je 0x101b5699
lea edx, [ecx + ebx]
mov dword [esp + 0x58], edx
mov esi, ebx
add ebx, 0xfffffffc
cmp ebx, 0x1c
mov dword [esp + 0x4c], ecx
jb 0x101b566b
mov dword [esp + 0x34], esi
mov edx, dword [esp + 0x40]
and edx, 0xfffffffc
lea ecx, [eax + edx]
mov dword [esp + 0x40], ecx
mov ecx, ebx
and ecx, 0xfffffffc
mov esi, dword [esp + 0x30]
add esi, ecx
add esi, 8
cmp dword [esp + 0x40], esi
jae 0x101b556d
add edx, ecx
lea ecx, [eax + edx]
add ecx, 4
cmp ecx, edi
jbe 0x101b556d
mov ecx, dword [esp + 0x4c]
jmp 0x101b5667
mov esi, dword [esp + 0x3c]
jmp 0x101b5fed
mov ecx, eax
sar ecx, 1
test eax, eax
mov ebx, 1
cmovne ebx, ecx
cmp ebx, 0x40000000
jae 0x101b6907
mov edi, ebx
and edi, 0xfffffffc
lea eax, [ebx*4]
mov dword [esp], eax
call fcn.1020d865
mov ecx, eax
add edi, eax
lea eax, [eax + ebx*4]
mov ebx, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
test eax, eax
je 0x101b51d0
mov dword [esp], eax
call fcn.10205096
mov eax, dword [esi + 0xc30]
mov edx, dword [esi + 0xc34]
mov dword [esp + 0x40], ebx
jmp 0x101b51dc
mov ecx, dword [esp + 0x3c]
add edx, ebx
mov dword [ecx + 0xc34], edx
lea eax, [edi + esi*4]
mov dword [ecx + 0xc30], eax
mov esi, ecx
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
jmp 0x101b56db
mov dword [esp + 0x38], ecx
sub esi, eax
mov eax, esi
sar eax, 1
test esi, esi
mov esi, 1
cmovne esi, eax
cmp esi, 0x40000000
jae 0x101b6907
lea eax, [esi + 3]
mov dword [esp + 0x2c], eax
shr eax, 2
mov dword [esp + 0x34], eax
lea eax, [esi*4]
mov dword [esp], eax
call fcn.1020d865
mov ecx, eax
mov edx, dword [esp + 0x34]
lea edx, [eax + edx*4]
mov dword [esp + 0x40], eax
lea eax, [eax + esi*4]
mov esi, edx
test ebx, ebx
je 0x101b510d
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
lea eax, [edx + edi*4]
mov dword [esp + 0x4c], eax
add ebx, 0xfffffffc
mov dword [esp + 0x48], edx
mov ecx, edx
mov eax, dword [esp + 0x30]
mov edx, eax
cmp ebx, 0x1c
jb 0x101b50d8
mov edx, dword [esp + 0x2c]
and edx, 0xfffffffc
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x2c], edx
add edx, ecx
mov ecx, ebx
and ecx, 0xfffffffc
lea esi, [ecx + eax]
add esi, 4
cmp edx, esi
jae 0x101b4fdb
add ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
lea esi, [edx + ecx]
add esi, 4
mov ecx, dword [esp + 0x48]
mov edx, eax
cmp esi, eax
ja 0x101b50d8
shr ebx, 2
add ebx, 1
mov ecx, ebx
and ecx, 0xfffffff8
mov dword [esp + 0x58], ecx
lea esi, [ecx - 8]
mov edx, esi
shr edx, 3
add edx, 1
mov ecx, edx
and ecx, 3
mov dword [esp + 0x2c], ecx
xor ecx, ecx
cmp esi, 0x18
jb 0x101b5074
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
lea esi, [ecx + esi*4]
add esi, 0x70
and edx, 0xfffffffc
neg edx
xor ecx, ecx
movups xmm0, xmmword [eax + ecx*4]
movups xmm1, xmmword [eax + ecx*4 + 0x10]
movups xmmword [esi + ecx*4 - 0x70], xmm0
movups xmmword [esi + ecx*4 - 0x60], xmm1
movups xmm0, xmmword [eax + ecx*4 + 0x20]
movups xmm1, xmmword [eax + ecx*4 + 0x30]
movups xmmword [esi + ecx*4 - 0x50], xmm0
movups xmmword [esi + ecx*4 - 0x40], xmm1
movups xmm0, xmmword [eax + ecx*4 + 0x40]
movups xmm1, xmmword [eax + ecx*4 + 0x50]
movups xmmword [esi + ecx*4 - 0x30], xmm0
movups xmmword [esi + ecx*4 - 0x20], xmm1
movupd xmm0, xmmword [eax + ecx*4 + 0x60]
movupd xmm1, xmmword [eax + ecx*4 + 0x70]
movupd xmmword [esi + ecx*4 - 0x10], xmm0
movupd xmmword [esi + ecx*4], xmm1
add ecx, 0x20
add edx, 4
jne 0x101b501a
cmp dword [esp + 0x2c], 0
je 0x101b50c2
mov eax, dword [esp + 0x30]
lea edx, [eax + ecx*4]
add edx, 0x10
mov eax, dword [esp + 0x34]
lea esi, [eax*4]
lea ecx, [esi + ecx*4]
mov eax, dword [esp + 0x40]
add ecx, eax
add ecx, 0x10
mov eax, dword [esp + 0x2c]
shl eax, 5
xor esi, esi
movupd xmm0, xmmword [edx + esi - 0x10]
movupd xmm1, xmmword [edx + esi]
movupd xmmword [ecx + esi - 0x10], xmm0
movupd xmmword [ecx + esi], xmm1
add esi, 0x20
cmp eax, esi
jne 0x101b50a5
mov edx, dword [esp + 0x58]
cmp ebx, edx
je 0x101b50fd
mov eax, dword [esp + 0x48]
lea ecx, [eax + edx*4]
mov eax, dword [esp + 0x30]
lea edx, [eax + edx*4]
mov eax, dword [esp + 0x34]
shl eax, 2
lea esi, [eax + edi*4]
sub esi, ecx
mov eax, dword [esp + 0x40]
add eax, esi
xor esi, esi
nop
nop
nop
nop
mov edi, dword [edx + esi]
mov dword [ecx + esi], edi
add esi, 4
cmp eax, esi
jne 0x101b50f0
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
mov edi, esi
mov esi, dword [esp + 0x3c]
mov dword [esi + 0xc2c], ecx
mov dword [esi + 0xc30], edx
mov dword [esi + 0xc34], edi
mov dword [esi + 0xc38], eax
mov eax, dword [esp + 0x30]
test eax, eax
mov ecx, dword [esp + 0x38]
je 0x101b5149
mov dword [esp], eax
call fcn.10205096
mov ecx, dword [esp + 0x38]
mov edx, dword [esi + 0xc30]
mov dword [edx - 4], ecx
mov ebx, dword [esi + 0xc30]
mov edi, dword [esi + 0xc34]
lea eax, [ebx - 4]
mov dword [esi + 0xc30], eax
mov edx, dword [ebx - 4]
mov dword [esi + 0xc30], ebx
cmp edi, dword [esi + 0xc38]
jne 0x101b589b
mov ecx, dword [esi + 0xc2c]
mov eax, ebx
sub eax, ecx
jbe 0x101b54e9
sar eax, 2
lea ecx, [eax + 1]
shr ecx, 0x1f
add eax, ecx
add eax, 1
sar eax, 1
mov ecx, eax
neg ecx
mov dword [esp + 0x30], ecx
shl eax, 2
mov esi, ebx
sub esi, eax
sub edi, ebx
je 0x101b56f1
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], esi
mov ebx, edx
call fcn.10208400
mov edx, ebx
mov ecx, dword [esp + 0x3c]
mov ebx, dword [ecx + 0xc30]
jmp 0x101b56f5
mov dword [esp + 0x40], ebx
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov dword [edi], ecx
lea esi, [edi + 4]
cmp edx, eax
je 0x101b549c
mov dword [esp + 0x30], esi
mov ecx, dword [esp + 0x40]
jmp 0x101b5225
mov esi, dword [esp + 0x30]
add edx, 0xfffffffc
mov eax, dword [edx]
mov dword [edi - 4], eax
add edi, 0xfffffffc
mov dword [esp + 0x30], esi
mov ebx, edi
mov eax, dword [esp + 0x3c]
cmp edx, dword [eax + 0xc30]
je 0x101b54a2
cmp edi, ecx
jne 0x101b5200
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
cmp esi, eax
jae 0x101b5276
sub eax, esi
sar eax, 2
lea ecx, [eax + 1]
shr ecx, 0x1f
add eax, ecx
add eax, 1
mov ecx, edi
and eax, 0xfffffffe
lea eax, [esi + eax*2]
sub esi, edi
je 0x101b5488
mov ebx, edi
mov edi, eax
sub edi, esi
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0x34], edx
mov esi, eax
call fcn.10208400
jmp 0x101b5484
mov dword [esp + 0x34], edx
sub eax, edi
mov edx, eax
sar edx, 1
test eax, eax
mov eax, 1
cmove edx, eax
cmp edx, 0x40000000
jae 0x101b6907
mov esi, edi
lea edi, [edx + 3]
mov dword [esp + 0x2c], edi
shr edi, 2
mov dword [esp + 0x40], edx
lea eax, [edx*4]
mov dword [esp], eax
call fcn.1020d865
mov edx, eax
mov dword [esp + 0x48], edi
lea edi, [eax + edi*4]
mov eax, edi
mov ecx, dword [esp + 0x30]
sub ecx, esi
mov ebx, esi
je 0x101b5469
mov dword [esp + 0x38], edx
lea eax, [edi + ecx]
mov dword [esp + 0x54], eax
mov dword [esp + 0x30], ecx
lea esi, [ecx - 4]
mov eax, edi
mov ecx, ebx
cmp esi, 0x1c
jb 0x101b542d
mov ecx, dword [esp + 0x2c]
and ecx, 0xfffffffc
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], ecx
add ecx, eax
mov eax, esi
and eax, 0xfffffffc
lea edx, [ebx + eax]
add edx, 4
cmp ecx, edx
mov edx, esi
jae 0x101b532b
add eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
lea edx, [ecx + eax]
add edx, 4
mov eax, edi
mov ecx, ebx
cmp edx, ebx
mov edx, esi
ja 0x101b542d
shr edx, 2
add edx, 1
mov dword [esp + 0x2c], edx
and edx, 0xfffffff8
mov dword [esp + 0x58], edx
lea ecx, [edx - 8]
mov edx, ecx
shr edx, 3
add edx, 1
mov eax, edx
and eax, 3
mov dword [esp + 0x4c], eax
xor eax, eax
cmp ecx, 0x18
jb 0x101b53ca
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
lea ecx, [eax + ecx*4]
add ecx, 0x70
and edx, 0xfffffffc
neg edx
xor eax, eax
nop
nop
nop
nop
movups xmm0, xmmword [ebx + eax*4]
movups xmm1, xmmword [ebx + eax*4 + 0x10]
movups xmmword [ecx + eax*4 - 0x70], xmm0
movups xmmword [ecx + eax*4 - 0x60], xmm1
movups xmm0, xmmword [ebx + eax*4 + 0x20]
movups xmm1, xmmword [ebx + eax*4 + 0x30]
movups xmmword [ecx + eax*4 - 0x50], xmm0
movups xmmword [ecx + eax*4 - 0x40], xmm1
movups xmm0, xmmword [ebx + eax*4 + 0x40]
movups xmm1, xmmword [ebx + eax*4 + 0x50]
movups xmmword [ecx + eax*4 - 0x30], xmm0
movups xmmword [ecx + eax*4 - 0x20], xmm1
movupd xmm0, xmmword [ebx + eax*4 + 0x60]
movupd xmm1, xmmword [ebx + eax*4 + 0x70]
movupd xmmword [ecx + eax*4 - 0x10], xmm0
movupd xmmword [ecx + eax*4], xmm1
add eax, 0x20
add edx, 4
jne 0x101b5370
mov esi, dword [esp + 0x4c]
test esi, esi
je 0x101b541d
lea ecx, [ebx + eax*4]
add ecx, 0x10
mov edx, dword [esp + 0x48]
lea edx, [edx*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x38]
add eax, edx
add eax, 0x10
shl esi, 5
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movupd xmm0, xmmword [ecx + edx - 0x10]
movupd xmm1, xmmword [ecx + edx]
movupd xmmword [eax + edx - 0x10], xmm0
movupd xmmword [eax + edx], xmm1
add edx, 0x20
cmp esi, edx
jne 0x101b5400
mov ecx, dword [esp + 0x58]
cmp dword [esp + 0x2c], ecx
je 0x101b5461
lea eax, [edi + ecx*4]
lea ecx, [ebx + ecx*4]
mov dword [esp + 0x50], ebx
mov esi, dword [esp + 0x30]
sar esi, 2
mov edx, dword [esp + 0x48]
shl edx, 2
lea edx, [edx + esi*4]
sub edx, eax
add edx, dword [esp + 0x38]
xor ebx, ebx
nop
nop
nop
nop
nop
nop
mov esi, dword [ecx + ebx]
mov dword [eax + ebx], esi
add ebx, 4
cmp edx, ebx
jne 0x101b5450
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
mov esi, eax
mov eax, dword [esp + 0x40]
lea eax, [edx + eax*4]
mov dword [esp + 0x38], eax
test ebx, ebx
je 0x101b5491
mov dword [esp], ebx
mov ebx, edx
call fcn.10205096
mov ecx, ebx
jmp 0x101b5493
mov edi, eax
mov esi, eax
jmp 0x101b5204
mov ecx, edx
mov edx, dword [esp + 0x34]
jmp 0x101b5204
mov ebx, edi
mov ecx, dword [esp + 0x40]
mov edx, esi
mov esi, dword [esp + 0x3c]
mov eax, dword [esi + 0xc2c]
mov dword [esi + 0xc2c], ecx
mov dword [esi + 0xc30], ebx
mov dword [esi + 0xc34], edx
mov ecx, dword [esp + 0x38]
mov dword [esi + 0xc38], ecx
test eax, eax
mov ebx, dword [esp + 0x44]
je 0x101b58b0
mov dword [esp], eax
call fcn.10205096
mov edx, dword [esi + 0xc34]
jmp 0x101b58b0
mov dword [esp + 0x34], edx
mov eax, edi
mov dword [esp + 0x38], ecx
sub eax, ecx
mov ecx, eax
sar ecx, 1
test eax, eax
mov dword [esp + 0x30], edi
mov edi, 1
cmovne edi, ecx
cmp edi, 0x40000000
jae 0x101b6907
mov esi, edi
shr esi, 2
lea eax, [edi*4]
mov dword [esp], eax
call fcn.1020d865
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], esi
lea edx, [eax + esi*4]
lea ecx, [eax + edi*4]
mov dword [esp + 0x40], ecx
mov ecx, edx
mov esi, dword [esp + 0x30]
sub esi, ebx
je 0x101b5857
lea ecx, [edx + esi]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x30], esi
add esi, 0xfffffffc
cmp esi, 0x1c
mov dword [esp + 0x50], edx
jae 0x101b5711
mov ecx, edx
mov esi, dword [esp + 0x30]
jmp 0x101b582f
shr ebx, 2
add ebx, 1
mov dword [esp + 0x64], ebx
and ebx, 0xfffffff8
mov dword [esp + 0x60], ebx
lea esi, [ebx - 8]
mov edx, esi
shr edx, 3
add edx, 1
mov ecx, edx
and ecx, 3
mov dword [esp + 0x40], ecx
xor ebx, ebx
cmp esi, 0x18
mov ecx, dword [esp + 0x30]
jb 0x101b5609
mov esi, dword [esp + 0x54]
lea esi, [eax + esi*4]
add esi, 0x70
and edx, 0xfffffffc
neg edx
xor ebx, ebx
movups xmm0, xmmword [ecx + ebx*4 + 4]
movups xmm1, xmmword [ecx + ebx*4 + 0x14]
movups xmmword [esi + ebx*4 - 0x70], xmm0
movups xmmword [esi + ebx*4 - 0x60], xmm1
movups xmm0, xmmword [ecx + ebx*4 + 0x24]
movups xmm1, xmmword [ecx + ebx*4 + 0x34]
movups xmmword [esi + ebx*4 - 0x50], xmm0
movups xmmword [esi + ebx*4 - 0x40], xmm1
movups xmm0, xmmword [ecx + ebx*4 + 0x44]
movups xmm1, xmmword [ecx + ebx*4 + 0x54]
movups xmmword [esi + ebx*4 - 0x30], xmm0
movups xmmword [esi + ebx*4 - 0x20], xmm1
movupd xmm0, xmmword [ecx + ebx*4 + 0x64]
movupd xmm1, xmmword [ecx + ebx*4 + 0x74]
movupd xmmword [esi + ebx*4 - 0x10], xmm0
movupd xmmword [esi + ebx*4], xmm1
add ebx, 0x20
add edx, 4
jne 0x101b55ae
cmp dword [esp + 0x40], 0
je 0x101b5653
mov ecx, dword [esp + 0x30]
lea edx, [ecx + ebx*4]
add edx, 0x14
mov ecx, dword [esp + 0x54]
lea esi, [ecx*4]
mov ecx, dword [esp + 0x40]
lea esi, [esi + ebx*4]
add esi, eax
add esi, 0x10
shl ecx, 5
xor ebx, ebx
movupd xmm0, xmmword [edx + ebx - 0x10]
movupd xmm1, xmmword [edx + ebx]
movupd xmmword [esi + ebx - 0x10], xmm0
movupd xmmword [esi + ebx], xmm1
add ebx, 0x20
cmp ecx, ebx
jne 0x101b5636
mov edx, dword [esp + 0x60]
cmp dword [esp + 0x64], edx
je 0x101b568d
mov ecx, dword [esp + 0x4c]
lea ecx, [ecx + edx*4]
lea edi, [edi + edx*4]
mov esi, dword [esp + 0x34]
sar esi, 2
mov edx, dword [esp + 0x54]
shl edx, 2
lea edx, [edx + esi*4]
sub edx, ecx
add eax, edx
xor edx, edx
nop
nop
mov esi, dword [edi + edx]
mov dword [ecx + edx], esi
add edx, 4
cmp eax, edx
jne 0x101b5680
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x50]
mov dword [esi + 0xc2c], eax
mov dword [esi + 0xc30], ecx
mov dword [esi + 0xc34], edx
mov eax, dword [esp + 0x48]
mov dword [esi + 0xc38], eax
mov eax, dword [esp + 0x2c]
test eax, eax
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
je 0x101b56db
mov dword [esp], eax
call fcn.10205096
mov ecx, dword [esp + 0x38]
mov edx, dword [esi + 0xc34]
mov dword [edx], ecx
mov edx, dword [esi + 0xc34]
add edx, 4
mov dword [esi + 0xc34], edx
jmp 0x101b58b0
mov ecx, dword [esp + 0x3c]
add edi, esi
mov dword [ecx + 0xc34], edi
mov eax, dword [esp + 0x30]
lea eax, [ebx + eax*4]
mov dword [ecx + 0xc30], eax
mov esi, ecx
jmp 0x101b589b
and edi, 0xfffffffc
lea ecx, [eax + edi]
mov dword [esp + 0x4c], ecx
mov ecx, esi
and ecx, 0xfffffffc
lea edx, [ecx + ebx]
add edx, 4
cmp dword [esp + 0x4c], edx
jae 0x101b5745
add edi, ecx
lea ecx, [eax + edi]
add ecx, 4
cmp ecx, ebx
jbe 0x101b5745
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x30]
jmp 0x101b582f
shr esi, 2
add esi, 1
mov dword [esp + 0x4c], esi
and esi, 0xfffffff8
mov dword [esp + 0x58], esi
lea ecx, [esi - 8]
mov edx, ecx
shr edx, 3
add edx, 1
mov edi, edx
and edi, 3
xor esi, esi
cmp ecx, 0x18
jb 0x101b57d8
mov ecx, dword [esp + 0x48]
lea ecx, [eax + ecx*4]
add ecx, 0x70
and edx, 0xfffffffc
neg edx
xor esi, esi
movups xmm0, xmmword [ebx + esi*4]
movups xmm1, xmmword [ebx + esi*4 + 0x10]
movups xmmword [ecx + esi*4 - 0x70], xmm0
movups xmmword [ecx + esi*4 - 0x60], xmm1
movups xmm0, xmmword [ebx + esi*4 + 0x20]
movups xmm1, xmmword [ebx + esi*4 + 0x30]
movups xmmword [ecx + esi*4 - 0x50], xmm0
movups xmmword [ecx + esi*4 - 0x40], xmm1
movups xmm0, xmmword [ebx + esi*4 + 0x40]
movups xmm1, xmmword [ebx + esi*4 + 0x50]
movups xmmword [ecx + esi*4 - 0x30], xmm0
movups xmmword [ecx + esi*4 - 0x20], xmm1
movupd xmm0, xmmword [ebx + esi*4 + 0x60]
movupd xmm1, xmmword [ebx + esi*4 + 0x70]
movupd xmmword [ecx + esi*4 - 0x10], xmm0
movupd xmmword [ecx + esi*4], xmm1
add esi, 0x20
add edx, 4
jne 0x101b577e
test edi, edi
je 0x101b5817
lea ecx, [ebx + esi*4]
add ecx, 0x10
mov edx, dword [esp + 0x48]
lea edx, [edx*4]
lea edx, [edx + esi*4]
add edx, eax
add edx, 0x10
shl edi, 5
xor esi, esi
movupd xmm0, xmmword [ecx + esi - 0x10]
movupd xmm1, xmmword [ecx + esi]
movupd xmmword [edx + esi - 0x10], xmm0
movupd xmmword [edx + esi], xmm1
add esi, 0x20
cmp edi, esi
jne 0x101b57fa
mov edi, dword [esp + 0x58]
cmp dword [esp + 0x4c], edi
mov esi, dword [esp + 0x30]
je 0x101b584f
mov ecx, dword [esp + 0x50]
lea ecx, [ecx + edi*4]
lea ebx, [ebx + edi*4]
sar esi, 2
mov edx, dword [esp + 0x48]
shl edx, 2
lea edx, [edx + esi*4]
sub edx, ecx
add eax, edx
xor edx, edx
mov esi, dword [ebx + edx]
mov dword [ecx + edx], esi
add edx, 4
cmp eax, edx
jne 0x101b5842
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
mov dword [esi + 0xc2c], eax
mov dword [esi + 0xc30], edx
mov dword [esi + 0xc34], ecx
mov eax, dword [esp + 0x40]
mov dword [esi + 0xc38], eax
mov edi, ecx
mov eax, dword [esp + 0x38]
test eax, eax
mov edx, dword [esp + 0x34]
je 0x101b589b
mov dword [esp], eax
call fcn.10205096
mov edx, dword [esp + 0x34]
mov edi, dword [esi + 0xc34]
mov dword [edi], edx
mov edx, dword [esi + 0xc34]
add edx, 4
mov dword [esi + 0xc34], edx
mov ebx, dword [esp + 0x44]
mov eax, dword [esi + 0xc30]
mov ecx, dword [esi + 0xc3c]
add ecx, dword [esi + 0xc40]
mov edi, 0
cmp edx, eax
je 0x101b58ec
mov esi, eax
mov eax, ecx
shr eax, 2
mov edx, 0x24924925
mul edx
lea eax, [edx + edx*8]
lea eax, [eax + eax*2]
add eax, edx
sub ecx, eax
lea edi, [ecx + ecx*8]
shl edi, 4
add edi, dword [esi + edx*4]
movsd xmm0, qword [esp + 0xa8]
movsd qword [esp + 0xd0], xmm0
movups xmm0, xmmword [esp + 0x88]
movups xmm1, xmmword [esp + 0x98]
movaps xmmword [esp + 0xc0], xmm1
movaps xmmword [esp + 0xb0], xmm0
lea esi, [esp + 0xe0]
mov dword [esp], esi
mov ecx, edi
call fcn.101f1070
sub esp, 4
mov dword [edi + 0x58], ebx
mov eax, dword [ebx]
mov dword [edi + 0x5c], eax
movsd xmm0, qword [esp + 0xd0]
movsd qword [edi + 0x80], xmm0
movapd xmm0, xmmword [esp + 0xb0]
movapd xmm1, xmmword [esp + 0xc0]
movupd xmmword [edi + 0x70], xmm1
movupd xmmword [edi + 0x60], xmm0
mov ecx, ebx
call fcn.101eb5c0
mov byte [edi + 0x88], al
movzx eax, byte [edi + 0x4a]
mov dword [edi + 0x8c], eax
mov ebx, dword [esp + 0x3c]
add dword [ebx + 0xc40], 1
mov ecx, esi
call fcn.101f10b0
mov ecx, dword [ebx + 0xc3c]
add ecx, dword [ebx + 0xc40]
mov eax, ecx
shr eax, 2
mov edx, 0x24924925
mul edx
mov eax, dword [ebx + 0xc30]
lea edi, [edx + edx*8]
lea edi, [edi + edi*2]
add edi, edx
sub ecx, edi
mov edi, dword [eax + edx*4]
lea ecx, [ecx + ecx*8]
shl ecx, 4
add ecx, edi
cmp dword [ebx + 0xc34], eax
mov esi, 0
cmove ecx, esi
cmp edi, ecx
jne 0x101b59de
mov ecx, 0xfc0
add ecx, dword [eax + edx*4 - 4]
mov al, byte [0x102b2b08]
mov byte [esp + 0x50], al
test al, 0x19
mov dword [esp + 0x2c], ecx
jne 0x101b66d4
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x58], 0xffffffff
mov esi, dword [esp + 0x3c]
cmp dword [esi + 0x70], 0
je 0x101b5a9c
mov edx, dword [ecx - 0x68]
lea eax, [esi + 0xae]
mov ecx, 5
nop
nop
nop
nop
nop
mov esi, edx
and esi, 0xf
movzx ebx, byte [esi + str.0123456789ABCDEF]
mov byte [eax + 4], bl
shr edx, 4
add ecx, 1
add eax, 0xffffffff
test edx, edx
jne 0x101b5a30
mov byte [eax + 4], pe_nt_image_headers32
mov word [eax + 2], 0x3020
mov edx, dword [esp + 0x2c]
mov edx, dword [edx - 0x80]
nop
nop
nop
mov esi, edx
and esi, 0xf
movzx ebx, byte [esi + str.0123456789ABCDEF]
mov byte [eax + 1], bl
shr edx, 4
add eax, 0xffffffff
add ecx, 1
test edx, edx
jne 0x101b5a60
mov word [eax], 0x7830
mov esi, dword [esp + 0x3c]
mov edx, dword [esi + 0x70]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.1002a710
mov ecx, dword [esp + 0x2c]
mov edi, ecx
mov ecx, dword [ecx - 0x38]
cmp byte [ecx + 0x144], 0
je 0x101b5ab4
mov byte [esi + 0xc28], 1
mov ecx, dword [edi - 0x38]
call fcn.101ecd70
test al, al
je 0x101b5ade
mov eax, dword [esp + 0x2c]
lea ecx, [eax - 0x30]
lea eax, [esp + 0x140]
mov dword [esp], eax
call fcn.101f1430
sub esp, 4
mov ecx, dword [esp + 0x2c]
mov dl, 1
jmp 0x101b5aec
mov ecx, edi
cmp dword [esi + 0x54], 0
je 0x101b5c11
xor edx, edx
lea eax, [ecx - 0x90]
mov dword [esp + 0x30], eax
mov eax, dword [ecx - 0x38]
cmp byte [eax + 0x145], 0
je 0x101b5fa4
mov edi, dword [ecx - 0x40]
mov dword [esp + 0x44], edi
mov ecx, dword [ecx - 0x3c]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + 0xe0]
mov dword [esp + 0x40], ecx
mov eax, dword [eax + 0xe4]
mov dword [esp + 0x38], eax
mov al, byte [0x102b2b08]
mov byte [esp + 0x60], al
test al, 0x19
jne 0x101b67be
mov dword [esp + 0x74], 0xffffffff
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0xf0], 0xffffffff
mov dword [esp + 0xec], 0xffffffff
mov dword [esp + 0xe8], 0xffffffff
mov eax, dword [esi + 0xbac]
cmp eax, dword [esi + 0xbb0]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0x64], edx
je 0x101b5bec
lea eax, [esi + 0xbac]
mov dword [esp + 0xe8], eax
lea eax, [esi + 0xbb8]
mov dword [esp], eax
lea ecx, [esp + 0xe0]
call fcn.101497f0
sub esp, 4
mov dword [esp + 0xec], 0
cmp dword [esi + 0xbc4], 0
je 0x101b5c23
mov ecx, dword [esi + 0xbb0]
sub ecx, dword [esi + 0xbac]
sar ecx, 2
jmp 0x101b5c28
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
xor esi, esi
jmp 0x101b5c76
cmp dword [esi + 0xbdc], 0
jne 0x101b5abd
jmp 0x101b5aea
mov ecx, 0xffffffff
mov dword [esp + 0xf0], ecx
mov esi, dword [esp + 0xe8]
mov edx, dword [esi]
mov eax, dword [esi + 4]
sub eax, edx
sar eax, 2
cmp eax, ecx
cmovae eax, ecx
test eax, eax
je 0x101b5c76
cmp dword [edx], 0
jne 0x101b5c76
mov ecx, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0xec], ecx
cmp eax, ecx
je 0x101b5c76
mov edx, dword [esi]
cmp dword [edx + ecx*4], 0
lea ecx, [ecx + 1]
je 0x101b5c60
xorpd xmm0, xmm0
movapd xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xc0], 0
nop
nop
test esi, esi
je 0x101b5cb9
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
mov ecx, dword [esi]
mov edi, dword [esi + 4]
sub edi, ecx
sar edi, 2
cmp edi, edx
cmovae edi, edx
cmp eax, edi
jne 0x101b5da0
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x101b5df1
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0xc0]
mov edi, dword [ecx + 4]
sub edi, dword [ecx]
sar edi, 2
cmp edi, eax
cmovae edi, eax
cmp edx, edi
je 0x101b5dbc
mov eax, dword [esp + 0xec]
cmp esi, ecx
jne 0x101b5cfe
cmp eax, edx
je 0x101b5dc0
mov ecx, dword [esi]
mov edx, dword [esp + 0x40]
cmp dword [esp + 0x44], edx
mov edx, dword [esp + 0x34]
sbb edx, dword [esp + 0x38]
setb dl
mov ecx, dword [ecx + eax*4]
mov eax, dword [ecx]
movzx edx, dl
mov dword [esp + 4], edx
mov edx, dword [esp + 0x30]
mov dword [esp], edx
call dword [eax]
sub esp, 8
mov esi, dword [esp + 0xe8]
test esi, esi
je 0x101b5c90
mov eax, dword [esp + 0xec]
mov edi, dword [esp + 0xf0]
lea ebx, [eax + 1]
mov dword [esp + 0xec], ebx
mov edx, dword [esi]
mov ecx, dword [esi + 4]
sub ecx, edx
sar ecx, 2
cmp ecx, edi
cmovae ecx, edi
cmp ebx, ecx
jae 0x101b5c90
cmp dword [edx + eax*4 + 4], 0
jne 0x101b5c90
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0xec], eax
cmp ecx, eax
je 0x101b5c90
mov edx, dword [esi]
cmp dword [edx + eax*4], 0
lea eax, [eax + 1]
je 0x101b5d80
jmp 0x101b5c90
cmp esi, dword [esp + 0xb8]
jne 0x101b5d00
cmp eax, dword [esp + 0xbc]
jne 0x101b5d00
jmp 0x101b5dc4
mov esi, ecx
jmp 0x101b5dc4
test esi, esi
je 0x101b5df1
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 0xc]
je 0x101b60e5
cmp dword [esp + 0xb8], 0
je 0x101b5df1
mov dword [esp + 0xb8], 0
lea ecx, [esp + 0xb0]
call fcn.101497c0
mov esi, dword [esp + 0xe8]
test esi, esi
mov ecx, dword [esp + 0x2c]
je 0x101b5e31
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 0xc]
je 0x101b60b5
cmp dword [esp + 0xe8], 0
je 0x101b5e31
mov dword [esp + 0xe8], 0
lea ecx, [esp + 0xe0]
call fcn.101497c0
mov ecx, dword [esp + 0x2c]
test byte [esp + 0x60], 0x19
mov edx, dword [esp + 0x68]
je 0x101b5e7a
cmp byte [edx], 0
je 0x101b5e7a
mov eax, dword [esp + 0x70]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xe4], eax
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 8], xmm0
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.10177930
mov ecx, dword [esp + 0x2c]
mov bl, byte [0x102b2b08]
test bl, 0x19
jne 0x101b6815
mov esi, 0xffffffff
xor edi, edi
mov dword [esp + 0x60], 0xffffffff
mov dword [esp + 0x68], 0xffffffff
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x44], eax
mov eax, dword [esp + 0x38]
sbb dword [esp + 0x34], eax
setb al
mov ecx, dword [ecx - 0x38]
mov edx, dword [esp + 0x30]
mov dword [esp], edx
movzx eax, al
mov dword [esp + 4], eax
call fcn.101ebb70
sub esp, 8
test bl, 0x19
je 0x101b5f07
cmp byte [edi], 0
je 0x101b5f07
mov eax, dword [esp + 0x60]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe4], eax
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 8], xmm0
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.10177930
cmp byte [esp + 0x64], 0
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
je 0x101b5fa4
cmp dword [esi + 0x54], 0
je 0x101b6115
mov bl, byte [0x102b2b08]
test bl, 0x19
jne 0x101b6866
mov dword [esp + 0x44], 0xffffffff
xor edi, edi
mov esi, 0xffffffff
mov dword [esp + 0x34], 0xffffffff
mov eax, ecx
mov ecx, dword [ecx - 0x38]
add eax, 0xffffffd0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.101ecd00
sub esp, 8
test bl, 0x19
je 0x101b5fa0
cmp byte [edi], 0
je 0x101b5fa0
mov eax, dword [esp + 0x44]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], esi
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 8], xmm0
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.10177930
mov esi, dword [esp + 0x3c]
test byte [esp + 0x50], 0x19
je 0x101b5fed
mov eax, dword [esp + 0x48]
cmp byte [eax], 0
je 0x101b5fed
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xe4], eax
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 8], xmm0
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.10177930
test byte [esp + 0x5f], 0x19
mov eax, dword [esp + 0x84]
je 0x101b6038
cmp byte [eax], 0
je 0x101b6038
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xe4], ecx
movq xmm0, qword [esp + 0xe0]
movq qword [esp + 8], xmm0
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.10177930
cmp dword [esp + 0x30], 0
je 0x101b6099
mov ecx, dword [esi + 0xc3c]
add ecx, dword [esi + 0xc40]
mov eax, ecx
shr eax, 2
mov edx, 0x24924925
mul edx
mov eax, dword [esi + 0xc30]
mov ebx, esi
lea esi, [edx + edx*8]
lea esi, [esi + esi*2]
add esi, edx
sub ecx, esi
mov edi, dword [eax + edx*4]
lea ecx, [ecx + ecx*8]
shl ecx, 4
add ecx, edi
xor esi, esi
cmp dword [ebx + 0xc34], eax
cmovne esi, ecx
cmp edi, esi
jne 0x101b608c
mov esi, 0xfc0
add esi, dword [eax + edx*4 - 4]
test byte [0x102b26ac], 0x19
jne 0x101b672b
mov ecx, dword [esp + 0x168]
xor ecx, ebp
call fcn.10205d16
mov eax, dword [esp + 0x30]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov edi, dword [esi]
mov eax, dword [esi + 4]
cmp edi, eax
je 0x101b5e0c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi], 0
je 0x101b61e1
add edi, 4
cmp eax, edi
jne 0x101b60d0
jmp 0x101b5e0c
mov edi, dword [esi]
mov eax, dword [esi + 4]
cmp edi, eax
je 0x101b5dd0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi], 0
je 0x101b6218
add edi, 4
cmp eax, edi
jne 0x101b6100
jmp 0x101b5dd0
mov al, byte [0x102b2b08]
mov byte [esp + 0x34], al
test al, 0x19
jne 0x101b68b8
mov eax, 0xffffffff
mov dword [esp + 0x44], 0
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0xf0], 0xffffffff
mov dword [esp + 0xec], 0xffffffff
mov dword [esp + 0xe8], 0xffffffff
mov ecx, dword [esi + 0xbc8]
cmp ecx, dword [esi + 0xbcc]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0x40], eax
je 0x101b6271
lea eax, [esi + 0xbc8]
mov dword [esp + 0xe8], eax
lea eax, [esi + 0xbd4]
mov dword [esp], eax
lea ecx, [esp + 0xe0]
call fcn.101497f0
sub esp, 4
mov dword [esp + 0xec], 0
cmp dword [esi + 0xbe0], 0
je 0x101b62ce
mov ecx, dword [esi + 0xbcc]
sub ecx, dword [esi + 0xbc8]
sar ecx, 2
jmp 0x101b62d3
cmp eax, edi
je 0x101b629d
lea ecx, [eax - 4]
cmp ecx, edi
je 0x101b6299
lea ecx, [edi + 4]
jmp 0x101b620b
add ecx, 4
cmp eax, ecx
je 0x101b6299
mov edx, dword [ecx]
test edx, edx
je 0x101b6200
mov dword [edi], edx
add edi, 4
jmp 0x101b6200
cmp eax, edi
je 0x101b6244
lea ecx, [eax - 4]
cmp ecx, edi
je 0x101b6244
lea ecx, [edi + 4]
jmp 0x101b6237
add ecx, 4
cmp eax, ecx
je 0x101b6244
mov edx, dword [ecx]
test edx, edx
je 0x101b6230
mov dword [edi], edx
add edi, 4
jmp 0x101b6230
cmp edi, eax
je 0x101b5dd0
mov ebx, dword [esi + 4]
sub eax, edi
add eax, edi
sub ebx, eax
je 0x101b6267
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.10208400
add edi, ebx
mov dword [esi + 4], edi
jmp 0x101b5dd0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
xor esi, esi
jmp 0x101b6316
mov ecx, dword [esp + 0x2c]
cmp edi, eax
je 0x101b5e0c
mov ebx, dword [esi + 4]
sub eax, edi
add eax, edi
sub ebx, eax
je 0x101b62c4
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.10208400
mov ecx, dword [esp + 0x2c]
add edi, ebx
mov dword [esi + 4], edi
jmp 0x101b5e0c
mov ecx, 0xffffffff
mov dword [esp + 0xf0], ecx
mov esi, dword [esp + 0xe8]
mov edx, dword [esi]
mov eax, dword [esi + 4]
sub eax, edx
sar eax, 2
cmp eax, ecx
cmovae eax, ecx
test eax, eax
je 0x101b6316
cmp dword [edx], 0
jne 0x101b6316
mov ecx, 1
nop
nop
mov dword [esp + 0xec], ecx
cmp eax, ecx
je 0x101b6316
mov edx, dword [esi]
cmp dword [edx + ecx*4], 0
lea ecx, [ecx + 1]
je 0x101b6300
xorpd xmm0, xmm0
movapd xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xc0], 0
nop
nop
test esi, esi
je 0x101b6359
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
mov ecx, dword [esi]
mov edi, dword [esi + 4]
sub edi, ecx
sar edi, 2
cmp edi, edx
cmovae edi, edx
cmp eax, edi
jne 0x101b6430
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x101b6481
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0xc0]
mov edi, dword [ecx + 4]
sub edi, dword [ecx]
sar edi, 2
cmp edi, eax
cmovae edi, eax
cmp edx, edi
je 0x101b644c
mov eax, dword [esp + 0xec]
cmp esi, ecx
jne 0x101b639e
cmp eax, edx
je 0x101b6450
mov ecx, dword [esi]
mov ecx, dword [ecx + eax*4]
mov edx, dword [esp + 0x2c]
mov eax, dword [edx - 0x28]
mov edx, dword [edx - 0x24]
mov esi, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [esi + 4]
sub esp, 8
mov esi, dword [esp + 0xe8]
test esi, esi
je 0x101b6330
mov eax, dword [esp + 0xec]
mov edi, dword [esp + 0xf0]
lea ebx, [eax + 1]
mov dword [esp + 0xec], ebx
mov edx, dword [esi]
mov ecx, dword [esi + 4]
sub ecx, edx
sar ecx, 2
cmp ecx, edi
cmovae ecx, edi
cmp ebx, ecx
jae 0x101b6330
cmp dword [edx + eax*4 + 4], 0
jne 0x101b6330
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0xec], eax
cmp ecx, eax
je 0x101b6330
mov edx, dword [esi]
cmp dword [edx + eax*4], 0
lea eax, [eax + 1]
je 0x101b6410
jmp 0x101b6330
cmp esi, dword [esp + 0xb8]
jne 0x101b63a0
cmp eax, dword [esp + 0xbc]
jne 0x101b63a0
jmp 0x101b6454
mov esi, ecx
jmp 0x101b6454
test esi, esi
je 0x101b6481
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 0xc]
je 0x101b6531
cmp dword [esp + 0xb8], 0
je 0x101b6481
mov dword [esp + 0xb8], 0
lea ecx, [esp + 0xb0]
call fcn.101497c0
mov esi, dword [esp + 0xe8]
test esi, esi
mov ecx, dword [esp + 0x2c]
je 0x101b64bd
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 0xc]
je 0x101b6513
cmp dword [esp + 0xe8], 0
je 0x101b64bd
mov dword [esp + 0xe8], 0
lea ecx, [esp + 0xe0]
call fcn.101497c0
mov ecx, dword [esp + 0x2c]
test byte [esp + 0x34], 0x19
mov eax, dword [esp + 0x44]
je 0x101b5f24
cmp byte [eax], 0
je 0x101b5f24
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xe4], ecx
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 8], xmm0
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.10177930
mov ecx, dword [esp + 0x2c]
jmp 0x101b5f24
mov edi, dword [esi]
mov eax, dword [esi + 4]
cmp edi, eax
je 0x101b6498
cmp dword [edi], 0
je 0x101b6551
add edi, 4
cmp eax, edi
jne 0x101b6520
jmp 0x101b6498
mov edi, dword [esi]
mov eax, dword [esi + 4]
cmp edi, eax
je 0x101b6460
nop
nop
cmp dword [edi], 0
je 0x101b6575
add edi, 4
cmp eax, edi
jne 0x101b6540
jmp 0x101b6460
cmp eax, edi
je 0x101b65ca
lea ecx, [eax - 4]
cmp ecx, edi
je 0x101b65c6
lea ecx, [edi + 4]
jmp 0x101b6568
add ecx, 4
cmp eax, ecx
je 0x101b65c6
mov edx, dword [ecx]
test edx, edx
je 0x101b6561
mov dword [edi], edx
add edi, 4
jmp 0x101b6561
cmp eax, edi
je 0x101b6599
lea ecx, [eax - 4]
cmp ecx, edi
je 0x101b6599
lea ecx, [edi + 4]
jmp 0x101b658c
add ecx, 4
cmp eax, ecx
je 0x101b6599
mov edx, dword [ecx]
test edx, edx
je 0x101b6585
mov dword [edi], edx
add edi, 4
jmp 0x101b6585
cmp edi, eax
je 0x101b6460
mov ebx, dword [esi + 4]
sub eax, edi
add eax, edi
sub ebx, eax
je 0x101b65bc
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.10208400
add edi, ebx
mov dword [esi + 4], edi
jmp 0x101b6460
mov ecx, dword [esp + 0x2c]
cmp edi, eax
je 0x101b6498
mov ebx, dword [esi + 4]
sub eax, edi
add eax, edi
sub ebx, eax
je 0x101b65f1
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.10208400
mov ecx, dword [esp + 0x2c]
add edi, ebx
mov dword [esi + 4], edi
jmp 0x101b6498
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.SequenceManagerImpl::SelectNextTask
mov dword [esp + 4], 0x102b2b08
mov dword [esp], 0x58
mov dword [esp + 0x80], str.SequenceManagerImpl::SelectNextTask
mov dword [esp + 0x84], 0x102b2b08
call fcn.10032a48
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edx
jmp 0x101b46ca
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.SequenceManagerImpl::MoveReadyDelayedTasksToWorkQueues
mov dword [esp + 4], 0x102b2b08
mov dword [esp], 0x58
mov dword [esp + 0x40], str.SequenceManagerImpl::MoveReadyDelayedTasksToWorkQueues
mov dword [esp + 0x34], 0x102b2b08
call fcn.10032a48
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], edx
jmp 0x101b4730
movaps xmm0, xmmword [0x1029e740]
movups xmmword [esp + 0xe0], xmm0
test byte [0x102b2b08], 0x19
jne 0x101b690c
lea ecx, [esp + 0xe0]
call fcn.101b4310
jmp 0x101b5fed
xorpd xmm0, xmm0
movupd xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.SequenceManagerImpl::NotifyWillProcessTaskObservers
mov dword [esp + 4], 0x102b2b08
mov dword [esp], 0x58
mov dword [esp + 0x54], str.SequenceManagerImpl::NotifyWillProcessTaskObservers
mov dword [esp + 0x48], 0x102b2b08
call fcn.10032a48
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x58], edx
jmp 0x101b5a13
lea eax, [esi - 4]
movsx ecx, byte [esi - 8]
mov ecx, dword [ecx*4 + 0x1029eb30]
mov dword [esp + 0x28], eax
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 8], ecx
mov dword [esp + 0x24], str.task_type
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 4], 0x102b26ac
mov dword [esp], 0x42
call fcn.10040bc0
test byte [0x102b26ac], 0x19
je 0x101b6099
mov eax, dword [esi - 0x34]
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 8], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 4], 0x102b26ac
mov dword [esp], 0x42
call fcn.10032a48
jmp 0x101b6099
xorpd xmm0, xmm0
movupd xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.SequenceManager.WillProcessTaskObservers
mov dword [esp + 4], 0x102b2b08
mov dword [esp], 0x58
mov dword [esp + 0x74], str.SequenceManager.WillProcessTaskObservers
mov dword [esp + 0x68], 0x102b2b08
mov edi, edx
call fcn.10032a48
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], edx
mov edx, edi
jmp 0x101b5b59
xorpd xmm0, xmm0
movupd xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.SequenceManager.QueueNotifyWillProcessTask
mov dword [esp + 4], 0x102b2b08
mov dword [esp], 0x58
mov edi, 0x102b2b08
mov esi, str.SequenceManager.QueueNotifyWillProcessTask
call fcn.10032a48
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], edx
jmp 0x101b5ea0
xorpd xmm0, xmm0
movupd xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.SequenceManager.QueueOnTaskStarted
mov dword [esp + 4], 0x102b2b08
mov dword [esp], 0x58
mov edi, 0x102b2b08
mov dword [esp + 0x34], str.SequenceManager.QueueOnTaskStarted
call fcn.10032a48
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x44], eax
mov esi, edx
jmp 0x101b5f4a
xorpd xmm0, xmm0
movupd xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.SequenceManager.WillProcessTaskTimeObservers
mov dword [esp + 4], 0x102b2b08
mov dword [esp], 0x58
mov dword [esp + 0x44], 0x102b2b08
mov dword [esp + 0x38], str.SequenceManager.WillProcessTaskTimeObservers
call fcn.10032a48
mov dword [esp + 0x64], edx
jmp 0x101b6143
call fcn.102177d0
xorps xmm0, xmm0
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.SequenceManager.YieldToNative
mov dword [esp + 4], 0x102b2b08
mov dword [esp], 0x58
call fcn.10032a48
mov dword [esp + 0xe0], 0x102b2b08
mov dword [esp + 0xe4], str.SequenceManager.YieldToNative
mov dword [esp + 0xec], edx
mov dword [esp + 0xe8], eax
jmp 0x101b66c3
int3