Function at 0x100a5570
Capabilities:
Hash data with crc32

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1f8
mov eax, dword [esp + 0x20c]
mov ebp, dword [0x102a05a0]
movzx ecx, byte [eax]
test cl, cl
je 0x100a55d2
lea edx, [eax + 2]
mov esi, 0xffffffff
mov eax, 0xffffffff
jmp 0x100a55b7
movzx edi, ch
movzx ebx, al
shr eax, 8
xor ebx, edi
xor eax, dword [ebx*4 + 0x101497fc]
inc edx
test cl, cl
je 0x100a55ce
mov ch, cl
mov cl, byte [edx - 1]
cmp ch, 0x23
jne 0x100a55a0
cmp cl, 0x23
jne 0x100a55a0
cmp byte [edx], 0x23
cmove eax, esi
jmp 0x100a55a0
not eax
jmp 0x100a55d4
xor eax, eax
mov edx, dword [ebp + 0x19f8]
mov dword [esp + 0x28], ebp
mov esi, dword [ebp + 0x1a00]
mov ecx, esi
test edx, edx
je 0x100a560d
mov ecx, esi
mov edi, edx
nop
mov ebx, edi
shr ebx, 1
mov ebp, ebx
not ebp
add ebp, edi
cmp dword [ecx + ebx*8], eax
lea edi, [ecx + ebx*8 + 8]
cmovae ebp, ebx
cmovb ecx, edi
mov edi, ebp
test ebp, ebp
jne 0x100a55f0
mov ebx, dword [esp + 0x214]
lea edx, [esi + edx*8]
cmp ecx, edx
mov ebp, dword [esp + 0x28]
je 0x100a563b
cmp dword [ecx], eax
jne 0x100a563b
mov esi, dword [ecx + 4]
xor eax, eax
mov dword [esp + 0x84], 0
test esi, esi
jne 0x100a5980
lea edi, [ebp + 0x19f8]
test ebp, ebp
je 0x100a564b
inc dword [ebp + 0x374]
push dword [0x102a05a8]
push 0x33c
call dword [0x1029f8ac]
add esp, 8
mov esi, eax
mov ecx, eax
push dword [esp + 0x20c]
push ebp
call fcn.1009dfa0
mov dword [esp + 0x10], esi
mov dword [esi + 8], ebx
mov ecx, edi
push esi
push dword [esi + 4]
call fcn.1009c090
mov dword [esi + 0xc], 0x42700000
mov dword [esi + 0x10], 0x42700000
test ebx, 0x100
jne 0x100a5752
mov ecx, dword [0x102a05a0]
mov edx, dword [ecx + 0x2de0]
test edx, edx
je 0x100a5752
mov edi, dword [esi + 4]
add edx, 4
mov eax, edx
nop dword [eax + eax]
cmp dword [eax], edi
je 0x100a56d9
add eax, dword [eax - 4]
mov ebp, dword [ecx + 0x2dd8]
add ebp, edx
cmp eax, ebp
mov ebp, dword [esp + 0x28]
jne 0x100a56c0
jmp 0x100a5752
mov ecx, eax
sub ecx, dword [ebp + 0x2de0]
mov dword [esi + 0x274], ecx
vmovsd xmm0, qword [esi + 0xa0]
vbroadcastss xmm1, dword [0x1014a06c]
vandps xmm0, xmm0, xmm1
vmovlps qword [esi + 0xa0], xmm0
and byte [esi + 0xa8], 0xfb
vmovd xmm0, dword [eax + 4]
vpmovsxwd xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovlps qword [esi + 0xc], xmm0
movzx ecx, word [eax + 8]
test cx, cx
jle 0x100a574b
movzx edx, word [eax + 0xa]
test dx, dx
jle 0x100a574b
vmovd xmm0, ecx
vpinsrw xmm0, xmm0, edx, 1
vpmovsxwd xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovddup xmm0, xmm0
vmovups xmmword [esi + 0x14], xmm0
movzx eax, byte [eax + 0xc]
mov byte [esi + 0x7d], al
vmovddup xmm0, qword [esi + 0xc]
vmovups xmmword [esi + 0xd8], xmm0
test bl, 0x40
jne 0x100a579b
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [esi + 0x14]
jb 0x100a5776
mov byte [esi + 0x90], 2
vucomiss xmm0, dword [esi + 0x18]
jb 0x100a5784
mov byte [esi + 0x91], 2
mov al, 1
cmp byte [esi + 0x90], 0
jg 0x100a57a6
cmp byte [esi + 0x91], 0
setg al
jmp 0x100a57a6
mov word [esi + 0x90], 0x202
xor eax, eax
mov byte [esi + 0x93], al
mov eax, dword [ebp + 0x19d4]
cmp eax, dword [ebp + 0x19d8]
jne 0x100a57ce
lea ebx, [eax + 1]
test eax, eax
je 0x100a57d9
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100a57de
mov edi, dword [ebp + 0x19dc]
jmp 0x100a5875
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
lea eax, [ebx*4]
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a57fa
inc dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8ac]
add esp, 8
mov edi, eax
mov ebp, dword [esp + 0x28]
mov eax, dword [ebp + 0x19dc]
test eax, eax
je 0x100a585c
mov ecx, dword [ebp + 0x19d4]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 0x19dc]
test eax, eax
je 0x100a5848
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a5848
dec dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8b0]
add esp, 8
mov ebp, dword [esp + 0x28]
mov dword [ebp + 0x19dc], edi
mov dword [ebp + 0x19d8], ebx
mov eax, dword [ebp + 0x19d4]
mov ebx, dword [esp + 0x214]
mov dword [edi + eax*4], esi
inc dword [ebp + 0x19d4]
lea esi, [ebp + 0x19c8]
test ebx, 0x2000
jne 0x100a58ae
mov eax, dword [ebp + 0x19c8]
cmp eax, dword [ebp + 0x19cc]
jne 0x100a58bf
lea ebp, [eax + 1]
test eax, eax
je 0x100a58ca
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100a58cf
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.100b1fb0
jmp 0x100a5971
mov edi, dword [ebp + 0x19d0]
jmp 0x100a5968
mov ecx, 8
cmp ecx, ebp
cmovg ebp, ecx
lea eax, [ebp*4]
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a58eb
inc dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8ac]
add esp, 8
mov edi, eax
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 0x19d0]
test eax, eax
je 0x100a594d
mov ecx, dword [ebx + 0x19c8]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x19d0]
test eax, eax
je 0x100a5939
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a5939
dec dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8b0]
add esp, 8
mov ebx, dword [esp + 0x28]
mov dword [ebx + 0x19d0], edi
mov dword [ebx + 0x19cc], ebp
mov eax, dword [ebx + 0x19c8]
mov ebp, ebx
mov ebx, dword [esp + 0x214]
mov ecx, dword [esp + 0x10]
mov dword [edi + eax*4], ecx
inc dword [esi]
mov esi, dword [esp + 0x10]
mov al, 1
mov cl, 1
mov dword [esp + 0x84], ecx
mov dword [esp + 0xcc], eax
mov eax, ebx
not eax
mov ecx, ebx
or ebx, 6
test eax, 0xc0200
cmovne ebx, ecx
mov edi, dword [ebp + 0x19b0]
mov eax, dword [esi + 0x24c]
mov dword [esp + 0x4c], eax
cmp dword [ebp + 0x19ec], 0
je 0x100a59b5
xor eax, eax
jmp 0x100a59bc
movzx eax, byte [ebp + 0x19bd]
mov byte [esi + 0x82], al
lea eax, [edi - 1]
cmp dword [esp + 0x4c], eax
setl cl
mov edx, dword [esi + 0x9c]
mov dword [esp + 0x3c], edx
test ebx, 0x4000000
mov dword [esp], esi
je 0x100a5a14
cmp dword [esp + 0x4c], eax
setl al
mov ecx, dword [ebp + 0x1b28]
mov edx, dword [ebp + 0x1b2c]
lea edx, [edx + edx*8]
mov esi, dword [esp]
mov esi, dword [esi + 0x8c]
xor esi, dword [ecx + edx*4]
mov ecx, dword [ecx + edx*4 + 4]
xor ecx, dword [esp]
or ecx, esi
mov esi, dword [esp]
setne cl
or cl, al
cmp dword [esp + 0x3c], 0
setg al
or al, cl
mov byte [esi + 0x80], al
cmp al, 1
jne 0x100a5a4c
vmovsd xmm0, qword [esi + 0xa0]
vbroadcastss xmm1, dword [0x10145b40]
vorps xmm0, xmm0, xmm1
vmovlps qword [esi + 0xa0], xmm0
or byte [esi + 0xa8], 8
cmp dword [esp + 0x4c], edi
mov byte [esp + 0xb], cl
jne 0x100a5a5b
mov ebx, dword [esi + 8]
jmp 0x100a5a97
mov dword [esi + 8], ebx
mov dword [esi + 0x24c], edi
vmovsd xmm0, qword [ebp + 0x19a8]
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [esi + 0x250], xmm0
mov word [esi + 0x88], 0
mov eax, dword [ebp + 0x1a04]
lea ecx, [eax + 1]
mov dword [ebp + 0x1a04], ecx
mov word [esi + 0x8a], ax
mov eax, dword [ebp + 0x19ec]
test eax, eax
je 0x100a5ac1
mov ecx, dword [ebp + 0x19f4]
mov ecx, dword [ecx + eax*4 - 4]
mov dword [esp + 0xc], ecx
cmp dword [esp + 0x4c], edi
jne 0x100a5acf
mov ecx, dword [esi + 0x2f4]
mov dword [esp + 0xc], ecx
jmp 0x100a5ae2
mov dword [esp + 0xc], 0
cmp dword [esp + 0x4c], edi
je 0x100a5ab5
mov ecx, ebx
and ecx, 0x5000000
mov edx, dword [esp + 0xc]
cmove edx, ecx
mov dword [esp + 0xc], edx
cmp dword [esi + 0xbc], 0
mov dword [esp + 0x114], edi
je 0x100a5b12
cmp eax, dword [ebp + 0x19f0]
jne 0x100a5c5f
lea esi, [eax + 1]
test eax, eax
je 0x100a5b2c
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100a5b31
cmp dword [esi + 0xc0], 0
je 0x100a5bc1
mov edi, dword [esi + 0xc4]
xor eax, eax
jmp 0x100a5c41
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
lea eax, [esi*4]
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a5b4d
inc dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8ac]
add esp, 8
mov edi, eax
mov eax, dword [ebp + 0x19f4]
test eax, eax
je 0x100a5ba7
mov ecx, dword [ebp + 0x19ec]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 0x19f4]
test eax, eax
je 0x100a5b97
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a5b97
dec dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8b0]
add esp, 8
mov dword [ebp + 0x19f4], edi
mov dword [ebp + 0x19f0], esi
mov eax, dword [ebp + 0x19ec]
mov esi, dword [esp]
jmp 0x100a5c65
mov eax, dword [0x102a05a0]
test eax, eax
je 0x100a5bd0
inc dword [eax + 0x374]
push dword [0x102a05a8]
push 0x20
call dword [0x1029f8ac]
add esp, 8
mov edi, eax
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x100a5c2b
mov ecx, dword [esi + 0xbc]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x100a5c1b
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a5c1b
dec dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8b0]
add esp, 8
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], 8
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 4]
mov dword [edi + eax*4], ecx
inc dword [esi + 0xbc]
mov eax, dword [ebp + 0x19ec]
cmp eax, dword [ebp + 0x19f0]
je 0x100a5afe
mov edi, dword [ebp + 0x19f4]
mov dword [edi + eax*4], esi
inc dword [ebp + 0x19ec]
mov dword [ebp + 0x1a08], 0
mov eax, dword [0x102a05a0]
movzx ecx, word [esi + 0xbc]
movzx edx, word [esi + 0x1d4]
mov word [esi + 0x1e0], cx
mov word [esi + 0x1e2], dx
movzx ecx, word [eax + 0x1b2c]
mov word [esi + 0x1e4], cx
movzx ecx, word [eax + 0x1afc]
mov word [esi + 0x1e6], cx
movzx ecx, word [eax + 0x1b08]
mov word [esi + 0x1e8], cx
movzx eax, word [eax + 0x1b14]
mov word [esi + 0x1ea], ax
test ebx, 0x4000000
mov dword [esp + 4], ebx
je 0x100a5de1
mov eax, dword [ebp + 0x1b28]
mov ecx, dword [ebp + 0x1b2c]
lea ecx, [ecx + ecx*8]
mov edx, esi
lea esi, [eax + ecx*4]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [ebp + 0x1b2c]
cmp eax, dword [ebp + 0x1b30]
jne 0x100a5d1b
lea ebx, [eax + 1]
test eax, eax
je 0x100a5d26
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100a5d2b
mov edi, dword [ebp + 0x1b34]
jmp 0x100a5dbd
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
lea eax, [ebx*4]
lea eax, [eax + eax*8]
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a5d4a
inc dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8ac]
add esp, 8
mov edi, eax
mov eax, dword [ebp + 0x1b34]
test eax, eax
je 0x100a5da7
mov ecx, dword [ebp + 0x1b2c]
shl ecx, 2
lea ecx, [ecx + ecx*8]
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 0x1b34]
test eax, eax
je 0x100a5d97
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a5d97
dec dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8b0]
add esp, 8
mov dword [ebp + 0x1b34], edi
mov dword [ebp + 0x1b30], ebx
mov eax, dword [ebp + 0x1b2c]
mov ebx, dword [esp + 4]
lea eax, [eax + eax*8]
mov ecx, dword [esi + 0x20]
mov dword [edi + eax*4 + 0x20], ecx
vmovups ymm0, ymmword [esi]
vmovups ymmword [edi + eax*4], ymm0
inc dword [ebp + 0x1b2c]
mov eax, dword [esi]
mov esi, dword [esp]
mov dword [esi + 0x8c], eax
mov eax, ebx
and eax, 0x1000000
cmp dword [esp + 0x3c], 0
mov edi, dword [esp + 0x114]
jle 0x100a5e04
test eax, eax
jne 0x100a5e04
mov dword [esi + 0x308], 0
mov dword [esp + 0x50], eax
cmp dword [esp + 0x4c], edi
je 0x100a5e92
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x2f4], ecx
mov dword [esi + 0x300], esi
mov dword [esi + 0x2fc], esi
mov dword [esi + 0x2f8], esi
mov eax, ebx
and eax, 0x3000000
cmp eax, 0x1000000
jne 0x100a5e4c
test ecx, ecx
je 0x100a5e4c
mov eax, dword [ecx + 0x2f8]
mov dword [esi + 0x2f8], eax
test ebx, 0x8000000
jne 0x100a5e74
mov eax, ebx
and eax, 0x5000000
je 0x100a5e74
cmp dword [esp + 0xc], 0
je 0x100a5e74
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x2fc]
mov dword [esi + 0x2fc], eax
test byte [esi + 0xa], 0x80
je 0x100a5e92
mov eax, esi
nop dword [eax]
mov eax, dword [eax + 0x2f4]
mov dword [esi + 0x300], eax
test byte [eax + 0xa], 0x80
jne 0x100a5e80
test byte [ebp + 0x1a88], 1
jne 0x100a5ec5
mov dword [esp + 0x2c], 0
test byte [ebp + 0x1a88], 2
jne 0x100a5fbc
mov dword [esp + 0x74], 0
mov dword [esp + 0x24], 0
jmp 0x100a6095
mov eax, dword [esi + 0xa0]
mov ecx, dword [ebp + 0x1a8c]
test ecx, eax
setne dl
mov dword [esp + 0x2c], edx
je 0x100a5f44
vmovss xmm0, dword [ebp + 0x1aa0]
vmovss xmm1, dword [ebp + 0x1aa4]
vmulss xmm1, xmm1, xmm1
vfmadd231ss xmm1, xmm0, xmm0
vucomiss xmm1, dword [0x1014a070]
jbe 0x100a5f4c
vmovsd xmm0, qword [ebp + 0x1a98]
vmovsd qword [esi + 0xac], xmm0
mov ecx, dword [ebp + 0x1aa0]
mov edx, dword [ebp + 0x1aa4]
mov dword [esi + 0xb8], edx
mov dword [esi + 0xb4], ecx
and eax, 0xfffffff1
mov dword [esi + 0xa0], eax
mov al, 1
mov dword [esp + 0x2c], eax
test byte [ebp + 0x1a88], 2
jne 0x100a5fbc
jmp 0x100a5eb0
test ecx, ecx
jne 0x100a5e9b
and eax, 0xfffffff1
mov dword [esi + 0xa0], eax
mov dword [esi + 0xac], 0x7f7fffff
mov dword [esi + 0xb0], 0x7f7fffff
vmovsd xmm0, qword [ebp + 0x1a98]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovsd xmm1, qword [esi + 0xc]
vmovsd xmm2, qword [esi + 0xc8]
vmovlps qword [esi + 0xc], xmm0
vsubps xmm0, xmm0, xmm1
vaddps xmm1, xmm0, xmm2
vmovlps qword [esi + 0xc8], xmm1
vmovddup xmm0, xmm0
vaddps xmm0, xmm0, xmmword [esi + 0xd8]
vmovups xmmword [esi + 0xd8], xmm0
test byte [ebp + 0x1a88], 2
je 0x100a5eb0
mov eax, dword [esi + 0xa4]
mov ecx, dword [ebp + 0x1a90]
test ecx, eax
je 0x100a607d
vmovss xmm0, dword [ebp + 0x1aa8]
vmovss xmm1, dword [ebp + 0x1aac]
vxorps xmm2, xmm2, xmm2
vucomiss xmm0, xmm2
seta cl
mov dword [esp + 0x24], ecx
vucomiss xmm1, xmm2
seta cl
mov dword [esp + 0x74], ecx
and eax, 0xfffffff1
mov dword [esi + 0xa4], eax
vmovss xmm0, dword [ebp + 0x1aa8]
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jbe 0x100a6033
mov byte [esi + 0x90], 0
vmovss xmm0, dword [ebp + 0x1aa8]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovss dword [esi + 0x1c], xmm0
jmp 0x100a6041
mov byte [esi + 0x90], 2
mov byte [esi + 0x93], 0
vmovss xmm0, dword [ebp + 0x1aac]
vucomiss xmm0, xmm1
jbe 0x100a606d
mov byte [esi + 0x91], 0
vmovss xmm0, dword [ebp + 0x1aac]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovss dword [esi + 0x20], xmm0
jmp 0x100a6095
mov byte [esi + 0x91], 2
mov byte [esi + 0x93], 0
jmp 0x100a6095
mov dword [esp + 0x74], 0
mov dword [esp + 0x24], 0
test ecx, ecx
je 0x100a5ffa
test byte [ebp + 0x1a88], 0x80
je 0x100a60d6
vmovss xmm1, dword [ebp + 0x1ab8]
vxorps xmm0, xmm0, xmm0
vucomiss xmm1, xmm0
jb 0x100a60bc
vmovss dword [esi + 0x60], xmm1
mov dword [esi + 0x68], 0
vmovss xmm1, dword [ebp + 0x1abc]
vucomiss xmm1, xmm0
jb 0x100a60d6
vmovss dword [esi + 0x64], xmm1
mov dword [esi + 0x6c], 0
test byte [ebp + 0x1a88], 4
jne 0x100a60f5
cmp dword [esp + 0x4c], edi
je 0x100a6102
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
jmp 0x100a6102
vmovsd xmm0, qword [ebp + 0x1ab0]
vmovsd qword [esi + 0x2c], xmm0
mov eax, dword [ebp + 0x1a88]
test al, 8
je 0x100a6139
mov edx, dword [ebp + 0x1a94]
mov ecx, dword [esi + 0xa8]
test edx, edx
je 0x100a6120
and edx, ecx
je 0x100a6139
movzx eax, byte [ebp + 0x1ac0]
and ecx, 0xfffffff1
mov dword [esi + 0xa8], ecx
mov byte [esi + 0x7d], al
mov eax, dword [ebp + 0x1a88]
test al, 0x20
je 0x100a6149
push esi
vzeroupper
call fcn.100a0320
add esp, 4
cmp byte [esi + 0x80], 0
je 0x100a6176
vmovsd xmm0, qword [esi + 0xa0]
vbroadcastss xmm1, dword [0x1014a074]
vandps xmm0, xmm0, xmm1
vmovlps qword [esi + 0xa0], xmm0
and byte [esi + 0xa8], 0xf7
cmp dword [esp + 0x4c], edi
jne 0x100a61c1
mov edi, dword [0x102a05a0]
mov dword [edi + 0x1a08], esi
vmovss xmm0, dword [edi + 0x18d8]
vmulss xmm0, xmm0, dword [esi + 0x270]
mov eax, dword [esi + 0x2f4]
test eax, eax
je 0x100a61aa
vmulss xmm0, xmm0, dword [eax + 0x270]
vmovss dword [edi + 0x18e8], xmm0
vmovss dword [edi + 0x18d4], xmm0
mov eax, esi
jmp 0x100a99a5
mov byte [esi + 0x7a], 1
cmp dword [esp + 0x210], 0
setne byte [esi + 0x83]
vmovaps xmm0, xmmword [0x1014a080]
vmovups xmmword [esi + 0x22c], xmm0
mov eax, dword [esi + 0xc0]
test eax, eax
jg 0x100a629d
mov ecx, eax
neg ecx
shr ecx, 1
mov edx, eax
sub edx, ecx
cmp edx, 2
mov ecx, 1
cmovge ecx, edx
test eax, eax
mov esi, 8
cmovne esi, ecx
lea eax, [esi*4]
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a6228
inc dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
vzeroupper
call dword [0x1029f8ac]
add esp, 8
mov edi, eax
mov ebx, dword [esp]
mov eax, dword [ebx + 0xc4]
test eax, eax
je 0x100a628b
mov ecx, dword [ebx + 0xbc]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0xc4]
test eax, eax
je 0x100a6278
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a6278
dec dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8b0]
add esp, 8
mov ebx, dword [esp]
mov dword [ebx + 0xc4], edi
mov dword [ebx + 0xc0], esi
mov esi, ebx
mov ebx, dword [esp + 4]
mov dword [esi + 0xbc], 1
cmp byte [esi + 0x330], 0
je 0x100a62bc
push esi
vzeroupper
call fcn.1009ed70
add esp, 4
cmp dword [ebp + 0x1c48], 0
je 0x100a6376
movzx eax, byte [esi + 0xa]
and al, 8
shr al, 3
or al, byte [esp + 0x84]
jne 0x100a6376
mov edi, dword [esi]
push edi
push dword [esp + 0x210]
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x100a6376
mov esi, dword [esi + 0x44]
push dword [esp + 0x20c]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ebx, eax
inc ebx
cmp esi, ebx
jae 0x100a6357
test edi, edi
je 0x100a6324
mov eax, dword [0x102a05a0]
test eax, eax
je 0x100a6324
dec dword [eax + 0x374]
push dword [0x102a05a8]
push edi
call dword [0x1029f8b0]
add esp, 8
mov eax, dword [0x102a05a0]
test eax, eax
je 0x100a6343
inc dword [eax + 0x374]
push dword [0x102a05a8]
push ebx
call dword [0x1029f8ac]
add esp, 8
mov edi, eax
mov esi, ebx
push ebx
push dword [esp + 0x210]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
mov dword [eax], edi
mov dword [eax + 0x44], esi
mov esi, eax
mov ebx, dword [esp + 4]
cmp byte [esi + 0x7d], 0
je 0x100a638e
cmp byte [esi + 0x90], 0
jg 0x100a638e
cmp byte [esi + 0x91], 0
jle 0x100a63ff
cmp byte [esi + 0x81], 0
je 0x100a63a0
cmp dword [esi + 0x9c], 0
je 0x100a63f6
vmovss xmm0, dword [esi + 0x2c]
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jne 0x100a63c1
jp 0x100a63c1
vmovss xmm0, dword [esi + 0xe0]
vsubss xmm0, xmm0, dword [esi + 0xd8]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovss xmm2, dword [esi + 0x30]
vucomiss xmm2, xmm1
jne 0x100a63e6
jp 0x100a63e6
vmovss xmm1, dword [esi + 0xe4]
vsubss xmm2, xmm1, dword [esi + 0xdc]
vcvttps2dq xmm1, xmm2
vcvtdq2ps xmm1, xmm1
vinsertps xmm0, xmm0, xmm1, 0x10
jmp 0x100a6404
cmp dword [esi + 0x98], 0
jle 0x100a63a0
vmovsd xmm0, qword [esi + 0x24]
vmovlps qword [esi + 0x24], xmm0
mov eax, dword [esi + 0x98]
test eax, eax
jle 0x100a641a
dec eax
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x9c]
mov ecx, dword [esp + 0x84]
mov edx, ecx
xor dl, 1
mov ecx, dword [esp + 0x24]
and cl, byte [esp + 0x74]
or cl, dl
test eax, eax
jg 0x100a643e
test cl, cl
jne 0x100a644f
dec eax
test cl, cl
mov ecx, 1
cmovne ecx, eax
mov dword [esi + 0x9c], ecx
test ebx, 0x6000000
setne al
and al, byte [esp + 0xb]
cmp al, 1
jne 0x100a64a7
mov dword [esi + 0x9c], 1
test bl, 0x40
je 0x100a64a7
cmp byte [esp + 0x24], 0
jne 0x100a6484
mov dword [esi + 0x1c], 0
mov dword [esi + 0x14], 0
cmp byte [esp + 0x74], 0
jne 0x100a6499
mov dword [esi + 0x20], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov edi, dword [0x102a05a0]
mov dword [edi + 0x1a08], esi
vmovss xmm0, dword [edi + 0x18d8]
vmulss xmm0, xmm0, dword [esi + 0x270]
mov eax, dword [esi + 0x2f4]
test eax, eax
je 0x100a64d5
vmulss xmm0, xmm0, dword [eax + 0x270]
vmovss dword [edi + 0x18e8], xmm0
vmovss dword [edi + 0x18d4], xmm0
test ebx, 0x1000000
jne 0x100a6523
test ebx, 0x8000000
mov eax, 0x154c
mov ecx, 0x1528
cmovne eax, ecx
test ebx, 0x6000000
cmove eax, ecx
vmovss xmm0, dword [ebp + eax]
vmovss dword [esi + 0x40], xmm0
vmovsd xmm0, qword [ebp + 0x151c]
vmovsd qword [esi + 0x34], xmm0
jmp 0x100a656d
vmovss xmm1, dword [ebp + 0x1544]
vmovss dword [esi + 0x40], xmm1
vmovsd xmm0, qword [ebp + 0x151c]
vmovsd qword [esi + 0x34], xmm0
test ebx, 0x4010000
jne 0x100a656d
vxorps xmm0, xmm0, xmm0
vucomiss xmm1, xmm0
jne 0x100a656d
jp 0x100a656d
test ebx, 0x400
je 0x100a6561
vmovss xmm0, dword [ebp + 0x1520]
mov dword [esi + 0x34], 0
vmovss dword [esi + 0x38], xmm0
lea eax, [esi + 0x24]
mov dword [esp + 0x10c], eax
test bl, 0x21
je 0x100a6585
mov byte [esi + 0x7d], 0
jmp 0x100a6670
vmovss xmm0, dword [esi + 0x10]
mov ebx, dword [esi + 8]
vxorps xmm2, xmm2, xmm2
test bl, 1
jne 0x100a65c9
vmovss xmm1, dword [edi + 0x18d8]
vmulss xmm1, xmm1, dword [esi + 0x270]
mov eax, dword [esi + 0x2f4]
test eax, eax
je 0x100a65b8
vmulss xmm1, xmm1, dword [eax + 0x270]
vmovss xmm2, dword [edi + 0x1554]
vfmadd132ss xmm2, xmm1, dword [0x10146fcc]
vaddss xmm0, xmm0, xmm2
vmovss xmm1, dword [esi + 0xc]
vaddss xmm1, xmm1, dword [esi + 0x1c]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
vmovss dword [esp + 0x18], xmm1
vmovss dword [esp + 0x1c], xmm0
cmp dword [ebp + 0x1a0c], esi
jne 0x100a6633
cmp dword [ebp + 0x1a28], 0
jne 0x100a6633
cmp dword [ebp + 0x1a30], 0
jne 0x100a6633
lea eax, [esp + 0x18]
lea ecx, [esp + 0x10]
push 1
push eax
push ecx
vzeroupper
call fcn.1009f2e0
add esp, 0xc
test al, al
je 0x100a6633
cmp byte [ebp + 0x3e5], 0
je 0x100a6633
mov byte [esi + 0x7e], 1
cmp byte [esi + 0x7e], 0
je 0x100a666c
xor byte [esi + 0x7d], 1
test ebx, 0x100
jne 0x100a6660
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [edi + 0x2dbc]
jb 0x100a6660
vmovss xmm0, dword [edi + 0x1c]
vmovss dword [edi + 0x2dbc], xmm0
push esi
vzeroupper
call fcn.100a0320
add esp, 4
mov ebx, dword [esp + 4]
mov byte [esi + 0x7e], 0
lea ecx, [esp + 0xdc]
mov edx, esi
push dword [esp + 0x10c]
vzeroupper
call fcn.100ad3c0
add esp, 4
test bl, 0x40
mov edi, dword [esp + 0xc]
je 0x100a66a2
cmp byte [esi + 0x7d], 0
je 0x100a676a
cmp byte [esi + 0x90], 0
mov ecx, dword [esp + 0xcc]
jle 0x100a66e6
mov edx, ecx
cmp byte [esp + 0x24], 0
jne 0x100a66f5
cmp byte [esi + 0x93], 0
vmovss xmm0, dword [esp + 0xdc]
je 0x100a66dd
vmovss xmm1, dword [esi + 0x1c]
vcmpless xmm2, xmm0, xmm1
vblendvps xmm0, xmm0, xmm1, xmm2
vmovss dword [esi + 0x1c], xmm0
mov dl, 1
jmp 0x100a66f5
cmp byte [esi + 0x91], 0
mov edx, ecx
jle 0x100a67af
cmp byte [esp + 0x74], 0
jne 0x100a672e
cmp byte [esi + 0x91], 0
jle 0x100a672e
cmp byte [esi + 0x93], 0
vmovss xmm0, dword [esp + 0xe0]
je 0x100a6727
vmovss xmm1, dword [esi + 0x20]
vcmpless xmm2, xmm0, xmm1
vblendvps xmm0, xmm0, xmm1, xmm2
vmovss dword [esi + 0x20], xmm0
mov cl, 1
cmp byte [esi + 0x7d], 0
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xe4], edx
jne 0x100a67b6
test byte [esi + 9], 1
jne 0x100a67b6
mov eax, dword [0x102a05a0]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [eax + 0x2dbc]
jb 0x100a67b6
vmovss xmm0, dword [eax + 0x1c]
vmovss dword [eax + 0x2dbc], xmm0
jmp 0x100a67b6
mov eax, dword [esp + 0xcc]
cmp byte [esp + 0x24], 0
jne 0x100a6788
vmovss xmm0, dword [esp + 0xdc]
vmovss dword [esi + 0x1c], xmm0
mov al, 1
cmp byte [esp + 0x74], 0
mov dword [esp + 0xe4], eax
jne 0x100a67b6
vmovss xmm0, dword [esp + 0xe0]
vmovss dword [esi + 0x20], xmm0
mov al, 1
mov dword [esp + 0xcc], eax
jmp 0x100a67b6
mov dword [esp + 0xe4], ecx
vmovss xmm0, dword [esi + 0x1c]
vmovss xmm1, dword [esi + 0x20]
lea ecx, [esp + 0x10]
mov edx, esi
call fcn.100ad5c0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esi + 0x20], eax
mov dword [esi + 0x1c], ecx
cmp byte [esi + 0x7d], 0
vmovd xmm0, ecx
je 0x100a684a
cmp dword [esp + 0x50], 0
jne 0x100a684a
vmovss xmm1, dword [esi + 0x10]
mov eax, dword [esi + 8]
vxorps xmm3, xmm3, xmm3
test al, 1
jne 0x100a6833
mov ecx, dword [0x102a05a0]
vmovss xmm2, dword [ecx + 0x18d8]
vmulss xmm2, xmm2, dword [esi + 0x270]
mov edx, dword [esi + 0x2f4]
test edx, edx
je 0x100a6822
vmulss xmm2, xmm2, dword [edx + 0x270]
vmovss xmm3, dword [ecx + 0x1554]
vfmadd132ss xmm3, xmm2, dword [0x10146fcc]
vaddss xmm2, xmm1, xmm3
vmovss xmm3, dword [esi + 0xc]
vaddss xmm0, xmm3, xmm0
vsubss xmm1, xmm2, xmm1
vsubss xmm0, xmm0, xmm3
jmp 0x100a6851
vmovd xmm1, eax
mov eax, dword [esi + 8]
vmovss dword [esi + 0x14], xmm0
vmovd dword [esi + 0x18], xmm1
vxorps xmm5, xmm5, xmm5
vxorps xmm4, xmm4, xmm4
test al, 1
jne 0x100a68a0
mov ecx, dword [0x102a05a0]
vmovss xmm0, dword [ecx + 0x18d8]
vmulss xmm0, xmm0, dword [esi + 0x270]
mov edx, dword [esi + 0x2f4]
test edx, edx
je 0x100a688f
vmulss xmm0, xmm0, dword [edx + 0x270]
vmovss xmm4, dword [ecx + 0x1554]
vfmadd132ss xmm4, xmm0, dword [0x10146fcc]
shr ebx, 0x18
test eax, 0x400
movzx eax, byte [esp + 0xb]
je 0x100a68f8
mov eax, dword [0x102a05a0]
vmovss xmm0, dword [esi + 0x150]
vmovss xmm1, dword [eax + 0x18d8]
vmulss xmm1, xmm1, dword [esi + 0x270]
mov ecx, dword [esi + 0x2f4]
test ecx, ecx
je 0x100a68de
vmulss xmm1, xmm1, dword [ecx + 0x270]
vaddss xmm0, xmm0, xmm1
vmovss xmm5, dword [eax + 0x1554]
vfmadd132ss xmm5, xmm0, dword [0x10146fcc]
movzx eax, byte [esp + 0xb]
and ebx, 1
test al, al
je 0x100a6934
test dword [esp + 4], 0x4000000
sete al
mov dword [esi + 0x94], 0xffffffff
or al, byte [esp + 0x2c]
jne 0x100a6934
mov eax, dword [ebp + 0x1b2c]
mov ecx, dword [ebp + 0x1b34]
lea eax, [eax + eax*8]
vmovsd xmm0, qword [ecx + eax*4 - 0x10]
vmovsd qword [esi + 0xc], xmm0
mov eax, dword [esp + 4]
mov ecx, eax
and ecx, 0x3000000
mov dword [esp + 0x74], ecx
test eax, 0x1000000
vmovss dword [esp + 0x24], xmm4
vmovss dword [esp + 0x50], xmm5
je 0x100a6a76
movzx eax, word [edi + 0x180]
mov word [esi + 0x88], ax
mov edx, dword [edi + 0x180]
cmp edx, dword [edi + 0x184]
jne 0x100a698b
lea esi, [edx + 1]
test edx, edx
je 0x100a6996
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sar ecx, 1
add ecx, edx
jmp 0x100a699b
mov eax, dword [edi + 0x188]
jmp 0x100a6a46
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
lea eax, [esi*4]
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a69b7
inc dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8ac]
add esp, 8
mov edi, dword [esp + 0xc]
mov edx, dword [edi + 0x188]
test edx, edx
je 0x100a6a25
mov ecx, dword [edi + 0x180]
shl ecx, 2
push ecx
push edx
mov dword [esp + 0xc4], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x188]
test eax, eax
je 0x100a6a0a
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a6a0a
dec dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8b0]
add esp, 8
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0xbc]
mov dword [edi + 0x188], eax
mov dword [edi + 0x184], esi
mov edx, dword [edi + 0x180]
mov esi, dword [esp]
vmovss xmm4, dword [esp + 0x24]
vmovss xmm5, dword [esp + 0x50]
mov ecx, dword [esp + 4]
shr ecx, 0x1a
and ecx, 1
mov dword [eax + edx*4], esi
inc dword [edi + 0x180]
or cl, byte [esp + 0x2c]
jne 0x100a6a76
cmp dword [esp + 0x74], 0x3000000
je 0x100a6a76
vmovsd xmm0, qword [edi + 0xc8]
vmovsd qword [esi + 0xc], xmm0
vmovss xmm0, dword [esi + 0xac]
vucomiss xmm0, dword [0x10146f98]
jne 0x100a6a8a
jnp 0x100a6a93
cmp dword [esi + 0x9c], 0
je 0x100a6afd
mov eax, dword [esp + 4]
test eax, 0x10000000
jne 0x100a6ad6
test eax, 0x4000000
sete al
or al, byte [esp + 0x2c]
jne 0x100a6ab3
cmp dword [esp + 0x3c], 0
jg 0x100a6ad6
test dword [esp + 4], 0x2000000
sete al
or al, byte [esp + 0x2c]
jne 0x100a6b75
cmp dword [esp + 0x74], 0x3000000
je 0x100a6b75
push esi
lea eax, [esp + 0x14]
push eax
call fcn.100ad7d0
vmovss xmm5, dword [esp + 0x58]
vmovss xmm4, dword [esp + 0x2c]
add esp, 8
vmovsd xmm0, qword [esp + 0x10]
vmovsd qword [esi + 0xc], xmm0
jmp 0x100a6b75
and byte [esi + 0xa0], 0xf1
mov dword [esi + 0xac], 0x7f7fffff
vinsertps xmm0, xmm0, dword [esi + 0xb0], 0x10
mov dword [esi + 0xb0], 0x7f7fffff
vmovsd xmm1, qword [esi + 0xc]
vmovsd xmm2, qword [esi + 0x1c]
vmovsd xmm3, qword [esi + 0xb4]
vmulps xmm2, xmm2, xmm3
vsubps xmm0, xmm0, xmm2
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovlps qword [esi + 0xc], xmm0
vsubps xmm0, xmm0, xmm1
vmovsd xmm1, qword [esi + 0xc8]
vaddps xmm1, xmm0, xmm1
vmovlps qword [esi + 0xc8], xmm1
vmovddup xmm0, xmm0
vaddps xmm0, xmm0, xmmword [esi + 0xd8]
vmovups xmmword [esi + 0xd8], xmm0
mov eax, dword [0x102a05a0]
vxorps xmm0, xmm0, xmm0
vmovlps qword [esp + 0xf4], xmm0
vmovsd xmm0, qword [eax + 0x10]
vmovsd qword [esp + 0xfc], xmm0
mov eax, dword [esp + 0x2c]
or al, bl
mov edi, dword [esp + 4]
jne 0x100a6c0a
cmp byte [esi + 0x90], 0
jg 0x100a6c0a
cmp byte [esi + 0x91], 0
jg 0x100a6c0a
vmovsd xmm1, qword [ebp + 0x15b0]
vmovsd xmm2, qword [ebp + 0x15b8]
vcmpleps xmm3, xmm2, xmm1
vblendvps xmm1, xmm2, xmm1, xmm3
vmovlps qword [esp + 0x10], xmm1
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jbe 0x100a6c0a
vmovshdup xmm0, xmm0
vucomiss xmm0, xmm1
jbe 0x100a6c0a
lea edx, [esp + 0xf4]
mov ecx, esi
lea eax, [esp + 0x10]
push eax
call fcn.100ada10
vmovss xmm5, dword [esp + 0x54]
vmovss xmm4, dword [esp + 0x28]
add esp, 4
vmovsd xmm0, qword [esi + 0xc]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovlps qword [esi + 0xc], xmm0
test edi, 0x1000000
jne 0x100a6c3a
mov eax, edi
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x100a6c42
lea eax, [ebp + 0x1548]
jmp 0x100a6c48
lea eax, [ebp + 0x1540]
jmp 0x100a6c48
lea eax, [ebp + 0x1524]
mov ecx, edi
and ecx, 0x4000000
mov edx, ecx
shr edx, 0x1a
mov dword [esp + 0x3c], edx
mov ebx, edi
shr ebx, 0xc
and ebx, 1
movzx edx, byte [esp + 0xb]
xor dl, 1
or dl, bl
mov dh, dl
xor dh, 1
xor ebx, ebx
cmp dword [esp + 0x74], 0
sete bl
test ecx, ecx
movzx ecx, dh
cmovne ebx, ecx
test dl, dl
vaddss xmm0, xmm4, xmm5
vmovups xmmword [esp + 0x140], xmm0
vmovss xmm0, dword [eax]
vmovss dword [esi + 0x3c], xmm0
cmovne ebx, ecx
mov dword [esp + 0x110], ebx
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [esp + 0x1b0], xmm1
cmp byte [ebp + 0xb3], 1
mov eax, 2
sbb eax, 0
mov dword [esp + 0x24], eax
vaddss xmm0, xmm0, dword [0x10144ae0]
vmovups xmmword [esp + 0x180], xmm0
lea eax, [esi + 0xc]
mov dword [esp + 0x108], eax
vmovss xmm0, dword [ebp + 0x18d4]
cmp byte [esi + 0x7d], 0
vmovss dword [esp + 0x1a0], xmm0
je 0x100a6d17
lea eax, [esi + 0x84]
mov dword [esp + 0x120], eax
mov byte [esi + 0x84], 0xff
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x3c]
jmp 0x100a6eae
test byte [esi + 8], 0x42
mov edi, dword [esp + 0xc]
jne 0x100a6d37
cmp byte [esi + 0x90], 0
jg 0x100a6d37
cmp byte [esi + 0x91], 0
jle 0x100a9b29
lea eax, [esi + 0x84]
mov dword [esp + 0x120], eax
mov byte [esi + 0x84], 0xff
mov ebx, dword [esp + 4]
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xe4]
vxorps xmm0, xmm0, xmm0
cmp byte [esp + 0x84], 0
jne 0x100a6d7d
vmovsd xmm0, qword [esi + 0x24]
vmovsd xmm1, qword [esi + 0x34]
vaddps xmm1, xmm1, xmm1
vaddps xmm0, xmm1, xmm0
test cl, cl
je 0x100a6db5
vmovss xmm2, dword [esi + 0x1c]
test al, al
jne 0x100a6dce
vmovss xmm1, dword [esi + 0x208]
vsubss xmm1, xmm1, dword [esi + 0x200]
vaddss xmm1, xmm1, dword [esi + 0x74]
test ebx, 0x4000
je 0x100a6de4
mov byte [esi + 0x79], 1
test bx, bx
js 0x100a6e12
lea ecx, [esi + 0x79]
jmp 0x100a6e06
vmovss xmm1, dword [esi + 0x204]
vsubss xmm1, xmm1, dword [esi + 0x1fc]
vaddss xmm2, xmm1, dword [esi + 0x70]
test al, al
je 0x100a6d8a
vmovss xmm1, dword [esi + 0x20]
vsubss xmm1, xmm1, dword [esp + 0x140]
test ebx, 0x4000
jne 0x100a6da7
vmovshdup xmm3, xmm0
vucomiss xmm3, xmm1
seta cl
test bl, 8
sete al
and al, cl
lea ecx, [esi + 0x79]
mov byte [esi + 0x79], al
test bx, bx
js 0x100a6e1a
test al, al
je 0x100a6e24
vmovss xmm3, dword [ebp + 0x1580]
mov al, 1
jmp 0x100a6e2a
mov byte [esi + 0x78], 1
mov al, 1
jmp 0x100a6e7a
mov byte [esi + 0x78], 1
test al, al
je 0x100a6e55
jmp 0x100a6e7a
vxorps xmm3, xmm3, xmm3
xor eax, eax
vsubss xmm2, xmm2, xmm3
vucomiss xmm0, xmm2
jbe 0x100a6e8c
mov edx, ebx
and edx, 8
jne 0x100a6e8c
and ebx, 0x800
mov edx, ebx
shr edx, 0xb
mov byte [esi + 0x78], dl
vxorps xmm2, xmm2, xmm2
test ebx, ebx
je 0x100a6e94
test al, al
jne 0x100a6e72
lea edx, [esi + 0x78]
vmovshdup xmm0, xmm0
vucomiss xmm0, xmm1
seta bl
test byte [esp + 4], 8
sete al
and al, bl
mov byte [ecx], al
movzx edx, byte [edx]
test dl, dl
je 0x100a9b18
vmovss xmm2, dword [ebp + 0x1580]
test al, al
jne 0x100a6e98
vxorps xmm0, xmm0, xmm0
jmp 0x100a6ea0
mov byte [esi + 0x78], 0
vxorps xmm2, xmm2, xmm2
test al, al
je 0x100a6e86
vmovss xmm0, dword [ebp + 0x1580]
mov eax, dword [esp + 0x3c]
vmovss dword [esi + 0x70], xmm0
vmovss dword [esi + 0x74], xmm2
test dword [esp + 4], 0x1000000
sete bl
or bl, al
lea edx, [edi + 0x22c]
lea ecx, [edi + 0x230]
lea eax, [edi + 0x234]
cmp dword [esp + 0x74], 0x3000000
mov esi, edi
lea edi, [esp + 0xf4]
cmove edx, edi
lea edi, [esp + 0xf8]
cmove ecx, edi
lea edi, [esp + 0xfc]
cmove eax, edi
lea esi, [esi + 0x238]
lea ebp, [esp + 0x100]
cmove esi, ebp
mov byte [esp + 0x84], bl
test bl, bl
lea ebx, [esp + 0xf4]
cmovne edx, ebx
vmovss xmm0, dword [edx]
lea edx, [esp + 0xf8]
cmovne ecx, edx
vmovss xmm5, dword [ecx]
cmovne esi, ebp
cmovne eax, edi
vmovss xmm1, dword [eax]
vmovups xmmword [esp + 0x3c], xmm1
vmovss xmm1, dword [esi]
vmovups xmmword [esp + 0x2c], xmm1
mov esi, dword [esp]
vmovsd xmm1, qword [esi + 0xc]
vmovsd xmm2, qword [esi + 0x14]
vmovups xmmword [esp + 0xe4], xmm2
vaddps xmm2, xmm1, xmm2
vxorps xmm3, xmm3, xmm3
test byte [esi + 8], 1
mov ebp, dword [esp + 0x28]
jne 0x100a6fa4
mov eax, dword [0x102a05a0]
vmovss xmm3, dword [eax + 0x18d8]
vmulss xmm4, xmm3, dword [esi + 0x270]
mov ecx, dword [esi + 0x2f4]
test ecx, ecx
je 0x100a6f93
vmulss xmm4, xmm4, dword [ecx + 0x270]
vmovss xmm3, dword [eax + 0x1554]
vfmadd132ss xmm3, xmm4, dword [0x10146fcc]
mov ebx, dword [esp + 4]
mov ecx, ebx
and ecx, 0x401
lea eax, [ebp + 0x155c]
lea edx, [esi + 0x40]
cmp ecx, 1
cmove eax, edx
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
vmovss xmm4, dword [esi + 0x1c]
vinsertps xmm3, xmm4, xmm3, 0x10
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], ecx
vaddps xmm3, xmm1, xmm3
vmovlps qword [esp + 0x6c], xmm3
vmovshdup xmm3, xmm1
vmovlhps xmm1, xmm1, xmm2
vmovups xmmword [esp + 0xcc], xmm0
vmovups xmmword [esp + 0x50], xmm5
vinsertps xmm4, xmm0, xmm5, 0x10
vinsertps xmm5, xmm4, dword [esp + 0x3c], 0x20
vinsertps xmm5, xmm5, dword [esp + 0x2c], 0x30
vcmpleps xmm6, xmm5, xmm1
vcmpltps xmm7, xmm1, xmm5
vblendps xmm6, xmm7, xmm6, 3
vblendvps xmm1, xmm5, xmm1, xmm6
vmovups xmmword [esi + 0x1ec], xmm1
vmovss xmm1, dword [esi + 0xc]
vmovss xmm5, dword [esi + 0x34]
vmovss dword [esi + 0x1fc], xmm1
vaddss xmm0, xmm3, dword [esp + 0x140]
vmovss dword [esi + 0x200], xmm0
vmovups xmm3, xmmword [esp + 0xe4]
vaddss xmm6, xmm3, xmm1
vmovsd xmm7, qword [esi + 0x70]
vblendps xmm2, xmm2, xmm6, 1
vsubps xmm2, xmm2, xmm7
vmovlps qword [esi + 0x204], xmm2
vmulss xmm5, xmm5, dword [0x10145a98]
vmovss xmm6, dword [esi + 0x40]
vcvttps2dq xmm5, xmm5
vcvtdq2ps xmm5, xmm5
vcmpless xmm7, xmm6, xmm5
vblendvps xmm5, xmm6, xmm5, xmm7
vmovlhps xmm7, xmm1, xmm2
vmovups xmmword [esp + 0xbc], xmm0
vinsertps xmm7, xmm7, xmm0, 0x10
vbroadcastss xmm0, dword [0x10145a98]
vinsertps xmm6, xmm5, xmm6, 0x36
vinsertps xmm5, xmm5, dword [eax], 0x1c
vmovups xmmword [esp + 0xac], xmm0
vaddps xmm7, xmm7, xmm0
vmovaps xmm0, xmm3
vshufps xmm6, xmm6, xmm6, 0xc4
vaddps xmm5, xmm7, xmm5
vsubps xmm6, xmm7, xmm6
vblendps xmm5, xmm6, xmm5, 3
vcvttps2dq xmm5, xmm5
vcvtdq2ps xmm5, xmm5
vmovddup xmm4, xmm4
vmovups xmm3, xmmword [esp + 0x3c]
vinsertps xmm6, xmm3, dword [esp + 0x2c], 0x10
vmovddup xmm6, xmm6
vminps xmm6, xmm6, xmm5
vcmpltps xmm5, xmm5, xmm4
vblendvps xmm4, xmm6, xmm4, xmm5
vmovups xmmword [esi + 0x20c], xmm4
test bl, 0x40
jne 0x100a7137
vxorps xmm4, xmm4, xmm4
vucomiss xmm0, xmm4
jbe 0x100a7137
mov eax, ebx
and eax, 0x2000000
jne 0x100a7137
vmulss xmm0, xmm0, dword [0x1014a0e4]
jmp 0x100a7147
vmovss xmm0, dword [ebp + 0x18d4]
vmulss xmm0, xmm0, dword [0x101472d0]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovss dword [esi + 0x254], xmm0
vinsertps xmm0, xmm1, dword [esp + 0xbc], 0x10
vsubps xmm0, xmm2, xmm0
vmovsd xmm1, qword [esi + 0x24]
vmovsd xmm2, qword [esi + 0x34]
vbroadcastss xmm3, dword [0x10146fcc]
vfmadd213ps xmm3, xmm2, xmm1
vsubps xmm0, xmm3, xmm0
vxorps xmm1, xmm1, xmm1
vcmpnleps xmm1, xmm0, xmm1
vandps xmm0, xmm1, xmm0
vmovlps qword [esi + 0x58], xmm0
lea ecx, [esp + 0x10]
mov edx, esi
push 1
call fcn.100adab0
add esp, 4
vmovsd xmm0, qword [esp + 0x10]
vmovsd qword [esi + 0x50], xmm0
mov dword [esi + 0x60], 0x7f7fffff
mov dword [esi + 0x64], 0x7f7fffff
mov ecx, dword [esi + 0x278]
call fcn.100b2b50
mov ecx, dword [esi + 0x278]
mov eax, dword [ebp + 0x18d0]
mov eax, dword [eax + 0x38]
push dword [eax + 8]
call fcn.100b33d0
mov eax, dword [0x102a05a0]
mov ecx, dword [eax + 0x1a08]
mov byte [ecx + 0x7c], 1
mov esi, dword [eax + 0x1a08]
mov ecx, dword [esi + 0x278]
sub esp, 0x14
vmovups xmm0, xmmword [esp + 0x40]
vmovss dword [esp + 0xc], xmm0
vmovups xmm0, xmmword [esp + 0x50]
vmovss dword [esp + 8], xmm0
vmovups xmm0, xmmword [esp + 0x64]
vmovss dword [esp + 4], xmm0
vmovups xmm0, xmmword [esp + 0xe0]
vmovss dword [esp], xmm0
mov dword [esp + 0x10], 0
call fcn.100b31e0
mov eax, dword [esi + 0x278]
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x48]
shl ecx, 4
vmovdqu xmm0, xmmword [ecx + eax - 0x10]
vmovdqu xmmword [esi + 0x22c], xmm0
xor eax, eax
test ebx, 0x8000000
je 0x100a72bd
mov ecx, dword [0x102a05a0]
mov eax, dword [ecx + 0x1b20]
test eax, eax
jle 0x100a75e9
mov ecx, dword [ecx + 0x1b28]
lea edx, [eax + eax*8]
inc eax
lea ecx, [ecx + edx*4]
add ecx, 0xffffffe0
mov esi, dword [esp]
jmp 0x100a7299
dec eax
add ecx, 0xffffffdc
cmp eax, 1
jbe 0x100a72ad
mov edx, dword [ecx]
test edx, edx
je 0x100a7290
test byte [edx + 0xb], 8
je 0x100a7290
cmp esi, edx
je 0x100a72b3
xor eax, eax
jmp 0x100a72bd
xor edx, edx
cmp esi, edx
jne 0x100a72a9
cmp dword [esi + 0x9c], 0
setle al
mov ecx, dword [ebp + 0x1c44]
test ecx, ecx
je 0x100a72d5
mov esi, dword [esp]
cmp esi, dword [ecx + 0x2f8]
sete bl
jmp 0x100a72da
xor ebx, ebx
mov esi, dword [esp]
mov ecx, eax
or cl, bl
cmp cl, 1
jne 0x100a73e5
movzx eax, al
shl eax, 4
vmovss xmm0, dword [ebp + 0x1cb8]
mov ecx, dword [0x102a05a0]
vmovss xmm1, dword [ecx + eax + 0x18b0]
vmovss xmm2, dword [ecx + eax + 0x18b4]
vmulss xmm0, xmm0, dword [ecx + 0x1518]
vmulss xmm0, xmm0, dword [ecx + eax + 0x18bc]
vmovss xmm3, dword [0x10144ae0]
vminss xmm4, xmm3, xmm1
vxorps xmm5, xmm5, xmm5
vcmpltss xmm1, xmm1, xmm5
vandnps xmm1, xmm1, xmm4
vmovss xmm4, dword [0x10145a98]
vmovss xmm6, dword [0x10147544]
vfmadd213ss xmm1, xmm6, xmm4
vcvttss2si esi, xmm1
vminss xmm1, xmm3, xmm2
vcmpltss xmm2, xmm2, xmm5
vandnps xmm1, xmm2, xmm1
vfmadd213ss xmm1, xmm6, xmm4
vcvttss2si edx, xmm1
shl edx, 8
or edx, esi
mov esi, dword [esp]
vmovss xmm1, dword [ecx + eax + 0x18b8]
vinsertps xmm0, xmm1, xmm0, 0x10
vxorps xmm1, xmm1, xmm1
vbroadcastss xmm2, dword [0x10144ae0]
vminps xmm2, xmm2, xmm0
vcmpnltps xmm0, xmm0, xmm1
vandps xmm0, xmm0, xmm2
vbroadcastss xmm1, dword [0x10147544]
vfmadd213ps xmm1, xmm0, xmmword [esp + 0xac]
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x10149f60]
vmovd eax, xmm0
or eax, edx
vpextrd edx, xmm0, 1
or edx, eax
mov ecx, dword [esi + 0x278]
push 0xf
push 0
push edx
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x104]
push eax
call fcn.100b5050
test bl, bl
mov edi, dword [esp + 0xc]
je 0x100a7587
cmp esi, dword [ebp + 0x1c44]
jne 0x100a7587
vmovsd xmm0, qword [esi + 0xc]
vmovsd xmm1, qword [esi + 0x14]
vaddps xmm1, xmm0, xmm1
vbroadcastss xmm2, dword [ebp + 0x18d4]
vsubss xmm3, xmm0, xmm2
vmovss dword [esp + 0x10], xmm3
vmovshdup xmm0, xmm0
vsubss xmm0, xmm0, xmm2
vmovss dword [esp + 0x14], xmm0
vaddps xmm1, xmm1, xmm2
vmovlps qword [esp + 0x18], xmm1
vmovups xmm2, xmmword [esp + 0xf4]
vmovlhps xmm1, xmm3, xmm1
vinsertps xmm0, xmm1, xmm0, 0x10
vcmpleps xmm1, xmm2, xmm0
vcmpleps xmm0, xmm0, xmm2
vblendps xmm0, xmm1, xmm0, 3
vpslld xmm0, xmm0, 0x1f
vpcmpeqd xmm1, xmm1, xmm1
vtestps xmm0, xmm1
jb 0x100a7587
mov eax, dword [0x102a05a0]
vmovss xmm0, dword [eax + 0x18a0]
vmovss xmm1, dword [0x10144ae0]
vminss xmm2, xmm1, xmm0
vxorps xmm3, xmm3, xmm3
vcmpltss xmm0, xmm0, xmm3
vandnps xmm0, xmm0, xmm2
vmovss xmm2, dword [eax + 0x18a4]
vminss xmm1, xmm1, xmm2
vcmpltss xmm2, xmm2, xmm3
vmovss xmm3, dword [0x10145a98]
vandnps xmm1, xmm2, xmm1
vmovss xmm2, dword [0x10147544]
vfmadd213ss xmm0, xmm2, xmm3
vfmadd213ss xmm1, xmm2, xmm3
vmovss xmm2, dword [ebp + 0x1c50]
vmulss xmm2, xmm2, dword [0x10148a90]
vmulss xmm2, xmm2, dword [eax + 0x1518]
vmulss xmm2, xmm2, dword [eax + 0x18ac]
vcvttss2si esi, xmm0
vcvttss2si edx, xmm1
vmovss xmm0, dword [eax + 0x18a8]
vinsertps xmm0, xmm0, xmm2, 0x10
vxorps xmm1, xmm1, xmm1
vbroadcastss xmm2, dword [0x10144ae0]
vminps xmm2, xmm2, xmm0
vcmpnltps xmm0, xmm0, xmm1
vandps xmm0, xmm0, xmm2
vbroadcastss xmm1, dword [0x10147544]
vfmadd213ps xmm1, xmm0, xmmword [esp + 0xac]
lea eax, [esp + 0x18]
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x278]
shl edx, 8
or edx, esi
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x10149f60]
vpextrd esi, xmm0, 1
vmovd edi, xmm0
vmovd xmm0, dword [ebp + 0x1524]
or edi, edx
or esi, edi
mov edi, dword [esp + 0xc]
sub esp, 0x14
vmovd dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 8], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x10], 0xf
call fcn.100b5050
cmp dword [esp + 0x74], 0x3000000
sete al
or byte [esp + 0x84], al
jne 0x100a75b0
mov eax, dword [esi + 0x278]
mov ecx, dword [eax]
mov eax, dword [eax + 8]
lea ecx, [ecx + ecx*4]
cmp dword [eax + ecx*8 - 0x28], 0
je 0x100a75fb
mov dword [esp + 0x20], 0
mov eax, dword [ebp + 0x1c40]
test eax, eax
jne 0x100a75c8
mov eax, dword [ebp + 0x1b38]
mov bl, 1
test byte [esp + 0x110], 1
jne 0x100a7617
test eax, eax
je 0x100a7615
mov ecx, dword [esi + 0x2fc]
cmp ecx, dword [eax + 0x2fc]
sete bl
jmp 0x100a7617
xor edx, edx
mov esi, dword [esp]
cmp esi, edx
jne 0x100a72a9
jmp 0x100a72b3
mov eax, dword [edi + 0x278]
cmp dword [eax + 0x18], 0
jle 0x100a75b0
mov dword [esi + 0x278], eax
mov al, 1
mov dword [esp + 0x20], eax
jmp 0x100a75b8
xor ebx, ebx
mov edi, dword [0x102a05a0]
mov edx, dword [esi + 8]
mov byte [esi + 0x7f], 0
vmovss xmm0, dword [esi + 0x3c]
vmovss dword [esp + 0x84], xmm0
vmovss xmm0, dword [esi + 0x40]
cmp byte [esi + 0x7d], 0
je 0x100a7780
vmovss xmm1, dword [edi + 0x155c]
vmovss dword [esp + 0x3c], xmm1
vmovss dword [edi + 0x155c], xmm0
mov eax, 0xc
test bl, bl
je 0x100a766a
cmp byte [edi + 0x1b8a], 1
sbb eax, 0
shl eax, 4
vmovss xmm1, dword [edi + eax + 0x15d0]
vmovss xmm2, dword [edi + eax + 0x15d4]
vmovss xmm0, dword [edi + eax + 0x15dc]
vmulss xmm0, xmm0, dword [edi + 0x1518]
vmovss xmm3, dword [0x10144ae0]
vminss xmm4, xmm3, xmm1
vxorps xmm5, xmm5, xmm5
vcmpltss xmm1, xmm1, xmm5
vandnps xmm1, xmm1, xmm4
vmovss xmm4, dword [0x10145a98]
vmovss xmm6, dword [0x10147544]
vfmadd213ss xmm1, xmm6, xmm4
vcvttss2si edx, xmm1
vminss xmm1, xmm3, xmm2
vcmpltss xmm2, xmm2, xmm5
vandnps xmm1, xmm2, xmm1
vfmadd213ss xmm1, xmm6, xmm4
vcvttss2si ecx, xmm1
shl ecx, 8
or ecx, edx
vmovss xmm1, dword [edi + eax + 0x15d8]
vinsertps xmm0, xmm1, xmm0, 0x10
vxorps xmm1, xmm1, xmm1
vbroadcastss xmm2, dword [0x10144ae0]
vminps xmm2, xmm2, xmm0
vcmpnltps xmm0, xmm0, xmm1
vandps xmm0, xmm0, xmm2
vbroadcastss xmm1, dword [0x10147544]
vfmadd213ps xmm1, xmm0, xmmword [esp + 0xac]
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x10149f60]
vmovd eax, xmm0
or eax, ecx
vpextrd ecx, xmm0, 1
or ecx, eax
vmovups xmm0, xmmword [esp + 0x64]
sub esp, 0x1c
vmovss xmm1, dword [esp + 0xa0]
vmovss dword [esp + 0x18], xmm1
vmovups xmmword [esp], xmm0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 1
call fcn.1009d5f0
add esp, 0x1c
vmovss xmm0, dword [esp + 0x3c]
vmovss dword [edi + 0x155c], xmm0
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0xc]
jmp 0x100a87c3
vmovups xmmword [esp + 0x2c], xmm0
test dl, dl
mov dword [esp + 0x3c], edx
js 0x100a786f
mov eax, edx
and eax, 0x1000000
cmp eax, 1
mov ecx, 3
sbb ecx, 0
test edx, 0x6000000
mov eax, 4
cmove eax, ecx
shl eax, 4
vmovss xmm1, dword [edi + eax + 0x15d0]
vmovss xmm2, dword [0x10144ae0]
vminss xmm3, xmm2, xmm1
vxorps xmm0, xmm0, xmm0
vcmpltss xmm1, xmm1, xmm0
vandnps xmm4, xmm1, xmm3
vmovss xmm3, dword [0x10145a98]
vmovss xmm1, dword [0x10147544]
vfmadd213ss xmm4, xmm1, xmm3
vcvttss2si edx, xmm4
vmovsd xmm4, qword [edi + eax + 0x15d4]
vxorps xmm5, xmm5, xmm5
vbroadcastss xmm6, dword [0x10144ae0]
vminps xmm6, xmm6, xmm4
vcmpnltps xmm4, xmm4, xmm5
vandps xmm4, xmm4, xmm6
vbroadcastss xmm5, dword [0x10147544]
vfmadd213ps xmm5, xmm4, xmmword [esp + 0xac]
vcvttps2dq xmm4, xmm5
vpsllvd xmm4, xmm4, xmmword [0x10147ad0]
vmovd esi, xmm4
vpextrd ecx, xmm4, 1
or esi, edx
or ecx, esi
test byte [edi + 0x1a88], 0x40
jne 0x100a7881
vmovss xmm4, dword [edi + eax + 0x15dc]
vmulss xmm4, xmm4, dword [edi + 0x1518]
vminss xmm2, xmm2, xmm4
vcmpltss xmm4, xmm4, xmm0
vandnps xmm2, xmm4, xmm2
vfmadd213ss xmm1, xmm2, xmm3
jmp 0x100a78a5
mov esi, edx
and esi, 1
test esi, esi
jne 0x100a7a80
jmp 0x100a796a
vmovss xmm3, dword [edi + 0x1adc]
and ecx, 0xffffff
vminss xmm2, xmm2, xmm3
vcmpltss xmm3, xmm3, xmm0
vandnps xmm2, xmm3, xmm2
vfmadd213ss xmm1, xmm2, dword [0x10145a98]
vcvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov esi, dword [esp]
mov ecx, dword [esi + 0x278]
mov edx, dword [esp + 0x3c]
mov ebp, edx
and ebp, 1
mov dword [esp + 0x74], ebp
lea ebp, [ebp + ebp*2 + 0xc]
vmovsd xmm1, qword [esi + 0xc]
vmovsd xmm2, qword [esi + 0x14]
vaddps xmm2, xmm1, xmm2
vmovlps qword [esp + 0x10], xmm2
test dl, 1
jne 0x100a7914
vmovss xmm0, dword [edi + 0x18d8]
vmulss xmm2, xmm0, dword [esi + 0x270]
mov esi, dword [esi + 0x2f4]
test esi, esi
je 0x100a7903
vmulss xmm2, xmm2, dword [esi + 0x270]
vmovss xmm0, dword [edi + 0x1554]
vfmadd132ss xmm0, xmm2, dword [0x10146fcc]
vxorps xmm2, xmm2, xmm2
vunpcklps xmm0, xmm2, xmm0
vaddps xmm0, xmm1, xmm0
vmovlps qword [esp + 0x94], xmm0
sub esp, 0x14
mov dword [esp + 0x10], ebp
vmovss xmm0, dword [esp + 0x98]
vmovss dword [esp + 0xc], xmm0
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
mov dword [esp + 4], eax
lea eax, [esp + 0xa8]
mov dword [esp], eax
call fcn.100b5050
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x74]
test esi, esi
jne 0x100a7a80
lea eax, [esp + 0x6c]
movzx ecx, bl
shl ecx, 4
mov edx, dword [0x102a05a0]
vmovss xmm1, dword [edx + ecx + 0x1670]
vmovss xmm2, dword [edx + ecx + 0x1674]
vmovss xmm0, dword [edx + ecx + 0x167c]
vmulss xmm0, xmm0, dword [edx + 0x1518]
vmovss xmm3, dword [0x10144ae0]
vminss xmm4, xmm3, xmm1
vxorps xmm5, xmm5, xmm5
vcmpltss xmm1, xmm1, xmm5
vandnps xmm1, xmm1, xmm4
vmovss xmm4, dword [0x10145a98]
vmovss xmm6, dword [0x10147544]
vfmadd213ss xmm1, xmm6, xmm4
vcvttss2si ebx, xmm1
vminss xmm1, xmm3, xmm2
vcmpltss xmm2, xmm2, xmm5
vandnps xmm1, xmm2, xmm1
vfmadd213ss xmm1, xmm6, xmm4
mov ebp, esi
vcvttss2si esi, xmm1
shl esi, 8
or esi, ebx
vmovss xmm1, dword [edx + ecx + 0x1678]
vinsertps xmm0, xmm1, xmm0, 0x10
vxorps xmm1, xmm1, xmm1
vbroadcastss xmm2, dword [0x10144ae0]
vminps xmm2, xmm2, xmm0
vcmpnltps xmm0, xmm0, xmm1
vandps xmm0, xmm0, xmm2
vbroadcastss xmm1, dword [0x10147544]
vfmadd213ps xmm1, xmm0, xmmword [esp + 0xac]
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x10149f60]
vmovd ecx, xmm0
or ecx, esi
mov esi, ebp
vpextrd edx, xmm0, 1
or edx, ecx
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x278]
sub esp, 0x14
vmovss xmm0, dword [esp + 0x98]
vmovss dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 0x10], 3
call fcn.100b5050
mov edx, dword [esp + 0x3c]
test edx, 0x400
mov ebp, dword [esp]
je 0x100a7e2b
mov ecx, dword [ebp + 8]
vxorps xmm1, xmm1, xmm1
mov eax, dword [0x102a05a0]
vxorps xmm0, xmm0, xmm0
test cl, 1
jne 0x100a7ad7
vmovss xmm0, dword [eax + 0x18d8]
vmulss xmm2, xmm0, dword [ebp + 0x270]
mov edx, dword [ebp + 0x2f4]
test edx, edx
je 0x100a7ac6
vmulss xmm2, xmm2, dword [edx + 0x270]
vmovss xmm0, dword [eax + 0x1554]
vfmadd132ss xmm0, xmm2, dword [0x10146fcc]
vmovss xmm2, dword [ebp + 0x10]
test ecx, 0x400
je 0x100a7b23
vmovss xmm1, dword [ebp + 0x150]
vmovss xmm3, dword [eax + 0x18d8]
vmulss xmm3, xmm3, dword [ebp + 0x270]
mov ecx, dword [ebp + 0x2f4]
test ecx, ecx
je 0x100a7b0e
vmulss xmm3, xmm3, dword [ecx + 0x270]
vaddss xmm3, xmm1, xmm3
vmovss xmm1, dword [eax + 0x1554]
vfmadd132ss xmm1, xmm3, dword [0x10146fcc]
vaddss xmm3, xmm2, xmm0
vmovss xmm5, dword [ebp + 0xc]
vcmpless xmm0, xmm2, xmm3
vblendvps xmm0, xmm2, xmm3, xmm0
vmovups xmmword [esp + 0x74], xmm0
vinsertps xmm3, xmm5, xmm3, 0x10
vmovss xmm4, dword [ebp + 0x1c]
vinsertps xmm1, xmm4, xmm1, 0x10
vaddps xmm1, xmm3, xmm1
vmovsd xmm3, qword [ebp + 0x14]
vmovups xmmword [esp + 0x50], xmm5
vinsertps xmm2, xmm5, xmm2, 0x10
vaddps xmm2, xmm2, xmm3
vminps xmm7, xmm1, xmm2
vmovshdup xmm6, xmm7
mov ecx, dword [ebp + 0x278]
vxorps xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
test esi, esi
je 0x100a7b8a
vmovss xmm0, dword [esp + 0x84]
vmovss dword [esp + 0xcc], xmm0
vmovss xmm3, dword [eax + 0x16a0]
vmovss xmm4, dword [eax + 0x16a4]
vmovss xmm2, dword [eax + 0x16ac]
vmulss xmm2, xmm2, dword [eax + 0x1518]
vmovss xmm0, dword [0x10144ae0]
vminss xmm5, xmm0, xmm3
vcmpltss xmm3, xmm3, xmm1
vandnps xmm3, xmm3, xmm5
vmovss xmm5, dword [0x10145a98]
vmovss xmm1, dword [0x10147544]
vfmadd213ss xmm3, xmm1, xmm5
vcvttss2si edx, xmm3
vminss xmm3, xmm0, xmm4
vcmpltss xmm4, xmm4, dword [0x10145a74]
vandnps xmm3, xmm4, xmm3
vfmadd213ss xmm3, xmm1, xmm5
vcvttss2si esi, xmm3
vmovss xmm3, dword [eax + 0x16a8]
vinsertps xmm2, xmm3, xmm2, 0x10
vxorps xmm3, xmm3, xmm3
vbroadcastss xmm0, dword [0x10144ae0]
vmovups xmmword [esp + 0x150], xmm0
vminps xmm4, xmm0, xmm2
vcmpnltps xmm2, xmm2, xmm3
vandps xmm2, xmm2, xmm4
vbroadcastss xmm0, dword [0x10147544]
vmovups xmmword [esp + 0xbc], xmm0
vfmadd213ps xmm2, xmm0, xmmword [esp + 0xac]
vcvttps2dq xmm2, xmm2
vpsllvd xmm2, xmm2, xmmword [0x10149f60]
vpextrd eax, xmm2, 1
vmovd ebx, xmm2
mov ebp, dword [esp]
vmovss xmm2, dword [ebp + 0xc]
vmovups xmm4, xmmword [esp + 0x2c]
vmovups xmmword [esp + 0xe4], xmm7
vsubss xmm3, xmm7, xmm4
vmovss dword [esp + 0x10], xmm3
vunpcklps xmm0, xmm4, xmmword [esp + 0x74]
vaddps xmm0, xmm0, xmm2
vmovlps qword [esp + 0x94], xmm0
shl esi, 8
or esi, edx
or ebx, esi
or eax, ebx
vmovss dword [esp + 0x14], xmm6
sub esp, 0x14
vmovss xmm0, dword [esp + 0xe0]
vmovss dword [esp + 0xc], xmm0
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
mov dword [esp + 4], eax
lea esi, [esp + 0xa8]
mov dword [esp], esi
mov dword [esp + 0x10], 3
vmovups xmmword [esp + 0x88], xmm6
call fcn.100b5050
vmovups xmm4, xmmword [esp + 0x74]
vmovss xmm0, dword [edi + 0x155c]
vucomiss xmm0, dword [0x10145a74]
mov edx, dword [esp + 0x3c]
jbe 0x100a7e2b
vmovss xmm1, dword [ebp + 0x10]
vaddss xmm1, xmm1, dword [ebp + 0x18]
vucomiss xmm1, xmm4
jbe 0x100a7e2b
mov ecx, dword [0x102a05a0]
vmovss xmm1, dword [ecx + 0x1620]
vmovss xmm5, dword [0x10144ae0]
vminss xmm2, xmm5, xmm1
vxorps xmm3, xmm3, xmm3
vcmpltss xmm1, xmm1, xmm3
vandnps xmm1, xmm1, xmm2
vmovss xmm6, dword [0x10145a98]
vmovss xmm7, dword [0x10147544]
vfmadd213ss xmm1, xmm7, xmm6
vcvttss2si eax, xmm1
vmovss xmm1, dword [ecx + 0x1624]
vminss xmm2, xmm5, xmm1
vcmpltss xmm1, xmm1, xmm3
vandnps xmm1, xmm1, xmm2
vfmadd213ss xmm1, xmm7, xmm6
vmovss xmm2, dword [ecx + 0x162c]
vmulss xmm2, xmm2, dword [ecx + 0x1518]
vcvttss2si edx, xmm1
vmovss xmm1, dword [ecx + 0x1628]
vinsertps xmm1, xmm1, xmm2, 0x10
vxorps xmm2, xmm2, xmm2
vmovups xmm3, xmmword [esp + 0x150]
vminps xmm3, xmm3, xmm1
vcmpnltps xmm1, xmm1, xmm2
vandps xmm1, xmm1, xmm3
vmovups xmm2, xmmword [esp + 0xbc]
vfmadd213ps xmm2, xmm1, xmmword [esp + 0xac]
vcvttps2dq xmm1, xmm2
vpsllvd xmm1, xmm1, xmmword [0x10149f60]
vmovd edi, xmm1
vpextrd ebx, xmm1, 1
mov ecx, dword [ebp + 0x278]
vmovups xmm1, xmmword [esp + 0xe4]
vmovlps qword [esp + 0x10], xmm1
vmovups xmm1, xmmword [esp + 0x50]
vmovss dword [esp + 0x94], xmm1
vmovss dword [esp + 0x98], xmm4
shl edx, 8
or edx, eax
or edi, edx
or ebx, edi
sub esp, 0x10
vmovss dword [esp + 0xc], xmm0
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], ebx
call fcn.100b4dd0
mov edx, dword [esp + 0x3c]
cmp byte [ebp + 0x78], 0
mov esi, ebp
je 0x100a7e41
push 0
call fcn.100c9b40
mov edx, dword [esp + 0x40]
add esp, 4
cmp byte [esi + 0x79], 0
je 0x100a7e55
push 1
call fcn.100c9b40
mov edx, dword [esp + 0x40]
add esp, 4
test dl, 2
jne 0x100a8182
vmovups xmm2, xmmword [esp + 0x180]
vmovss xmm0, dword [esp + 0x1a0]
vfmadd231ss xmm2, xmm0, dword [0x101478fc]
vmulss xmm0, xmm0, dword [0x1014a090]
vcmpless xmm1, xmm2, xmm0
vblendvps xmm0, xmm2, xmm0, xmm1
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovups xmm2, xmmword [esp + 0x2c]
vaddss xmm1, xmm2, dword [esp + 0x84]
vinsertps xmm0, xmm2, xmm0, 0x10
vmovups xmmword [esp + 0xcc], xmm0
vshufps xmm0, xmm0, xmm0, 0xe1
vmovups xmmword [esp + 0x50], xmm0
vbroadcastss xmm0, xmm1
vmovups xmmword [esp + 0xe4], xmm0
xor eax, eax
mov edi, 0x10149c10
jmp 0x100a7f6c
mov ebx, dword [esi + 0x60]
vmulps xmm0, xmm1, xmm4
vaddps xmm0, xmm3, xmm0
vmovlps qword [ebx + ebp*8], xmm0
inc dword [esi + 0x58]
mov esi, dword [esp]
mov ecx, dword [esi + 0x278]
mov eax, dword [edi - 4]
mov edx, dword [edi]
vfmadd132ps xmm4, xmm3, xmmword [esp + 0xe4]
vmovlps qword [esp + 0x10], xmm4
sub esp, 0x10
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
vmovss xmm0, dword [esp + 0x94]
vmovss dword [esp + 4], xmm0
lea eax, [esp + 0x20]
mov dword [esp], eax
call fcn.100b4560
mov ebx, dword [esi + 0x278]
mov ecx, ebx
mov ebp, dword [esp + 0x3c]
push dword [esp + ebp*4 + 0x1b0]
push dword [ebx + 0x58]
push dword [ebx + 0x60]
call fcn.100b40f0
mov eax, ebp
mov dword [ebx + 0x58], 0
inc eax
add edi, 0x18
cmp dword [esp + 0x24], eax
je 0x100a8182
mov ebp, dword [esi + 0x278]
test al, 1
sete cl
vmovsd xmm5, qword [esi + 0xc]
vmovsd xmm0, qword [esi + 0x14]
vmovsd xmm3, qword [edi - 0x14]
vmovsd xmm4, qword [edi - 0xc]
mov esi, dword [ebp + 0x58]
cmp esi, dword [ebp + 0x5c]
mov dword [esp + 0x3c], eax
vmovups xmmword [esp + 0x74], xmm4
jne 0x100a7fb0
test esi, esi
je 0x100a7fb8
mov eax, esi
shr eax, 0x1f
add eax, esi
sar eax, 1
add eax, esi
jmp 0x100a7fbd
mov ebx, dword [ebp + 0x60]
jmp 0x100a8077
mov eax, 8
vmovups xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0x180], ecx
vmovups xmmword [esp + 0xbc], xmm5
vmovups xmmword [esp + 0x2c], xmm3
inc esi
cmp eax, esi
cmovg esi, eax
mov eax, dword [0x102a05a0]
test eax, eax
je 0x100a7ff1
inc dword [eax + 0x374]
lea eax, [esi*8]
push dword [0x102a05a8]
push eax
call dword [0x1029f8ac]
add esp, 8
mov ebx, eax
mov eax, dword [ebp + 0x60]
test eax, eax
je 0x100a8049
mov ecx, dword [ebp + 0x58]
shl ecx, 3
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 0x60]
test eax, eax
je 0x100a8039
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a8039
dec dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8b0]
add esp, 8
mov dword [ebp + 0x60], ebx
mov dword [ebp + 0x5c], esi
mov esi, dword [ebp + 0x58]
vmovups xmm3, xmmword [esp + 0x2c]
vmovups xmm4, xmmword [esp + 0x74]
vmovups xmm5, xmmword [esp + 0xbc]
mov ecx, dword [esp + 0x180]
vmovups xmm0, xmmword [esp + 0x1a0]
vaddps xmm0, xmm5, xmm0
vsubps xmm0, xmm0, xmm5
vmovd xmm1, ecx
vpbroadcastb xmm1, xmm1
vpslld xmm1, xmm1, 0x1f
vmovups xmm2, xmmword [esp + 0x50]
vblendvps xmm1, xmm2, xmmword [esp + 0xcc], xmm1
vfmadd213ps xmm3, xmm0, xmm5
vshufps xmm0, xmm1, xmm1, 0xe1
vmulps xmm0, xmm0, xmm4
vaddps xmm0, xmm3, xmm0
vmovlps qword [ebx + esi*8], xmm0
inc dword [ebp + 0x58]
mov eax, dword [esp]
mov esi, dword [eax + 0x278]
mov ebp, dword [esi + 0x58]
cmp ebp, dword [esi + 0x5c]
jne 0x100a7ee0
test ebp, ebp
je 0x100a80de
mov eax, ebp
shr eax, 0x1f
add eax, ebp
sar eax, 1
add eax, ebp
jmp 0x100a80e3
mov eax, 8
vmovups xmmword [esp + 0xbc], xmm1
vmovups xmmword [esp + 0x2c], xmm3
inc ebp
cmp eax, ebp
cmovg ebp, eax
mov eax, dword [0x102a05a0]
test eax, eax
je 0x100a8107
inc dword [eax + 0x374]
lea eax, [ebp*8]
push dword [0x102a05a8]
push eax
call dword [0x1029f8ac]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x60]
test eax, eax
je 0x100a815f
mov ecx, dword [esi + 0x58]
shl ecx, 3
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x60]
test eax, eax
je 0x100a814f
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a814f
dec dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8b0]
add esp, 8
mov dword [esi + 0x60], ebx
mov dword [esi + 0x5c], ebp
mov ebp, dword [esi + 0x58]
vmovups xmm3, xmmword [esp + 0x2c]
vmovups xmm4, xmmword [esp + 0x74]
vmovups xmm1, xmmword [esp + 0xbc]
jmp 0x100a7ee3
mov ecx, dword [0x102a05a0]
vmovss xmm7, dword [esi + 0x3c]
vmovss xmm1, dword [esi + 0x40]
vxorps xmm0, xmm0, xmm0
vmovss dword [esp + 0x3c], xmm1
vucomiss xmm1, xmm0
jbe 0x100a82d5
test byte [esi + 8], 0x80
jne 0x100a82d5
vmovss xmm1, dword [ecx + 0x1620]
vmovss xmm2, dword [ecx + 0x1624]
vmovss xmm0, dword [ecx + 0x162c]
vmulss xmm0, xmm0, dword [ecx + 0x1518]
vmovss xmm3, dword [0x10144ae0]
vminss xmm4, xmm3, xmm1
vxorps xmm5, xmm5, xmm5
vcmpltss xmm1, xmm1, xmm5
vandnps xmm1, xmm1, xmm4
vmovss xmm4, dword [0x10145a98]
vmovss xmm6, dword [0x10147544]
vfmadd213ss xmm1, xmm6, xmm4
vcvttss2si edx, xmm1
vminss xmm1, xmm3, xmm2
vcmpltss xmm2, xmm2, xmm5
vandnps xmm1, xmm2, xmm1
vfmadd213ss xmm1, xmm6, xmm4
vcvttss2si eax, xmm1
mov edi, ecx
mov ecx, dword [esi + 0x278]
shl eax, 8
or eax, edx
vmovss xmm1, dword [edi + 0x1628]
vinsertps xmm0, xmm1, xmm0, 0x10
vxorps xmm1, xmm1, xmm1
vbroadcastss xmm2, dword [0x10144ae0]
vminps xmm2, xmm2, xmm0
vcmpnltps xmm0, xmm0, xmm1
vandps xmm0, xmm0, xmm2
vbroadcastss xmm1, dword [0x10147544]
vfmadd213ps xmm1, xmm0, xmmword [esp + 0xac]
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x10149f60]
vmovd edx, xmm0
or edx, eax
vpextrd eax, xmm0, 1
or eax, edx
vmovsd xmm0, qword [esi + 0xc]
vmovsd xmm1, qword [esi + 0x14]
vaddps xmm0, xmm0, xmm1
vmovlps qword [esp + 0x10], xmm0
sub esp, 0x18
vmovss xmm0, dword [esp + 0x54]
vmovss dword [esp + 0x14], xmm0
vmovss dword [esp + 0xc], xmm7
lea edx, [esp + 0x28]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x120]
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0xf
vmovss dword [esp + 0x44], xmm7
call fcn.100b4f60
vmovss xmm7, dword [esp + 0x2c]
mov ecx, edi
mov eax, dword [esp + 0x120]
movsx ebx, byte [eax]
cmp ebx, 0xffffffff
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0xc]
je 0x100a8629
cmp byte [0x102a0630], 0
je 0x100aa704
mov dword [esp + 0x74], ecx
lea eax, [ebx + ebx*8]
lea edi, [eax + eax*2]
lea ebp, [ebx + edi]
add ebp, 0x102a05c0
vxorps xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
vxorps xmm5, xmm5, xmm5
vxorps xmm4, xmm4, xmm4
cmp ebx, 3
ja case.default.0x100a834c
mov eax, dword [esp]
vmovss xmm4, dword [eax + 0xc]
vmovss xmm5, dword [eax + 0x10]
vaddss xmm1, xmm5, dword [eax + 0x18]
vaddss xmm0, xmm4, dword [eax + 0x14]
vmovss xmm2, dword [0x10145a68]
vaddss xmm0, xmm0, xmm2
vaddss xmm1, xmm1, xmm2
jmp dword [ebx*4 + 0x1014a244]
vxorps xmm1, xmm1, xmm1
vaddss xmm1, xmm5, xmm1
vmovaps xmm2, xmm7
vsubss xmm0, xmm0, xmm7
vaddss xmm4, xmm7, xmm4
jmp case.default.0x100a834c
vmovaps xmm2, xmm7
vsubss xmm1, xmm1, xmm7
vaddss xmm5, xmm7, xmm5
vmovaps xmm4, xmm0
jmp case.default.0x100a834c
vmovaps xmm2, xmm7
vsubss xmm0, xmm0, xmm7
vaddss xmm4, xmm7, xmm4
vmovaps xmm5, xmm1
jmp case.default.0x100a834c
vmovaps xmm2, xmm7
vsubss xmm1, xmm1, xmm7
vxorps xmm0, xmm0, xmm0
vaddss xmm0, xmm4, xmm0
vaddss xmm5, xmm7, xmm5
vmovss dword [esp + 0xe4], xmm5
vmovss dword [esp + 0x50], xmm4
vmovss dword [esp + 0x2c], xmm7
vmulss xmm3, xmm7, dword [ebp + 4]
vmulss xmm2, xmm7, dword [ebp]
vmovss dword [esp + 0xcc], xmm2
vsubss xmm6, xmm1, xmm5
vmovss dword [esp + 0x84], xmm6
vmovss xmm1, dword [ebx + edi + 0x102a05cc]
vfmadd213ss xmm1, xmm6, xmm5
vsubss xmm6, xmm0, xmm4
vmovss dword [esp + 0x24], xmm6
vmovss xmm2, dword [0x10145a98]
vaddss xmm0, xmm1, xmm2
vaddss xmm0, xmm3, xmm0
vmovss xmm1, dword [ebx + edi + 0x102a05c8]
vfmadd213ss xmm1, xmm6, xmm4
vaddss xmm1, xmm1, xmm2
vaddss xmm1, xmm1, dword [esp + 0xcc]
mov esi, dword [esp]
mov ecx, dword [esi + 0x278]
vmovss dword [esp + 0x10], xmm1
vmovss xmm1, dword [ebx + edi + 0x102a05d8]
vmovss dword [esp + 0x14], xmm0
vaddss xmm0, xmm1, dword [0x1014a170]
sub esp, 0x14
vmovss dword [esp + 0xc], xmm1
vmovss dword [esp + 8], xmm0
vmovss dword [esp + 4], xmm7
lea eax, [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 0x10], 0xa
vzeroupper
call fcn.100b4750
vmovss xmm0, dword [esp + 0x84]
vmovss xmm1, dword [esp + 0xe4]
vfmadd231ss xmm1, xmm0, dword [ebx + edi + 0x102a05d4]
vmovss xmm0, dword [esp + 0x24]
vmovss xmm4, dword [esp + 0x50]
vfmadd231ss xmm4, xmm0, dword [ebx + edi + 0x102a05d0]
vmovss xmm3, dword [esp + 0x2c]
vmulss xmm0, xmm3, dword [ebp + 4]
vmovss xmm2, dword [0x10145a98]
vaddss xmm1, xmm1, xmm2
vaddss xmm0, xmm0, xmm1
vmulss xmm1, xmm3, dword [ebp]
vaddss xmm2, xmm4, xmm2
vaddss xmm1, xmm1, xmm2
mov ecx, dword [esi + 0x278]
vmovss dword [esp + 0x10], xmm1
vmovss xmm1, dword [ebx + edi + 0x102a05d8]
vmovss dword [esp + 0x14], xmm0
vaddss xmm0, xmm1, dword [0x1014a174]
sub esp, 0x14
vmovss dword [esp + 0xc], xmm0
vmovss dword [esp + 8], xmm1
vmovss dword [esp + 4], xmm3
lea eax, [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 0x10], 0xa
call fcn.100b4750
mov eax, dword [0x102a05a0]
vmovss xmm0, dword [eax + 0x17a0]
vmovss xmm1, dword [0x10144ae0]
vminss xmm2, xmm1, xmm0
vxorps xmm3, xmm3, xmm3
vcmpltss xmm0, xmm0, xmm3
vandnps xmm0, xmm0, xmm2
vmovss xmm2, dword [eax + 0x17a4]
vminss xmm1, xmm1, xmm2
vcmpltss xmm2, xmm2, xmm3
vandnps xmm1, xmm2, xmm1
vmovss xmm2, dword [0x10147544]
vmovss xmm3, dword [0x10145a98]
vfmadd213ss xmm0, xmm2, xmm3
vfmadd213ss xmm1, xmm2, xmm3
vmovss xmm2, dword [eax + 0x17ac]
vmulss xmm2, xmm2, dword [eax + 0x1518]
vcvttss2si edx, xmm0
vcvttss2si ecx, xmm1
vmovss xmm0, dword [eax + 0x17a8]
vinsertps xmm0, xmm0, xmm2, 0x10
vxorps xmm1, xmm1, xmm1
vbroadcastss xmm2, dword [0x10144ae0]
vminps xmm2, xmm2, xmm0
vcmpnltps xmm0, xmm0, xmm1
vandps xmm0, xmm0, xmm2
vbroadcastss xmm1, dword [0x10147544]
vfmadd213ps xmm1, xmm0, xmmword [esp + 0xac]
mov ebx, dword [esi + 0x278]
shl ecx, 8
or ecx, edx
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x10149f60]
vmovd eax, xmm0
vpextrd edx, xmm0, 1
vmovss xmm0, dword [0x10146fcc]
vmaxss xmm0, xmm0, dword [esp + 0x3c]
or eax, ecx
or edx, eax
mov eax, dword [ebx + 0x58]
mov ecx, dword [ebx + 0x60]
sub esp, 0x14
vmovss dword [esp + 0x10], xmm0
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
mov ecx, ebx
call fcn.100b35c0
mov dword [ebx + 0x58], 0
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x74]
vmovss xmm0, dword [ecx + 0x155c]
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
mov ebx, dword [esp + 4]
jbe 0x100a87c3
test byte [esi + 8], 1
jne 0x100a87c3
vmovss xmm1, dword [esi + 0x10]
mov eax, dword [0x102a05a0]
vmovss xmm2, dword [eax + 0x18d8]
vmulss xmm3, xmm2, dword [esi + 0x270]
mov ecx, dword [esi + 0x2f4]
test ecx, ecx
je 0x100a8679
vmulss xmm3, xmm3, dword [ecx + 0x270]
vmovss xmm2, dword [eax + 0x1554]
vfmadd132ss xmm2, xmm3, dword [0x10146fcc]
vmovss xmm3, dword [eax + 0x1620]
vmovss xmm4, dword [0x10144ae0]
vminss xmm5, xmm4, xmm3
vxorps xmm6, xmm6, xmm6
vcmpltss xmm3, xmm3, xmm6
vandnps xmm3, xmm3, xmm5
vmovss xmm5, dword [eax + 0x1624]
vminss xmm4, xmm4, xmm5
vcmpltss xmm5, xmm5, xmm6
vmovss xmm6, dword [0x10145a98]
vandnps xmm4, xmm5, xmm4
vmovss xmm5, dword [0x10147544]
vfmadd213ss xmm3, xmm5, xmm6
vfmadd213ss xmm4, xmm5, xmm6
vcvttss2si edx, xmm3
vmovss xmm3, dword [eax + 0x162c]
vmulss xmm3, xmm3, dword [eax + 0x1518]
vcvttss2si esi, xmm4
vaddss xmm1, xmm1, xmm2
vmovss xmm2, dword [eax + 0x1628]
vinsertps xmm2, xmm2, xmm3, 0x10
vxorps xmm3, xmm3, xmm3
vbroadcastss xmm4, dword [0x10144ae0]
vminps xmm4, xmm4, xmm2
vcmpnltps xmm2, xmm2, xmm3
mov ebx, dword [esp]
mov ecx, dword [ebx + 0x278]
vandps xmm2, xmm2, xmm4
vbroadcastss xmm3, dword [0x10147544]
vfmadd213ps xmm3, xmm2, xmmword [esp + 0xac]
vcvttps2dq xmm2, xmm3
vpsllvd xmm2, xmm2, xmmword [0x10149f60]
vpextrd eax, xmm2, 1
vmovd edi, xmm2
vmovss xmm2, dword [ebx + 0xc]
vaddss xmm3, xmm2, dword [ebx + 0x14]
vmovss xmm4, dword [esp + 0x3c]
vsubss xmm3, xmm3, xmm4
vmovss dword [esp + 0x10], xmm3
vaddss xmm2, xmm4, xmm2
vmovss dword [esp + 0x94], xmm2
vaddss xmm1, xmm1, dword [0x10145a68]
vmovss dword [esp + 0x14], xmm1
vmovss dword [esp + 0x98], xmm1
shl esi, 8
or esi, edx
or edi, esi
mov esi, ebx
or eax, edi
sub esp, 0x10
vmovss dword [esp + 0xc], xmm0
lea edx, [esp + 0x20]
mov dword [esp + 4], edx
lea edx, [esp + 0xa4]
mov dword [esp], edx
mov dword [esp + 8], eax
call fcn.100b4dd0
jmp 0x100a7773
cmp byte [esp + 0x20], 0
je 0x100a87d6
lea eax, [esi + 0x27c]
mov dword [esi + 0x278], eax
cmp dword [ebp + 0x1c44], esi
jne 0x100a8996
vmovss xmm2, dword [ebp + 0x1524]
vmovss xmm0, dword [esi + 0x3c]
lea eax, [esp + 0x18]
vbroadcastss xmm3, dword [ebp + 0x18d4]
vmovsd xmm1, qword [esi + 0xc]
vmovsd xmm4, qword [esi + 0x14]
vaddps xmm5, xmm1, xmm4
vsubps xmm4, xmm1, xmm3
vaddps xmm1, xmm5, xmm3
vmovlhps xmm5, xmm4, xmm1
vmovups xmmword [esp + 0x10], xmm5
vmovups xmm6, xmmword [esp + 0xf4]
vcmpleps xmm7, xmm6, xmm5
vcmpleps xmm5, xmm5, xmm6
vblendps xmm5, xmm7, xmm5, 3
vpslld xmm5, xmm5, 0x1f
vpcmpeqd xmm6, xmm6, xmm6
vtestps xmm5, xmm6
jb 0x100a8852
vcmpless xmm1, xmm2, xmm0
vblendvps xmm0, xmm2, xmm0, xmm1
jmp 0x100a8885
vmovss xmm2, dword [0x10145a68]
vsubss xmm2, xmm2, xmm3
vsubss xmm3, xmm4, xmm2
vmovss dword [esp + 0x10], xmm3
vmovshdup xmm3, xmm4
vsubss xmm3, xmm3, xmm2
vmovss dword [esp + 0x14], xmm3
vbroadcastss xmm2, xmm2
vaddps xmm1, xmm1, xmm2
vmovlps qword [esp + 0x18], xmm1
vmovss xmm1, dword [ebp + 0x1c50]
mov edx, dword [0x102a05a0]
vmovss xmm2, dword [edx + 0x18a0]
vmovss xmm3, dword [edx + 0x18a4]
vmulss xmm1, xmm1, dword [edx + 0x1518]
vmulss xmm1, xmm1, dword [edx + 0x18ac]
vmovss xmm4, dword [0x10144ae0]
vminss xmm5, xmm4, xmm2
vxorps xmm6, xmm6, xmm6
vcmpltss xmm2, xmm2, xmm6
vandnps xmm2, xmm2, xmm5
vmovss xmm5, dword [0x10145a98]
vmovss xmm7, dword [0x10147544]
vfmadd213ss xmm2, xmm7, xmm5
vcvttss2si edi, xmm2
vminss xmm2, xmm4, xmm3
vcmpltss xmm3, xmm3, xmm6
vandnps xmm2, xmm3, xmm2
vfmadd213ss xmm2, xmm7, xmm5
vcvttss2si esi, xmm2
mov ebx, dword [esp]
mov ecx, dword [ebx + 0x278]
shl esi, 8
or esi, edi
vmovss xmm2, dword [edx + 0x18a8]
vinsertps xmm1, xmm2, xmm1, 0x10
vxorps xmm2, xmm2, xmm2
vbroadcastss xmm3, dword [0x10144ae0]
vminps xmm3, xmm3, xmm1
vcmpnltps xmm1, xmm1, xmm2
vandps xmm1, xmm1, xmm3
vbroadcastss xmm2, dword [0x10147544]
vfmadd213ps xmm2, xmm1, xmmword [esp + 0xac]
vcvttps2dq xmm1, xmm2
vpsllvd xmm1, xmm1, xmmword [0x10149f60]
vmovd edx, xmm1
or edx, esi
vpextrd esi, xmm1, 1
or esi, edx
sub esp, 0x18
vmovss dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 8], esi
mov esi, ebx
mov dword [esp + 0x14], 0x40400000
mov dword [esp + 0x10], 0xffffffff
call fcn.100b4f60
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0xc]
vmovss xmm0, dword [esi + 0x2c]
vxorps xmm2, xmm2, xmm2
vucomiss xmm0, xmm2
vmovaps xmm1, xmm0
jne 0x100a89e7
jp 0x100a89e7
mov eax, ebx
vmovss xmm1, dword [esi + 0x34]
vmovss xmm3, dword [0x101471c4]
vfmadd213ss xmm3, xmm1, dword [esi + 0x14]
and eax, 0x808
vsubss xmm1, xmm3, dword [esi + 0x70]
cmp eax, 0x800
jne 0x100a89dc
mov eax, dword [esp + 0x10c]
vmovss xmm2, dword [eax]
vcmpless xmm3, xmm1, xmm2
vblendvps xmm1, xmm1, xmm2, xmm3
vmovss xmm3, dword [esi + 0x30]
vmovss xmm2, dword [esi + 0x38]
vxorps xmm4, xmm4, xmm4
vucomiss xmm3, xmm4
vmovaps xmm5, xmm3
jne 0x100a8a32
jp 0x100a8a32
vmovss xmm5, dword [0x101471c4]
vfmadd213ss xmm5, xmm2, dword [esi + 0x18]
vsubss xmm5, xmm5, dword [esp + 0x140]
vsubss xmm5, xmm5, dword [esi + 0x74]
test bl, 8
jne 0x100a8a27
vmovss xmm4, dword [esi + 0x28]
vcmpless xmm6, xmm5, xmm4
vblendvps xmm5, xmm5, xmm4, xmm6
vinsertps xmm5, xmm1, xmm5, 0x10
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
vmovss xmm1, dword [esi + 0x34]
vmovsd xmm4, qword [esi + 0x50]
vinsertps xmm6, xmm1, xmm2, 0x10
vbroadcastss xmm7, dword [esi + 0x40]
vmaxps xmm6, xmm6, xmm7
vmovsd xmm7, qword [esi + 0x1fc]
vsubps xmm7, xmm7, xmm4
vaddps xmm6, xmm7, xmm6
vcvttps2dq xmm6, xmm6
vcvtdq2ps xmm6, xmm6
vaddps xmm5, xmm5, xmm6
vmovlhps xmm5, xmm6, xmm5
vmovups xmmword [esi + 0x21c], xmm5
vmovsd xmm5, qword [esi + 0xc]
vsubps xmm7, xmm5, xmm4
vaddss xmm6, xmm1, xmm7
vmovss dword [esi + 0x23c], xmm6
vmovshdup xmm7, xmm7
vaddss xmm7, xmm2, xmm7
vaddss xmm7, xmm7, dword [esp + 0x140]
vmovss dword [esi + 0x240], xmm7
jne 0x100a8ac7
jp 0x100a8ac7
vmovss xmm0, dword [0x101471c4]
vfmadd213ss xmm0, xmm1, dword [esi + 0x14]
vsubss xmm0, xmm0, dword [esi + 0x70]
vucomiss xmm3, dword [0x10145a74]
vaddss xmm0, xmm6, xmm0
vmovss dword [esi + 0x244], xmm0
jne 0x100a8afb
jp 0x100a8afb
vmovss xmm0, dword [0x101471c4]
vfmadd213ss xmm0, xmm2, dword [esi + 0x18]
vsubss xmm0, xmm0, dword [esp + 0x140]
vsubss xmm3, xmm0, dword [esi + 0x74]
xor eax, eax
vaddss xmm0, xmm7, xmm3
vmovss dword [esi + 0x248], xmm0
vinsertps xmm0, xmm1, dword [esp + 0x140], 0x10
vinsertps xmm2, xmm0, xmm2, 0x1d
vaddps xmm0, xmm0, xmm2
vxorps xmm2, xmm2, xmm2
vmovlps qword [esi + 0x104], xmm2
vsubps xmm0, xmm0, xmm4
vmovss dword [esi + 0x100], xmm0
vaddps xmm0, xmm0, xmm5
vbroadcastsd ymm0, xmm0
vmovups ymmword [esi + 0xc8], ymm0
mov dword [esi + 0x134], 0
vmovups xmmword [esi + 0xe8], xmm2
mov dword [esi + 0xfc], 0
mov dword [esi + 0xf8], 0
mov dword [esi + 0x138], 1
mov ecx, dword [esi + 0x140]
mov dword [esi + 0x13c], ecx
mov dword [esi + 0x140], 0
test ebx, 0x1000000
je 0x100a8b9b
mov eax, dword [edi + 0x144]
mov dword [esi + 0x144], eax
mov byte [esi + 0x148], 0
vmovss xmm0, dword [esi + 0x5c]
vxorps xmm2, xmm2, xmm2
vucomiss xmm0, xmm2
seta byte [esi + 0x149]
mov byte [esi + 0x14a], 0
vmovss xmm0, dword [ebp + 0x1ae0]
vmovss xmm2, dword [ebp + 0x1560]
vcmpless xmm3, xmm2, xmm1
vblendvps xmm1, xmm2, xmm1, xmm3
vcmpless xmm2, xmm0, xmm1
vblendvps xmm0, xmm0, xmm1, xmm2
vmovss dword [esi + 0x14c], xmm0
vmovss xmm0, dword [ebp + 0x1ae4]
vmovss dword [esi + 0x150], xmm0
lea ecx, [esi + 0x154]
vmovss xmm0, dword [ebp + 0x1560]
sub esp, 0xc
movzx eax, byte [esp + 0x17]
mov dword [esp + 8], eax
vmovss dword [esp + 4], xmm0
mov dword [esp], 3
vzeroupper
call fcn.100dce90
mov dword [esi + 0x178], 0
mov dword [esi + 0x17c], 0
cmp dword [esi + 0x184], 0
jns 0x100a8ccb
mov eax, dword [0x102a05a0]
test eax, eax
je 0x100a8c5c
inc dword [eax + 0x374]
push dword [0x102a05a8]
push 0
call dword [0x1029f8ac]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x188]
test eax, eax
je 0x100a8cb7
mov ecx, dword [esi + 0x180]
shl ecx, 2
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x188]
test eax, eax
je 0x100a8ca7
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a8ca7
dec dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8b0]
add esp, 8
mov dword [esi + 0x188], ebx
mov dword [esi + 0x184], 0
mov ebx, dword [esp + 4]
mov dword [esi + 0x180], 0
lea eax, [esi + 0x258]
mov dword [esi + 0x18c], eax
mov dword [esi + 0x190], 0
mov dword [esi + 0x194], 1
test edi, edi
je 0x100a8d01
mov eax, dword [edi + 0x194]
jmp 0x100a8d06
mov eax, 1
mov dword [esi + 0x198], eax
mov dword [esi + 0x1a0], 0xffffffff
mov dword [esi + 0x19c], 0xffffffff
vmovss xmm0, dword [esi + 0x254]
vmovss dword [esi + 0x1a8], xmm0
mov dword [esi + 0x1ac], 0xbf800000
cmp dword [esi + 0x1b4], 0
jns 0x100a8dc1
mov eax, dword [0x102a05a0]
test eax, eax
je 0x100a8d52
inc dword [eax + 0x374]
push dword [0x102a05a8]
push 0
call dword [0x1029f8ac]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x1b8]
test eax, eax
je 0x100a8dad
mov ecx, dword [esi + 0x1b0]
shl ecx, 2
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x1b8]
test eax, eax
je 0x100a8d9d
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a8d9d
dec dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8b0]
add esp, 8
mov dword [esi + 0x1b8], ebx
mov dword [esi + 0x1b4], 0
mov ebx, dword [esp + 4]
mov dword [esi + 0x1b0], 0
cmp dword [esi + 0x1c0], 0
jns 0x100a8e52
mov eax, dword [0x102a05a0]
test eax, eax
je 0x100a8de3
inc dword [eax + 0x374]
push dword [0x102a05a8]
push 0
call dword [0x1029f8ac]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x1c4]
test eax, eax
je 0x100a8e3e
mov ecx, dword [esi + 0x1bc]
shl ecx, 2
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x1c4]
test eax, eax
je 0x100a8e2e
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a8e2e
dec dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8b0]
add esp, 8
mov dword [esi + 0x1c4], ebx
mov dword [esi + 0x1c0], 0
mov ebx, dword [esp + 4]
mov dword [esi + 0x1bc], 0
cmp dword [esi + 0x1cc], 0
jns 0x100a8ee3
mov eax, dword [0x102a05a0]
test eax, eax
je 0x100a8e74
inc dword [eax + 0x374]
push dword [0x102a05a8]
push 0
call dword [0x1029f8ac]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x1d0]
test eax, eax
je 0x100a8ecf
mov ecx, dword [esi + 0x1c8]
shl ecx, 2
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x1d0]
test eax, eax
je 0x100a8ebf
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a8ebf
dec dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8b0]
add esp, 8
mov dword [esi + 0x1d0], ebx
mov dword [esi + 0x1cc], 0
mov ebx, dword [esp + 4]
mov dword [esi + 0x1c8], 0
cmp dword [esi + 0x1d8], 0
jns 0x100a8f72
mov eax, dword [0x102a05a0]
test eax, eax
je 0x100a8f05
inc dword [eax + 0x374]
push dword [0x102a05a8]
push 0
call dword [0x1029f8ac]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x1dc]
test eax, eax
je 0x100a8f5e
imul ecx, dword [esi + 0x1d4], 0x2c
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x1dc]
test eax, eax
je 0x100a8f4e
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a8f4e
dec dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8b0]
add esp, 8
mov dword [esi + 0x1dc], ebx
mov dword [esi + 0x1d8], 0
mov ebx, dword [esp + 4]
mov dword [esi + 0x1d4], 0
test edi, edi
je 0x100a8fae
mov ecx, dword [edi + 0x1a4]
mov dword [esi + 0x1a4], ecx
mov eax, dword [esi + 0x1b0]
cmp eax, dword [esi + 0x1b4]
jne 0x100a8fbd
lea esi, [eax + 1]
test eax, eax
je 0x100a8fc8
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100a8fcd
mov dword [esi + 0x1a4], 0
jmp 0x100a9070
mov ebx, dword [esi + 0x1b8]
jmp 0x100a9063
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
lea eax, [esi*4]
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a8fe9
inc dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8ac]
add esp, 8
mov ebx, eax
mov edi, dword [esp]
mov eax, dword [edi + 0x1b8]
test eax, eax
je 0x100a9049
mov ecx, dword [edi + 0x1b0]
shl ecx, 2
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x1b8]
test eax, eax
je 0x100a9036
mov ecx, dword [0x102a05a0]
test ecx, ecx
je 0x100a9036
dec dword [ecx + 0x374]
push dword [0x102a05a8]
push eax
call dword [0x1029f8b0]
add esp, 8
mov edi, dword [esp]
mov dword [edi + 0x1b8], ebx
mov dword [edi + 0x1b4], esi
mov ecx, dword [edi + 0x1a4]
mov eax, dword [edi + 0x1b0]
mov esi, edi
mov dword [ebx + eax*4], ecx
inc dword [esi + 0x1b0]
mov ebx, dword [esp + 4]
movzx eax, byte [esi + 0x90]
test al, al
jle 0x100a9083
dec al
mov byte [esi + 0x90], al
movzx eax, byte [esi + 0x91]
test al, al
jle 0x100a9096
dec al
mov byte [esi + 0x91], al
test byte [esp + 0x110], 1
je 0x100a914d
push esi
call fcn.100a0320
add esp, 4
mov edi, dword [0x102a05a0]
mov eax, dword [esi + 8]
test eax, 0x40000
jne 0x100a915d
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x100a90db
mov eax, dword [esi + 0x308]
test eax, eax
jne 0x100a9163
mov eax, dword [edi + 0x1b38]
mov ecx, dword [edi + 0x1b80]
mov dword [edi + 0x1b3c], 0
mov dword [edi + 0x1b40], 0
mov dword [eax + ecx*4 + 0x308], 0
mov word [edi + 0x1b8d], 1
vxorps xmm0, xmm0, xmm0
vmovups xmmword [edi + 0x1b90], xmm0
mov dword [edi + 0x1ba0], 0
mov edi, dword [0x102a05a0]
mov al, 1
cmp byte [edi + 0x1ba5], 0
jne 0x100a913d
movzx eax, byte [edi + 0x1b8d]
mov byte [edi + 0x1b8c], al
test bl, 1
je 0x100a917c
jmp 0x100a991c
mov edi, dword [0x102a05a0]
test bl, 1
je 0x100a917c
jmp 0x100a991c
mov eax, dword [esi + 0x308]
mov dword [edi + 0x1b3c], eax
mov dword [edi + 0x1b40], 0
test bl, 1
jne 0x100a991c
mov eax, dword [esi + 8]
mov dword [esp + 0x74], eax
test al, 0x20
jne 0x100a9193
cmp dword [edi + 0x153c], 0xffffffff
setne al
jmp 0x100a9195
xor eax, eax
mov ebx, dword [esi + 0x1a4]
mov ecx, ebx
or ecx, 0x10
mov dword [esi + 0x1a4], ecx
mov dword [esi + 0x134], 1
mov dword [esi + 0x138], 2
vmovss xmm5, dword [edi + 0x1550]
vmovss xmm0, dword [edi + 0x18d4]
vxorps xmm1, xmm1, xmm1
vmovlps qword [esp + 0xa4], xmm1
vmovlps qword [esp + 0x118], xmm1
vmovaps xmm6, xmm5
cmp dword [esp + 0x210], 0
je 0x100a9214
vaddss xmm6, xmm5, xmm0
mov ecx, dword [esp + 0x68]
vmovss xmm1, dword [esp + 0x6c]
vsubss xmm1, xmm1, xmm6
vsubss xmm1, xmm1, xmm5
vmovss dword [esp + 0xa4], xmm1
mov dword [esp + 0xa8], ecx
test al, al
je 0x100a936a
mov eax, dword [edi + 0x153c]
test eax, eax
je 0x100a9253
cmp eax, 1
jne 0x100a9275
vaddss xmm6, xmm0, xmm6
mov eax, dword [esp + 0x68]
vmovss xmm0, dword [esp + 0x6c]
vsubss xmm0, xmm0, xmm6
vsubss xmm0, xmm0, xmm5
vmovss dword [esp + 0x118], xmm0
mov dword [esp + 0x11c], eax
jmp 0x100a9275
mov eax, dword [esp + 0x68]
vaddss xmm1, xmm5, dword [esp + 0x64]
vsubss xmm1, xmm1, xmm5
vmovss dword [esp + 0x118], xmm1
mov dword [esp + 0x11c], eax
vaddss xmm5, xmm5, xmm0
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 0xc4]
mov eax, dword [ecx + eax*4 - 4]
movzx ecx, al
not eax
shr eax, 8
xor ecx, 0xdc
xor eax, dword [ecx*4 + 0x101497fc]
movzx ecx, al
shr eax, 8
xor ecx, 0x43
xor eax, dword [ecx*4 + 0x101497fc]
movzx ecx, al
shr eax, 8
xor ecx, 0x4f
xor eax, dword [ecx*4 + 0x101497fc]
movzx ecx, al
shr eax, 8
xor ecx, 0x4c
xor eax, dword [ecx*4 + 0x101497fc]
movzx ecx, al
shr eax, 8
xor ecx, 0x4c
xor eax, dword [ecx*4 + 0x101497fc]
movzx ecx, al
shr eax, 8
xor ecx, 0x41
xor eax, dword [ecx*4 + 0x101497fc]
movzx ecx, al
shr eax, 8
xor ecx, 0x50
xor eax, dword [ecx*4 + 0x101497fc]
movzx ecx, al
shr eax, 8
xor ecx, 0x53
xor eax, dword [ecx*4 + 0x101497fc]
movzx ecx, al
shr eax, 8
xor ecx, 0x45
xor eax, dword [ecx*4 + 0x101497fc]
not eax
cmp dword [edi + 0x1a3c], eax
jne 0x100a932a
mov dword [edi + 0x1a40], eax
vmovups xmmword [esp + 0x2c], xmm6
vmovups xmmword [esp + 0x3c], xmm5
cmp dword [edi + 0x1a74], eax
jne 0x100a9345
cmp dword [esp + 0x210], 0
vmovups xmmword [esp + 0x3c], xmm5
vmovups xmmword [esp + 0x2c], xmm6
je 0x100a9449
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 0xc4]
mov eax, dword [ecx + eax*4 - 4]
movzx ecx, al
not eax
shr eax, 8
xor ecx, 0xdc
xor eax, dword [ecx*4 + 0x101497fc]
movzx ecx, al
shr eax, 8
xor ecx, 0x43
xor eax, dword [ecx*4 + 0x101497fc]
movzx ecx, al
shr eax, 8
xor ecx, 0x4c
xor eax, dword [ecx*4 + 0x101497fc]
movzx ecx, al
shr eax, 8
xor ecx, 0x4f
xor eax, dword [ecx*4 + 0x101497fc]
movzx ecx, al
shr eax, 8
xor ecx, 0x53
xor eax, dword [ecx*4 + 0x101497fc]
movzx ecx, al
shr eax, 8
xor ecx, 0x45
xor eax, dword [ecx*4 + 0x101497fc]
not eax
mov ecx, dword [0x102a05a0]
cmp dword [ecx + 0x1a3c], eax
jne 0x100a940f
mov dword [ecx + 0x1a40], eax
cmp dword [ecx + 0x1a74], eax
jne 0x100a941e
mov dword [esi + 0x134], 0
mov dword [esi + 0x138], 1
mov dword [esi + 0x1a4], ebx
vxorps xmm7, xmm7, xmm7
mov eax, dword [0x102a05a0]
test dword [esp + 0x74], 0x100000
je 0x100a94e8
vmovss xmm0, dword [eax + 0x18d4]
mov ecx, dword [eax + 0x18d0]
sub esp, 0x1c
vmovss dword [esp + 4], xmm0
lea eax, [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x1016c8b9
mov dword [esp + 0xc], 0xbf800000
mov dword [esp + 8], 0x7f7fffff
call fcn.100c1440
vmovups xmm6, xmmword [esp + 0x2c]
vmovups xmm5, xmmword [esp + 0x3c]
vmovss xmm0, dword [esp + 0x10]
vaddss xmm0, xmm0, dword [str.33s_]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm7, xmm0
mov eax, dword [0x102a05a0]
mov esi, dword [esp + 0x20c]
cmp esi, 0xffffffff
je 0x100a951a
mov eax, dword [esi + 0x48]
mov dword [esi + 0x10c], eax
vmovss xmm0, dword [esp + 0x64]
vmovss xmm1, dword [edi + 0x1570]
vsubss xmm2, xmm0, xmm1
vmovss xmm0, dword [edi + 0xe8]
xor eax, eax
vucomiss xmm0, xmm2
jb 0x100a998b
vmovss xmm2, dword [esp + 0x68]
vmovss xmm3, dword [edi + 0x1574]
vaddss xmm1, xmm1, dword [esp + 0x6c]
vaddss xmm4, xmm3, dword [esp + 0x70]
vsubss xmm2, xmm2, xmm3
vmovss xmm3, dword [edi + 0xec]
vcmpltps xmm0, xmm0, xmm1
vcmpleps xmm1, xmm2, xmm3
vandps xmm0, xmm1, xmm0
vmovd eax, xmm0
vucomiss xmm4, xmm3
seta cl
and cl, al
movzx eax, cl
mov dword [esi + 0x110], eax
vmovups xmm0, xmmword [esp + 0x64]
vmovups xmmword [esi + 0x114], xmm0
mov eax, dword [edi + 0x1a08]
mov ebx, esi
mov byte [eax + 0x7c], 1
mov esi, dword [edi + 0x1a08]
mov ecx, dword [esi + 0x278]
vmovups xmm0, xmmword [ebx + 0x20c]
sub esp, 0x14
vmovups xmmword [esp], xmm0
mov dword [esp + 0x10], 1
vzeroupper
call fcn.100b31e0
mov eax, dword [esi + 0x278]
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x48]
shl ecx, 4
vmovups xmm0, xmmword [ecx + eax - 0x10]
vmovups xmmword [esi + 0x22c], xmm0
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x114]
mov ecx, ebx
je 0x100a9a07
mov byte [ecx + 0x7c], 0
inc word [ecx + 0x86]
mov dword [ebp + 0x1a88], 0
mov eax, dword [esp + 4]
test eax, 0x1000000
mov edx, dword [esp + 0xc]
je 0x100a9aa1
test al, 0x40
jne 0x100a9a6b
cmp byte [ecx + 0x90], 0
jg 0x100a9a6b
test edx, edx
je 0x100a9aa1
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [ebp + 0x1518]
jae 0x100a9ac6
mov al, 1
cmp dword [ecx + 0x98], 0
jg 0x100a9ad2
mov dword [ecx + 0x98], 1
mov al, 1
mov byte [ecx + 0x81], al
cmp byte [ecx + 0x7d], 0
je 0x100a9afc
vxorps xmm2, xmm2, xmm2
test al, al
jne 0x100a6e98
jmp 0x100a6e86
cmp byte [esi + 0x7b], 0
je 0x100a6d37
mov eax, dword [0x102a05a0]
movzx ecx, byte [eax + 0xb3]
mov dword [esp + 0x20], eax
vmovss xmm0, dword [eax + 0x18d4]
vmovss xmm1, dword [0x101478fc]
vfmadd213ss xmm1, xmm0, dword [esp + 0x180]
vmulss xmm0, xmm0, dword [0x1014a090]
vcmpless xmm2, xmm1, xmm0
vblendvps xmm0, xmm1, xmm0, xmm2
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmulss xmm0, xmm0, dword [0x10146fc4]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovups xmmword [esp + 0x170], xmm0
vxorps xmm0, xmm0, xmm0
mov byte [esp + 0x63], cl
test cl, cl
je 0x100a9ba5
vmovss xmm0, dword [0x10146fd0]
vmovups xmmword [esp + 0x2c], xmm0
mov dword [esi + 0x134], 1
mov dword [esi + 0x138], 2
push str.RESIZE
call fcn.100ae3c0
add esp, 4
vmovss xmm0, dword [esp + 0xdc]
vmovss dword [esp + 0x134], xmm0
vmovss xmm0, dword [esp + 0xe0]
vmovss dword [esp + 0x130], xmm0
vbroadcastss xmm0, dword [0x10144e60]
vbroadcastss xmm1, dword [esp + 0x170]
vmovups xmmword [esp + 0x1e8], xmm1
vxorps xmm0, xmm1, xmm0
vmovups xmmword [esp + 0x1c8], xmm0
vbroadcastss xmm0, dword [esp + 0x2c]
vmovups xmmword [esp + 0x1d8], xmm0
vbroadcastss xmm4, dword [0x10146f98]
mov dword [esp + 0x104], 0
mov eax, 0x10149c04
xor ebx, ebx
vmovaps xmm5, xmm4
jmp 0x100a9d6c
cmp al, 1
mov eax, 0x1f
sbb eax, 0
test cl, cl
mov ecx, 0x20
cmovne eax, ecx
mov ecx, dword [0x102a05a0]
shl eax, 4
vmovss xmm0, dword [ecx + eax + 0x15dc]
vmulss xmm0, xmm0, dword [ecx + 0x1518]
vmovss xmm1, dword [ecx + eax + 0x15d8]
vinsertps xmm0, xmm1, xmm0, 0x10
vbroadcastss xmm1, dword [0x10144ae0]
vminps xmm1, xmm1, xmm0
vcmpnltps xmm0, xmm0, xmmword [0x10147180]
vandps xmm0, xmm0, xmm1
vbroadcastss xmm1, dword [0x10145a98]
vbroadcastss xmm2, dword [0x10147544]
vfmadd213ps xmm2, xmm0, xmm1
vmovss xmm0, dword [ecx + eax + 0x15d0]
vmovss xmm1, dword [0x10144ae0]
vminss xmm1, xmm1, xmm0
vxorps xmm6, xmm6, xmm6
vcmpltss xmm0, xmm0, xmm6
vandnps xmm0, xmm0, xmm1
vmovss xmm1, dword [ecx + eax + 0x15d4]
vmovss xmm7, dword [0x10145a98]
vmovaps xmm3, xmm5
vmovaps xmm5, xmm4
vmovss xmm4, dword [0x10147544]
vfmadd213ss xmm0, xmm4, xmm7
vcvttss2si eax, xmm0
vmovss xmm0, dword [0x10144ae0]
vminss xmm0, xmm0, xmm1
vcmpltss xmm1, xmm1, xmm6
vandnps xmm0, xmm1, xmm0
vfmadd213ss xmm0, xmm4, xmm7
vmovaps xmm4, xmm5
vmovaps xmm5, xmm3
vcvttss2si ecx, xmm0
vcvttps2dq xmm0, xmm2
vpsllvd xmm0, xmm0, xmmword [0x10149f60]
vmovd edx, xmm0
vpextrd esi, xmm0, 1
shl ecx, 8
or ecx, eax
or edx, ecx
or esi, edx
mov dword [esp + ebx*4 + 0x1b0], esi
mov esi, dword [esp]
inc ebx
mov eax, dword [esp + 0xac]
add eax, 0x18
cmp dword [esp + 0x24], ebx
je 0x100aa0b8
vmovsd xmm0, qword [esi + 0xc]
vmovsd xmm1, qword [esi + 0x14]
vaddps xmm1, xmm0, xmm1
vsubps xmm1, xmm1, xmm0
vmovsd xmm3, qword [eax - 8]
vmovsd xmm6, qword [eax]
vmulps xmm2, xmm6, xmmword [esp + 0x1e8]
vmovups xmmword [esp + 0x120], xmm3
vfmadd213ps xmm1, xmm3, xmm0
vmovddup xmm0, xmm1
vmovups xmmword [esp + 0x150], xmm6
vmulps xmm1, xmm6, xmmword [esp + 0x1d8]
vmovups xmmword [esp + 0x190], xmm1
vmovlhps xmm2, xmm1, xmm2
vsubps xmm1, xmm0, xmm2
vaddps xmm0, xmm0, xmm2
vblendps xmm2, xmm0, xmm1, 3
vmovups xmmword [esp + 0x10], xmm2
vshufpd xmm2, xmm0, xmm0, 1
vucomiss xmm1, xmm2
jbe 0x100a9dec
vmovss dword [esp + 0x10], xmm2
vmovss dword [esp + 0x18], xmm1
mov dword [esp + 0xac], eax
vmovshdup xmm1, xmm1
vshufps xmm0, xmm0, xmm0, 0xff
vucomiss xmm1, xmm0
jbe 0x100a9e0e
vmovss dword [esp + 0x14], xmm0
vmovss dword [esp + 0x1c], xmm1
mov edx, ebx
shr edx, 8
mov ecx, ebx
shr ecx, 0x10
mov esi, ebx
shr esi, 0x18
mov eax, ebx
mov ebx, dword [esp]
mov edi, dword [ebx + 0xbc]
mov ebx, dword [ebx + 0xc4]
mov ebx, dword [ebx + edi*4 - 4]
not ebx
mov dword [esp + 0xbc], eax
xor eax, ebx
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x101497fc]
mov eax, ebx
shr eax, 8
xor ebx, edx
movzx edx, bl
xor eax, dword [edx*4 + 0x101497fc]
mov edx, eax
shr edx, 8
xor eax, ecx
movzx eax, al
xor edx, dword [eax*4 + 0x101497fc]
movzx eax, dl
mov ecx, edx
shr ecx, 8
xor eax, esi
xor ecx, dword [eax*4 + 0x101497fc]
not ecx
mov eax, dword [0x102a05a0]
cmp dword [eax + 0x1a3c], ecx
jne 0x100a9e92
mov dword [eax + 0x1a40], ecx
vmovups xmmword [esp + 0x50], xmm5
vmovups xmmword [esp + 0x2c], xmm4
cmp dword [eax + 0x1a74], ecx
jne 0x100a9ead
mov byte [eax + 0x1a78], 1
push 0x4080
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x6c]
push eax
push ecx
lea eax, [esp + 0x20]
push eax
call fcn.100c8d70
add esp, 0x14
movzx eax, byte [esp + 0xa4]
movzx ecx, byte [esp + 0x64]
or cl, al
mov esi, dword [esp]
mov ebx, dword [esp + 0xbc]
jne 0x100a9ef9
vmovups xmm4, xmmword [esp + 0x2c]
vmovups xmm5, xmmword [esp + 0x50]
jmp 0x100aa08e
mov ecx, ebx
and ecx, 1
mov edx, 6
sub edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x1dac], edx
test al, al
vmovups xmm4, xmmword [esp + 0x2c]
vmovups xmm5, xmmword [esp + 0x50]
je 0x100aa08e
test ebx, ebx
jne 0x100a9fcf
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x3e5], 0
je 0x100a9fcf
lea ecx, [esp + 0x94]
mov edx, esi
vmovss xmm0, dword [esp + 0x134]
vmovss xmm1, dword [esp + 0x130]
call fcn.100ad5c0
mov eax, dword [0x102a05a0]
cmp dword [eax + 0x1a3c], 0
vmovsd xmm5, qword [esp + 0x94]
setne byte [eax + 0x1a48]
je 0x100a9f8d
mov dword [eax + 0x1a44], 0
mov word [eax + 0x1a4a], 0
mov dword [eax + 0x1a3c], 0
mov byte [eax + 0x1a49], 0
mov dword [eax + 0x1a68], 0
mov byte [eax + 0x1a4c], 0
vxorps xmm0, xmm0, xmm0
vmovups xmmword [eax + 0x1a50], xmm0
mov al, 1
mov dword [esp + 0x104], eax
vmovups xmm4, xmmword [esp + 0x2c]
jmp 0x100aa08e
vmovups xmm0, xmmword [esp + 0x150]
vmulps xmm0, xmm0, xmmword [esp + 0x1c8]
vmovsd xmm1, qword [esi + 0x14]
vmovups xmm4, xmmword [esp + 0x120]
vcmpeqps xmm2, xmm4, xmmword [0x10147180]
vmovups xmmword [esp + 0x2c], xmm2
vmovups xmm2, xmmword [esp + 0x190]
vsubps xmm0, xmm0, xmm2
vfmadd213ps xmm0, xmm4, xmm2
mov eax, dword [esp + 0x20]
vmovsd xmm2, qword [eax + 0xe8]
vmovsd xmm3, qword [eax + 0x1a60]
vsubps xmm2, xmm2, xmm3
vaddps xmm0, xmm0, xmm2
vmovsd xmm2, qword [esi + 0xc]
vsubps xmm3, xmm2, xmm0
vfmadd213ps xmm3, xmm4, xmm0
vmovups xmmword [esp + 0x50], xmm3
vaddps xmm1, xmm2, xmm1
vsubps xmm0, xmm0, xmm1
vfmadd213ps xmm0, xmm4, xmm1
vsubps xmm0, xmm0, xmm3
vmovups xmmword [esp + 0x120], xmm0
vmovshdup xmm1, xmm0
lea ecx, [esp + 0x94]
mov edx, esi
call fcn.100ad5c0
vmovsd xmm5, qword [esp + 0x94]
vsubps xmm0, xmm5, xmmword [esp + 0x120]
vandps xmm0, xmm0, xmmword [esp + 0x2c]
vmovups xmm1, xmmword [esp + 0x50]
vsubps xmm4, xmm1, xmm0
movzx ecx, byte [esp + 0xa4]
movzx eax, byte [esp + 0x64]
test ebx, ebx
je 0x100a9c4d
test cl, cl
jne 0x100a9c4d
test al, al
je 0x100a9d57
jmp 0x100a9c4d
cmp byte [esp + 0x63], 0
je 0x100aa4a8
vmovups xmm1, xmmword [esp + 0x170]
vblendps xmm0, xmm1, xmmword [0x1014a0a0], 0xe
vmovups xmmword [esp + 0xac], xmm0
vbroadcastss xmm0, dword [0x101471bc]
vblendps xmm2, xmm1, xmmword [0x1014a0b0], 0xe
vmovups xmmword [esp + 0x120], xmm2
vinsertps xmm0, xmm0, xmm1, 0x10
vmovups xmmword [esp + 0x150], xmm0
vmovaps xmm0, xmmword [0x1014a0c0]
vinsertps xmm0, xmm0, xmm1, 0x10
vshufps xmm0, xmm0, xmm0, 0x64
vmovups xmmword [esp + 0x190], xmm0
xor edi, edi
mov dword [esp + 0xbc], 0xffffffff
jmp 0x100aa1dc
mov eax, dword [esp + 0x20]
vmovss xmm2, dword [eax + 0xe8]
vsubss xmm2, xmm2, dword [eax + 0x1a60]
vaddss xmm2, xmm2, dword [0x10146fd0]
vblendps xmm2, xmm0, xmm2, 1
vsubps xmm4, xmm0, xmm2
vmovsd xmm3, qword [esi + 0x14]
vcmpeqps xmm5, xmm1, xmmword [0x10147180]
vmovups xmmword [esp + 0x2c], xmm5
vfmadd213ps xmm4, xmm1, xmm2
vmovups xmmword [esp + 0x50], xmm4
vaddps xmm0, xmm0, xmm3
vsubps xmm2, xmm2, xmm0
vfmadd213ps xmm2, xmm1, xmm0
vsubps xmm0, xmm2, xmm4
vmovups xmmword [esp + 0xbc], xmm0
vmovshdup xmm1, xmm0
lea ecx, [esp + 0x94]
mov edx, esi
call fcn.100ad5c0
vmovsd xmm5, qword [esp + 0x94]
vsubps xmm0, xmm5, xmmword [esp + 0xbc]
vandps xmm0, xmm0, xmmword [esp + 0x2c]
vmovups xmm1, xmmword [esp + 0x50]
vsubps xmm4, xmm1, xmm0
mov dword [esp + 0xbc], edi
inc edi
cmp edi, 4
je 0x100aa4b3
cmp edi, 3
ja case.default.0x100aa1f3
vmovsd xmm0, qword [esi + 0xc]
vmovsd xmm1, qword [esi + 0x14]
vaddps xmm1, xmm0, xmm1
jmp dword [edi*4 + 0x1014a224]
vmovshdup xmm2, xmm0
vaddss xmm2, xmm2, dword [0x10146fd0]
vsubss xmm1, xmm1, dword [esp + 0x170]
vaddps xmm0, xmm0, xmmword [esp + 0xac]
vmovlps qword [esp + 0x10], xmm0
vmovss dword [esp + 0x18], xmm1
vmovss dword [esp + 0x1c], xmm2
jmp 0x100aa2be
vmovshdup xmm2, xmm1
vsubss xmm2, xmm2, dword [esp + 0x170]
vaddss xmm3, xmm1, dword [0x10146fd0]
vblendps xmm0, xmm1, xmm0, 2
vaddps xmm0, xmm0, xmmword [esp + 0x150]
vmovlps qword [esp + 0x10], xmm0
vmovss dword [esp + 0x18], xmm3
vmovss dword [esp + 0x1c], xmm2
jmp 0x100aa2be
vaddsubps xmm2, xmm1, xmmword [esp + 0x120]
vblendps xmm0, xmm0, xmm1, 2
vaddps xmm0, xmm0, xmmword [esp + 0xac]
vmovlhps xmm0, xmm0, xmm2
vmovups xmmword [esp + 0x10], xmm0
jmp 0x100aa2be
vshufps xmm1, xmm1, xmm0, 1
vshufps xmm0, xmm0, xmm1, 0x24
vmovups xmm2, xmmword [esp + 0x190]
vaddps xmm1, xmm0, xmm2
vsubps xmm0, xmm0, xmm2
vblendps xmm0, xmm1, xmm0, 8
vmovups xmmword [esp + 0x10], xmm0
jmp 0x100aa2be
vxorps xmm0, xmm0, xmm0
vmovups xmmword [esp + 0x10], xmm0
lea edx, [edi + 4]
mov esi, edx
shr esi, 8
mov ecx, edx
mov ebx, dword [esp]
mov eax, dword [ebx + 0xbc]
mov ebx, dword [ebx + 0xc4]
mov ebx, dword [ebx + eax*4 - 4]
mov eax, edx
not ebx
xor edx, ebx
shr ebx, 8
movzx edx, dl
xor ebx, dword [edx*4 + 0x101497fc]
mov edx, ebx
xor ebx, esi
shr ecx, 0x10
shr edx, 8
movzx esi, bl
xor edx, dword [esi*4 + 0x101497fc]
mov ebx, edx
xor edx, ecx
shr eax, 0x18
shr ebx, 8
movzx ecx, dl
xor ebx, dword [ecx*4 + 0x101497fc]
movzx ecx, bl
xor ecx, eax
mov eax, ebx
shr eax, 8
xor eax, dword [ecx*4 + 0x101497fc]
not eax
mov ecx, dword [0x102a05a0]
cmp dword [ecx + 0x1a3c], eax
jne 0x100aa33d
mov dword [ecx + 0x1a40], eax
vmovups xmmword [esp + 0x50], xmm5
vmovups xmmword [esp + 0x2c], xmm4
cmp dword [ecx + 0x1a74], eax
jne 0x100aa358
mov byte [ecx + 0x1a78], 1
push 0x80
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x6c]
push ecx
push eax
lea eax, [esp + 0x20]
push eax
call fcn.100c8d70
add esp, 0x14
cmp byte [esp + 0x64], 0
mov esi, dword [esp]
je 0x100aa3cf
mov eax, dword [esp + 0x20]
vmovss xmm0, dword [eax + 0x1a34]
vucomiss xmm0, dword [0x101478f8]
movzx eax, byte [esp + 0xa4]
vmovups xmm4, xmmword [esp + 0x2c]
vmovups xmm5, xmmword [esp + 0x50]
ja 0x100aa3b4
test al, al
je 0x100aa1d2
mov ecx, edi
and ecx, 1
add ecx, 3
mov edx, dword [esp + 0x20]
mov dword [edx + 0x1dac], ecx
test al, al
jne 0x100aa3fb
jmp 0x100aa1d2
cmp byte [esp + 0xa4], 0
vmovups xmm4, xmmword [esp + 0x2c]
vmovups xmm5, xmmword [esp + 0x50]
je 0x100aa1d2
mov eax, edi
and eax, 1
add eax, 3
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x1dac], eax
mov eax, dword [esp + 0x108]
vmovsd xmm0, qword [eax]
vxorps xmm1, xmm1, xmm1
cmp edi, 3
ja case.default.0x100aa413
jmp dword [edi*4 + 0x1014a234]
mov eax, dword [esp + 0x20]
vmovss xmm2, dword [eax + 0xec]
vsubss xmm2, xmm2, dword [eax + 0x1a64]
vaddss xmm2, xmm2, dword [0x10146fd0]
vinsertps xmm2, xmm0, xmm2, 0x10
jmp 0x100aa15a
mov eax, dword [esp + 0x20]
vmovss xmm1, dword [eax + 0xe8]
vsubss xmm1, xmm1, dword [eax + 0x1a60]
vaddss xmm1, xmm1, dword [0x10146fd0]
vblendps xmm2, xmm0, xmm1, 1
vmovss xmm1, dword [0x10144ae0]
jmp 0x100aa15a
mov eax, dword [esp + 0x20]
vmovss xmm1, dword [eax + 0xec]
vsubss xmm1, xmm1, dword [eax + 0x1a64]
vaddss xmm1, xmm1, dword [0x10146fd0]
vinsertps xmm2, xmm0, xmm1, 0x10
vmovddup xmm1, qword [0x10149f10]
jmp 0x100aa15a
vmovaps xmm2, xmm0
jmp 0x100aa15a
mov dword [esp + 0xbc], 0xffffffff
mov eax, dword [0x102a05a0]
mov eax, dword [eax + 0x1a08]
dec dword [eax + 0xbc]
mov dword [esi + 0x134], 0
mov dword [esi + 0x138], 1
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x1c40]
test eax, eax
je 0x100aa52e
cmp dword [eax + 0x2f8], esi
mov edi, dword [esp + 0xc]
jne 0x100aa623
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x1b68]
cmp eax, 4
vmovups xmmword [esp + 0x2c], xmm4
je 0x100aa537
vxorps xmm0, xmm0, xmm0
cmp eax, 3
jne 0x100aa56f
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x101], 0
je 0x100aa56f
sub esp, 0x14
vmovaps xmm0, xmmword [0x10145a30]
jmp 0x100aa542
mov edi, dword [esp + 0xc]
jmp 0x100aa623
sub esp, 0x14
vmovaps xmm0, xmmword [0x1014a0d0]
vmovups xmmword [esp + 4], xmm0
lea eax, [esp + 0x24]
mov dword [esp], eax
vmovups xmmword [esp + 0x64], xmm5
call fcn.100b07e0
vmovups xmm5, xmmword [esp + 0x64]
vmovups xmm4, xmmword [esp + 0x40]
add esp, 0x14
vmovsd xmm0, qword [esp + 0x10]
vxorps xmm2, xmm2, xmm2
vucomiss xmm0, xmm2
vmovshdup xmm1, xmm0
jne 0x100aa58b
jp 0x100aa58b
vucomiss xmm1, xmm2
jne 0x100aa58b
jnp 0x100aa623
mov eax, dword [esp + 0x20]
vmovss xmm2, dword [eax + 0x18]
vmovss xmm3, dword [eax + 0xa8]
vmulss xmm2, xmm2, dword [0x1014a0e0]
vminss xmm3, xmm3, dword [eax + 0xac]
vmulss xmm2, xmm2, xmm3
vcvttps2dq xmm2, xmm2
vcvtdq2ps xmm2, xmm2
vmulss xmm0, xmm0, xmm2
vmovss dword [esp + 0x50], xmm0
vmulss xmm0, xmm1, xmm2
vmovss dword [esp + 0xac], xmm0
mov byte [eax + 0x1c54], 0
mov byte [eax + 0x1b8b], 1
push 0x3f800000
push 0x20
call fcn.1009c4d0
add esp, 8
mov dword [esp + 0x1b0], eax
vmovss xmm0, dword [esp + 0xac]
vaddss xmm1, xmm0, dword [esi + 0x20]
vmovss xmm0, dword [esp + 0x50]
vaddss xmm0, xmm0, dword [esi + 0x1c]
lea ecx, [esp + 0x10]
mov edx, esi
call fcn.100ad5c0
vmovups xmm4, xmmword [esp + 0x2c]
vmovsd xmm5, qword [esp + 0x10]
vucomiss xmm5, dword [0x10146f98]
jne 0x100aa62f
jnp 0x100aa65a
vmovlps qword [esi + 0x1c], xmm5
test byte [esi + 9], 1
jne 0x100aa65a
mov eax, dword [0x102a05a0]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [eax + 0x2dbc]
jb 0x100aa65a
vmovss xmm0, dword [eax + 0x1c]
vmovss dword [eax + 0x2dbc], xmm0
vucomiss xmm4, dword [0x10146f98]
jne 0x100aa666
jnp 0x100aa699
vcvttps2dq xmm0, xmm4
vcvtdq2ps xmm0, xmm0
vmovlps qword [esi + 0xc], xmm0
test byte [esi + 9], 1
jne 0x100aa699
mov eax, dword [0x102a05a0]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [eax + 0x2dbc]
jb 0x100aa699
vmovss xmm0, dword [eax + 0x1c]
vmovss dword [eax + 0x2dbc], xmm0
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x18], ecx
test byte [esp + 0x104], 1
mov edx, dword [esp + 0xcc]
movzx edx, dl
mov ebx, 1
cmovne edx, ebx
mov dword [esi + 0x14], eax
mov ecx, dword [esp + 0xe4]
movzx ecx, cl
cmovne ecx, ebx
lea eax, [esi + 0x84]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xbc]
mov byte [esi + 0x84], al
cmp byte [esi + 0x7d], 0
je 0x100aa6f5
mov eax, dword [esp + 0x3c]
jmp 0x100a6eae
mov ebx, dword [esp + 4]
mov eax, edx
mov ebp, dword [esp + 0x28]
jmp 0x100a6d5d
mov byte [0x102a0630], 1
vmovaps ymm0, ymmword [0x1014a100]
vmovaps ymmword [0x102a05c0], ymm0
vmovaps ymm0, ymmword [0x1014a120]
vmovaps ymmword [0x102a05e0], ymm0
vmovaps ymm0, ymmword [0x1014a140]
vmovaps ymmword [0x102a0600], ymm0
vmovaps xmm0, xmmword [0x1014a160]
vmovaps xmmword [0x102a0620], xmm0
jmp 0x100a82fd