Function at 0x100aed00
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 [0x102709d0]
movzx ecx, byte [eax]
test cl, cl
je 0x100aed62
lea edx, [eax + 2]
mov esi, 0xffffffff
mov eax, 0xffffffff
jmp 0x100aed47
movzx edi, ch
movzx ebx, al
shr eax, 8
xor ebx, edi
xor eax, dword [ebx*4 + 0x1014632c]
inc edx
test cl, cl
je 0x100aed5e
mov ch, cl
mov cl, byte [edx - 1]
cmp ch, 0x23
jne 0x100aed30
cmp cl, 0x23
jne 0x100aed30
cmp byte [edx], 0x23
cmove eax, esi
jmp 0x100aed30
not eax
jmp 0x100aed64
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 0x100aed9d
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 0x100aed80
mov ebx, dword [esp + 0x210]
lea edx, [esi + edx*8]
cmp ecx, edx
mov ebp, dword [esp + 0x24]
je 0x100aedcb
cmp dword [ecx], eax
jne 0x100aedcb
mov esi, dword [ecx + 4]
xor eax, eax
mov dword [esp + 0x98], 0
test esi, esi
jne 0x100af110
lea edi, [ebp + 0x19f8]
test ebp, ebp
je 0x100aeddb
inc dword [ebp + 0x374]
push dword [0x102709d8]
push 0x33c
call dword [0x1026f97c]
add esp, 8
mov esi, eax
mov ecx, eax
push dword [esp + 0x208]
push ebp
call fcn.100a6f10
mov dword [esp + 0x10], esi
mov dword [esi + 8], ebx
mov ecx, edi
push esi
push dword [esi + 4]
call fcn.100a50c0
mov dword [esi + 0xc], 0x42700000
mov dword [esi + 0x10], 0x42700000
test ebx, 0x100
jne 0x100aeedf
mov ecx, dword [0x102709d0]
mov edx, dword [ecx + 0x2de0]
test edx, edx
je 0x100aeedf
mov edi, dword [esi + 4]
add edx, 4
mov eax, edx
nop dword [eax + eax]
cmp dword [eax], edi
je 0x100aee69
add eax, dword [eax - 4]
mov ebp, dword [ecx + 0x2dd8]
add ebp, edx
cmp eax, ebp
mov ebp, dword [esp + 0x24]
jne 0x100aee50
jmp 0x100aeedf
mov ecx, eax
sub ecx, dword [ebp + 0x2de0]
mov dword [esi + 0x274], ecx
movsd xmm0, qword [esi + 0xa0]
andps xmm0, xmmword [0x10146b90]
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 0x100aeed8
movzx edx, word [eax + 0xa]
test dx, dx
jle 0x100aeed8
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 0x100aef2b
pxor xmm0, xmm0
ucomiss xmm0, dword [esi + 0x14]
jb 0x100aef07
mov byte [esi + 0x90], 2
ucomiss xmm0, dword [esi + 0x18]
jb 0x100aef14
mov byte [esi + 0x91], 2
mov al, 1
cmp byte [esi + 0x90], 0
jg 0x100aef36
cmp byte [esi + 0x91], 0
setg al
jmp 0x100aef36
mov word [esi + 0x90], 0x202
xor eax, eax
mov byte [esi + 0x93], al
mov eax, dword [ebp + 0x19d4]
cmp eax, dword [ebp + 0x19d8]
jne 0x100aef5e
lea ebx, [eax + 1]
test eax, eax
je 0x100aef69
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100aef6e
mov edi, dword [ebp + 0x19dc]
jmp 0x100af005
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
lea eax, [ebx*4]
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100aef8a
inc dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f97c]
add esp, 8
mov edi, eax
mov ebp, dword [esp + 0x24]
mov eax, dword [ebp + 0x19dc]
test eax, eax
je 0x100aefec
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 0x100aefd8
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100aefd8
dec dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f980]
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 0x100af03e
mov eax, dword [ebp + 0x19c8]
cmp eax, dword [ebp + 0x19cc]
jne 0x100af04f
lea ebp, [eax + 1]
test eax, eax
je 0x100af05a
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100af05f
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.100bb5a0
jmp 0x100af101
mov edi, dword [ebp + 0x19d0]
jmp 0x100af0f8
mov ecx, 8
cmp ecx, ebp
cmovg ebp, ecx
lea eax, [ebp*4]
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100af07b
inc dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f97c]
add esp, 8
mov edi, eax
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx + 0x19d0]
test eax, eax
je 0x100af0dd
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 0x100af0c9
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100af0c9
dec dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f980]
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 0x100af145
xor eax, eax
jmp 0x100af14c
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 0x100af1a4
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 0x100af1d7
movq xmm0, qword [esi + 0xa0]
por xmm0, xmmword [0x10146ba0]
movq qword [esi + 0xa0], xmm0
or byte [esi + 0xa8], 8
cmp dword [esp + 0x48], edi
mov byte [esp + 0xb], cl
jne 0x100af1e6
mov ebx, dword [esi + 8]
jmp 0x100af222
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 0x100af24c
mov ecx, dword [ebp + 0x19f4]
mov ecx, dword [ecx + eax*4 - 4]
mov dword [esp + 0xc], ecx
cmp dword [esp + 0x48], edi
jne 0x100af25a
mov ecx, dword [esi + 0x2f4]
mov dword [esp + 0xc], ecx
jmp 0x100af26d
mov dword [esp + 0xc], 0
cmp dword [esp + 0x48], edi
je 0x100af240
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 0x100af29d
cmp eax, dword [ebp + 0x19f0]
jne 0x100af3ea
lea esi, [eax + 1]
test eax, eax
je 0x100af2b7
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100af2bc
cmp dword [esi + 0xc0], 0
je 0x100af34c
mov edi, dword [esi + 0xc4]
xor eax, eax
jmp 0x100af3cc
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
lea eax, [esi*4]
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100af2d8
inc dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f97c]
add esp, 8
mov edi, eax
mov eax, dword [ebp + 0x19f4]
test eax, eax
je 0x100af332
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 0x100af322
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100af322
dec dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f980]
add esp, 8
mov dword [ebp + 0x19f4], edi
mov dword [ebp + 0x19f0], esi
mov eax, dword [ebp + 0x19ec]
mov esi, dword [esp]
jmp 0x100af3f0
mov eax, dword [0x102709d0]
test eax, eax
je 0x100af35b
inc dword [eax + 0x374]
push dword [0x102709d8]
push 0x20
call dword [0x1026f97c]
add esp, 8
mov edi, eax
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x100af3b6
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 0x100af3a6
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100af3a6
dec dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f980]
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 0x100af289
mov edi, dword [ebp + 0x19f4]
mov dword [edi + eax*4], esi
inc dword [ebp + 0x19ec]
mov dword [ebp + 0x1a08], 0
mov eax, dword [0x102709d0]
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 0x100af575
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 0x100af4a6
lea ebx, [eax + 1]
test eax, eax
je 0x100af4b1
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100af4b6
mov edi, dword [ebp + 0x1b34]
jmp 0x100af548
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
lea eax, [ebx*4]
lea eax, [eax + eax*8]
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100af4d5
inc dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f97c]
add esp, 8
mov edi, eax
mov eax, dword [ebp + 0x1b34]
test eax, eax
je 0x100af532
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 0x100af522
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100af522
dec dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f980]
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 0x100af598
test eax, eax
jne 0x100af598
mov dword [esi + 0x308], 0
mov dword [esp + 0x100], eax
cmp dword [esp + 0x48], edi
je 0x100af622
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 0x100af5e0
test ecx, ecx
je 0x100af5e0
mov eax, dword [ecx + 0x2f8]
mov dword [esi + 0x2f8], eax
test ebx, 0x8000000
jne 0x100af608
mov eax, ebx
and eax, 0x5000000
je 0x100af608
cmp dword [esp + 0xc], 0
je 0x100af608
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x2fc]
mov dword [esi + 0x2fc], eax
test byte [esi + 0xa], 0x80
je 0x100af622
mov eax, esi
mov eax, dword [eax + 0x2f4]
mov dword [esi + 0x300], eax
test byte [eax + 0xa], 0x80
jne 0x100af610
test byte [ebp + 0x1a88], 1
jne 0x100af658
mov dword [esp + 0x28], 0
test byte [ebp + 0x1a88], 2
jne 0x100af74c
mov dword [esp + 0x70], 0
mov dword [esp + 0xa8], 0
jmp 0x100af823
mov eax, dword [esi + 0xa0]
mov ecx, dword [ebp + 0x1a8c]
test ecx, eax
setne dl
mov dword [esp + 0x28], edx
je 0x100af6d9
movss xmm0, dword [ebp + 0x1aa0]
movss xmm1, dword [ebp + 0x1aa4]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
ucomiss xmm0, dword [0x10146bb0]
jbe 0x100af6e1
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 0x100af74c
jmp 0x100af640
test ecx, ecx
jne 0x100af62b
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 0x100af640
mov eax, dword [esi + 0xa4]
mov ecx, dword [ebp + 0x1a90]
test ecx, eax
je 0x100af808
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 0x100af7c0
mov byte [esi + 0x90], 0
movss xmm0, dword [ebp + 0x1aa8]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x1c], xmm0
jmp 0x100af7ce
mov byte [esi + 0x90], 2
mov byte [esi + 0x93], 0
movss xmm0, dword [ebp + 0x1aac]
ucomiss xmm0, xmm1
jbe 0x100af7f8
mov byte [esi + 0x91], 0
movss xmm0, dword [ebp + 0x1aac]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x20], xmm0
jmp 0x100af823
mov byte [esi + 0x91], 2
mov byte [esi + 0x93], 0
jmp 0x100af823
mov dword [esp + 0x70], 0
mov dword [esp + 0xa8], 0
test ecx, ecx
je 0x100af78a
test byte [ebp + 0x1a88], 0x80
je 0x100af861
movss xmm1, dword [ebp + 0x1ab8]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jb 0x100af848
movss dword [esi + 0x60], xmm1
mov dword [esi + 0x68], 0
movss xmm1, dword [ebp + 0x1abc]
ucomiss xmm1, xmm0
jb 0x100af861
movss dword [esi + 0x64], xmm1
mov dword [esi + 0x6c], 0
test byte [ebp + 0x1a88], 4
jne 0x100af880
cmp dword [esp + 0x48], edi
je 0x100af88d
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
jmp 0x100af88d
movsd xmm0, qword [ebp + 0x1ab0]
movsd qword [esi + 0x2c], xmm0
mov eax, dword [ebp + 0x1a88]
test al, 8
je 0x100af8c4
mov edx, dword [ebp + 0x1a94]
mov ecx, dword [esi + 0xa8]
test edx, edx
je 0x100af8ab
and edx, ecx
je 0x100af8c4
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 0x100af8d1
push esi
call fcn.100a9d50
add esp, 4
cmp byte [esi + 0x80], 0
je 0x100af8f7
movsd xmm0, qword [esi + 0xa0]
andps xmm0, xmmword [0x10146bc0]
movlps qword [esi + 0xa0], xmm0
and byte [esi + 0xa8], 0xf7
cmp dword [esp + 0x48], edi
jne 0x100af942
mov edi, dword [0x102709d0]
mov dword [edi + 0x1a08], esi
movss xmm0, dword [edi + 0x18d8]
mulss xmm0, dword [esi + 0x270]
mov eax, dword [esi + 0x2f4]
test eax, eax
je 0x100af92b
mulss xmm0, dword [eax + 0x270]
movss dword [edi + 0x18e8], xmm0
movss dword [edi + 0x18d4], xmm0
mov eax, esi
jmp 0x100b305e
mov byte [esi + 0x7a], 1
cmp dword [esp + 0x20c], 0
setne byte [esi + 0x83]
movaps xmm0, xmmword [0x10146bd0]
movups xmmword [esi + 0x22c], xmm0
mov eax, dword [esi + 0xc0]
test eax, eax
jg 0x100afa19
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 [0x102709d0]
test ecx, ecx
je 0x100af9a7
inc dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f97c]
add esp, 8
mov edi, eax
mov ebx, dword [esp]
mov eax, dword [ebx + 0xc4]
test eax, eax
je 0x100afa07
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 0x100af9f4
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100af9f4
dec dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f980]
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 0x100afa35
push esi
call fcn.100a7fa0
add esp, 4
cmp dword [ebp + 0x1c48], 0
je 0x100afaec
movzx eax, byte [esi + 0xa]
and al, 8
shr al, 3
or al, byte [esp + 0x98]
jne 0x100afaec
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 0x100afaec
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 0x100afacd
test edi, edi
je 0x100afa9a
mov eax, dword [0x102709d0]
test eax, eax
je 0x100afa9a
dec dword [eax + 0x374]
push dword [0x102709d8]
push edi
call dword [0x1026f980]
add esp, 8
mov eax, dword [0x102709d0]
test eax, eax
je 0x100afab9
inc dword [eax + 0x374]
push dword [0x102709d8]
push ebx
call dword [0x1026f97c]
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 0x100afb04
cmp byte [esi + 0x90], 0
jg 0x100afb04
cmp byte [esi + 0x91], 0
jle 0x100afb6d
cmp byte [esi + 0x81], 0
je 0x100afb16
cmp dword [esi + 0x9c], 0
je 0x100afb64
movss xmm0, dword [esi + 0x2c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x100afb35
jp 0x100afb35
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 0x100afb58
jp 0x100afb58
movss xmm2, dword [esi + 0xe4]
subss xmm2, dword [esi + 0xdc]
cvttps2dq xmm1, xmm2
cvtdq2ps xmm1, xmm1
unpcklps xmm0, xmm1
jmp 0x100afb72
cmp dword [esi + 0x98], 0
jle 0x100afb16
movsd xmm0, qword [esi + 0x24]
movlps qword [esi + 0x24], xmm0
mov eax, dword [esi + 0x98]
test eax, eax
jle 0x100afb87
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 0x100afbae
test cl, cl
jne 0x100afbbf
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 0x100afc1a
mov dword [esi + 0x9c], 1
test bl, 0x40
je 0x100afc1a
cmp byte [esp + 0xa8], 0
jne 0x100afbf7
mov dword [esi + 0x1c], 0
mov dword [esi + 0x14], 0
cmp byte [esp + 0x70], 0
jne 0x100afc0c
mov dword [esi + 0x20], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov edi, dword [0x102709d0]
mov dword [edi + 0x1a08], esi
movss xmm0, dword [edi + 0x18d8]
mulss xmm0, dword [esi + 0x270]
mov eax, dword [esi + 0x2f4]
test eax, eax
je 0x100afc48
mulss xmm0, dword [eax + 0x270]
movss dword [edi + 0x18e8], xmm0
movss dword [edi + 0x18d4], xmm0
test ebx, 0x1000000
jne 0x100afc96
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 0x100afcde
movss xmm1, dword [ebp + 0x1544]
movss dword [esi + 0x40], xmm1
movsd xmm0, qword [ebp + 0x151c]
movsd qword [esi + 0x34], xmm0
test ebx, 0x4010000
jne 0x100afcde
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x100afcde
jp 0x100afcde
test ebx, 0x400
je 0x100afcd2
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 0x100afcf6
mov byte [esi + 0x7d], 0
jmp 0x100afdd5
movss xmm0, dword [esi + 0x10]
mov ebx, dword [esi + 8]
xorps xmm1, xmm1
test bl, 1
jne 0x100afd38
movss xmm2, dword [edi + 0x18d8]
mulss xmm2, dword [esi + 0x270]
mov eax, dword [esi + 0x2f4]
test eax, eax
je 0x100afd28
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 0x100afd9d
cmp dword [ebp + 0x1a28], 0
jne 0x100afd9d
cmp dword [ebp + 0x1a30], 0
jne 0x100afd9d
lea eax, [esp + 0x18]
lea ecx, [esp + 0x10]
push 1
push eax
push ecx
call fcn.100a8510
add esp, 0xc
test al, al
je 0x100afd9d
cmp byte [ebp + 0x3e5], 0
je 0x100afd9d
mov byte [esi + 0x7e], 1
cmp byte [esi + 0x7e], 0
je 0x100afdd1
xor byte [esi + 0x7d], 1
test ebx, 0x100
jne 0x100afdc8
xorps xmm0, xmm0
ucomiss xmm0, dword [edi + 0x2dbc]
jb 0x100afdc8
movss xmm0, dword [edi + 0x1c]
movss dword [edi + 0x2dbc], xmm0
push esi
call fcn.100a9d50
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.100b6a80
add esp, 4
test bl, 0x40
mov edi, dword [esp + 0xc]
je 0x100afe04
cmp byte [esi + 0x7d], 0
je 0x100afedf
cmp byte [esi + 0x90], 0
mov ecx, dword [esp + 0xb8]
jle 0x100afe54
mov edx, ecx
cmp byte [esp + 0xa8], 0
jne 0x100afe63
cmp byte [esi + 0x93], 0
movss xmm0, dword [esp + 0xf8]
je 0x100afe4b
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 0x100afe63
cmp byte [esi + 0x91], 0
mov edx, ecx
jle 0x100aff27
cmp byte [esp + 0x70], 0
jne 0x100afea5
cmp byte [esi + 0x91], 0
jle 0x100afea5
cmp byte [esi + 0x93], 0
movss xmm0, dword [esp + 0xfc]
je 0x100afe9e
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 0x100aff2e
test byte [esi + 9], 1
jne 0x100aff2e
mov eax, dword [0x102709d0]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2dbc]
jb 0x100aff2e
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2dbc], xmm0
jmp 0x100aff2e
mov eax, dword [esp + 0xb8]
cmp byte [esp + 0xa8], 0
jne 0x100aff00
movss xmm0, dword [esp + 0xf8]
movss dword [esi + 0x1c], xmm0
mov al, 1
cmp byte [esp + 0x70], 0
mov dword [esp + 0x12c], eax
jne 0x100aff2e
movss xmm0, dword [esp + 0xfc]
movss dword [esi + 0x20], xmm0
mov al, 1
mov dword [esp + 0xb8], eax
jmp 0x100aff2e
mov dword [esp + 0x12c], ecx
movss xmm0, dword [esi + 0x1c]
movss xmm1, dword [esi + 0x20]
lea ecx, [esp + 0x10]
mov edx, esi
call fcn.100b6c70
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 0x100affc0
cmp dword [esp + 0x100], 0
jne 0x100affc0
movss xmm1, dword [esi + 0x10]
mov eax, dword [esi + 8]
xorps xmm3, xmm3
test al, 1
jne 0x100affac
mov ecx, dword [0x102709d0]
movss xmm2, dword [ecx + 0x18d8]
mulss xmm2, dword [esi + 0x270]
mov edx, dword [esi + 0x2f4]
test edx, edx
je 0x100aff9c
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 0x100affcb
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 0x100b0024
mov ecx, dword [0x102709d0]
movss xmm0, dword [ecx + 0x18d8]
mulss xmm0, dword [esi + 0x270]
mov edx, dword [esi + 0x2f4]
test edx, edx
je 0x100b000c
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 0x100b007b
mov eax, dword [0x102709d0]
movss xmm0, dword [esi + 0x150]
movss xmm1, dword [eax + 0x18d8]
mulss xmm1, dword [esi + 0x270]
mov ecx, dword [esi + 0x2f4]
test ecx, ecx
je 0x100b0062
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 0x100b00b7
test dword [esp + 4], 0x4000000
sete al
mov dword [esi + 0x94], 0xffffffff
or al, byte [esp + 0x28]
jne 0x100b00b7
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 0x100b01ed
movzx eax, word [edi + 0x180]
mov word [esi + 0x88], ax
mov edx, dword [edi + 0x180]
cmp edx, dword [edi + 0x184]
jne 0x100b010b
lea esi, [edx + 1]
test edx, edx
je 0x100b0116
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sar ecx, 1
add ecx, edx
jmp 0x100b011b
mov eax, dword [edi + 0x188]
jmp 0x100b01bd
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
lea eax, [esi*4]
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100b0137
inc dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f97c]
add esp, 8
mov edi, dword [esp + 0xc]
mov edx, dword [edi + 0x188]
test edx, edx
je 0x100b019f
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 0x100b0187
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100b0187
dec dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f980]
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 0x100b01ed
cmp dword [esp + 0x70], 0x3000000
je 0x100b01ed
movq xmm0, qword [edi + 0xc8]
movq qword [esi + 0xc], xmm0
movss xmm0, dword [esi + 0xac]
ucomiss xmm0, dword [0x101439c8]
jne 0x100b0200
jnp 0x100b0209
cmp dword [esi + 0x9c], 0
je 0x100b0270
mov eax, dword [esp + 4]
test eax, 0x10000000
jne 0x100b024c
test eax, 0x4000000
sete al
or al, byte [esp + 0x28]
jne 0x100b0229
cmp dword [esp + 0x38], 0
jg 0x100b024c
test dword [esp + 4], 0x2000000
sete al
or al, byte [esp + 0x28]
jne 0x100b02e2
cmp dword [esp + 0x70], 0x3000000
je 0x100b02e2
push esi
lea eax, [esp + 0x14]
push eax
call fcn.100b6e90
movss xmm5, dword [esp + 0x108]
add esp, 8
movsd xmm0, qword [esp + 0x10]
movsd qword [esi + 0xc], xmm0
jmp 0x100b02e2
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 [0x102709d0]
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 0x100b0373
cmp byte [esi + 0x90], 0
jg 0x100b0373
cmp byte [esi + 0x91], 0
jg 0x100b0373
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 0x100b0373
shufps xmm0, xmm0, 0x55
ucomiss xmm0, xmm1
jbe 0x100b0373
lea edx, [esp + 0xc8]
mov ecx, esi
lea eax, [esp + 0x10]
push eax
call fcn.100b70c0
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 0x100b03a1
mov eax, edi
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x100b03a9
lea eax, [ebp + 0x1548]
jmp 0x100b03af
lea eax, [ebp + 0x1540]
jmp 0x100b03af
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 [0x10141e50]
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 0x100b0485
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 0x100b0615
test byte [esi + 8], 0x42
mov edi, dword [esp + 0xc]
jne 0x100b04a5
cmp byte [esi + 0x90], 0
jg 0x100b04a5
cmp byte [esi + 0x91], 0
jle 0x100b31d6
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 0x100b04e8
movsd xmm1, qword [esi + 0x24]
movsd xmm0, qword [esi + 0x34]
addps xmm0, xmm0
addps xmm0, xmm1
test cl, cl
je 0x100b0520
movss xmm2, dword [esi + 0x1c]
test al, al
jne 0x100b0539
movss xmm1, dword [esi + 0x208]
subss xmm1, dword [esi + 0x200]
addss xmm1, dword [esi + 0x74]
test ebx, 0x4000
je 0x100b054f
mov byte [esi + 0x79], 1
test bx, bx
js 0x100b057f
lea ecx, [esi + 0x79]
jmp 0x100b0573
movss xmm2, dword [esi + 0x204]
subss xmm2, dword [esi + 0x1fc]
addss xmm2, dword [esi + 0x70]
test al, al
je 0x100b04f5
movss xmm1, dword [esi + 0x20]
subss xmm1, dword [esp + 0xa8]
test ebx, 0x4000
jne 0x100b0512
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 0x100b0587
test al, al
je 0x100b0591
movss xmm3, dword [ebp + 0x1580]
mov al, 1
jmp 0x100b0596
mov byte [esi + 0x78], 1
mov al, 1
jmp 0x100b05e3
mov byte [esi + 0x78], 1
test al, al
je 0x100b05bf
jmp 0x100b05e3
xorps xmm3, xmm3
xor eax, eax
subss xmm2, xmm3
ucomiss xmm0, xmm2
jbe 0x100b05f4
mov edx, ebx
and edx, 8
jne 0x100b05f4
and ebx, 0x800
mov edx, ebx
shr edx, 0xb
mov byte [esi + 0x78], dl
xorps xmm2, xmm2
test ebx, ebx
je 0x100b05fb
test al, al
jne 0x100b05db
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 0x100b31c6
movss xmm2, dword [ebp + 0x1580]
test al, al
jne 0x100b05ff
xorps xmm0, xmm0
jmp 0x100b0607
mov byte [esi + 0x78], 0
xorps xmm2, xmm2
test al, al
je 0x100b05ef
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 0x100b06f8
mov eax, dword [0x102709d0]
movss xmm4, dword [eax + 0x18d8]
mulss xmm4, dword [esi + 0x270]
mov ecx, dword [esi + 0x2f4]
test ecx, ecx
je 0x100b06e8
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 [0x10141dd0]
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 [0x10146c30]
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 0x100b085b
xorps xmm2, xmm2
ucomiss xmm3, xmm2
jbe 0x100b085b
mov eax, ebx
and eax, 0x2000000
jne 0x100b085b
mulss xmm3, dword [0x10146c40]
jmp 0x100b086b
movss xmm3, dword [ebp + 0x18d4]
mulss xmm3, dword [0x101440b8]
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.100b7160
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.100bcd90
mov ecx, dword [esi + 0x278]
mov eax, dword [ebp + 0x18d0]
mov eax, dword [eax + 0x38]
push dword [eax + 8]
call fcn.100bd680
mov eax, dword [0x102709d0]
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.100bd440
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 0x100b09dd
mov ecx, dword [0x102709d0]
mov eax, dword [ecx + 0x1b20]
test eax, eax
jle 0x100b0ce6
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 0x100b09b9
dec eax
add ecx, 0xffffffdc
cmp eax, 1
jbe 0x100b09cd
mov edx, dword [ecx]
test edx, edx
je 0x100b09b0
test byte [edx + 0xb], 8
je 0x100b09b0
cmp esi, edx
je 0x100b09d3
xor eax, eax
jmp 0x100b09dd
xor edx, edx
cmp esi, edx
jne 0x100b09c9
cmp dword [esi + 0x9c], 0
setle al
mov ecx, dword [ebp + 0x1c44]
test ecx, ecx
je 0x100b09f5
mov esi, dword [esp]
cmp esi, dword [ecx + 0x2f8]
sete bl
jmp 0x100b09fa
xor ebx, ebx
mov esi, dword [esp]
mov ecx, eax
or cl, bl
cmp cl, 1
jne 0x100b0b01
movzx eax, al
shl eax, 4
movss xmm0, dword [ebp + 0x1cb8]
mov ecx, dword [0x102709d0]
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 [0x10141e50]
movaps xmm4, xmm3
minss xmm4, xmm2
xorps xmm5, xmm5
cmpltss xmm2, xmm5
andnps xmm2, xmm4
movss xmm4, dword [0x10144090]
mulss xmm2, xmm4
movss xmm6, dword [0x10141dd0]
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 [0x10141e60]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x10144400]
or esi, edx
addps xmm1, xmmword [0x10142210]
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.100bf150
test bl, bl
mov edi, dword [esp + 0xc]
je 0x100b0c84
cmp esi, dword [ebp + 0x1c44]
jne 0x100b0c84
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 0x100b0c84
lea eax, [esp + 0x18]
mov ecx, dword [esi + 0x278]
movss xmm1, dword [ebp + 0x1c50]
mulss xmm1, dword [0x101455c8]
movd xmm0, dword [ebp + 0x1524]
mov edx, dword [0x102709d0]
movss xmm3, dword [edx + 0x18a0]
movss xmm2, dword [edx + 0x18a4]
mulss xmm1, dword [edx + 0x1518]
mulss xmm1, dword [edx + 0x18ac]
movss xmm4, dword [0x10141e50]
movaps xmm5, xmm4
minss xmm5, xmm3
xorps xmm6, xmm6
cmpltss xmm3, xmm6
andnps xmm3, xmm5
movss xmm5, dword [0x10144090]
mulss xmm3, xmm5
movss xmm7, dword [0x10141dd0]
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 [0x10141e60]
minps xmm3, xmm2
cmpnltps xmm2, xmm1
andps xmm2, xmm3
mulps xmm2, xmmword [0x10144400]
addps xmm2, xmmword [0x10142210]
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.100bf150
cmp dword [esp + 0x70], 0x3000000
sete al
or byte [esp + 0x28], al
jne 0x100b0caa
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 0x100b0cf8
mov dword [esp + 0xe8], 0
mov eax, dword [ebp + 0x1c40]
test eax, eax
jne 0x100b0cc5
mov eax, dword [ebp + 0x1b38]
mov bl, 1
test byte [esp + 0x11c], 1
jne 0x100b0d17
test eax, eax
je 0x100b0d15
mov ecx, dword [esi + 0x2fc]
cmp ecx, dword [eax + 0x2fc]
sete bl
jmp 0x100b0d17
xor edx, edx
mov esi, dword [esp]
cmp esi, edx
jne 0x100b09c9
jmp 0x100b09d3
mov eax, dword [edi + 0x278]
cmp dword [eax + 0x18], 0
jle 0x100b0caa
mov dword [esi + 0x278], eax
mov al, 1
mov dword [esp + 0xe8], eax
jmp 0x100b0cb5
xor ebx, ebx
mov edi, dword [0x102709d0]
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 0x100b0e7a
movss xmm1, dword [edi + 0x155c]
movss dword [esp + 0x38], xmm1
movss dword [edi + 0x155c], xmm0
mov eax, 0xc
test bl, bl
je 0x100b0d6a
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 [0x10141e50]
movaps xmm4, xmm2
minss xmm4, xmm3
xorps xmm5, xmm5
cmpltss xmm3, xmm5
andnps xmm3, xmm4
movss xmm4, dword [0x10144090]
mulss xmm3, xmm4
movss xmm6, dword [0x10141dd0]
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 [0x10141e60]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x10144400]
or edx, ecx
addps xmm1, xmmword [0x10142210]
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.100a6600
add esp, 0x1c
movss xmm0, dword [esp + 0x38]
movss dword [edi + 0x155c], xmm0
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0xc]
jmp 0x100b1e5f
movups xmmword [esp + 0xb8], xmm0
test dl, dl
mov dword [esp + 0x38], edx
js 0x100b0f6e
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 [0x10141e50]
movaps xmm2, xmm1
minss xmm2, xmm4
xorps xmm0, xmm0
cmpltss xmm4, xmm0
andnps xmm4, xmm2
movss xmm2, dword [0x10144090]
mulss xmm4, xmm2
movss xmm3, dword [0x10141dd0]
addss xmm4, xmm3
cvttss2si ecx, xmm4
movsd xmm4, qword [edi + eax + 0x15d4]
xorps xmm5, xmm5
movaps xmm6, xmmword [0x10141e60]
minps xmm6, xmm4
cmpnltps xmm4, xmm5
andps xmm4, xmm6
mulps xmm4, xmmword [0x10144400]
addps xmm4, xmmword [0x10142210]
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 0x100b0f80
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 0x100b0fae
mov esi, edx
and esi, 1
test esi, esi
jne 0x100b1178
jmp 0x100b1065
movss xmm2, dword [edi + 0x1adc]
and ecx, 0xffffff
minss xmm1, xmm2
cmpltss xmm2, xmm0
andnps xmm2, xmm1
mulss xmm2, dword [0x10144090]
addss xmm2, dword [0x10141dd0]
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 0x100b1013
movss xmm2, dword [edi + 0x18d8]
mulss xmm2, dword [esi + 0x270]
mov esi, dword [esi + 0x2f4]
test esi, esi
je 0x100b1003
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.100bf150
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
test esi, esi
jne 0x100b1178
lea eax, [esp + 0x58]
movzx ecx, bl
shl ecx, 4
mov edx, dword [0x102709d0]
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 [0x10141e50]
movaps xmm4, xmm2
minss xmm4, xmm3
pxor xmm5, xmm5
cmpltss xmm3, xmm5
andnps xmm3, xmm4
movss xmm4, dword [0x10144090]
mulss xmm3, xmm4
movss xmm6, dword [0x10141dd0]
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 [0x10141e60]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x10144400]
or ebx, esi
mov esi, ebp
addps xmm1, xmmword [0x10142210]
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.100bf150
mov edx, dword [esp + 0x38]
test edx, 0x400
mov ebp, dword [esp]
je 0x100b1501
mov ecx, dword [ebp + 8]
pxor xmm1, xmm1
mov eax, dword [0x102709d0]
xorps xmm2, xmm2
test cl, 1
jne 0x100b11cd
movss xmm0, dword [eax + 0x18d8]
mulss xmm0, dword [ebp + 0x270]
mov edx, dword [ebp + 0x2f4]
test edx, edx
je 0x100b11bd
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 0x100b1218
movss xmm0, dword [ebp + 0x150]
movss xmm1, dword [eax + 0x18d8]
mulss xmm1, dword [ebp + 0x270]
mov ecx, dword [ebp + 0x2f4]
test ecx, ecx
je 0x100b1204
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 0x100b1286
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 [0x10141e50]
movaps xmm5, xmm1
minss xmm5, xmm4
cmpltss xmm4, xmm7
andnps xmm4, xmm5
movss xmm5, dword [0x10144090]
mulss xmm4, xmm5
movss xmm7, dword [0x10141dd0]
addss xmm4, xmm7
cvttss2si edx, xmm4
minss xmm1, xmm3
cmpltss xmm3, dword [0x101422a0]
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 [0x10141e60]
minps xmm4, xmm3
cmpnltps xmm3, xmm2
andps xmm3, xmm4
mulps xmm3, xmmword [0x10144400]
addps xmm3, xmmword [0x10142210]
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.100bf150
movups xmm4, xmmword [esp + 0x28]
movss xmm0, dword [edi + 0x155c]
ucomiss xmm0, dword [0x101422a0]
mov edx, dword [esp + 0x38]
jbe 0x100b1501
movss xmm1, dword [ebp + 0x10]
addss xmm1, dword [ebp + 0x18]
ucomiss xmm1, xmm4
jbe 0x100b1501
mov ecx, dword [0x102709d0]
movss xmm1, dword [ecx + 0x1620]
movss xmm5, dword [0x10141e50]
movaps xmm2, xmm5
minss xmm2, xmm1
xorps xmm3, xmm3
cmpltss xmm1, xmm3
andnps xmm1, xmm2
movss xmm2, dword [0x10144090]
mulss xmm1, xmm2
movss xmm6, dword [0x10141dd0]
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 [0x10141e60]
minps xmm3, xmm1
cmpnltps xmm1, xmm2
andps xmm1, xmm3
mulps xmm1, xmmword [0x10144400]
addps xmm1, xmmword [0x10142210]
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.100beef0
mov edx, dword [esp + 0x38]
cmp byte [ebp + 0x78], 0
mov esi, ebp
je 0x100b1517
push 0
call fcn.100d2b70
mov edx, dword [esp + 0x3c]
add esp, 4
cmp byte [esi + 0x79], 0
je 0x100b152b
push 1
call fcn.100d2b70
mov edx, dword [esp + 0x3c]
add esp, 4
test dl, 2
jne 0x100b187c
movss xmm0, dword [0x10144c10]
movups xmm3, xmmword [esp + 0x19c]
mulss xmm0, xmm3
addss xmm0, dword [esp + 0x17c]
mulss xmm3, dword [0x10146be0]
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, 0x10146740
jmp 0x100b164f
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.100be660
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.100be1b0
mov eax, ebp
mov dword [ebx + 0x58], 0
inc eax
add edi, 0x18
cmp dword [esp + 0x100], eax
je 0x100b187c
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 0x100b16a0
test esi, esi
je 0x100b16a8
mov eax, esi
shr eax, 0x1f
add eax, esi
sar eax, 1
add eax, esi
jmp 0x100b16ad
mov eax, dword [ebp + 0x60]
jmp 0x100b1767
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 [0x102709d0]
test eax, eax
je 0x100b16de
inc dword [eax + 0x374]
lea eax, [esi*8]
push dword [0x102709d8]
push eax
call dword [0x1026f97c]
add esp, 8
mov edx, dword [ebp + 0x60]
test edx, edx
je 0x100b173c
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 0x100b1728
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100b1728
dec dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f980]
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 0x100b15c0
test ebp, ebp
je 0x100b17db
mov eax, ebp
shr eax, 0x1f
add eax, ebp
sar eax, 1
add eax, ebp
jmp 0x100b17e0
mov eax, 8
movdqu xmmword [esp + 0xd8], xmm4
movups xmmword [esp + 0x28], xmm2
inc ebp
cmp eax, ebp
cmovg ebp, eax
mov eax, dword [0x102709d0]
test eax, eax
je 0x100b1803
inc dword [eax + 0x374]
lea eax, [ebp*8]
push dword [0x102709d8]
push eax
call dword [0x1026f97c]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x60]
test eax, eax
je 0x100b185b
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 0x100b184b
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100b184b
dec dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f980]
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 0x100b15c3
mov edx, dword [0x102709d0]
movss xmm7, dword [esi + 0x3c]
movss xmm1, dword [esi + 0x40]
xorps xmm0, xmm0
movss dword [esp + 0x38], xmm1
ucomiss xmm1, xmm0
jbe 0x100b19c5
test byte [esi + 8], 0x80
jne 0x100b19c5
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 [0x10141e50]
movaps xmm4, xmm2
minss xmm4, xmm3
xorps xmm5, xmm5
cmpltss xmm3, xmm5
andnps xmm3, xmm4
movss xmm4, dword [0x10144090]
mulss xmm3, xmm4
movss xmm6, dword [0x10141dd0]
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 [0x10141e60]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x10144400]
addps xmm1, xmmword [0x10142210]
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.100bf070
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 0x100b1cc8
cmp byte [0x10270a50], 0
je 0x100b3d48
mov dword [esp + 0x70], edx
lea eax, [ebx + ebx*8]
lea edi, [eax + eax*2]
lea edx, [ebx + edi]
add edx, 0x102709e0
xorps xmm4, xmm4
xorps xmm3, xmm3
cmp ebx, 3
ja case.default.0x100b1a3e
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 [0x10141e70]
addss xmm4, xmm2
addss xmm1, xmm2
jmp dword [ebx*4 + 0x10146d84]
xorps xmm1, xmm1
addss xmm1, xmm0
subss xmm4, xmm7
unpcklps xmm4, xmm1
addss xmm3, xmm7
jmp 0x100b1a94
subss xmm1, xmm7
addss xmm0, xmm7
movaps xmm3, xmm4
movaps xmm2, xmm4
unpcklps xmm2, xmm1
unpcklps xmm3, xmm0
movaps xmm4, xmm2
jmp case.default.0x100b1a3e
subss xmm4, xmm7
addss xmm3, xmm7
unpcklps xmm4, xmm1
unpcklps xmm3, xmm1
jmp case.default.0x100b1a3e
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 + 0x102709e8]
mulps xmm1, xmm4
addps xmm1, xmm3
addps xmm1, xmmword [0x10142210]
addps xmm1, xmm0
movss xmm0, dword [ebx + edi + 0x102709f8]
movlps qword [esp + 0x10], xmm1
movss xmm1, dword [0x10146ca0]
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.100be840
mov ecx, dword [esi + 0x278]
movss xmm0, dword [ebx + edi + 0x102709f8]
movss xmm1, dword [0x10146ca4]
addss xmm1, xmm0
movsd xmm2, qword [ebp]
movups xmm3, xmmword [esp + 0x98]
mulps xmm2, xmm3
movsd xmm3, qword [ebx + edi + 0x102709f0]
movups xmm4, xmmword [esp + 0xb8]
mulps xmm3, xmm4
movups xmm4, xmmword [esp + 0x100]
addps xmm3, xmm4
addps xmm3, xmmword [0x10142210]
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.100be840
mov eax, dword [0x102709d0]
movss xmm1, dword [eax + 0x17a0]
movss xmm0, dword [0x10141e50]
movaps xmm2, xmm0
minss xmm2, xmm1
xorps xmm3, xmm3
cmpltss xmm1, xmm3
andnps xmm1, xmm2
movss xmm2, dword [0x10144090]
mulss xmm1, xmm2
movss xmm4, dword [0x10141dd0]
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 [0x10141e60]
minps xmm0, xmm1
cmpnltps xmm1, xmmword [0x10141190]
andps xmm1, xmm0
mulps xmm1, xmmword [0x10144400]
addps xmm1, xmmword [0x10142210]
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 [0x10143a24]
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.100bd870
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 0x100b1e5f
test byte [esi + 8], 1
jne 0x100b1e5f
movss xmm1, dword [esi + 0x10]
mov eax, dword [0x102709d0]
movss xmm3, dword [eax + 0x18d8]
mulss xmm3, dword [esi + 0x270]
mov ecx, dword [esi + 0x2f4]
test ecx, ecx
je 0x100b1d16
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 [0x10141e50]
movaps xmm4, xmm3
minss xmm4, xmm2
xorps xmm5, xmm5
cmpltss xmm2, xmm5
andnps xmm2, xmm4
movss xmm4, dword [0x10144090]
mulss xmm2, xmm4
movss xmm6, dword [0x10141dd0]
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 [0x10141e60]
minps xmm4, xmm2
cmpnltps xmm2, xmm3
andps xmm2, xmm4
mulps xmm2, xmmword [0x10144400]
mov ebx, dword [esp]
mov ecx, dword [ebx + 0x278]
addps xmm2, xmmword [0x10142210]
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 [0x10141e70]
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.100beef0
jmp 0x100b0e6d
cmp byte [esp + 0xe8], 0
je 0x100b1e75
lea eax, [esi + 0x27c]
mov dword [esi + 0x278], eax
cmp dword [ebp + 0x1c44], esi
jne 0x100b203a
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 0x100b1f32
movaps xmm5, xmm3
shufps xmm5, xmm3, 0x55
movss xmm6, dword [esp + 0xcc]
ucomiss xmm6, xmm5
jb 0x100b1f32
ucomiss xmm2, dword [esp + 0xd0]
jb 0x100b1f32
movaps xmm5, xmm2
shufps xmm5, xmm2, 0x55
ucomiss xmm5, dword [esp + 0xd4]
jb 0x100b1f32
movss xmm0, dword [0x10141e70]
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 [0x102709d0]
movss xmm3, dword [edx + 0x18a0]
movss xmm2, dword [edx + 0x18a4]
mulss xmm1, dword [edx + 0x1518]
mulss xmm1, dword [edx + 0x18ac]
movss xmm4, dword [0x10141e50]
movaps xmm5, xmm4
minss xmm5, xmm3
xorps xmm6, xmm6
cmpltss xmm3, xmm6
andnps xmm3, xmm5
movss xmm5, dword [0x10144090]
mulss xmm3, xmm5
movss xmm7, dword [0x10141dd0]
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 [0x10141e60]
minps xmm3, xmm2
cmpnltps xmm2, xmm1
andps xmm2, xmm3
mulps xmm2, xmmword [0x10144400]
addps xmm2, xmmword [0x10142210]
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.100bf070
mov edi, dword [esp + 0xc]
movss xmm0, dword [esi + 0x2c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
movaps xmm5, xmm0
jne 0x100b208d
jp 0x100b208d
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 0x100b207c
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 0x100b20dd
jp 0x100b20dd
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 0x100b20cc
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 0x100b217a
jp 0x100b217a
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 [0x101422a0]
addss xmm1, xmm0
movss dword [esi + 0x244], xmm1
jne 0x100b21af
jp 0x100b21af
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 0x100b2252
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.100e5ed0
mov dword [esi + 0x178], 0
mov dword [esi + 0x17c], 0
cmp dword [esi + 0x184], 0
jns 0x100b238c
mov eax, dword [0x102709d0]
test eax, eax
je 0x100b231d
inc dword [eax + 0x374]
push dword [0x102709d8]
push 0
call dword [0x1026f97c]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x188]
test eax, eax
je 0x100b2378
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 0x100b2368
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100b2368
dec dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f980]
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 0x100b23c2
mov eax, dword [edi + 0x194]
jmp 0x100b23c7
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 0x100b2482
mov eax, dword [0x102709d0]
test eax, eax
je 0x100b2413
inc dword [eax + 0x374]
push dword [0x102709d8]
push 0
call dword [0x1026f97c]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x1b8]
test eax, eax
je 0x100b246e
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 0x100b245e
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100b245e
dec dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f980]
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 0x100b2513
mov eax, dword [0x102709d0]
test eax, eax
je 0x100b24a4
inc dword [eax + 0x374]
push dword [0x102709d8]
push 0
call dword [0x1026f97c]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x1c4]
test eax, eax
je 0x100b24ff
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 0x100b24ef
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100b24ef
dec dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f980]
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 0x100b25a4
mov eax, dword [0x102709d0]
test eax, eax
je 0x100b2535
inc dword [eax + 0x374]
push dword [0x102709d8]
push 0
call dword [0x1026f97c]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x1d0]
test eax, eax
je 0x100b2590
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 0x100b2580
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100b2580
dec dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f980]
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 0x100b2633
mov eax, dword [0x102709d0]
test eax, eax
je 0x100b25c6
inc dword [eax + 0x374]
push dword [0x102709d8]
push 0
call dword [0x1026f97c]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x1dc]
test eax, eax
je 0x100b261f
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 0x100b260f
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100b260f
dec dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f980]
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 0x100b266f
mov ecx, dword [edi + 0x1a4]
mov dword [esi + 0x1a4], ecx
mov eax, dword [esi + 0x1b0]
cmp eax, dword [esi + 0x1b4]
jne 0x100b267e
lea esi, [eax + 1]
test eax, eax
je 0x100b2689
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100b268e
mov dword [esi + 0x1a4], 0
jmp 0x100b2731
mov ebx, dword [esi + 0x1b8]
jmp 0x100b2724
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
lea eax, [esi*4]
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100b26aa
inc dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f97c]
add esp, 8
mov ebx, eax
mov edi, dword [esp]
mov eax, dword [edi + 0x1b8]
test eax, eax
je 0x100b270a
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 0x100b26f7
mov ecx, dword [0x102709d0]
test ecx, ecx
je 0x100b26f7
dec dword [ecx + 0x374]
push dword [0x102709d8]
push eax
call dword [0x1026f980]
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 0x100b2744
dec al
mov byte [esi + 0x90], al
movzx eax, byte [esi + 0x91]
test al, al
jle 0x100b2757
dec al
mov byte [esi + 0x91], al
test byte [esp + 0x11c], 1
je 0x100b280c
push esi
call fcn.100a9d50
add esp, 4
mov edi, dword [0x102709d0]
mov eax, dword [esi + 8]
test eax, 0x40000
jne 0x100b281c
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x100b279c
mov eax, dword [esi + 0x308]
test eax, eax
jne 0x100b2822
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 [0x102709d0]
mov al, 1
cmp byte [edi + 0x1ba5], 0
jne 0x100b27fc
movzx eax, byte [edi + 0x1b8d]
mov byte [edi + 0x1b8c], al
test bl, 1
je 0x100b283b
jmp 0x100b2fdc
mov edi, dword [0x102709d0]
test bl, 1
je 0x100b283b
jmp 0x100b2fdc
mov eax, dword [esi + 0x308]
mov dword [edi + 0x1b3c], eax
mov dword [edi + 0x1b40], 0
test bl, 1
jne 0x100b2fdc
mov eax, dword [esi + 8]
mov dword [esp + 0x70], eax
test al, 0x20
jne 0x100b2852
cmp dword [edi + 0x153c], 0xffffffff
setne al
jmp 0x100b2854
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 0x100b28d2
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 0x100b2a28
mov eax, dword [edi + 0x153c]
test eax, eax
je 0x100b2911
cmp eax, 1
jne 0x100b2937
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 0x100b2937
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 + 0x1014632c]
movzx ecx, al
shr eax, 8
xor ecx, 0x43
xor eax, dword [ecx*4 + 0x1014632c]
movzx ecx, al
shr eax, 8
xor ecx, 0x4f
xor eax, dword [ecx*4 + 0x1014632c]
movzx ecx, al
shr eax, 8
xor ecx, 0x4c
xor eax, dword [ecx*4 + 0x1014632c]
movzx ecx, al
shr eax, 8
xor ecx, 0x4c
xor eax, dword [ecx*4 + 0x1014632c]
movzx ecx, al
shr eax, 8
xor ecx, 0x41
xor eax, dword [ecx*4 + 0x1014632c]
movzx ecx, al
shr eax, 8
xor ecx, 0x50
xor eax, dword [ecx*4 + 0x1014632c]
movzx ecx, al
shr eax, 8
xor ecx, 0x53
xor eax, dword [ecx*4 + 0x1014632c]
movzx ecx, al
shr eax, 8
xor ecx, 0x45
xor eax, dword [ecx*4 + 0x1014632c]
not eax
cmp dword [edi + 0x1a3c], eax
jne 0x100b29ec
mov dword [edi + 0x1a40], eax
movups xmmword [esp + 0x28], xmm7
movups xmmword [esp + 0x38], xmm6
cmp dword [edi + 0x1a74], eax
jne 0x100b2a05
cmp dword [esp + 0x20c], 0
movups xmmword [esp + 0x38], xmm6
movups xmmword [esp + 0x28], xmm7
je 0x100b2b03
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 + 0x1014632c]
movzx ecx, al
shr eax, 8
xor ecx, 0x43
xor eax, dword [ecx*4 + 0x1014632c]
movzx ecx, al
shr eax, 8
xor ecx, 0x4c
xor eax, dword [ecx*4 + 0x1014632c]
movzx ecx, al
shr eax, 8
xor ecx, 0x4f
xor eax, dword [ecx*4 + 0x1014632c]
movzx ecx, al
shr eax, 8
xor ecx, 0x53
xor eax, dword [ecx*4 + 0x1014632c]
movzx ecx, al
shr eax, 8
xor ecx, 0x45
xor eax, dword [ecx*4 + 0x1014632c]
not eax
mov ecx, dword [0x102709d0]
cmp dword [ecx + 0x1a3c], eax
jne 0x100b2acb
mov dword [ecx + 0x1a40], eax
cmp dword [ecx + 0x1a74], eax
jne 0x100b2ada
mov dword [esi + 0x134], 0
mov dword [esi + 0x138], 1
mov dword [esi + 0x1a4], ebx
xorps xmm3, xmm3
mov eax, dword [0x102709d0]
test dword [esp + 0x70], 0x100000
je 0x100b2b9e
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], 0x101694e9
mov dword [esp + 0xc], 0xbf800000
mov dword [esp + 8], 0x7f7fffff
call fcn.100ca2b0
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 [0x102709d0]
mov esi, dword [esp + 0x208]
cmp esi, 0xffffffff
movups xmmword [esp + 0x98], xmm3
je 0x100b2bda
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 0x100b3046
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.100bd440
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 0x100b30b9
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 0x100b3151
test al, 0x40
jne 0x100b311b
cmp byte [ecx + 0x90], 0
jg 0x100b311b
test edx, edx
je 0x100b3151
xorps xmm0, xmm0
ucomiss xmm0, dword [ebp + 0x1518]
jae 0x100b3174
mov al, 1
cmp dword [ecx + 0x98], 0
jg 0x100b3180
mov dword [ecx + 0x98], 1
mov al, 1
mov byte [ecx + 0x81], al
cmp byte [ecx + 0x7d], 0
je 0x100b31aa
xorps xmm2, xmm2
test al, al
jne 0x100b05ff
jmp 0x100b05ef
cmp byte [esi + 0x7b], 0
je 0x100b04a5
mov eax, dword [0x102709d0]
movzx ecx, byte [eax + 0xb3]
mov dword [esp + 0x20], eax
movss xmm0, dword [eax + 0x18d4]
movss xmm1, dword [0x10144c10]
mulss xmm1, xmm0
mulss xmm0, dword [0x10146be0]
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 [0x10143a10]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movups xmmword [esp + 0x15c], xmm0
xorps xmm0, xmm0
mov byte [esp + 0x4f], cl
test cl, cl
je 0x100b325a
movss xmm0, dword [0x10143a28]
movups xmmword [esp + 0x18c], xmm0
mov dword [esi + 0x134], 1
mov dword [esi + 0x138], 2
push str.RESIZE
call fcn.100b7ab0
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 [0x10141310]
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 [0x10146b00]
mov dword [esp + 0x110], 0
mov edi, 0x10146734
xor ebx, ebx
movaps xmm6, xmm4
jmp 0x100b3401
cmp al, 1
mov eax, 0x1f
sbb eax, 0
test cl, cl
mov ecx, 0x20
cmovne eax, ecx
mov edx, dword [0x102709d0]
shl eax, 4
movss xmm0, dword [edx + eax + 0x15d0]
movss xmm3, dword [0x10141e50]
movaps xmm1, xmm3
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
movss xmm5, dword [0x10144090]
mulss xmm0, xmm5
movss xmm7, dword [0x10141dd0]
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 [0x10141e60]
minps xmm1, xmm0
cmpnltps xmm0, xmmword [0x10141190]
andps xmm0, xmm1
mulps xmm0, xmmword [0x10144400]
addps xmm0, xmmword [0x10142210]
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 0x100b3752
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 0x100b3485
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 0x100b34a5
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 + 0x1014632c]
mov eax, ebx
shr eax, 8
xor ebx, edx
movzx edx, bl
xor eax, dword [edx*4 + 0x1014632c]
mov edx, eax
shr edx, 8
xor eax, ecx
movzx eax, al
xor edx, dword [eax*4 + 0x1014632c]
movzx eax, dl
mov ecx, edx
shr ecx, 8
xor eax, esi
xor ecx, dword [eax*4 + 0x1014632c]
not ecx
mov eax, dword [0x102709d0]
cmp dword [eax + 0x1a3c], ecx
jne 0x100b3524
mov dword [eax + 0x1a40], ecx
movups xmmword [esp + 0x60], xmm6
movups xmmword [esp + 0x28], xmm4
cmp dword [eax + 0x1a74], ecx
jne 0x100b353d
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.100d1dc0
add esp, 0x14
movzx eax, byte [esp + 0x90]
movzx ecx, byte [esp + 0x50]
or cl, al
mov esi, dword [esp]
mov ebx, edi
jne 0x100b3589
movups xmm4, xmmword [esp + 0x28]
movups xmm6, xmmword [esp + 0x60]
mov edi, dword [esp + 0xd8]
jmp 0x100b3728
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 0x100b3728
test ebx, ebx
jne 0x100b3661
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x3e5], 0
je 0x100b3661
lea ecx, [esp + 0x80]
mov edx, esi
movss xmm0, dword [esp + 0x140]
movss xmm1, dword [esp + 0x13c]
call fcn.100b6c70
mov eax, dword [0x102709d0]
cmp dword [eax + 0x1a3c], 0
movsd xmm6, qword [esp + 0x80]
setne byte [eax + 0x1a48]
je 0x100b3622
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 0x100b3728
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 [0x10141190]
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.100b6c70
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 0x100b3302
test cl, cl
jne 0x100b3302
test al, al
je 0x100b33f0
jmp 0x100b3302
cmp byte [esp + 0x4f], 0
je 0x100b3b03
movaps xmm1, xmmword [0x10146bf0]
movups xmm0, xmmword [esp + 0x15c]
movss xmm1, xmm0
movups xmmword [esp + 0x144], xmm1
movaps xmm1, xmmword [0x10146c00]
unpcklps xmm1, xmm0
movups xmmword [esp + 0xe8], xmm1
xor edi, edi
mov dword [esp + 0xd8], 0xffffffff
jmp 0x100b3849
mov eax, dword [esp + 0x20]
movss xmm2, dword [eax + 0xe8]
subss xmm2, dword [eax + 0x1a60]
addss xmm2, dword [0x10143a28]
movaps xmm0, xmm3
movss xmm0, xmm2
movaps xmm5, xmm3
subps xmm5, xmm0
movsd xmm2, qword [esi + 0x14]
movaps xmm4, xmm1
cmpeqps xmm4, xmmword [0x10141190]
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.100b6c70
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 0x100b3b0e
cmp edi, 3
ja case.default.0x100b3870
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 + 0x10146d64]
addss xmm3, dword [0x10143a28]
subss xmm2, dword [esp + 0x15c]
movups xmm1, xmmword [esp + 0x144]
addps xmm0, xmm1
movlps qword [esp + 0x10], xmm0
jmp 0x100b38d8
subss xmm1, dword [esp + 0x15c]
movss xmm0, xmm2
jmp 0x100b38f2
movaps xmm3, xmm1
addss xmm3, dword [0x10143a28]
movups xmm5, xmmword [esp + 0x15c]
subss xmm2, xmm5
addss xmm1, dword [0x10143c60]
addss xmm0, xmm5
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x18], xmm2
movss dword [esp + 0x1c], xmm3
jmp 0x100b3920
subss xmm1, dword [esp + 0x15c]
movaps xmm2, xmm0
addss xmm2, dword [0x10143a28]
movups xmm3, xmmword [esp + 0xe8]
addps xmm0, xmm3
movlps qword [esp + 0x10], xmm0
movss dword [esp + 0x18], xmm2
movss dword [esp + 0x1c], xmm1
jmp 0x100b3920
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 + 0x1014632c]
mov edx, ebx
xor ebx, esi
shr ecx, 0x10
shr edx, 8
movzx esi, bl
xor edx, dword [esi*4 + 0x1014632c]
mov ebx, edx
xor edx, ecx
shr eax, 0x18
shr ebx, 8
movzx ecx, dl
xor ebx, dword [ecx*4 + 0x1014632c]
movzx ecx, bl
xor ecx, eax
mov eax, ebx
shr eax, 8
xor eax, dword [ecx*4 + 0x1014632c]
not eax
mov ecx, dword [0x102709d0]
cmp dword [ecx + 0x1a3c], eax
jne 0x100b399f
mov dword [ecx + 0x1a40], eax
movups xmmword [esp + 0x60], xmm6
movups xmmword [esp + 0x28], xmm4
cmp dword [ecx + 0x1a74], eax
jne 0x100b39b8
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.100d1dc0
add esp, 0x14
cmp byte [esp + 0x50], 0
mov esi, dword [esp]
je 0x100b3a2c
mov eax, dword [esp + 0x20]
movss xmm0, dword [eax + 0x1a34]
ucomiss xmm0, dword [0x10144470]
movzx eax, byte [esp + 0x90]
movups xmm4, xmmword [esp + 0x28]
movups xmm6, xmmword [esp + 0x60]
ja 0x100b3a11
test al, al
je 0x100b383f
mov ecx, edi
and ecx, 1
add ecx, 3
mov edx, dword [esp + 0x20]
mov dword [edx + 0x1dac], ecx
test al, al
jne 0x100b3a56
jmp 0x100b383f
cmp byte [esp + 0x90], 0
movups xmm4, xmmword [esp + 0x28]
movups xmm6, xmmword [esp + 0x60]
je 0x100b383f
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.0x100b3a6d
jmp dword [edi*4 + 0x10146d74]
mov eax, dword [esp + 0x20]
movss xmm0, dword [eax + 0xec]
subss xmm0, dword [eax + 0x1a64]
addss xmm0, dword [0x10143a28]
movlhps xmm0, xmm3
shufps xmm0, xmm3, 0xe2
jmp 0x100b37bf
mov eax, dword [esp + 0x20]
movss xmm1, dword [eax + 0xe8]
subss xmm1, dword [eax + 0x1a60]
addss xmm1, dword [0x10143a28]
movaps xmm0, xmm3
movss xmm0, xmm1
movss xmm1, dword [0x10141e50]
jmp 0x100b37bf
mov eax, dword [esp + 0x20]
movss xmm0, dword [eax + 0xec]
subss xmm0, dword [eax + 0x1a64]
addss xmm0, dword [0x10143a28]
movlhps xmm0, xmm3
shufps xmm0, xmm3, 0xe2
movaps xmm1, xmmword [0x10144dc0]
jmp 0x100b37bf
movaps xmm0, xmm3
jmp 0x100b37bf
mov dword [esp + 0xd8], 0xffffffff
mov eax, dword [0x102709d0]
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 0x100b3b86
cmp dword [eax + 0x2f8], esi
mov edi, dword [esp + 0xc]
jne 0x100b3c70
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x1b68]
cmp eax, 4
movups xmmword [esp + 0x28], xmm4
je 0x100b3b8f
xorps xmm2, xmm2
cmp eax, 3
jne 0x100b3bc2
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x101], 0
je 0x100b3bc2
sub esp, 0x14
movaps xmm0, xmmword [0x10141290]
jmp 0x100b3b99
mov edi, dword [esp + 0xc]
jmp 0x100b3c70
sub esp, 0x14
movaps xmm0, xmmword [0x10146c10]
movups xmmword [esp + 4], xmm0
lea eax, [esp + 0x24]
mov dword [esp], eax
movups xmmword [esp + 0x74], xmm6
call fcn.100b9eb0
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 0x100b3bde
jp 0x100b3bde
ucomiss xmm3, xmm0
jne 0x100b3bde
jnp 0x100b3c70
mov eax, dword [esp + 0x20]
movss xmm0, dword [eax + 0x18]
movss xmm1, dword [eax + 0xa8]
mulss xmm0, dword [0x10146c20]
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.100a5500
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.100b6c70
movups xmm4, xmmword [esp + 0x28]
movsd xmm6, qword [esp + 0x10]
ucomiss xmm6, dword [0x101439c8]
jne 0x100b3c7b
jnp 0x100b3ca3
movlps qword [esi + 0x1c], xmm6
test byte [esi + 9], 1
jne 0x100b3ca3
mov eax, dword [0x102709d0]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2dbc]
jb 0x100b3ca3
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2dbc], xmm0
ucomiss xmm4, dword [0x101439c8]
jne 0x100b3cae
jnp 0x100b3cdd
cvttps2dq xmm0, xmm4
cvtdq2ps xmm0, xmm0
movlps qword [esi + 0xc], xmm0
test byte [esi + 9], 1
jne 0x100b3cdd
mov eax, dword [0x102709d0]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2dbc]
jb 0x100b3cdd
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 0x100b3d39
mov eax, dword [esp + 0x38]
jmp 0x100b0615
mov ebx, dword [esp + 4]
mov eax, edx
mov ebp, dword [esp + 0x24]
jmp 0x100b04cb
mov byte [0x10270a50], 1
movaps xmm0, xmmword [0x10144dc0]
movaps xmmword [0x102709e0], xmm0
movaps xmm0, xmmword [0x10146c50]
movaps xmmword [0x102709f0], xmm0
movaps xmm0, xmmword [0x101469d0]
movaps xmmword [0x10270a00], xmm0
movaps xmm0, xmmword [0x10146c60]
movaps xmmword [0x10270a10], xmm0
movaps xmm0, xmmword [0x10146c70]
movaps xmmword [0x10270a20], xmm0
movaps xmm0, xmmword [0x10146c80]
movaps xmmword [0x10270a30], xmm0
movaps xmm0, xmmword [0x10146c90]
movaps xmmword [0x10270a40], xmm0
jmp 0x100b19ed