Function at 0x100a7030
Capabilities:
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1f4
mov eax, dword [esp + 0x208]
mov ebp, dword [0x102a2d10]
movzx ecx, byte [eax]
test cl, cl
je 0x100a7092
lea edx, [eax + 2]
mov esi, 0xffffffff
mov eax, 0xffffffff
jmp 0x100a7077
movzx edi, ch
movzx ebx, al
shr eax, 8
xor ebx, edi
xor eax, dword [ebx*4 + 0x1014b77c]
inc edx
test cl, cl
je 0x100a708e
mov ch, cl
mov cl, byte [edx - 1]
cmp ch, 0x23
jne 0x100a7060
cmp cl, 0x23
jne 0x100a7060
cmp byte [edx], 0x23
cmove eax, esi
jmp 0x100a7060
not eax
jmp 0x100a7094
xor eax, eax
mov edx, dword [ebp + 0x19f8]
mov dword [esp + 0x24], ebp
mov esi, dword [ebp + 0x1a00]
mov ecx, esi
test edx, edx
je 0x100a70cd
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 0x100a70b0
mov ebx, dword [esp + 0x210]
lea edx, [esi + edx*8]
cmp ecx, edx
mov ebp, dword [esp + 0x24]
je 0x100a70fb
cmp dword [ecx], eax
jne 0x100a70fb
mov esi, dword [ecx + 4]
xor eax, eax
mov dword [esp + 0x98], 0
test esi, esi
jne 0x100a7440
lea edi, [ebp + 0x19f8]
test ebp, ebp
je 0x100a710b
inc dword [ebp + 0x374]
push dword [0x102a2d18]
push 0x33c
call dword [0x102a1fbc]
add esp, 8
mov esi, eax
mov ecx, eax
push dword [esp + 0x208]
push ebp
call fcn.1009f240
mov dword [esp + 0x10], esi
mov dword [esi + 8], ebx
mov ecx, edi
push esi
push dword [esi + 4]
call fcn.1009d3f0
mov dword [esi + 0xc], 0x42700000
mov dword [esi + 0x10], 0x42700000
test ebx, 0x100
jne 0x100a720f
mov ecx, dword [0x102a2d10]
mov edx, dword [ecx + 0x2de0]
test edx, edx
je 0x100a720f
mov edi, dword [esi + 4]
add edx, 4
mov eax, edx
nop dword [eax + eax]
cmp dword [eax], edi
je 0x100a7199
add eax, dword [eax - 4]
mov ebp, dword [ecx + 0x2dd8]
add ebp, edx
cmp eax, ebp
mov ebp, dword [esp + 0x24]
jne 0x100a7180
jmp 0x100a720f
mov ecx, eax
sub ecx, dword [ebp + 0x2de0]
mov dword [esi + 0x274], ecx
movsd xmm0, qword [esi + 0xa0]
andps xmm0, xmmword [0x1014bfe0]
movlps qword [esi + 0xa0], xmm0
and byte [esi + 0xa8], 0xfb
movd xmm0, dword [eax + 4]
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
movlps qword [esi + 0xc], xmm0
movzx ecx, word [eax + 8]
test cx, cx
jle 0x100a7208
movzx edx, word [eax + 0xa]
test dx, dx
jle 0x100a7208
xorps xmm0, xmm0
pinsrw xmm0, ecx, 1
pinsrw xmm0, edx, 3
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
movlhps xmm0, xmm0
movups xmmword [esi + 0x14], xmm0
movzx eax, byte [eax + 0xc]
mov byte [esi + 0x7d], al
movq xmm0, qword [esi + 0xc]
pshufd xmm0, xmm0, 0x44
movdqu xmmword [esi + 0xd8], xmm0
test bl, 0x40
jne 0x100a725b
pxor xmm0, xmm0
ucomiss xmm0, dword [esi + 0x14]
jb 0x100a7237
mov byte [esi + 0x90], 2
ucomiss xmm0, dword [esi + 0x18]
jb 0x100a7244
mov byte [esi + 0x91], 2
mov al, 1
cmp byte [esi + 0x90], 0
jg 0x100a7266
cmp byte [esi + 0x91], 0
setg al
jmp 0x100a7266
mov word [esi + 0x90], 0x202
xor eax, eax
mov byte [esi + 0x93], al
mov eax, dword [ebp + 0x19d4]
cmp eax, dword [ebp + 0x19d8]
jne 0x100a728e
lea ebx, [eax + 1]
test eax, eax
je 0x100a7299
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100a729e
mov edi, dword [ebp + 0x19dc]
jmp 0x100a7335
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
lea eax, [ebx*4]
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100a72ba
inc dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fbc]
add esp, 8
mov edi, eax
mov ebp, dword [esp + 0x24]
mov eax, dword [ebp + 0x19dc]
test eax, eax
je 0x100a731c
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 0x100a7308
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100a7308
dec dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fc0]
add esp, 8
mov ebp, dword [esp + 0x24]
mov dword [ebp + 0x19dc], edi
mov dword [ebp + 0x19d8], ebx
mov eax, dword [ebp + 0x19d4]
mov ebx, dword [esp + 0x210]
mov dword [edi + eax*4], esi
inc dword [ebp + 0x19d4]
lea esi, [ebp + 0x19c8]
test ebx, 0x2000
jne 0x100a736e
mov eax, dword [ebp + 0x19c8]
cmp eax, dword [ebp + 0x19cc]
jne 0x100a737f
lea ebp, [eax + 1]
test eax, eax
je 0x100a738a
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100a738f
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.100b3850
jmp 0x100a7431
mov edi, dword [ebp + 0x19d0]
jmp 0x100a7428
mov ecx, 8
cmp ecx, ebp
cmovg ebp, ecx
lea eax, [ebp*4]
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100a73ab
inc dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fbc]
add esp, 8
mov edi, eax
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx + 0x19d0]
test eax, eax
je 0x100a740d
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 0x100a73f9
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100a73f9
dec dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fc0]
add esp, 8
mov ebx, dword [esp + 0x24]
mov dword [ebx + 0x19d0], edi
mov dword [ebx + 0x19cc], ebp
mov eax, dword [ebx + 0x19c8]
mov ebp, ebx
mov ebx, dword [esp + 0x210]
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 + 0x98], ecx
mov dword [esp + 0xb8], 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 + 0x48], eax
cmp dword [ebp + 0x19ec], 0
je 0x100a7475
xor eax, eax
jmp 0x100a747c
movzx eax, byte [ebp + 0x19bd]
mov byte [esi + 0x82], al
lea eax, [edi - 1]
cmp dword [esp + 0x48], eax
setl cl
mov edx, dword [esi + 0x9c]
mov dword [esp + 0x38], edx
test ebx, 0x4000000
mov dword [esp], esi
je 0x100a74d4
cmp dword [esp + 0x48], 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 + 0x38], 0
setg al
or al, cl
mov byte [esi + 0x80], al
cmp al, 1
jne 0x100a7507
movq xmm0, qword [esi + 0xa0]
por xmm0, xmmword [0x1014bff0]
movq qword [esi + 0xa0], xmm0
or byte [esi + 0xa8], 8
cmp dword [esp + 0x48], edi
mov byte [esp + 0xb], cl
jne 0x100a7516
mov ebx, dword [esi + 8]
jmp 0x100a7552
mov dword [esi + 8], ebx
mov dword [esi + 0x24c], edi
movsd xmm0, qword [ebp + 0x19a8]
cvtsd2ss xmm0, xmm0
movss 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 0x100a757c
mov ecx, dword [ebp + 0x19f4]
mov ecx, dword [ecx + eax*4 - 4]
mov dword [esp + 0xc], ecx
cmp dword [esp + 0x48], edi
jne 0x100a758a
mov ecx, dword [esi + 0x2f4]
mov dword [esp + 0xc], ecx
jmp 0x100a759d
mov dword [esp + 0xc], 0
cmp dword [esp + 0x48], edi
je 0x100a7570
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 + 0x120], edi
je 0x100a75cd
cmp eax, dword [ebp + 0x19f0]
jne 0x100a771a
lea esi, [eax + 1]
test eax, eax
je 0x100a75e7
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100a75ec
cmp dword [esi + 0xc0], 0
je 0x100a767c
mov edi, dword [esi + 0xc4]
xor eax, eax
jmp 0x100a76fc
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
lea eax, [esi*4]
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100a7608
inc dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fbc]
add esp, 8
mov edi, eax
mov eax, dword [ebp + 0x19f4]
test eax, eax
je 0x100a7662
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 0x100a7652
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100a7652
dec dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fc0]
add esp, 8
mov dword [ebp + 0x19f4], edi
mov dword [ebp + 0x19f0], esi
mov eax, dword [ebp + 0x19ec]
mov esi, dword [esp]
jmp 0x100a7720
mov eax, dword [0x102a2d10]
test eax, eax
je 0x100a768b
inc dword [eax + 0x374]
push dword [0x102a2d18]
push 0x20
call dword [0x102a1fbc]
add esp, 8
mov edi, eax
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x100a76e6
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 0x100a76d6
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100a76d6
dec dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fc0]
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 0x100a75b9
mov edi, dword [ebp + 0x19f4]
mov dword [edi + eax*4], esi
inc dword [ebp + 0x19ec]
mov dword [ebp + 0x1a08], 0
mov eax, dword [0x102a2d10]
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 0x100a78a5
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 0x100a77d6
lea ebx, [eax + 1]
test eax, eax
je 0x100a77e1
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100a77e6
mov edi, dword [ebp + 0x1b34]
jmp 0x100a7878
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
lea eax, [ebx*4]
lea eax, [eax + eax*8]
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100a7805
inc dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fbc]
add esp, 8
mov edi, eax
mov eax, dword [ebp + 0x1b34]
test eax, eax
je 0x100a7862
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 0x100a7852
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100a7852
dec dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fc0]
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
movups xmm0, xmmword [esi]
movdqu xmm1, xmmword [esi + 0x10]
movdqu xmmword [edi + eax*4 + 0x10], xmm1
movups xmmword [edi + eax*4], xmm0
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 + 0x38], 0
mov edi, dword [esp + 0x120]
jle 0x100a78c8
test eax, eax
jne 0x100a78c8
mov dword [esi + 0x308], 0
mov dword [esp + 0x100], eax
cmp dword [esp + 0x48], edi
je 0x100a7952
movd xmm0, esi
mov ecx, dword [esp + 0xc]
movd xmm1, ecx
punpckldq xmm1, xmm0
pshufd xmm0, xmm1, 0x54
movdqu xmmword [esi + 0x2f4], xmm0
mov eax, ebx
and eax, 0x3000000
cmp eax, 0x1000000
jne 0x100a7910
test ecx, ecx
je 0x100a7910
mov eax, dword [ecx + 0x2f8]
mov dword [esi + 0x2f8], eax
test ebx, 0x8000000
jne 0x100a7938
mov eax, ebx
and eax, 0x5000000
je 0x100a7938
cmp dword [esp + 0xc], 0
je 0x100a7938
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x2fc]
mov dword [esi + 0x2fc], eax
test byte [esi + 0xa], 0x80
je 0x100a7952
mov eax, esi
mov eax, dword [eax + 0x2f4]
mov dword [esi + 0x300], eax
test byte [eax + 0xa], 0x80
jne 0x100a7940
test byte [ebp + 0x1a88], 1
jne 0x100a7988
mov dword [esp + 0x28], 0
test byte [ebp + 0x1a88], 2
jne 0x100a7a7c
mov dword [esp + 0x70], 0
mov dword [esp + 0xa8], 0
jmp 0x100a7b53
mov eax, dword [esi + 0xa0]
mov ecx, dword [ebp + 0x1a8c]
test ecx, eax
setne dl
mov dword [esp + 0x28], edx
je 0x100a7a09
movss xmm0, dword [ebp + 0x1aa0]
movss xmm1, dword [ebp + 0x1aa4]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
ucomiss xmm0, dword [0x1014c000]
jbe 0x100a7a11
movsd xmm0, qword [ebp + 0x1a98]
movsd 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 + 0x28], eax
test byte [ebp + 0x1a88], 2
jne 0x100a7a7c
jmp 0x100a7970
test ecx, ecx
jne 0x100a795b
and eax, 0xfffffff1
mov dword [esi + 0xa0], eax
mov dword [esi + 0xac], 0x7f7fffff
mov dword [esi + 0xb0], 0x7f7fffff
movsd xmm0, qword [ebp + 0x1a98]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movsd xmm1, qword [esi + 0xc]
movsd xmm2, qword [esi + 0xc8]
movlps qword [esi + 0xc], xmm0
subps xmm0, xmm1
addps xmm2, xmm0
movlps qword [esi + 0xc8], xmm2
movlhps xmm0, xmm0
movups xmm1, xmmword [esi + 0xd8]
addps xmm1, xmm0
movups xmmword [esi + 0xd8], xmm1
test byte [ebp + 0x1a88], 2
je 0x100a7970
mov eax, dword [esi + 0xa4]
mov ecx, dword [ebp + 0x1a90]
test ecx, eax
je 0x100a7b38
movss xmm0, dword [ebp + 0x1aa8]
movss xmm1, dword [ebp + 0x1aac]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
seta cl
mov dword [esp + 0xa8], ecx
ucomiss xmm1, xmm2
seta cl
mov dword [esp + 0x70], ecx
and eax, 0xfffffff1
mov dword [esi + 0xa4], eax
movss xmm0, dword [ebp + 0x1aa8]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x100a7af0
mov byte [esi + 0x90], 0
movss xmm0, dword [ebp + 0x1aa8]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x1c], xmm0
jmp 0x100a7afe
mov byte [esi + 0x90], 2
mov byte [esi + 0x93], 0
movss xmm0, dword [ebp + 0x1aac]
ucomiss xmm0, xmm1
jbe 0x100a7b28
mov byte [esi + 0x91], 0
movss xmm0, dword [ebp + 0x1aac]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x20], xmm0
jmp 0x100a7b53
mov byte [esi + 0x91], 2
mov byte [esi + 0x93], 0
jmp 0x100a7b53
mov dword [esp + 0x70], 0
mov dword [esp + 0xa8], 0
test ecx, ecx
je 0x100a7aba
test byte [ebp + 0x1a88], 0x80
je 0x100a7b91
movss xmm1, dword [ebp + 0x1ab8]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jb 0x100a7b78
movss dword [esi + 0x60], xmm1
mov dword [esi + 0x68], 0
movss xmm1, dword [ebp + 0x1abc]
ucomiss xmm1, xmm0
jb 0x100a7b91
movss dword [esi + 0x64], xmm1
mov dword [esi + 0x6c], 0
test byte [ebp + 0x1a88], 4
jne 0x100a7bb0
cmp dword [esp + 0x48], edi
je 0x100a7bbd
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
jmp 0x100a7bbd
movsd xmm0, qword [ebp + 0x1ab0]
movsd qword [esi + 0x2c], xmm0
mov eax, dword [ebp + 0x1a88]
test al, 8
je 0x100a7bf4
mov edx, dword [ebp + 0x1a94]
mov ecx, dword [esi + 0xa8]
test edx, edx
je 0x100a7bdb
and edx, ecx
je 0x100a7bf4
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 0x100a7c01
push esi
call fcn.100a2080
add esp, 4
cmp byte [esi + 0x80], 0
je 0x100a7c27
movsd xmm0, qword [esi + 0xa0]
andps xmm0, xmmword [0x1014c010]
movlps qword [esi + 0xa0], xmm0
and byte [esi + 0xa8], 0xf7
cmp dword [esp + 0x48], edi
jne 0x100a7c72
mov edi, dword [0x102a2d10]
mov dword [edi + 0x1a08], esi
movss xmm0, dword [edi + 0x18d8]
mulss xmm0, dword [esi + 0x270]
mov eax, dword [esi + 0x2f4]
test eax, eax
je 0x100a7c5b
mulss xmm0, dword [eax + 0x270]
movss dword [edi + 0x18e8], xmm0
movss dword [edi + 0x18d4], xmm0
mov eax, esi
jmp 0x100ab38e
mov byte [esi + 0x7a], 1
cmp dword [esp + 0x20c], 0
setne byte [esi + 0x83]
movaps xmm0, xmmword [0x1014c020]
movups xmmword [esi + 0x22c], xmm0
mov eax, dword [esi + 0xc0]
test eax, eax
jg 0x100a7d49
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 [0x102a2d10]
test ecx, ecx
je 0x100a7cd7
inc dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fbc]
add esp, 8
mov edi, eax
mov ebx, dword [esp]
mov eax, dword [ebx + 0xc4]
test eax, eax
je 0x100a7d37
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 0x100a7d24
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100a7d24
dec dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fc0]
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 0x100a7d65
push esi
call fcn.100a02d0
add esp, 4
cmp dword [ebp + 0x1c48], 0
je 0x100a7e1c
movzx eax, byte [esi + 0xa]
and al, 8
shr al, 3
or al, byte [esp + 0x98]
jne 0x100a7e1c
mov edi, dword [esi]
push edi
push dword [esp + 0x20c]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x100a7e1c
mov esi, dword [esi + 0x44]
push dword [esp + 0x208]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ebx, eax
inc ebx
cmp esi, ebx
jae 0x100a7dfd
test edi, edi
je 0x100a7dca
mov eax, dword [0x102a2d10]
test eax, eax
je 0x100a7dca
dec dword [eax + 0x374]
push dword [0x102a2d18]
push edi
call dword [0x102a1fc0]
add esp, 8
mov eax, dword [0x102a2d10]
test eax, eax
je 0x100a7de9
inc dword [eax + 0x374]
push dword [0x102a2d18]
push ebx
call dword [0x102a1fbc]
add esp, 8
mov edi, eax
mov esi, ebx
push ebx
push dword [esp + 0x20c]
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 0x100a7e34
cmp byte [esi + 0x90], 0
jg 0x100a7e34
cmp byte [esi + 0x91], 0
jle 0x100a7e9d
cmp byte [esi + 0x81], 0
je 0x100a7e46
cmp dword [esi + 0x9c], 0
je 0x100a7e94
movss xmm0, dword [esi + 0x2c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x100a7e65
jp 0x100a7e65
movss xmm0, dword [esi + 0xe0]
subss xmm0, dword [esi + 0xd8]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss xmm2, dword [esi + 0x30]
ucomiss xmm2, xmm1
jne 0x100a7e88
jp 0x100a7e88
movss xmm2, dword [esi + 0xe4]
subss xmm2, dword [esi + 0xdc]
cvttps2dq xmm1, xmm2
cvtdq2ps xmm1, xmm1
unpcklps xmm0, xmm1
jmp 0x100a7ea2
cmp dword [esi + 0x98], 0
jle 0x100a7e46
movsd xmm0, qword [esi + 0x24]
movlps qword [esi + 0x24], xmm0
mov eax, dword [esi + 0x98]
test eax, eax
jle 0x100a7eb7
dec eax
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x9c]
mov ecx, dword [esp + 0x98]
mov edx, ecx
xor dl, 1
mov ecx, dword [esp + 0xa8]
and cl, byte [esp + 0x70]
or cl, dl
test eax, eax
jg 0x100a7ede
test cl, cl
jne 0x100a7eef
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 0x100a7f4a
mov dword [esi + 0x9c], 1
test bl, 0x40
je 0x100a7f4a
cmp byte [esp + 0xa8], 0
jne 0x100a7f27
mov dword [esi + 0x1c], 0
mov dword [esi + 0x14], 0
cmp byte [esp + 0x70], 0
jne 0x100a7f3c
mov dword [esi + 0x20], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov edi, dword [0x102a2d10]
mov dword [edi + 0x1a08], esi
movss xmm0, dword [edi + 0x18d8]
mulss xmm0, dword [esi + 0x270]
mov eax, dword [esi + 0x2f4]
test eax, eax
je 0x100a7f78
mulss xmm0, dword [eax + 0x270]
movss dword [edi + 0x18e8], xmm0
movss dword [edi + 0x18d4], xmm0
test ebx, 0x1000000
jne 0x100a7fc6
test ebx, 0x8000000
mov eax, 0x154c
mov ecx, 0x1528
cmovne eax, ecx
test ebx, 0x6000000
cmove eax, ecx
movss xmm0, dword [ebp + eax]
movss dword [esi + 0x40], xmm0
movsd xmm0, qword [ebp + 0x151c]
movsd qword [esi + 0x34], xmm0
jmp 0x100a800e
movss xmm1, dword [ebp + 0x1544]
movss dword [esi + 0x40], xmm1
movsd xmm0, qword [ebp + 0x151c]
movsd qword [esi + 0x34], xmm0
test ebx, 0x4010000
jne 0x100a800e
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x100a800e
jp 0x100a800e
test ebx, 0x400
je 0x100a8002
movss xmm0, dword [ebp + 0x1520]
mov dword [esi + 0x34], 0
movss dword [esi + 0x38], xmm0
lea eax, [esi + 0x24]
mov dword [esp + 0x118], eax
test bl, 0x21
je 0x100a8026
mov byte [esi + 0x7d], 0
jmp 0x100a8105
movss xmm0, dword [esi + 0x10]
mov ebx, dword [esi + 8]
xorps xmm1, xmm1
test bl, 1
jne 0x100a8068
movss xmm2, dword [edi + 0x18d8]
mulss xmm2, dword [esi + 0x270]
mov eax, dword [esi + 0x2f4]
test eax, eax
je 0x100a8058
mulss xmm2, dword [eax + 0x270]
movss xmm1, dword [edi + 0x1554]
addss xmm1, xmm1
addss xmm1, xmm2
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
movss xmm2, dword [esi + 0xc]
unpcklps xmm2, xmm0
movss xmm0, dword [esi + 0x1c]
unpcklps xmm0, xmm1
addps xmm0, xmm2
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
movlps qword [esp + 0x18], xmm0
cmp dword [ebp + 0x1a0c], esi
jne 0x100a80cd
cmp dword [ebp + 0x1a28], 0
jne 0x100a80cd
cmp dword [ebp + 0x1a30], 0
jne 0x100a80cd
lea eax, [esp + 0x18]
lea ecx, [esp + 0x10]
push 1
push eax
push ecx
call fcn.100a0840
add esp, 0xc
test al, al
je 0x100a80cd
cmp byte [ebp + 0x3e5], 0
je 0x100a80cd
mov byte [esi + 0x7e], 1
cmp byte [esi + 0x7e], 0
je 0x100a8101
xor byte [esi + 0x7d], 1
test ebx, 0x100
jne 0x100a80f8
xorps xmm0, xmm0
ucomiss xmm0, dword [edi + 0x2dbc]
jb 0x100a80f8
movss xmm0, dword [edi + 0x1c]
movss dword [edi + 0x2dbc], xmm0
push esi
call fcn.100a2080
add esp, 4
mov ebx, dword [esp + 4]
mov byte [esi + 0x7e], 0
lea ecx, [esp + 0xf8]
mov edx, esi
push dword [esp + 0x118]
call fcn.100aed90
add esp, 4
test bl, 0x40
mov edi, dword [esp + 0xc]
je 0x100a8134
cmp byte [esi + 0x7d], 0
je 0x100a820f
cmp byte [esi + 0x90], 0
mov ecx, dword [esp + 0xb8]
jle 0x100a8184
mov edx, ecx
cmp byte [esp + 0xa8], 0
jne 0x100a8193
cmp byte [esi + 0x93], 0
movss xmm0, dword [esp + 0xf8]
je 0x100a817b
movss xmm1, dword [esi + 0x1c]
movaps xmm2, xmm0
cmpless xmm2, xmm1
andps xmm1, xmm2
andnps xmm2, xmm0
orps xmm2, xmm1
movaps xmm0, xmm2
movss dword [esi + 0x1c], xmm0
mov dl, 1
jmp 0x100a8193
cmp byte [esi + 0x91], 0
mov edx, ecx
jle 0x100a8257
cmp byte [esp + 0x70], 0
jne 0x100a81d5
cmp byte [esi + 0x91], 0
jle 0x100a81d5
cmp byte [esi + 0x93], 0
movss xmm0, dword [esp + 0xfc]
je 0x100a81ce
movss xmm1, dword [esi + 0x20]
movaps xmm2, xmm0
cmpless xmm2, xmm1
andps xmm1, xmm2
andnps xmm2, xmm0
orps xmm2, xmm1
movaps xmm0, xmm2
movss dword [esi + 0x20], xmm0
mov cl, 1
cmp byte [esi + 0x7d], 0
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x12c], edx
jne 0x100a825e
test byte [esi + 9], 1
jne 0x100a825e
mov eax, dword [0x102a2d10]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2dbc]
jb 0x100a825e
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2dbc], xmm0
jmp 0x100a825e
mov eax, dword [esp + 0xb8]
cmp byte [esp + 0xa8], 0
jne 0x100a8230
movss xmm0, dword [esp + 0xf8]
movss dword [esi + 0x1c], xmm0
mov al, 1
cmp byte [esp + 0x70], 0
mov dword [esp + 0x12c], eax
jne 0x100a825e
movss xmm0, dword [esp + 0xfc]
movss dword [esi + 0x20], xmm0
mov al, 1
mov dword [esp + 0xb8], eax
jmp 0x100a825e
mov dword [esp + 0x12c], ecx
movss xmm0, dword [esi + 0x1c]
movss xmm1, dword [esi + 0x20]
lea ecx, [esp + 0x10]
mov edx, esi
call fcn.100aef80
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
movd xmm0, ecx
je 0x100a82f0
cmp dword [esp + 0x100], 0
jne 0x100a82f0
movss xmm1, dword [esi + 0x10]
mov eax, dword [esi + 8]
xorps xmm3, xmm3
test al, 1
jne 0x100a82dc
mov ecx, dword [0x102a2d10]
movss xmm2, dword [ecx + 0x18d8]
mulss xmm2, dword [esi + 0x270]
mov edx, dword [esi + 0x2f4]
test edx, edx
je 0x100a82cc
mulss xmm2, dword [edx + 0x270]
movss xmm3, dword [ecx + 0x1554]
addss xmm3, xmm3
addss xmm3, xmm2
movss xmm2, dword [esi + 0xc]
unpcklps xmm2, xmm1
punpckldq xmm0, xmm3
addps xmm0, xmm2
subps xmm0, xmm2
jmp 0x100a82fb
movd xmm1, eax
mov eax, dword [esi + 8]
punpckldq xmm0, xmm1
movq qword [esi + 0x14], xmm0
xorps xmm5, xmm5
pxor xmm0, xmm0
movdqu xmmword [esp + 0xa8], xmm0
test al, 1
jne 0x100a8354
mov ecx, dword [0x102a2d10]
movss xmm0, dword [ecx + 0x18d8]
mulss xmm0, dword [esi + 0x270]
mov edx, dword [esi + 0x2f4]
test edx, edx
je 0x100a833c
mulss xmm0, dword [edx + 0x270]
movss xmm1, dword [ecx + 0x1554]
addss xmm1, xmm1
addss xmm1, xmm0
movups xmmword [esp + 0xa8], xmm1
shr ebx, 0x18
test eax, 0x400
movzx eax, byte [esp + 0xb]
je 0x100a83ab
mov eax, dword [0x102a2d10]
movss xmm0, dword [esi + 0x150]
movss xmm1, dword [eax + 0x18d8]
mulss xmm1, dword [esi + 0x270]
mov ecx, dword [esi + 0x2f4]
test ecx, ecx
je 0x100a8392
mulss xmm1, dword [ecx + 0x270]
addss xmm0, xmm1
movss xmm5, dword [eax + 0x1554]
addss xmm5, xmm5
addss xmm5, xmm0
movzx eax, byte [esp + 0xb]
and ebx, 1
test al, al
je 0x100a83e7
test dword [esp + 4], 0x4000000
sete al
mov dword [esi + 0x94], 0xffffffff
or al, byte [esp + 0x28]
jne 0x100a83e7
mov eax, dword [ebp + 0x1b2c]
mov ecx, dword [ebp + 0x1b34]
lea eax, [eax + eax*8]
movq xmm0, qword [ecx + eax*4 - 0x10]
movq qword [esi + 0xc], xmm0
mov eax, dword [esp + 4]
mov ecx, eax
and ecx, 0x3000000
mov dword [esp + 0x70], ecx
test eax, 0x1000000
movss dword [esp + 0x100], xmm5
je 0x100a851d
movzx eax, word [edi + 0x180]
mov word [esi + 0x88], ax
mov edx, dword [edi + 0x180]
cmp edx, dword [edi + 0x184]
jne 0x100a843b
lea esi, [edx + 1]
test edx, edx
je 0x100a8446
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sar ecx, 1
add ecx, edx
jmp 0x100a844b
mov eax, dword [edi + 0x188]
jmp 0x100a84ed
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
lea eax, [esi*4]
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100a8467
inc dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fbc]
add esp, 8
mov edi, dword [esp + 0xc]
mov edx, dword [edi + 0x188]
test edx, edx
je 0x100a84cf
mov ecx, dword [edi + 0x180]
shl ecx, 2
push ecx
push edx
mov dword [esp + 0x68], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x188]
test eax, eax
je 0x100a84b7
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100a84b7
dec dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fc0]
add esp, 8
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x60]
mov dword [edi + 0x188], eax
mov dword [edi + 0x184], esi
mov edx, dword [edi + 0x180]
mov esi, dword [esp]
movss xmm5, dword [esp + 0x100]
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 + 0x28]
jne 0x100a851d
cmp dword [esp + 0x70], 0x3000000
je 0x100a851d
movq xmm0, qword [edi + 0xc8]
movq qword [esi + 0xc], xmm0
movss xmm0, dword [esi + 0xac]
ucomiss xmm0, dword [0x10148fd8]
jne 0x100a8530
jnp 0x100a8539
cmp dword [esi + 0x9c], 0
je 0x100a85a0
mov eax, dword [esp + 4]
test eax, 0x10000000
jne 0x100a857c
test eax, 0x4000000
sete al
or al, byte [esp + 0x28]
jne 0x100a8559
cmp dword [esp + 0x38], 0
jg 0x100a857c
test dword [esp + 4], 0x2000000
sete al
or al, byte [esp + 0x28]
jne 0x100a8612
cmp dword [esp + 0x70], 0x3000000
je 0x100a8612
push esi
lea eax, [esp + 0x14]
push eax
call fcn.100af1a0
movss xmm5, dword [esp + 0x108]
add esp, 8
movsd xmm0, qword [esp + 0x10]
movsd qword [esi + 0xc], xmm0
jmp 0x100a8612
and byte [esi + 0xa0], 0xf1
mov dword [esi + 0xac], 0x7f7fffff
movss xmm1, dword [esi + 0xb0]
mov dword [esi + 0xb0], 0x7f7fffff
movsd xmm2, qword [esi + 0xc]
movsd xmm3, qword [esi + 0x1c]
movsd xmm4, qword [esi + 0xb4]
mulps xmm4, xmm3
unpcklps xmm0, xmm1
subps xmm0, xmm4
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [esi + 0xc], xmm0
subps xmm0, xmm2
movsd xmm1, qword [esi + 0xc8]
addps xmm1, xmm0
movlps qword [esi + 0xc8], xmm1
movlhps xmm0, xmm0
movups xmm1, xmmword [esi + 0xd8]
addps xmm1, xmm0
movups xmmword [esi + 0xd8], xmm1
mov eax, dword [0x102a2d10]
xorps xmm0, xmm0
movlps qword [esp + 0xc8], xmm0
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xd0], xmm0
mov eax, dword [esp + 0x28]
or al, bl
mov edi, dword [esp + 4]
jne 0x100a86a3
cmp byte [esi + 0x90], 0
jg 0x100a86a3
cmp byte [esi + 0x91], 0
jg 0x100a86a3
movsd xmm1, qword [ebp + 0x15b0]
movsd xmm2, qword [ebp + 0x15b8]
movaps xmm3, xmm2
cmpleps xmm3, xmm1
andps xmm1, xmm3
andnps xmm3, xmm2
orps xmm3, xmm1
movlps qword [esp + 0x10], xmm3
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x100a86a3
shufps xmm0, xmm0, 0x55
ucomiss xmm0, xmm1
jbe 0x100a86a3
lea edx, [esp + 0xc8]
mov ecx, esi
lea eax, [esp + 0x10]
push eax
call fcn.100af3d0
movss xmm5, dword [esp + 0x104]
add esp, 4
movsd xmm0, qword [esi + 0xc]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [esi + 0xc], xmm0
test edi, 0x1000000
jne 0x100a86d1
mov eax, edi
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x100a86d9
lea eax, [ebp + 0x1548]
jmp 0x100a86df
lea eax, [ebp + 0x1540]
jmp 0x100a86df
lea eax, [ebp + 0x1524]
mov ecx, edi
and ecx, 0x4000000
mov edx, ecx
shr edx, 0x1a
mov dword [esp + 0x38], 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 + 0x70], 0
sete bl
test ecx, ecx
movzx ecx, dh
cmovne ebx, ecx
test dl, dl
movups xmm0, xmmword [esp + 0xa8]
addss xmm0, xmm5
movups xmmword [esp + 0xa8], xmm0
movss xmm1, dword [eax]
movss dword [esi + 0x3c], xmm1
cmovne ebx, ecx
mov dword [esp + 0x11c], ebx
xorps xmm0, xmm0
movups xmmword [esp + 0x1ac], xmm0
cmp byte [ebp + 0xb3], 1
mov eax, 2
sbb eax, 0
mov dword [esp + 0x100], eax
addss xmm1, dword [0x10147700]
movss dword [esp + 0x17c], xmm1
lea eax, [esi + 0xc]
mov dword [esp + 0x114], eax
movss xmm0, dword [ebp + 0x18d4]
cmp byte [esi + 0x7d], 0
movups xmmword [esp + 0x19c], xmm0
je 0x100a87b5
lea eax, [esi + 0x84]
mov dword [esp + 0x144], eax
mov byte [esi + 0x84], 0xff
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x38]
jmp 0x100a8945
test byte [esi + 8], 0x42
mov edi, dword [esp + 0xc]
jne 0x100a87d5
cmp byte [esi + 0x90], 0
jg 0x100a87d5
cmp byte [esi + 0x91], 0
jle 0x100ab506
lea eax, [esi + 0x84]
mov dword [esp + 0x144], eax
mov byte [esi + 0x84], 0xff
mov ebx, dword [esp + 4]
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x12c]
xorps xmm0, xmm0
cmp byte [esp + 0x98], 0
jne 0x100a8818
movsd xmm1, qword [esi + 0x24]
movsd xmm0, qword [esi + 0x34]
addps xmm0, xmm0
addps xmm0, xmm1
test cl, cl
je 0x100a8850
movss xmm2, dword [esi + 0x1c]
test al, al
jne 0x100a8869
movss xmm1, dword [esi + 0x208]
subss xmm1, dword [esi + 0x200]
addss xmm1, dword [esi + 0x74]
test ebx, 0x4000
je 0x100a887f
mov byte [esi + 0x79], 1
test bx, bx
js 0x100a88af
lea ecx, [esi + 0x79]
jmp 0x100a88a3
movss xmm2, dword [esi + 0x204]
subss xmm2, dword [esi + 0x1fc]
addss xmm2, dword [esi + 0x70]
test al, al
je 0x100a8825
movss xmm1, dword [esi + 0x20]
subss xmm1, dword [esp + 0xa8]
test ebx, 0x4000
jne 0x100a8842
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
ucomiss 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 0x100a88b7
test al, al
je 0x100a88c1
movss xmm3, dword [ebp + 0x1580]
mov al, 1
jmp 0x100a88c6
mov byte [esi + 0x78], 1
mov al, 1
jmp 0x100a8913
mov byte [esi + 0x78], 1
test al, al
je 0x100a88ef
jmp 0x100a8913
xorps xmm3, xmm3
xor eax, eax
subss xmm2, xmm3
ucomiss xmm0, xmm2
jbe 0x100a8924
mov edx, ebx
and edx, 8
jne 0x100a8924
and ebx, 0x800
mov edx, ebx
shr edx, 0xb
mov byte [esi + 0x78], dl
xorps xmm2, xmm2
test ebx, ebx
je 0x100a892b
test al, al
jne 0x100a890b
lea edx, [esi + 0x78]
shufps xmm0, xmm0, 0x55
ucomiss 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 0x100ab4f6
movss xmm2, dword [ebp + 0x1580]
test al, al
jne 0x100a892f
xorps xmm0, xmm0
jmp 0x100a8937
mov byte [esi + 0x78], 0
xorps xmm2, xmm2
test al, al
je 0x100a891f
movss xmm0, dword [ebp + 0x1580]
mov eax, dword [esp + 0x38]
movss dword [esi + 0x70], xmm0
movss dword [esi + 0x74], xmm2
test dword [esp + 4], 0x1000000
sete bl
or bl, al
lea edx, [edi + 0x22c]
lea eax, [edi + 0x230]
lea ecx, [edi + 0x234]
cmp dword [esp + 0x70], 0x3000000
mov esi, edi
lea edi, [esp + 0xc8]
cmove edx, edi
lea edi, [esp + 0xcc]
cmove eax, edi
lea edi, [esp + 0xd0]
cmove ecx, edi
lea esi, [esi + 0x238]
lea ebp, [esp + 0xd4]
cmove esi, ebp
mov byte [esp + 0x28], bl
test bl, bl
lea ebx, [esp + 0xc8]
cmovne edx, ebx
movss xmm2, dword [edx]
lea edx, [esp + 0xcc]
cmovne eax, edx
cmovne ecx, edi
movss xmm5, dword [eax]
movss xmm6, dword [ecx]
cmovne esi, ebp
movss xmm7, dword [esi]
mov esi, dword [esp]
movsd xmm1, qword [esi + 0xc]
movsd xmm3, qword [esi + 0x14]
movaps xmm0, xmm1
movups xmmword [esp + 0x38], xmm3
addps xmm0, xmm3
xorps xmm3, xmm3
test byte [esi + 8], 1
mov ebp, dword [esp + 0x24]
jne 0x100a8a28
mov eax, dword [0x102a2d10]
movss xmm4, dword [eax + 0x18d8]
mulss xmm4, dword [esi + 0x270]
mov ecx, dword [esi + 0x2f4]
test ecx, ecx
je 0x100a8a18
mulss xmm4, dword [ecx + 0x270]
movss xmm3, dword [eax + 0x1554]
addss xmm3, xmm3
addss xmm3, xmm4
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]
movss xmm4, dword [esi + 0x1c]
unpcklps xmm4, xmm3
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], ecx
addps xmm4, xmm1
movlps qword [esp + 0x58], xmm4
movups xmmword [esp + 0x98], xmm2
movaps xmm4, xmm2
movups xmmword [esp + 0xb8], xmm5
unpcklps xmm4, xmm5
movaps xmm3, xmm1
maxps xmm3, xmm4
movups xmmword [esp + 0x12c], xmm6
movaps xmm5, xmm6
movups xmmword [esp + 0x60], xmm7
unpcklps xmm5, xmm7
movaps xmm6, xmm0
minps xmm6, xmm5
movlhps xmm3, xmm6
movups xmmword [esi + 0x1ec], xmm3
movss xmm3, dword [esi + 0xc]
movss xmm6, dword [esi + 0x34]
movss dword [esi + 0x1fc], xmm3
shufps xmm1, xmm1, 0x55
addss xmm1, dword [esp + 0xa8]
movss dword [esi + 0x200], xmm1
movups xmm7, xmmword [esp + 0x38]
addss xmm7, xmm3
movsd xmm2, qword [esi + 0x70]
movss xmm0, xmm7
subps xmm0, xmm2
movlps qword [esi + 0x204], xmm0
movss xmm2, dword [esi + 0x40]
mulss xmm6, dword [0x10147680]
cvttps2dq xmm6, xmm6
cvtdq2ps xmm7, xmm6
movaps xmm6, xmm2
cmpless xmm6, xmm7
andps xmm7, xmm6
andnps xmm6, xmm2
orps xmm6, xmm7
movaps xmm7, xmm1
movups xmmword [esp + 0xd8], xmm3
movlhps xmm7, xmm3
shufps xmm7, xmm0, 0x42
addps xmm7, xmmword [0x1014c080]
movss xmm2, dword [eax]
unpcklps xmm6, xmm2
movss xmm2, dword [esi + 0x40]
movaps xmm3, xmm7
addps xmm3, xmm6
shufps xmm6, xmm2, 0x24
shufps xmm6, xmm6, 0xc4
subps xmm7, xmm6
movsd xmm7, xmm3
cvttps2dq xmm2, xmm7
movups xmm3, xmmword [esp + 0x38]
cvtdq2ps xmm2, xmm2
movlhps xmm4, xmm4
movlhps xmm5, xmm5
minps xmm5, xmm2
cmpltps xmm2, xmm4
andps xmm4, xmm2
andnps xmm2, xmm5
orps xmm2, xmm4
movups xmmword [esi + 0x20c], xmm2
test bl, 0x40
jne 0x100a8b8b
xorps xmm2, xmm2
ucomiss xmm3, xmm2
jbe 0x100a8b8b
mov eax, ebx
and eax, 0x2000000
jne 0x100a8b8b
mulss xmm3, dword [0x1014c090]
jmp 0x100a8b9b
movss xmm3, dword [ebp + 0x18d4]
mulss xmm3, dword [0x10149698]
cvttps2dq xmm2, xmm3
cvtdq2ps xmm2, xmm2
movss dword [esi + 0x254], xmm2
movups xmm2, xmmword [esp + 0xd8]
unpcklps xmm2, xmm1
subps xmm0, xmm2
movsd xmm1, qword [esi + 0x24]
movsd xmm2, qword [esi + 0x34]
addps xmm2, xmm2
addps xmm2, xmm1
subps xmm2, xmm0
xorps xmm0, xmm0
movaps xmm1, xmm2
cmpnleps xmm1, xmm0
andps xmm1, xmm2
movlps qword [esi + 0x58], xmm1
lea ecx, [esp + 0x10]
mov edx, esi
push 1
call fcn.100af470
add esp, 4
movsd xmm0, qword [esp + 0x10]
movsd qword [esi + 0x50], xmm0
mov dword [esi + 0x60], 0x7f7fffff
mov dword [esi + 0x64], 0x7f7fffff
mov ecx, dword [esi + 0x278]
call fcn.100b5040
mov ecx, dword [esi + 0x278]
mov eax, dword [ebp + 0x18d0]
mov eax, dword [eax + 0x38]
push dword [eax + 8]
call fcn.100b5930
mov eax, dword [0x102a2d10]
mov ecx, dword [eax + 0x1a08]
mov byte [ecx + 0x7c], 1
mov esi, dword [eax + 0x1a08]
mov ecx, dword [esi + 0x278]
sub esp, 0x14
movups xmm0, xmmword [esp + 0x74]
movss dword [esp + 0xc], xmm0
movups xmm0, xmmword [esp + 0x140]
movss dword [esp + 8], xmm0
movups xmm0, xmmword [esp + 0xcc]
movss dword [esp + 4], xmm0
movups xmm0, xmmword [esp + 0xac]
movss dword [esp], xmm0
mov dword [esp + 0x10], 0
call fcn.100b56f0
mov eax, dword [esi + 0x278]
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x48]
shl ecx, 4
movdqu xmm0, xmmword [ecx + eax - 0x10]
movdqu xmmword [esi + 0x22c], xmm0
xor eax, eax
test ebx, 0x8000000
je 0x100a8d0d
mov ecx, dword [0x102a2d10]
mov eax, dword [ecx + 0x1b20]
test eax, eax
jle 0x100a9016
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 0x100a8ce9
dec eax
add ecx, 0xffffffdc
cmp eax, 1
jbe 0x100a8cfd
mov edx, dword [ecx]
test edx, edx
je 0x100a8ce0
test byte [edx + 0xb], 8
je 0x100a8ce0
cmp esi, edx
je 0x100a8d03
xor eax, eax
jmp 0x100a8d0d
xor edx, edx
cmp esi, edx
jne 0x100a8cf9
cmp dword [esi + 0x9c], 0
setle al
mov ecx, dword [ebp + 0x1c44]
test ecx, ecx
je 0x100a8d25
mov esi, dword [esp]
cmp esi, dword [ecx + 0x2f8]
sete bl
jmp 0x100a8d2a
xor ebx, ebx
mov esi, dword [esp]
mov ecx, eax
or cl, bl
cmp cl, 1
jne 0x100a8e31
movzx eax, al
shl eax, 4
movss xmm0, dword [ebp + 0x1cb8]
mov ecx, dword [0x102a2d10]
movss xmm2, dword [ecx + eax + 0x18b0]
mulss xmm0, dword [ecx + 0x1518]
movss xmm1, dword [ecx + eax + 0x18b4]
mulss xmm0, dword [ecx + eax + 0x18bc]
movss xmm3, dword [0x10147700]
movaps xmm4, xmm3
minss xmm4, xmm2
xorps xmm5, xmm5
cmpltss xmm2, xmm5
andnps xmm2, xmm4
movss xmm4, dword [0x10149668]
mulss xmm2, xmm4
movss xmm6, dword [0x10147680]
addss xmm2, xmm6
cvttss2si edx, xmm2
minss xmm3, xmm1
cmpltss xmm1, xmm5
andnps xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm6
cvttss2si esi, xmm1
shl esi, 8
movss xmm1, dword [ecx + eax + 0x18b8]
unpcklps xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmmword [0x10147710]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x10149b40]
or esi, edx
addps xmm1, xmmword [0x10147ad0]
cvttps2dq xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pslld xmm0, 0x10
movd eax, xmm0
or eax, esi
mov esi, dword [esp]
pslld xmm1, 0x18
movd edx, xmm1
or edx, eax
mov ecx, dword [esi + 0x278]
push 0xf
push 0
push edx
lea eax, [esp + 0xdc]
push eax
lea eax, [esp + 0xd8]
push eax
call fcn.100b7400
test bl, bl
mov edi, dword [esp + 0xc]
je 0x100a8fb4
cmp esi, dword [ebp + 0x1c44]
jne 0x100a8fb4
movsd xmm1, qword [esi + 0xc]
movss xmm2, dword [ebp + 0x18d4]
shufps xmm2, xmm2, 0
movaps xmm0, xmm1
subps xmm0, xmm2
movlps qword [esp + 0x10], xmm0
movsd xmm3, qword [esi + 0x14]
addps xmm3, xmm1
addps xmm3, xmm2
movlps qword [esp + 0x18], xmm3
movups xmm1, xmmword [esp + 0xc8]
movlhps xmm0, xmm3
movaps xmm2, xmm1
cmpleps xmm2, xmm0
cmpleps xmm0, xmm1
shufps xmm0, xmm2, 0xe4
pslld xmm0, 0x1f
movmskps eax, xmm0
cmp eax, 0xf
je 0x100a8fb4
lea eax, [esp + 0x18]
mov ecx, dword [esi + 0x278]
movss xmm1, dword [ebp + 0x1c50]
mulss xmm1, dword [0x1014aa1c]
movd xmm0, dword [ebp + 0x1524]
mov edx, dword [0x102a2d10]
movss xmm3, dword [edx + 0x18a0]
movss xmm2, dword [edx + 0x18a4]
mulss xmm1, dword [edx + 0x1518]
mulss xmm1, dword [edx + 0x18ac]
movss xmm4, dword [0x10147700]
movaps xmm5, xmm4
minss xmm5, xmm3
xorps xmm6, xmm6
cmpltss xmm3, xmm6
andnps xmm3, xmm5
movss xmm5, dword [0x10149668]
mulss xmm3, xmm5
movss xmm7, dword [0x10147680]
addss xmm3, xmm7
cvttss2si edi, xmm3
minss xmm4, xmm2
cmpltss xmm2, xmm6
andnps xmm2, xmm4
mulss xmm2, xmm5
addss xmm2, xmm7
cvttss2si esi, xmm2
shl esi, 8
or esi, edi
mov edi, dword [esp + 0xc]
movss xmm2, dword [edx + 0x18a8]
unpcklps xmm2, xmm1
xorps xmm1, xmm1
movaps xmm3, xmmword [0x10147710]
minps xmm3, xmm2
cmpnltps xmm2, xmm1
andps xmm2, xmm3
mulps xmm2, xmmword [0x10149b40]
addps xmm2, xmmword [0x10147ad0]
cvttps2dq xmm1, xmm2
pshufd xmm2, xmm1, 0x55
pslld xmm1, 0x10
movd edx, xmm1
or edx, esi
pslld xmm2, 0x18
movd esi, xmm2
or esi, edx
sub esp, 0x14
movd 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.100b7400
cmp dword [esp + 0x70], 0x3000000
sete al
or byte [esp + 0x28], al
jne 0x100a8fda
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 0x100a9028
mov dword [esp + 0xe8], 0
mov eax, dword [ebp + 0x1c40]
test eax, eax
jne 0x100a8ff5
mov eax, dword [ebp + 0x1b38]
mov bl, 1
test byte [esp + 0x11c], 1
jne 0x100a9047
test eax, eax
je 0x100a9045
mov ecx, dword [esi + 0x2fc]
cmp ecx, dword [eax + 0x2fc]
sete bl
jmp 0x100a9047
xor edx, edx
mov esi, dword [esp]
cmp esi, edx
jne 0x100a8cf9
jmp 0x100a8d03
mov eax, dword [edi + 0x278]
cmp dword [eax + 0x18], 0
jle 0x100a8fda
mov dword [esi + 0x278], eax
mov al, 1
mov dword [esp + 0xe8], eax
jmp 0x100a8fe5
xor ebx, ebx
mov edi, dword [0x102a2d10]
mov edx, dword [esi + 8]
mov byte [esi + 0x7f], 0
movss xmm0, dword [esi + 0x3c]
movss dword [esp + 0x98], xmm0
movss xmm0, dword [esi + 0x40]
cmp byte [esi + 0x7d], 0
je 0x100a91aa
movss xmm1, dword [edi + 0x155c]
movss dword [esp + 0x38], xmm1
movss dword [edi + 0x155c], xmm0
mov eax, 0xc
test bl, bl
je 0x100a909a
cmp byte [edi + 0x1b8a], 1
sbb eax, 0
shl eax, 4
movss xmm3, dword [edi + eax + 0x15d0]
movss xmm1, dword [edi + eax + 0x15d4]
movss xmm0, dword [edi + eax + 0x15dc]
mulss xmm0, dword [edi + 0x1518]
movss xmm2, dword [0x10147700]
movaps xmm4, xmm2
minss xmm4, xmm3
xorps xmm5, xmm5
cmpltss xmm3, xmm5
andnps xmm3, xmm4
movss xmm4, dword [0x10149668]
mulss xmm3, xmm4
movss xmm6, dword [0x10147680]
addss xmm3, xmm6
cvttss2si ecx, xmm3
minss xmm2, xmm1
cmpltss xmm1, xmm5
andnps xmm1, xmm2
mulss xmm1, xmm4
addss xmm1, xmm6
cvttss2si edx, xmm1
shl edx, 8
movss xmm1, dword [edi + eax + 0x15d8]
unpcklps xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmmword [0x10147710]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x10149b40]
or edx, ecx
addps xmm1, xmmword [0x10147ad0]
cvttps2dq xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pslld xmm0, 0x10
movd eax, xmm0
or eax, edx
pslld xmm1, 0x18
movd ecx, xmm1
or ecx, eax
movups xmm0, xmmword [esp + 0x50]
sub esp, 0x1c
movss xmm1, dword [esp + 0xb4]
movss dword [esp + 0x18], xmm1
movups xmmword [esp], xmm0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 1
call fcn.1009e930
add esp, 0x1c
movss xmm0, dword [esp + 0x38]
movss dword [edi + 0x155c], xmm0
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0xc]
jmp 0x100aa18f
movups xmmword [esp + 0xb8], xmm0
test dl, dl
mov dword [esp + 0x38], edx
js 0x100a929e
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
movss xmm4, dword [edi + eax + 0x15d0]
movss xmm1, dword [0x10147700]
movaps xmm2, xmm1
minss xmm2, xmm4
xorps xmm0, xmm0
cmpltss xmm4, xmm0
andnps xmm4, xmm2
movss xmm2, dword [0x10149668]
mulss xmm4, xmm2
movss xmm3, dword [0x10147680]
addss xmm4, xmm3
cvttss2si ecx, xmm4
movsd xmm4, qword [edi + eax + 0x15d4]
xorps xmm5, xmm5
movaps xmm6, xmmword [0x10147710]
minps xmm6, xmm4
cmpnltps xmm4, xmm5
andps xmm4, xmm6
mulps xmm4, xmmword [0x10149b40]
addps xmm4, xmmword [0x10147ad0]
cvttps2dq xmm4, xmm4
pshufd xmm5, xmm4, 0x55
pslld xmm4, 8
movd edx, xmm4
or edx, ecx
pslld xmm5, 0x10
movd ecx, xmm5
or ecx, edx
test byte [edi + 0x1a88], 0x40
jne 0x100a92b0
movss xmm4, dword [edi + eax + 0x15dc]
mulss xmm4, dword [edi + 0x1518]
minss xmm1, xmm4
cmpltss xmm4, xmm0
andnps xmm4, xmm1
mulss xmm4, xmm2
addss xmm4, xmm3
cvttss2si eax, xmm4
jmp 0x100a92de
mov esi, edx
and esi, 1
test esi, esi
jne 0x100a94a8
jmp 0x100a9395
movss xmm2, dword [edi + 0x1adc]
and ecx, 0xffffff
minss xmm1, xmm2
cmpltss xmm2, xmm0
andnps xmm2, xmm1
mulss xmm2, dword [0x10149668]
addss xmm2, dword [0x10147680]
cvttss2si eax, xmm2
shl eax, 0x18
or eax, ecx
mov ecx, dword [esi + 0x278]
mov edx, dword [esp + 0x38]
mov ebp, edx
and ebp, 1
mov dword [esp + 0x28], ebp
lea ebp, [ebp + ebp*2 + 0xc]
movsd xmm1, qword [esi + 0xc]
movsd xmm2, qword [esi + 0x14]
addps xmm2, xmm1
movlps qword [esp + 0x10], xmm2
test dl, 1
jne 0x100a9343
movss xmm2, dword [edi + 0x18d8]
mulss xmm2, dword [esi + 0x270]
mov esi, dword [esi + 0x2f4]
test esi, esi
je 0x100a9333
mulss xmm2, dword [esi + 0x270]
movss xmm0, dword [edi + 0x1554]
addss xmm0, xmm0
addss xmm0, xmm2
xorps xmm2, xmm2
unpcklps xmm2, xmm0
addps xmm1, xmm2
movlps qword [esp + 0x80], xmm1
sub esp, 0x14
mov dword [esp + 0x10], ebp
movss xmm0, dword [esp + 0xac]
movss dword [esp + 0xc], xmm0
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
mov dword [esp + 4], eax
lea eax, [esp + 0x94]
mov dword [esp], eax
call fcn.100b7400
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
test esi, esi
jne 0x100a94a8
lea eax, [esp + 0x58]
movzx ecx, bl
shl ecx, 4
mov edx, dword [0x102a2d10]
movss xmm3, dword [edx + ecx + 0x1670]
movss xmm1, dword [edx + ecx + 0x1674]
movss xmm0, dword [edx + ecx + 0x167c]
mulss xmm0, dword [edx + 0x1518]
movss xmm2, dword [0x10147700]
movaps xmm4, xmm2
minss xmm4, xmm3
pxor xmm5, xmm5
cmpltss xmm3, xmm5
andnps xmm3, xmm4
movss xmm4, dword [0x10149668]
mulss xmm3, xmm4
movss xmm6, dword [0x10147680]
addss xmm3, xmm6
mov ebp, esi
cvttss2si esi, xmm3
minss xmm2, xmm1
cmpltss xmm1, xmm5
andnps xmm1, xmm2
mulss xmm1, xmm4
addss xmm1, xmm6
cvttss2si ebx, xmm1
shl ebx, 8
movss xmm1, dword [edx + ecx + 0x1678]
unpcklps xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmmword [0x10147710]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x10149b40]
or ebx, esi
mov esi, ebp
addps xmm1, xmmword [0x10147ad0]
cvttps2dq xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pslld xmm0, 0x10
movd ecx, xmm0
or ecx, ebx
pslld xmm1, 0x18
movd edx, xmm1
or edx, ecx
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x278]
sub esp, 0x14
movss xmm0, dword [esp + 0xac]
movss dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 0x10], 3
call fcn.100b7400
mov edx, dword [esp + 0x38]
test edx, 0x400
mov ebp, dword [esp]
je 0x100a9831
mov ecx, dword [ebp + 8]
pxor xmm1, xmm1
mov eax, dword [0x102a2d10]
xorps xmm2, xmm2
test cl, 1
jne 0x100a94fd
movss xmm0, dword [eax + 0x18d8]
mulss xmm0, dword [ebp + 0x270]
mov edx, dword [ebp + 0x2f4]
test edx, edx
je 0x100a94ed
mulss xmm0, dword [edx + 0x270]
movss xmm2, dword [eax + 0x1554]
addss xmm2, xmm2
addss xmm2, xmm0
movss xmm3, dword [ebp + 0x10]
test ecx, 0x400
je 0x100a9548
movss xmm0, dword [ebp + 0x150]
movss xmm1, dword [eax + 0x18d8]
mulss xmm1, dword [ebp + 0x270]
mov ecx, dword [ebp + 0x2f4]
test ecx, ecx
je 0x100a9534
mulss xmm1, dword [ecx + 0x270]
addss xmm0, xmm1
movss xmm1, dword [eax + 0x1554]
addss xmm1, xmm1
addss xmm1, xmm0
addss xmm2, xmm3
movss xmm5, dword [ebp + 0xc]
movaps xmm0, xmm3
cmpless xmm0, xmm2
movaps xmm4, xmm0
andps xmm4, xmm2
andnps xmm0, xmm3
orps xmm0, xmm4
movaps xmm4, xmm5
unpcklps xmm4, xmm2
movd xmm6, dword [ebp + 0x1c]
punpckldq xmm6, xmm1
addps xmm6, xmm4
movsd xmm1, qword [ebp + 0x14]
movups xmmword [esp + 0x12c], xmm5
movaps xmm2, xmm5
unpcklps xmm2, xmm3
addps xmm2, xmm1
minps xmm6, xmm2
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x55
movups xmmword [esp + 0x28], xmm1
mov ecx, dword [ebp + 0x278]
xorpd xmm7, xmm7
xorps xmm1, xmm1
test esi, esi
je 0x100a95b6
movss xmm1, dword [esp + 0x98]
movss dword [esp + 0x70], xmm1
movss xmm4, dword [eax + 0x16a0]
movss xmm2, dword [eax + 0x16ac]
mulss xmm2, dword [eax + 0x1518]
movss xmm3, dword [eax + 0x16a4]
movss xmm1, dword [0x10147700]
movaps xmm5, xmm1
minss xmm5, xmm4
cmpltss xmm4, xmm7
andnps xmm4, xmm5
movss xmm5, dword [0x10149668]
mulss xmm4, xmm5
movss xmm7, dword [0x10147680]
addss xmm4, xmm7
cvttss2si edx, xmm4
minss xmm1, xmm3
cmpltss xmm3, dword [0x10147b30]
andnps xmm3, xmm1
mulss xmm3, xmm5
addss xmm3, xmm7
cvttss2si esi, xmm3
movss xmm3, dword [eax + 0x16a8]
unpcklps xmm3, xmm2
xorps xmm2, xmm2
movaps xmm4, xmmword [0x10147710]
minps xmm4, xmm3
cmpnltps xmm3, xmm2
andps xmm3, xmm4
mulps xmm3, xmmword [0x10149b40]
addps xmm3, xmmword [0x10147ad0]
cvttps2dq xmm2, xmm3
pshufd xmm3, xmm2, 0x55
pslld xmm2, 0x10
movd eax, xmm2
pslld xmm3, 0x18
movd ebx, xmm3
mov ebp, dword [esp]
movss xmm2, dword [ebp + 0xc]
movups xmmword [esp + 0x60], xmm6
movaps xmm3, xmm6
movups xmm4, xmmword [esp + 0xb8]
subss xmm3, xmm4
movss dword [esp + 0x10], xmm3
movaps xmm3, xmm4
unpcklps xmm3, xmm0
addps xmm3, xmm2
movlps qword [esp + 0x80], xmm3
shl esi, 8
or esi, edx
or eax, esi
or ebx, eax
movups xmm0, xmmword [esp + 0x28]
movss dword [esp + 0x14], xmm0
sub esp, 0x14
movss xmm0, dword [esp + 0x84]
movss dword [esp + 0xc], xmm0
lea eax, [esp + 0x24]
mov dword [esp + 4], eax
lea esi, [esp + 0x94]
mov dword [esp], esi
mov dword [esp + 8], ebx
mov dword [esp + 0x10], 3
call fcn.100b7400
movups xmm4, xmmword [esp + 0x28]
movss xmm0, dword [edi + 0x155c]
ucomiss xmm0, dword [0x10147b30]
mov edx, dword [esp + 0x38]
jbe 0x100a9831
movss xmm1, dword [ebp + 0x10]
addss xmm1, dword [ebp + 0x18]
ucomiss xmm1, xmm4
jbe 0x100a9831
mov ecx, dword [0x102a2d10]
movss xmm1, dword [ecx + 0x1620]
movss xmm5, dword [0x10147700]
movaps xmm2, xmm5
minss xmm2, xmm1
xorps xmm3, xmm3
cmpltss xmm1, xmm3
andnps xmm1, xmm2
movss xmm2, dword [0x10149668]
mulss xmm1, xmm2
movss xmm6, dword [0x10147680]
addss xmm1, xmm6
cvttss2si eax, xmm1
movss xmm1, dword [ecx + 0x1624]
minss xmm5, xmm1
cmpltss xmm1, xmm3
andnps xmm1, xmm5
mulss xmm1, xmm2
addss xmm1, xmm6
movss xmm2, dword [ecx + 0x162c]
mulss xmm2, dword [ecx + 0x1518]
cvttss2si edx, xmm1
movss xmm1, dword [ecx + 0x1628]
unpcklps xmm1, xmm2
xorps xmm2, xmm2
movaps xmm3, xmmword [0x10147710]
minps xmm3, xmm1
cmpnltps xmm1, xmm2
andps xmm1, xmm3
mulps xmm1, xmmword [0x10149b40]
addps xmm1, xmmword [0x10147ad0]
cvttps2dq xmm1, xmm1
pshufd xmm2, xmm1, 0x55
pslld xmm1, 0x10
movd edi, xmm1
pslld xmm2, 0x18
movd ebx, xmm2
mov ecx, dword [ebp + 0x278]
movups xmm1, xmmword [esp + 0x60]
movlps qword [esp + 0x10], xmm1
movdqu xmm1, xmmword [esp + 0x12c]
movd dword [esp + 0x80], xmm1
movss dword [esp + 0x84], xmm4
shl edx, 8
or edx, eax
or edi, edx
or ebx, edi
sub esp, 0x10
movss dword [esp + 0xc], xmm0
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], ebx
call fcn.100b71a0
mov edx, dword [esp + 0x38]
cmp byte [ebp + 0x78], 0
mov esi, ebp
je 0x100a9847
push 0
call fcn.100cb750
mov edx, dword [esp + 0x3c]
add esp, 4
cmp byte [esi + 0x79], 0
je 0x100a985b
push 1
call fcn.100cb750
mov edx, dword [esp + 0x3c]
add esp, 4
test dl, 2
jne 0x100a9bac
movss xmm0, dword [0x1014a140]
movups xmm3, xmmword [esp + 0x19c]
mulss xmm0, xmm3
addss xmm0, dword [esp + 0x17c]
mulss xmm3, dword [0x1014c030]
movaps xmm1, xmm0
cmpless xmm1, xmm3
movaps xmm2, xmm1
andnps xmm2, xmm0
andps xmm1, xmm3
orps xmm1, xmm2
cvttps2dq xmm0, xmm1
cvtdq2ps xmm0, xmm0
movss xmm2, dword [esp + 0x98]
movups xmm1, xmmword [esp + 0xb8]
addss xmm2, xmm1
unpcklps xmm1, xmm0
movups xmmword [esp + 0xb8], xmm1
shufps xmm1, xmm1, 0xe1
movups xmmword [esp + 0x60], xmm1
shufps xmm2, xmm2, 0
movups xmmword [esp + 0x12c], xmm2
xor eax, eax
mov edi, 0x1014bb90
jmp 0x100a997f
mov ebx, dword [esi + 0x60]
mulps xmm4, xmm3
addps xmm4, xmm2
movlps qword [ebx + ebp*8], xmm4
inc dword [esi + 0x58]
mov esi, dword [esp]
mov ecx, dword [esi + 0x278]
mov eax, dword [edi - 4]
mov edx, dword [edi]
movups xmm0, xmmword [esp + 0x12c]
mulps xmm3, xmm0
addps xmm3, xmm2
movlps qword [esp + 0x10], xmm3
sub esp, 0x10
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
movss xmm0, dword [esp + 0xa8]
movss dword [esp + 4], xmm0
lea eax, [esp + 0x20]
mov dword [esp], eax
call fcn.100b6910
mov ebx, dword [esi + 0x278]
mov ecx, ebx
mov ebp, dword [esp + 0x38]
push dword [esp + ebp*4 + 0x1ac]
push dword [ebx + 0x58]
push dword [ebx + 0x60]
call fcn.100b6460
mov eax, ebp
mov dword [ebx + 0x58], 0
inc eax
add edi, 0x18
cmp dword [esp + 0x100], eax
je 0x100a9bac
mov ebp, dword [esi + 0x278]
xor ebx, ebx
test al, 1
sete cl
movsd xmm0, qword [esi + 0xc]
movsd xmm2, qword [esi + 0x14]
movsd xmm1, qword [edi - 0x14]
movsd xmm3, qword [edi - 0xc]
mov esi, dword [ebp + 0x58]
cmp esi, dword [ebp + 0x5c]
mov dword [esp + 0x38], eax
movups xmmword [esp + 0x70], xmm3
jne 0x100a99d0
test esi, esi
je 0x100a99d8
mov eax, esi
shr eax, 0x1f
add eax, esi
sar eax, 1
add eax, esi
jmp 0x100a99dd
mov eax, dword [ebp + 0x60]
jmp 0x100a9a97
mov eax, 8
movups xmmword [esp + 0x19c], xmm1
movups xmmword [esp + 0x17c], xmm0
mov byte [esp + 0xd8], cl
movups xmmword [esp + 0x28], xmm2
inc esi
cmp eax, esi
cmovg esi, eax
mov eax, dword [0x102a2d10]
test eax, eax
je 0x100a9a0e
inc dword [eax + 0x374]
lea eax, [esi*8]
push dword [0x102a2d18]
push eax
call dword [0x102a1fbc]
add esp, 8
mov edx, dword [ebp + 0x60]
test edx, edx
je 0x100a9a6c
mov ecx, dword [ebp + 0x58]
shl ecx, 3
push ecx
push edx
mov dword [esp + 0x28], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 0x60]
test eax, eax
je 0x100a9a58
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100a9a58
dec dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fc0]
add esp, 8
mov eax, dword [esp + 0x20]
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x5c], esi
mov esi, dword [ebp + 0x58]
movups xmm2, xmmword [esp + 0x28]
movups xmm3, xmmword [esp + 0x70]
movzx ecx, byte [esp + 0xd8]
movups xmm0, xmmword [esp + 0x17c]
movups xmm1, xmmword [esp + 0x19c]
addps xmm2, xmm0
subps xmm2, xmm0
mulps xmm2, xmm1
addps xmm2, xmm0
mov bl, cl
movd xmm0, ebx
pshufd xmm4, xmm0, 0x50
pslld xmm4, 0x1f
psrad xmm4, 0x1f
movdqu xmm0, xmmword [esp + 0xb8]
pand xmm0, xmm4
movdqu xmm1, xmmword [esp + 0x60]
pandn xmm4, xmm1
por xmm4, xmm0
pshufd xmm0, xmm4, 0xe1
mulps xmm0, xmm3
addps xmm0, xmm2
movlps qword [eax + 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 0x100a98f0
test ebp, ebp
je 0x100a9b0b
mov eax, ebp
shr eax, 0x1f
add eax, ebp
sar eax, 1
add eax, ebp
jmp 0x100a9b10
mov eax, 8
movdqu xmmword [esp + 0xd8], xmm4
movups xmmword [esp + 0x28], xmm2
inc ebp
cmp eax, ebp
cmovg ebp, eax
mov eax, dword [0x102a2d10]
test eax, eax
je 0x100a9b33
inc dword [eax + 0x374]
lea eax, [ebp*8]
push dword [0x102a2d18]
push eax
call dword [0x102a1fbc]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x60]
test eax, eax
je 0x100a9b8b
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 0x100a9b7b
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100a9b7b
dec dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fc0]
add esp, 8
mov dword [esi + 0x60], ebx
mov dword [esi + 0x5c], ebp
mov ebp, dword [esi + 0x58]
movups xmm2, xmmword [esp + 0x28]
movups xmm3, xmmword [esp + 0x70]
movdqu xmm4, xmmword [esp + 0xd8]
jmp 0x100a98f3
mov edx, dword [0x102a2d10]
movss xmm7, dword [esi + 0x3c]
movss xmm1, dword [esi + 0x40]
xorps xmm0, xmm0
movss dword [esp + 0x38], xmm1
ucomiss xmm1, xmm0
jbe 0x100a9cf5
test byte [esi + 8], 0x80
jne 0x100a9cf5
mov ecx, dword [esi + 0x278]
movss xmm3, dword [edx + 0x1620]
movss xmm1, dword [edx + 0x1624]
movss xmm0, dword [edx + 0x162c]
mulss xmm0, dword [edx + 0x1518]
movss xmm2, dword [0x10147700]
movaps xmm4, xmm2
minss xmm4, xmm3
xorps xmm5, xmm5
cmpltss xmm3, xmm5
andnps xmm3, xmm4
movss xmm4, dword [0x10149668]
mulss xmm3, xmm4
movss xmm6, dword [0x10147680]
addss xmm3, xmm6
mov edi, edx
cvttss2si edx, xmm3
minss xmm2, xmm1
cmpltss xmm1, xmm5
andnps xmm1, xmm2
mulss xmm1, xmm4
addss xmm1, xmm6
cvttss2si eax, xmm1
shl eax, 8
or eax, edx
movss xmm1, dword [edi + 0x1628]
unpcklps xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmmword [0x10147710]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x10149b40]
addps xmm1, xmmword [0x10147ad0]
cvttps2dq xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pslld xmm0, 0x10
movd edx, xmm0
or edx, eax
pslld xmm1, 0x18
movd eax, xmm1
or eax, edx
movsd xmm0, qword [esi + 0xc]
movsd xmm1, qword [esi + 0x14]
addps xmm1, xmm0
movlps qword [esp + 0x10], xmm1
sub esp, 0x18
movss xmm0, dword [esp + 0x50]
movss dword [esp + 0x14], xmm0
movss dword [esp + 0xc], xmm7
lea edx, [esp + 0x28]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x12c]
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0xf
movups xmmword [esp + 0x40], xmm7
call fcn.100b7320
movups xmm7, xmmword [esp + 0x28]
mov edx, edi
mov eax, dword [esp + 0x144]
movsx ebx, byte [eax]
cmp ebx, 0xffffffff
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0xc]
je 0x100a9ff8
cmp byte [0x102a2d90], 0
je 0x100ac078
mov dword [esp + 0x70], edx
lea eax, [ebx + ebx*8]
lea edi, [eax + eax*2]
lea edx, [ebx + edi]
add edx, 0x102a2d20
xorps xmm4, xmm4
xorps xmm3, xmm3
cmp ebx, 3
ja case.default.0x100a9d6e
mov eax, dword [esp]
movss xmm3, dword [eax + 0xc]
movss xmm0, dword [eax + 0x10]
movss xmm1, dword [eax + 0x18]
addss xmm1, xmm0
movss xmm4, dword [eax + 0x14]
addss xmm4, xmm3
movss xmm2, dword [0x10147720]
addss xmm4, xmm2
addss xmm1, xmm2
jmp dword [ebx*4 + 0x1014c1d4]
xorps xmm1, xmm1
addss xmm1, xmm0
subss xmm4, xmm7
unpcklps xmm4, xmm1
addss xmm3, xmm7
jmp 0x100a9dc4
subss xmm1, xmm7
addss xmm0, xmm7
movaps xmm3, xmm4
movaps xmm2, xmm4
unpcklps xmm2, xmm1
unpcklps xmm3, xmm0
movaps xmm4, xmm2
jmp case.default.0x100a9d6e
subss xmm4, xmm7
addss xmm3, xmm7
unpcklps xmm4, xmm1
unpcklps xmm3, xmm1
jmp case.default.0x100a9d6e
subss xmm1, xmm7
xorps xmm4, xmm4
addss xmm4, xmm3
unpcklps xmm4, xmm1
addss xmm0, xmm7
unpcklps xmm3, xmm0
movups xmmword [esp + 0x100], xmm3
mov esi, dword [esp]
mov ecx, dword [esi + 0x278]
subps xmm4, xmm3
movups xmmword [esp + 0xb8], xmm4
movsd xmm0, qword [edx]
movaps xmm1, xmm7
shufps xmm1, xmm7, 0
movups xmmword [esp + 0x98], xmm1
mulps xmm0, xmm1
movsd xmm1, qword [ebx + edi + 0x102a2d28]
mulps xmm1, xmm4
addps xmm1, xmm3
addps xmm1, xmmword [0x10147ad0]
addps xmm1, xmm0
movss xmm0, dword [ebx + edi + 0x102a2d38]
movlps qword [esp + 0x10], xmm1
movss xmm1, dword [0x1014c0f0]
addss xmm1, xmm0
sub esp, 0x14
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm7
lea ebp, [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 0x10], 0xa
movups xmmword [esp + 0x3c], xmm7
mov ebp, edx
call fcn.100b6af0
mov ecx, dword [esi + 0x278]
movss xmm0, dword [ebx + edi + 0x102a2d38]
movss xmm1, dword [0x1014c0f4]
addss xmm1, xmm0
movsd xmm2, qword [ebp]
movups xmm3, xmmword [esp + 0x98]
mulps xmm2, xmm3
movsd xmm3, qword [ebx + edi + 0x102a2d30]
movups xmm4, xmmword [esp + 0xb8]
mulps xmm3, xmm4
movups xmm4, xmmword [esp + 0x100]
addps xmm3, xmm4
addps xmm3, xmmword [0x10147ad0]
addps xmm3, xmm2
movlps qword [esp + 0x10], xmm3
sub esp, 0x14
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm0
movups xmm0, xmmword [esp + 0x3c]
movss dword [esp + 4], xmm0
lea eax, [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 0x10], 0xa
call fcn.100b6af0
mov eax, dword [0x102a2d10]
movss xmm1, dword [eax + 0x17a0]
movss xmm0, dword [0x10147700]
movaps xmm2, xmm0
minss xmm2, xmm1
xorps xmm3, xmm3
cmpltss xmm1, xmm3
andnps xmm1, xmm2
movss xmm2, dword [0x10149668]
mulss xmm1, xmm2
movss xmm4, dword [0x10147680]
addss xmm1, xmm4
cvttss2si ecx, xmm1
movss xmm1, dword [eax + 0x17a4]
minss xmm0, xmm1
cmpltss xmm1, xmm3
andnps xmm1, xmm0
mulss xmm1, xmm2
addss xmm1, xmm4
movss xmm0, dword [eax + 0x17ac]
mulss xmm0, dword [eax + 0x1518]
cvttss2si edx, xmm1
movss xmm1, dword [eax + 0x17a8]
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x10147710]
minps xmm0, xmm1
cmpnltps xmm1, xmmword [0x10146ac0]
andps xmm1, xmm0
mulps xmm1, xmmword [0x10149b40]
addps xmm1, xmmword [0x10147ad0]
cvttps2dq xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pslld xmm0, 0x10
movd eax, xmm0
mov ebx, dword [esi + 0x278]
shl edx, 8
or edx, ecx
pslld xmm1, 0x18
movd ecx, xmm1
movss xmm0, dword [0x10149034]
maxss xmm0, dword [esp + 0x38]
or eax, edx
or ecx, eax
mov eax, dword [ebx + 0x58]
mov edx, dword [ebx + 0x60]
sub esp, 0x14
movss dword [esp + 0x10], xmm0
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov ecx, ebx
call fcn.100b5b20
mov dword [ebx + 0x58], 0
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x70]
movss xmm0, dword [edx + 0x155c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
mov ebx, dword [esp + 4]
jbe 0x100aa18f
test byte [esi + 8], 1
jne 0x100aa18f
movss xmm1, dword [esi + 0x10]
mov eax, dword [0x102a2d10]
movss xmm3, dword [eax + 0x18d8]
mulss xmm3, dword [esi + 0x270]
mov ecx, dword [esi + 0x2f4]
test ecx, ecx
je 0x100aa046
mulss xmm3, dword [ecx + 0x270]
movss xmm4, dword [eax + 0x1554]
movss xmm2, dword [eax + 0x1620]
addss xmm4, xmm4
addss xmm4, xmm3
addss xmm1, xmm4
movss xmm3, dword [0x10147700]
movaps xmm4, xmm3
minss xmm4, xmm2
xorps xmm5, xmm5
cmpltss xmm2, xmm5
andnps xmm2, xmm4
movss xmm4, dword [0x10149668]
mulss xmm2, xmm4
movss xmm6, dword [0x10147680]
addss xmm2, xmm6
cvttss2si edx, xmm2
movss xmm2, dword [eax + 0x1624]
minss xmm3, xmm2
cmpltss xmm2, xmm5
andnps xmm2, xmm3
mulss xmm2, xmm4
movss xmm3, dword [eax + 0x162c]
mulss xmm3, dword [eax + 0x1518]
addss xmm2, xmm6
cvttss2si esi, xmm2
movss xmm2, dword [eax + 0x1628]
unpcklps xmm2, xmm3
xorps xmm3, xmm3
movaps xmm4, xmmword [0x10147710]
minps xmm4, xmm2
cmpnltps xmm2, xmm3
andps xmm2, xmm4
mulps xmm2, xmmword [0x10149b40]
mov ebx, dword [esp]
mov ecx, dword [ebx + 0x278]
addps xmm2, xmmword [0x10147ad0]
cvttps2dq xmm2, xmm2
pshufd xmm3, xmm2, 0x55
pslld xmm2, 0x10
movd edi, xmm2
pslld xmm3, 0x18
movd eax, xmm3
movss xmm2, dword [ebx + 0xc]
movss xmm3, dword [ebx + 0x14]
addss xmm3, xmm2
movss xmm4, dword [esp + 0x38]
subss xmm3, xmm4
movss dword [esp + 0x10], xmm3
addss xmm4, xmm2
movss dword [esp + 0x80], xmm4
addss xmm1, dword [0x10147720]
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x84], xmm1
shl esi, 8
or esi, edx
or edi, esi
mov esi, ebx
or eax, edi
sub esp, 0x10
movss dword [esp + 0xc], xmm0
lea edx, [esp + 0x20]
mov dword [esp + 4], edx
lea edx, [esp + 0x90]
mov dword [esp], edx
mov dword [esp + 8], eax
call fcn.100b71a0
jmp 0x100a919d
cmp byte [esp + 0xe8], 0
je 0x100aa1a5
lea eax, [esi + 0x27c]
mov dword [esi + 0x278], eax
cmp dword [ebp + 0x1c44], esi
jne 0x100aa36a
movss xmm2, dword [ebp + 0x1524]
movss xmm1, dword [esi + 0x3c]
movaps xmm0, xmm2
cmpless xmm0, xmm1
movaps xmm3, xmm0
andps xmm3, xmm1
andnps xmm0, xmm2
orps xmm0, xmm3
lea eax, [esp + 0x18]
movss xmm4, dword [ebp + 0x18d4]
movaps xmm5, xmm4
shufps xmm5, xmm4, 0
movsd xmm3, qword [esi + 0xc]
movsd xmm2, qword [esi + 0x14]
addps xmm2, xmm3
subps xmm3, xmm5
addps xmm2, xmm5
movaps xmm5, xmm3
movlhps xmm5, xmm2
movups xmmword [esp + 0x10], xmm5
movss xmm5, dword [esp + 0xc8]
ucomiss xmm5, xmm3
jb 0x100aa262
movaps xmm5, xmm3
shufps xmm5, xmm3, 0x55
movss xmm6, dword [esp + 0xcc]
ucomiss xmm6, xmm5
jb 0x100aa262
ucomiss xmm2, dword [esp + 0xd0]
jb 0x100aa262
movaps xmm5, xmm2
shufps xmm5, xmm2, 0x55
ucomiss xmm5, dword [esp + 0xd4]
jb 0x100aa262
movss xmm0, dword [0x10147720]
subss xmm0, xmm4
shufps xmm0, xmm0, 0
subps xmm3, xmm0
addps xmm2, xmm0
movlhps xmm3, xmm2
movups xmmword [esp + 0x10], xmm3
movaps xmm0, xmm1
mov ecx, dword [esi + 0x278]
movss xmm1, dword [ebp + 0x1c50]
mov edx, dword [0x102a2d10]
movss xmm3, dword [edx + 0x18a0]
movss xmm2, dword [edx + 0x18a4]
mulss xmm1, dword [edx + 0x1518]
mulss xmm1, dword [edx + 0x18ac]
movss xmm4, dword [0x10147700]
movaps xmm5, xmm4
minss xmm5, xmm3
xorps xmm6, xmm6
cmpltss xmm3, xmm6
andnps xmm3, xmm5
movss xmm5, dword [0x10149668]
mulss xmm3, xmm5
movss xmm7, dword [0x10147680]
addss xmm3, xmm7
cvttss2si edi, xmm3
minss xmm4, xmm2
cmpltss xmm2, xmm6
andnps xmm2, xmm4
mulss xmm2, xmm5
addss xmm2, xmm7
cvttss2si esi, xmm2
shl esi, 8
or esi, edi
movss xmm2, dword [edx + 0x18a8]
unpcklps xmm2, xmm1
xorps xmm1, xmm1
movaps xmm3, xmmword [0x10147710]
minps xmm3, xmm2
cmpnltps xmm2, xmm1
andps xmm2, xmm3
mulps xmm2, xmmword [0x10149b40]
addps xmm2, xmmword [0x10147ad0]
cvttps2dq xmm1, xmm2
pshufd xmm2, xmm1, 0x55
pslld xmm1, 0x10
movd edx, xmm1
or edx, esi
pslld xmm2, 0x18
movd esi, xmm2
or esi, edx
sub esp, 0x18
movss dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 8], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], 0x40400000
mov dword [esp + 0x10], 0xffffffff
call fcn.100b7320
mov edi, dword [esp + 0xc]
movss xmm0, dword [esi + 0x2c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
movaps xmm5, xmm0
jne 0x100aa3bd
jp 0x100aa3bd
mov eax, ebx
and eax, 0x808
movss xmm2, dword [esi + 0x14]
movss xmm3, dword [esi + 0x34]
addss xmm3, xmm3
subss xmm2, xmm3
subss xmm2, dword [esi + 0x70]
cmp eax, 0x800
jne 0x100aa3ac
mov eax, dword [esp + 0x118]
movss xmm1, dword [eax]
movaps xmm5, xmm2
cmpless xmm5, xmm1
andps xmm1, xmm5
andnps xmm5, xmm2
orps xmm5, xmm1
movss xmm3, dword [esi + 0x30]
movss xmm7, dword [esi + 0x38]
xorps xmm1, xmm1
ucomiss xmm3, xmm1
movaps xmm6, xmm3
jne 0x100aa40d
jp 0x100aa40d
movss xmm4, dword [esi + 0x18]
movaps xmm6, xmm7
addss xmm6, xmm7
subss xmm4, xmm6
subss xmm4, dword [esp + 0xa8]
subss xmm4, dword [esi + 0x74]
test bl, 8
jne 0x100aa3fc
movss xmm1, dword [esi + 0x28]
movaps xmm6, xmm4
cmpless xmm6, xmm1
andps xmm1, xmm6
andnps xmm6, xmm4
orps xmm6, xmm1
unpcklps xmm5, xmm6
xorps xmm1, xmm1
ucomiss xmm0, xmm1
movss xmm2, dword [esi + 0x34]
movsd xmm4, qword [esi + 0x50]
movaps xmm1, xmm2
unpcklps xmm1, xmm7
movss xmm6, dword [esi + 0x40]
shufps xmm6, xmm6, 0
maxps xmm1, xmm6
movsd xmm6, qword [esi + 0x1fc]
subps xmm6, xmm4
addps xmm6, xmm1
cvttps2dq xmm1, xmm6
cvtdq2ps xmm1, xmm1
addps xmm5, xmm1
movlhps xmm1, xmm5
movups xmmword [esi + 0x21c], xmm1
movsd xmm5, qword [esi + 0xc]
movaps xmm6, xmm5
subps xmm6, xmm4
movaps xmm1, xmm2
addss xmm1, xmm6
movss dword [esi + 0x23c], xmm1
shufps xmm6, xmm6, 0x55
addss xmm6, xmm7
addss xmm6, dword [esp + 0xa8]
movss dword [esi + 0x240], xmm6
jne 0x100aa4aa
jp 0x100aa4aa
movss xmm0, dword [esi + 0x14]
movups xmmword [esp + 0x38], xmm7
movaps xmm7, xmm2
addss xmm7, xmm2
subss xmm0, xmm7
movups xmm7, xmmword [esp + 0x38]
subss xmm0, dword [esi + 0x70]
ucomiss xmm3, dword [0x10147b30]
addss xmm1, xmm0
movss dword [esi + 0x244], xmm1
jne 0x100aa4df
jp 0x100aa4df
movss xmm3, dword [esi + 0x18]
movaps xmm0, xmm7
addss xmm0, xmm7
subss xmm3, xmm0
subss xmm3, dword [esp + 0xa8]
subss xmm3, dword [esi + 0x74]
xor eax, eax
addss xmm6, xmm3
movss dword [esi + 0x248], xmm6
movaps xmm1, xmm2
movups xmm0, xmmword [esp + 0xa8]
unpcklps xmm1, xmm0
movq xmm3, xmm7
xorps xmm0, xmm0
shufps xmm3, xmm0, 0xe2
addps xmm3, xmm1
movlps qword [esi + 0x104], xmm0
subps xmm3, xmm4
movss dword [esi + 0x100], xmm3
addps xmm3, xmm5
movlhps xmm3, xmm3
movups xmmword [esi + 0xd8], xmm3
movups xmmword [esi + 0xc8], xmm3
mov dword [esi + 0x134], 0
movups xmmword [esi + 0xe8], xmm0
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 0x100aa582
mov eax, dword [edi + 0x144]
mov dword [esi + 0x144], eax
mov byte [esi + 0x148], 0
movss xmm0, dword [esi + 0x5c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
seta byte [esi + 0x149]
mov byte [esi + 0x14a], 0
movss xmm0, dword [ebp + 0x1ae0]
movss xmm1, dword [ebp + 0x1560]
movaps xmm3, xmm1
cmpless xmm3, xmm2
andps xmm2, xmm3
andnps xmm3, xmm1
orps xmm3, xmm2
movaps xmm1, xmm0
cmpless xmm1, xmm3
movaps xmm2, xmm1
andps xmm2, xmm3
andnps xmm1, xmm0
orps xmm1, xmm2
movss dword [esi + 0x14c], xmm1
movss xmm0, dword [ebp + 0x1ae4]
movss dword [esi + 0x150], xmm0
lea ecx, [esi + 0x154]
movss xmm0, dword [ebp + 0x1560]
sub esp, 0xc
movzx eax, byte [esp + 0x17]
mov dword [esp + 8], eax
movss dword [esp + 4], xmm0
mov dword [esp], 3
call fcn.100deab0
mov dword [esi + 0x178], 0
mov dword [esi + 0x17c], 0
cmp dword [esi + 0x184], 0
jns 0x100aa6bc
mov eax, dword [0x102a2d10]
test eax, eax
je 0x100aa64d
inc dword [eax + 0x374]
push dword [0x102a2d18]
push 0
call dword [0x102a1fbc]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x188]
test eax, eax
je 0x100aa6a8
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 0x100aa698
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100aa698
dec dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fc0]
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 0x100aa6f2
mov eax, dword [edi + 0x194]
jmp 0x100aa6f7
mov eax, 1
mov dword [esi + 0x198], eax
mov dword [esi + 0x1a0], 0xffffffff
mov dword [esi + 0x19c], 0xffffffff
movss xmm0, dword [esi + 0x254]
movss dword [esi + 0x1a8], xmm0
mov dword [esi + 0x1ac], 0xbf800000
cmp dword [esi + 0x1b4], 0
jns 0x100aa7b2
mov eax, dword [0x102a2d10]
test eax, eax
je 0x100aa743
inc dword [eax + 0x374]
push dword [0x102a2d18]
push 0
call dword [0x102a1fbc]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x1b8]
test eax, eax
je 0x100aa79e
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 0x100aa78e
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100aa78e
dec dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fc0]
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 0x100aa843
mov eax, dword [0x102a2d10]
test eax, eax
je 0x100aa7d4
inc dword [eax + 0x374]
push dword [0x102a2d18]
push 0
call dword [0x102a1fbc]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x1c4]
test eax, eax
je 0x100aa82f
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 0x100aa81f
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100aa81f
dec dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fc0]
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 0x100aa8d4
mov eax, dword [0x102a2d10]
test eax, eax
je 0x100aa865
inc dword [eax + 0x374]
push dword [0x102a2d18]
push 0
call dword [0x102a1fbc]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x1d0]
test eax, eax
je 0x100aa8c0
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 0x100aa8b0
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100aa8b0
dec dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fc0]
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 0x100aa963
mov eax, dword [0x102a2d10]
test eax, eax
je 0x100aa8f6
inc dword [eax + 0x374]
push dword [0x102a2d18]
push 0
call dword [0x102a1fbc]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x1dc]
test eax, eax
je 0x100aa94f
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 0x100aa93f
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100aa93f
dec dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fc0]
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 0x100aa99f
mov ecx, dword [edi + 0x1a4]
mov dword [esi + 0x1a4], ecx
mov eax, dword [esi + 0x1b0]
cmp eax, dword [esi + 0x1b4]
jne 0x100aa9ae
lea esi, [eax + 1]
test eax, eax
je 0x100aa9b9
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100aa9be
mov dword [esi + 0x1a4], 0
jmp 0x100aaa61
mov ebx, dword [esi + 0x1b8]
jmp 0x100aaa54
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
lea eax, [esi*4]
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100aa9da
inc dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fbc]
add esp, 8
mov ebx, eax
mov edi, dword [esp]
mov eax, dword [edi + 0x1b8]
test eax, eax
je 0x100aaa3a
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 0x100aaa27
mov ecx, dword [0x102a2d10]
test ecx, ecx
je 0x100aaa27
dec dword [ecx + 0x374]
push dword [0x102a2d18]
push eax
call dword [0x102a1fc0]
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 0x100aaa74
dec al
mov byte [esi + 0x90], al
movzx eax, byte [esi + 0x91]
test al, al
jle 0x100aaa87
dec al
mov byte [esi + 0x91], al
test byte [esp + 0x11c], 1
je 0x100aab3c
push esi
call fcn.100a2080
add esp, 4
mov edi, dword [0x102a2d10]
mov eax, dword [esi + 8]
test eax, 0x40000
jne 0x100aab4c
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x100aaacc
mov eax, dword [esi + 0x308]
test eax, eax
jne 0x100aab52
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
xorps xmm0, xmm0
movups xmmword [edi + 0x1b90], xmm0
mov dword [edi + 0x1ba0], 0
mov edi, dword [0x102a2d10]
mov al, 1
cmp byte [edi + 0x1ba5], 0
jne 0x100aab2c
movzx eax, byte [edi + 0x1b8d]
mov byte [edi + 0x1b8c], al
test bl, 1
je 0x100aab6b
jmp 0x100ab30c
mov edi, dword [0x102a2d10]
test bl, 1
je 0x100aab6b
jmp 0x100ab30c
mov eax, dword [esi + 0x308]
mov dword [edi + 0x1b3c], eax
mov dword [edi + 0x1b40], 0
test bl, 1
jne 0x100ab30c
mov eax, dword [esi + 8]
mov dword [esp + 0x70], eax
test al, 0x20
jne 0x100aab82
cmp dword [edi + 0x153c], 0xffffffff
setne al
jmp 0x100aab84
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
movss xmm7, dword [edi + 0x1550]
movss xmm0, dword [edi + 0x18d4]
xorps xmm1, xmm1
movlps qword [esp + 0x90], xmm1
movlps qword [esp + 0x124], xmm1
movaps xmm6, xmm7
cmp dword [esp + 0x20c], 0
je 0x100aac02
movaps xmm6, xmm7
addss xmm6, xmm0
mov ecx, dword [esp + 0x54]
movss xmm1, dword [esp + 0x58]
subss xmm1, xmm6
subss xmm1, xmm7
movss dword [esp + 0x90], xmm1
mov dword [esp + 0x94], ecx
test al, al
je 0x100aad58
mov eax, dword [edi + 0x153c]
test eax, eax
je 0x100aac41
cmp eax, 1
jne 0x100aac67
addss xmm6, xmm0
mov eax, dword [esp + 0x54]
movss xmm0, dword [esp + 0x58]
subss xmm0, xmm6
subss xmm0, xmm7
movss dword [esp + 0x124], xmm0
mov dword [esp + 0x128], eax
jmp 0x100aac67
mov eax, dword [esp + 0x54]
movss xmm1, dword [esp + 0x50]
addss xmm1, xmm7
subss xmm1, xmm7
movss dword [esp + 0x124], xmm1
mov dword [esp + 0x128], eax
addss xmm7, 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 + 0x1014b77c]
movzx ecx, al
shr eax, 8
xor ecx, 0x43
xor eax, dword [ecx*4 + 0x1014b77c]
movzx ecx, al
shr eax, 8
xor ecx, 0x4f
xor eax, dword [ecx*4 + 0x1014b77c]
movzx ecx, al
shr eax, 8
xor ecx, 0x4c
xor eax, dword [ecx*4 + 0x1014b77c]
movzx ecx, al
shr eax, 8
xor ecx, 0x4c
xor eax, dword [ecx*4 + 0x1014b77c]
movzx ecx, al
shr eax, 8
xor ecx, 0x41
xor eax, dword [ecx*4 + 0x1014b77c]
movzx ecx, al
shr eax, 8
xor ecx, 0x50
xor eax, dword [ecx*4 + 0x1014b77c]
movzx ecx, al
shr eax, 8
xor ecx, 0x53
xor eax, dword [ecx*4 + 0x1014b77c]
movzx ecx, al
shr eax, 8
xor ecx, 0x45
xor eax, dword [ecx*4 + 0x1014b77c]
not eax
cmp dword [edi + 0x1a3c], eax
jne 0x100aad1c
mov dword [edi + 0x1a40], eax
movups xmmword [esp + 0x28], xmm7
movups xmmword [esp + 0x38], xmm6
cmp dword [edi + 0x1a74], eax
jne 0x100aad35
cmp dword [esp + 0x20c], 0
movups xmmword [esp + 0x38], xmm6
movups xmmword [esp + 0x28], xmm7
je 0x100aae33
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 + 0x1014b77c]
movzx ecx, al
shr eax, 8
xor ecx, 0x43
xor eax, dword [ecx*4 + 0x1014b77c]
movzx ecx, al
shr eax, 8
xor ecx, 0x4c
xor eax, dword [ecx*4 + 0x1014b77c]
movzx ecx, al
shr eax, 8
xor ecx, 0x4f
xor eax, dword [ecx*4 + 0x1014b77c]
movzx ecx, al
shr eax, 8
xor ecx, 0x53
xor eax, dword [ecx*4 + 0x1014b77c]
movzx ecx, al
shr eax, 8
xor ecx, 0x45
xor eax, dword [ecx*4 + 0x1014b77c]
not eax
mov ecx, dword [0x102a2d10]
cmp dword [ecx + 0x1a3c], eax
jne 0x100aadfb
mov dword [ecx + 0x1a40], eax
cmp dword [ecx + 0x1a74], eax
jne 0x100aae0a
mov dword [esi + 0x134], 0
mov dword [esi + 0x138], 1
mov dword [esi + 0x1a4], ebx
xorps xmm3, xmm3
mov eax, dword [0x102a2d10]
test dword [esp + 0x70], 0x100000
je 0x100aaece
movss xmm0, dword [eax + 0x18d4]
mov ecx, dword [eax + 0x18d0]
sub esp, 0x1c
movss 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], 0x1016e7f1
mov dword [esp + 0xc], 0xbf800000
mov dword [esp + 8], 0x7f7fffff
call fcn.100c2e90
movups xmm7, xmmword [esp + 0x28]
movups xmm6, xmmword [esp + 0x38]
movss xmm0, dword [esp + 0x10]
addss xmm0, dword [str.33s_]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm3, xmm0
mov eax, dword [0x102a2d10]
mov esi, dword [esp + 0x208]
cmp esi, 0xffffffff
movups xmmword [esp + 0x98], xmm3
je 0x100aaf0a
mov eax, dword [esi + 0x48]
mov dword [esi + 0x10c], eax
movss xmm2, dword [esp + 0x50]
movss xmm1, dword [edi + 0x1570]
subss xmm2, xmm1
movss xmm0, dword [edi + 0xe8]
xor eax, eax
ucomiss xmm0, xmm2
jb 0x100ab376
movss xmm3, dword [esp + 0x54]
movss xmm2, dword [edi + 0x1574]
subss xmm3, xmm2
addss xmm1, dword [esp + 0x58]
addss xmm2, dword [esp + 0x5c]
movss xmm4, dword [edi + 0xec]
cmpltps xmm0, xmm1
cmpleps xmm3, xmm4
andps xmm3, xmm0
movd eax, xmm3
ucomiss xmm2, xmm4
seta cl
and cl, al
movzx eax, cl
mov dword [esi + 0x110], eax
movups xmm0, xmmword [esp + 0x50]
movups 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]
movups xmm0, xmmword [ebx + 0x20c]
sub esp, 0x14
movups xmmword [esp], xmm0
mov dword [esp + 0x10], 1
call fcn.100b56f0
mov eax, dword [esi + 0x278]
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x48]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [esi + 0x22c], xmm0
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x120]
mov ecx, ebx
je 0x100ab3e9
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 0x100ab481
test al, 0x40
jne 0x100ab44b
cmp byte [ecx + 0x90], 0
jg 0x100ab44b
test edx, edx
je 0x100ab481
xorps xmm0, xmm0
ucomiss xmm0, dword [ebp + 0x1518]
jae 0x100ab4a4
mov al, 1
cmp dword [ecx + 0x98], 0
jg 0x100ab4b0
mov dword [ecx + 0x98], 1
mov al, 1
mov byte [ecx + 0x81], al
cmp byte [ecx + 0x7d], 0
je 0x100ab4da
xorps xmm2, xmm2
test al, al
jne 0x100a892f
jmp 0x100a891f
cmp byte [esi + 0x7b], 0
je 0x100a87d5
mov eax, dword [0x102a2d10]
movzx ecx, byte [eax + 0xb3]
mov dword [esp + 0x20], eax
movss xmm0, dword [eax + 0x18d4]
movss xmm1, dword [0x1014a140]
mulss xmm1, xmm0
mulss xmm0, dword [0x1014c030]
addss xmm1, dword [esp + 0x17c]
movaps xmm2, xmm1
cmpless xmm2, xmm0
movaps xmm3, xmm2
andnps xmm3, xmm1
andps xmm2, xmm0
orps xmm2, xmm3
cvttps2dq xmm0, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10149020]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movups xmmword [esp + 0x15c], xmm0
xorps xmm0, xmm0
mov byte [esp + 0x4f], cl
test cl, cl
je 0x100ab58a
movss xmm0, dword [0x10149038]
movups xmmword [esp + 0x18c], xmm0
mov dword [esi + 0x134], 1
mov dword [esi + 0x138], 2
push str.RESIZE
call fcn.100afd60
add esp, 4
movss xmm0, dword [esp + 0xf8]
movss dword [esp + 0x140], xmm0
movss xmm0, dword [esp + 0xfc]
movss dword [esp + 0x13c], xmm0
movups xmm0, xmmword [esp + 0x15c]
shufps xmm0, xmm0, 0
movaps xmm1, xmmword [0x10146bb0]
movups xmmword [esp + 0x1d4], xmm0
xorps xmm1, xmm0
movups xmmword [esp + 0x1c4], xmm1
movups xmm0, xmmword [esp + 0x18c]
shufps xmm0, xmm0, 0
movups xmmword [esp + 0x18c], xmm0
movaps xmm4, xmmword [0x1014bf50]
mov dword [esp + 0x110], 0
mov edi, 0x1014bb84
xor ebx, ebx
movaps xmm6, xmm4
jmp 0x100ab731
cmp al, 1
mov eax, 0x1f
sbb eax, 0
test cl, cl
mov ecx, 0x20
cmovne eax, ecx
mov edx, dword [0x102a2d10]
shl eax, 4
movss xmm0, dword [edx + eax + 0x15d0]
movss xmm3, dword [0x10147700]
movaps xmm1, xmm3
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
movss xmm5, dword [0x10149668]
mulss xmm0, xmm5
movss xmm7, dword [0x10147680]
addss xmm0, xmm7
cvttss2si ecx, xmm0
movss xmm0, dword [edx + eax + 0x15d4]
movaps xmm1, xmm3
minss xmm1, xmm0
cmpltss xmm0, xmm2
andnps xmm0, xmm1
movss xmm1, dword [edx + eax + 0x15dc]
mulss xmm1, dword [edx + 0x1518]
mulss xmm0, xmm5
addss xmm0, xmm7
cvttss2si esi, xmm0
movss xmm0, dword [edx + eax + 0x15d8]
unpcklps xmm0, xmm1
movaps xmm1, xmmword [0x10147710]
minps xmm1, xmm0
cmpnltps xmm0, xmmword [0x10146ac0]
andps xmm0, xmm1
mulps xmm0, xmmword [0x10149b40]
addps xmm0, xmmword [0x10147ad0]
cvttps2dq xmm0, xmm0
pshufd xmm1, xmm0, 0x55
pslld xmm0, 0x10
movd eax, xmm0
pslld xmm1, 0x18
movd edx, xmm1
shl esi, 8
or esi, ecx
or eax, esi
mov esi, dword [esp]
or edx, eax
mov dword [esp + ebx*4 + 0x1ac], edx
inc ebx
add edi, 0x18
cmp dword [esp + 0x100], ebx
je 0x100aba82
movsd xmm0, qword [esi + 0xc]
movsd xmm2, qword [esi + 0x14]
addps xmm2, xmm0
subps xmm2, xmm0
movsd xmm5, qword [edi - 8]
movsd xmm7, qword [edi]
movaps xmm1, xmm7
movups xmm3, xmmword [esp + 0x1d4]
mulps xmm1, xmm3
movups xmmword [esp + 0xe8], xmm5
mulps xmm2, xmm5
addps xmm2, xmm0
movlhps xmm2, xmm2
movups xmm0, xmmword [esp + 0x18c]
movups xmmword [esp + 0x144], xmm7
mulps xmm0, xmm7
movups xmmword [esp + 0x1e4], xmm0
movlhps xmm0, xmm1
movaps xmm1, xmm2
subps xmm1, xmm0
addps xmm0, xmm2
movaps xmm2, xmm0
movsd xmm2, xmm1
movupd xmmword [esp + 0x10], xmm2
movaps xmm2, xmm0
unpckhpd xmm2, xmm0
ucomiss xmm1, xmm2
jbe 0x100ab7b5
movss dword [esp + 0x10], xmm2
movss dword [esp + 0x18], xmm1
mov dword [esp + 0xd8], edi
shufps xmm1, xmm1, 0x55
shufps xmm0, xmm0, 0xff
ucomiss xmm1, xmm0
jbe 0x100ab7d5
movss dword [esp + 0x14], xmm0
movss 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 edi, eax
xor eax, ebx
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x1014b77c]
mov eax, ebx
shr eax, 8
xor ebx, edx
movzx edx, bl
xor eax, dword [edx*4 + 0x1014b77c]
mov edx, eax
shr edx, 8
xor eax, ecx
movzx eax, al
xor edx, dword [eax*4 + 0x1014b77c]
movzx eax, dl
mov ecx, edx
shr ecx, 8
xor eax, esi
xor ecx, dword [eax*4 + 0x1014b77c]
not ecx
mov eax, dword [0x102a2d10]
cmp dword [eax + 0x1a3c], ecx
jne 0x100ab854
mov dword [eax + 0x1a40], ecx
movups xmmword [esp + 0x60], xmm6
movups xmmword [esp + 0x28], xmm4
cmp dword [eax + 0x1a74], ecx
jne 0x100ab86d
mov byte [eax + 0x1a78], 1
push 0x4080
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x58]
push eax
push ecx
lea eax, [esp + 0x20]
push eax
call fcn.100ca9a0
add esp, 0x14
movzx eax, byte [esp + 0x90]
movzx ecx, byte [esp + 0x50]
or cl, al
mov esi, dword [esp]
mov ebx, edi
jne 0x100ab8b9
movups xmm4, xmmword [esp + 0x28]
movups xmm6, xmmword [esp + 0x60]
mov edi, dword [esp + 0xd8]
jmp 0x100aba58
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
movups xmm4, xmmword [esp + 0x28]
movups xmm6, xmmword [esp + 0x60]
mov edi, dword [esp + 0xd8]
je 0x100aba58
test ebx, ebx
jne 0x100ab991
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x3e5], 0
je 0x100ab991
lea ecx, [esp + 0x80]
mov edx, esi
movss xmm0, dword [esp + 0x140]
movss xmm1, dword [esp + 0x13c]
call fcn.100aef80
mov eax, dword [0x102a2d10]
cmp dword [eax + 0x1a3c], 0
movsd xmm6, qword [esp + 0x80]
setne byte [eax + 0x1a48]
je 0x100ab952
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
xorps xmm0, xmm0
movups xmmword [eax + 0x1a50], xmm0
mov al, 1
mov dword [esp + 0x110], eax
movups xmm4, xmmword [esp + 0x28]
jmp 0x100aba58
movups xmm0, xmmword [esp + 0x1c4]
movups xmm3, xmmword [esp + 0x144]
mulps xmm3, xmm0
movsd xmm0, qword [esi + 0x14]
movups xmm2, xmmword [esp + 0xe8]
movaps xmm1, xmm2
cmpeqps xmm1, xmmword [0x10146ac0]
movups xmmword [esp + 0x60], xmm1
movups xmm1, xmmword [esp + 0x1e4]
subps xmm3, xmm1
mulps xmm3, xmm2
addps xmm3, xmm1
mov eax, dword [esp + 0x20]
movsd xmm4, qword [eax + 0xe8]
movsd xmm1, qword [eax + 0x1a60]
subps xmm4, xmm1
addps xmm4, xmm3
movsd xmm1, qword [esi + 0xc]
addps xmm0, xmm1
movaps xmm3, xmm4
subps xmm1, xmm4
mulps xmm1, xmm2
addps xmm1, xmm4
movups xmmword [esp + 0x28], xmm1
subps xmm3, xmm0
mulps xmm3, xmm2
addps xmm3, xmm0
subps xmm3, xmm1
movaps xmm1, xmm3
movaps xmm0, xmm3
movups xmmword [esp + 0xe8], xmm3
shufps xmm1, xmm3, 0x55
lea ecx, [esp + 0x80]
mov edx, esi
call fcn.100aef80
movups xmm4, xmmword [esp + 0x28]
movsd xmm6, qword [esp + 0x80]
movaps xmm0, xmm6
movups xmm1, xmmword [esp + 0xe8]
subps xmm0, xmm1
movups xmm1, xmmword [esp + 0x60]
andps xmm0, xmm1
subps xmm4, xmm0
movzx ecx, byte [esp + 0x90]
movzx eax, byte [esp + 0x50]
test ebx, ebx
je 0x100ab632
test cl, cl
jne 0x100ab632
test al, al
je 0x100ab720
jmp 0x100ab632
cmp byte [esp + 0x4f], 0
je 0x100abe33
movaps xmm1, xmmword [0x1014c040]
movups xmm0, xmmword [esp + 0x15c]
movss xmm1, xmm0
movups xmmword [esp + 0x144], xmm1
movaps xmm1, xmmword [0x1014c050]
unpcklps xmm1, xmm0
movups xmmword [esp + 0xe8], xmm1
xor edi, edi
mov dword [esp + 0xd8], 0xffffffff
jmp 0x100abb79
mov eax, dword [esp + 0x20]
movss xmm2, dword [eax + 0xe8]
subss xmm2, dword [eax + 0x1a60]
addss xmm2, dword [0x10149038]
movaps xmm0, xmm3
movss xmm0, xmm2
movaps xmm5, xmm3
subps xmm5, xmm0
movsd xmm2, qword [esi + 0x14]
movaps xmm4, xmm1
cmpeqps xmm4, xmmword [0x10146ac0]
movups xmmword [esp + 0x60], xmm4
mulps xmm5, xmm1
addps xmm5, xmm0
movups xmmword [esp + 0x28], xmm5
addps xmm2, xmm3
subps xmm0, xmm2
mulps xmm0, xmm1
addps xmm0, xmm2
subps xmm0, xmm5
movups xmmword [esp + 0xd8], xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
lea ecx, [esp + 0x80]
mov edx, esi
call fcn.100aef80
movups xmm4, xmmword [esp + 0x28]
movsd xmm6, qword [esp + 0x80]
movaps xmm0, xmm6
movups xmm1, xmmword [esp + 0xd8]
subps xmm0, xmm1
movups xmm1, xmmword [esp + 0x60]
andps xmm0, xmm1
subps xmm4, xmm0
mov dword [esp + 0xd8], edi
inc edi
cmp edi, 4
je 0x100abe3e
cmp edi, 3
ja case.default.0x100abba0
movsd xmm0, qword [esi + 0xc]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
movss xmm1, dword [esi + 0x18]
addss xmm1, xmm3
movss xmm2, dword [esi + 0x14]
addss xmm2, xmm0
jmp dword [edi*4 + 0x1014c1b4]
addss xmm3, dword [0x10149038]
subss xmm2, dword [esp + 0x15c]
movups xmm1, xmmword [esp + 0x144]
addps xmm0, xmm1
movlps qword [esp + 0x10], xmm0
jmp 0x100abc08
subss xmm1, dword [esp + 0x15c]
movss xmm0, xmm2
jmp 0x100abc22
movaps xmm3, xmm1
addss xmm3, dword [0x10149038]
movups xmm5, xmmword [esp + 0x15c]
subss xmm2, xmm5
addss xmm1, dword [0x10149270]
addss xmm0, xmm5
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x18], xmm2
movss dword [esp + 0x1c], xmm3
jmp 0x100abc50
subss xmm1, dword [esp + 0x15c]
movaps xmm2, xmm0
addss xmm2, dword [0x10149038]
movups xmm3, xmmword [esp + 0xe8]
addps xmm0, xmm3
movlps qword [esp + 0x10], xmm0
movss dword [esp + 0x18], xmm2
movss dword [esp + 0x1c], xmm1
jmp 0x100abc50
xorps xmm0, xmm0
movups 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 + 0x1014b77c]
mov edx, ebx
xor ebx, esi
shr ecx, 0x10
shr edx, 8
movzx esi, bl
xor edx, dword [esi*4 + 0x1014b77c]
mov ebx, edx
xor edx, ecx
shr eax, 0x18
shr ebx, 8
movzx ecx, dl
xor ebx, dword [ecx*4 + 0x1014b77c]
movzx ecx, bl
xor ecx, eax
mov eax, ebx
shr eax, 8
xor eax, dword [ecx*4 + 0x1014b77c]
not eax
mov ecx, dword [0x102a2d10]
cmp dword [ecx + 0x1a3c], eax
jne 0x100abccf
mov dword [ecx + 0x1a40], eax
movups xmmword [esp + 0x60], xmm6
movups xmmword [esp + 0x28], xmm4
cmp dword [ecx + 0x1a74], eax
jne 0x100abce8
mov byte [ecx + 0x1a78], 1
push 0x80
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x58]
push ecx
push eax
lea eax, [esp + 0x20]
push eax
call fcn.100ca9a0
add esp, 0x14
cmp byte [esp + 0x50], 0
mov esi, dword [esp]
je 0x100abd5c
mov eax, dword [esp + 0x20]
movss xmm0, dword [eax + 0x1a34]
ucomiss xmm0, dword [0x10149a20]
movzx eax, byte [esp + 0x90]
movups xmm4, xmmword [esp + 0x28]
movups xmm6, xmmword [esp + 0x60]
ja 0x100abd41
test al, al
je 0x100abb6f
mov ecx, edi
and ecx, 1
add ecx, 3
mov edx, dword [esp + 0x20]
mov dword [edx + 0x1dac], ecx
test al, al
jne 0x100abd86
jmp 0x100abb6f
cmp byte [esp + 0x90], 0
movups xmm4, xmmword [esp + 0x28]
movups xmm6, xmmword [esp + 0x60]
je 0x100abb6f
mov eax, edi
and eax, 1
add eax, 3
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x1dac], eax
mov eax, dword [esp + 0x114]
movsd xmm3, qword [eax]
xorps xmm1, xmm1
cmp edi, 3
ja case.default.0x100abd9d
jmp dword [edi*4 + 0x1014c1c4]
mov eax, dword [esp + 0x20]
movss xmm0, dword [eax + 0xec]
subss xmm0, dword [eax + 0x1a64]
addss xmm0, dword [0x10149038]
movlhps xmm0, xmm3
shufps xmm0, xmm3, 0xe2
jmp 0x100abaef
mov eax, dword [esp + 0x20]
movss xmm1, dword [eax + 0xe8]
subss xmm1, dword [eax + 0x1a60]
addss xmm1, dword [0x10149038]
movaps xmm0, xmm3
movss xmm0, xmm1
movss xmm1, dword [0x10147700]
jmp 0x100abaef
mov eax, dword [esp + 0x20]
movss xmm0, dword [eax + 0xec]
subss xmm0, dword [eax + 0x1a64]
addss xmm0, dword [0x10149038]
movlhps xmm0, xmm3
shufps xmm0, xmm3, 0xe2
movaps xmm1, xmmword [0x1014a990]
jmp 0x100abaef
movaps xmm0, xmm3
jmp 0x100abaef
mov dword [esp + 0xd8], 0xffffffff
mov eax, dword [0x102a2d10]
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 0x100abeb6
cmp dword [eax + 0x2f8], esi
mov edi, dword [esp + 0xc]
jne 0x100abfa0
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x1b68]
cmp eax, 4
movups xmmword [esp + 0x28], xmm4
je 0x100abebf
xorps xmm2, xmm2
cmp eax, 3
jne 0x100abef2
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x101], 0
je 0x100abef2
sub esp, 0x14
movaps xmm0, xmmword [0x10147a50]
jmp 0x100abec9
mov edi, dword [esp + 0xc]
jmp 0x100abfa0
sub esp, 0x14
movaps xmm0, xmmword [0x1014c060]
movups xmmword [esp + 4], xmm0
lea eax, [esp + 0x24]
mov dword [esp], eax
movups xmmword [esp + 0x74], xmm6
call fcn.100b2160
movups xmm6, xmmword [esp + 0x74]
movups xmm4, xmmword [esp + 0x3c]
add esp, 0x14
movsd xmm2, qword [esp + 0x10]
xorps xmm0, xmm0
ucomiss xmm2, xmm0
movaps xmm3, xmm2
shufps xmm3, xmm2, 0x55
jne 0x100abf0e
jp 0x100abf0e
ucomiss xmm3, xmm0
jne 0x100abf0e
jnp 0x100abfa0
mov eax, dword [esp + 0x20]
movss xmm0, dword [eax + 0x18]
movss xmm1, dword [eax + 0xa8]
mulss xmm0, dword [0x1014c070]
minss xmm1, dword [eax + 0xac]
mulss xmm1, xmm0
cvttps2dq xmm0, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm0
movups xmmword [esp + 0x60], xmm2
mulss xmm3, xmm0
movups xmmword [esp + 0xe8], xmm3
mov byte [eax + 0x1c54], 0
mov byte [eax + 0x1b8b], 1
push 0x3f800000
push 0x20
call fcn.1009d830
add esp, 8
mov dword [esp + 0x1ac], eax
movups xmm1, xmmword [esp + 0xe8]
addss xmm1, dword [esi + 0x20]
movups xmm0, xmmword [esp + 0x60]
addss xmm0, dword [esi + 0x1c]
lea ecx, [esp + 0x10]
mov edx, esi
call fcn.100aef80
movups xmm4, xmmword [esp + 0x28]
movsd xmm6, qword [esp + 0x10]
ucomiss xmm6, dword [0x10148fd8]
jne 0x100abfab
jnp 0x100abfd3
movlps qword [esi + 0x1c], xmm6
test byte [esi + 9], 1
jne 0x100abfd3
mov eax, dword [0x102a2d10]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2dbc]
jb 0x100abfd3
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2dbc], xmm0
ucomiss xmm4, dword [0x10148fd8]
jne 0x100abfde
jnp 0x100ac00d
cvttps2dq xmm0, xmm4
cvtdq2ps xmm0, xmm0
movlps qword [esi + 0xc], xmm0
test byte [esi + 9], 1
jne 0x100ac00d
mov eax, dword [0x102a2d10]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2dbc]
jb 0x100ac00d
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2dbc], xmm0
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x18], ecx
test byte [esp + 0x110], 1
mov edx, dword [esp + 0xb8]
movzx edx, dl
mov ebx, 1
cmovne edx, ebx
mov dword [esi + 0x14], eax
mov ecx, dword [esp + 0x12c]
movzx ecx, cl
cmovne ecx, ebx
lea eax, [esi + 0x84]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0xd8]
mov byte [esi + 0x84], al
cmp byte [esi + 0x7d], 0
je 0x100ac069
mov eax, dword [esp + 0x38]
jmp 0x100a8945
mov ebx, dword [esp + 4]
mov eax, edx
mov ebp, dword [esp + 0x24]
jmp 0x100a87fb
mov byte [0x102a2d90], 1
movaps xmm0, xmmword [0x1014a990]
movaps xmmword [0x102a2d20], xmm0
movaps xmm0, xmmword [0x1014c0a0]
movaps xmmword [0x102a2d30], xmm0
movaps xmm0, xmmword [0x1014be20]
movaps xmmword [0x102a2d40], xmm0
movaps xmm0, xmmword [0x1014c0b0]
movaps xmmword [0x102a2d50], xmm0
movaps xmm0, xmmword [0x1014c0c0]
movaps xmmword [0x102a2d60], xmm0
movaps xmm0, xmmword [0x1014c0d0]
movaps xmmword [0x102a2d70], xmm0
movaps xmm0, xmmword [0x1014c0e0]
movaps xmmword [0x102a2d80], xmm0
jmp 0x100a9d1d