Function at 0x14000be80
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x1400da040]
xor rax, rsp
mov qword [rbp - 0x48], rax
mov rbx, rdx
mov qword [rsp + 0x70], rdx
mov r13, rcx
mov rsi, qword [0x140639768]
mov rax, qword [rsi + 0x1c48]
mov byte [rax + 0x90], 1
mov r12, qword [rsi + 0x1c48]
mov qword [rsp + 0x78], r12
cmp byte [r12 + 0x93], 0
jne 0x14000ce0b
movsxd r8, dword [r12 + 0xc8]
mov rax, qword [r12 + 0xd0]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.14000eab0
mov r14d, eax
mov dword [rsp + 0x54], r14d
mov eax, dword [rsi + 0x1c90]
cmp eax, r14d
jne 0x14000bf5f
mov dword [rsi + 0x1c94], r14d
cmp dword [rsi + 0x1cd0], r14d
jne 0x14000bf6f
mov byte [rsi + 0x1cd4], 1
lea rcx, str.NONE
cmp eax, r14d
jne 0x14000bf84
lea rdx, [0x1400c504c]
jmp 0x14000bf8b
movsxd rax, dword [rbx]
mov rdx, qword [rcx + rax*8]
mov rax, qword [rsi + 0xa8]
mov rcx, qword [rax + 0x50]
mov rcx, qword [rcx + 0x20]
xor edi, edi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdx
movss xmm6, dword [0x1400ca478]
movss dword [rsp + 0x20], xmm6
movss xmm7, dword [0x1400ca46c]
movaps xmm3, xmm7
movss xmm2, dword [rcx + 0x14]
lea rdx, [rbp - 0x78]
call fcn.14002fc90
xorps xmm14, xmm14
test r13, r13
jne 0x14000bfdb
xorps xmm0, xmm0
jmp 0x14000c020
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r13
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm7
movss xmm2, dword [rsi + 0x19a8]
lea rdx, [rsp + 0x60]
mov rcx, qword [rsi + 0x19a0]
call fcn.14002fc90
movss xmm0, dword [rsp + 0x60]
addss xmm0, dword [0x1400ca34c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm6, dword [rsi + 0x1594]
addss xmm6, xmm6
movss xmm7, dword [rbp - 0x78]
addss xmm6, xmm7
addss xmm6, dword [0x1400ca3fc]
addss xmm6, xmm0
movss xmm8, dword [rsi + 0x1598]
mov rax, qword [rsi + 0xa8]
mov rcx, qword [rax + 0x50]
mov rax, qword [rcx + 0x20]
addss xmm8, xmm8
addss xmm8, dword [rax + 0x14]
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
mov r15d, 8
movss xmm9, dword [0x1400ca354]
mov eax, dword [rcx + rax]
cmp dword [0x140639ad0], eax
jle 0x14000c160
lea rcx, [0x140639ad0]
call fcn.1400a5148
cmp dword [0x140639ad0], 0xffffffff
jne 0x14000c160
xorps xmm0, xmm0
movups xmmword [0x140639a90], xmm0
movups xmmword [0x140639aa0], xmm0
movups xmmword [0x140639ab0], xmm0
movups xmmword [0x140639ac0], xmm0
mov dword [0x140639a90], 0
mov qword [0x140639a98], rdi
mov qword [0x140639aa0], rdi
lea ecx, [r15 + 0x10]
call fcn.1400a51c0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x140639a98], rax
mov qword [0x140639aa8], rdi
xorps xmm0, xmm0
movdqa xmmword [0x140639ab0], xmm0
mov qword [0x140639ac0], 7
mov qword [0x140639ac8], r15
mov dword [0x140639a90], 0x3f800000
mov r8, rax
lea edx, [r15 + 8]
lea rcx, [0x140639aa8]
call fcn.140005d60
nop
lea rcx, [0x1400a71e0]
call fcn.1400a54f4
nop
lea rcx, [0x140639ad0]
call fcn.1400a50dc
nop word [rax + rax]
movzx ebx, r14b
movabs rax, 0xcbf29ce484222325
xor rbx, rax
movabs rcx, 0x100000001b3
imul rbx, rcx
movzx eax, byte [rsp + 0x55]
xor rbx, rax
imul rbx, rcx
movzx eax, byte [rsp + 0x56]
xor rbx, rax
imul rbx, rcx
movzx eax, byte [rsp + 0x57]
xor rbx, rax
imul rbx, rcx
mov rax, rbx
and rax, qword [0x140639ac0]
add rax, rax
mov rdx, qword [0x140639aa8]
mov rcx, qword [rdx + rax*8 + 8]
mov r8, qword [0x140639a98]
cmp rcx, r8
je 0x14000c1e3
mov rdx, qword [rdx + rax*8]
cmp r14d, dword [rcx + 0x10]
je 0x14000c1e6
cmp rcx, rdx
je 0x14000c1e3
mov rcx, qword [rcx + 8]
cmp r14d, dword [rcx + 0x10]
jne 0x14000c1d2
jmp 0x14000c1e6
mov rcx, rdi
mov rax, r8
test rcx, rcx
cmovne rax, rcx
cmp rax, r8
jne 0x14000c25e
mov dword [rsp + 0x54], r14d
mov dword [rsp + 0x58], 0
lea r8, [rsp + 0x54]
lea rdx, [rbp - 0x78]
lea rcx, [0x140639a90]
call fcn.140005ea0
and rbx, qword [0x140639ac0]
add rbx, rbx
mov rdx, qword [0x140639aa8]
mov rcx, qword [rdx + rbx*8 + 8]
mov rax, qword [0x140639a98]
cmp rcx, rax
je 0x14000c254
mov rdx, qword [rdx + rbx*8]
cmp r14d, dword [rcx + 0x10]
je 0x14000c257
cmp rcx, rdx
je 0x14000c254
mov rcx, qword [rcx + 8]
cmp r14d, dword [rcx + 0x10]
jne 0x14000c243
jmp 0x14000c257
mov rcx, rdi
test rcx, rcx
cmovne rax, rcx
subss xmm7, dword [rax + 0x14]
mulss xmm7, dword [0x1400ca2e4]
addss xmm7, dword [rax + 0x14]
movss dword [rax + 0x14], xmm7
movss xmm12, dword [r12 + 0xdc]
movaps xmm2, xmm12
addss xmm2, xmm8
movss xmm13, dword [r12 + 0xd8]
movaps xmm1, xmm13
addss xmm1, xmm6
movss dword [rbp - 0x78], xmm13
movss dword [rbp - 0x74], xmm12
movss dword [rbp - 0x70], xmm1
movss dword [rbp - 0x6c], xmm2
movss xmm0, dword [rsi + 0x1594]
addss xmm0, xmm0
addss xmm0, xmm7
subss xmm2, xmm12
movaps xmm10, xmm12
addss xmm10, xmm2
movaps xmm11, xmm13
addss xmm11, xmm0
movss dword [rsp + 0x60], xmm13
movss dword [rsp + 0x64], xmm12
movss dword [rsp + 0x68], xmm11
movss dword [rsp + 0x6c], xmm10
subss xmm1, xmm13
movss dword [rsp + 0x54], xmm1
movss dword [rsp + 0x58], xmm2
movss xmm1, dword [rsi + 0x1598]
lea rcx, [rsp + 0x54]
call fcn.14001a970
xor r9d, r9d
lea r8, [rbp - 0x78]
mov edx, r14d
lea rcx, [rbp - 0x78]
call fcn.14001aac0
test al, al
je 0x14000ce0b
mov edx, r14d
lea rcx, [rsp + 0x60]
call fcn.140010ee0
mov byte [rsp + 0x50], al
mov rdi, 0xffffffffffffffff
test al, al
je 0x14000c411
cmp byte [rsi + 0x420], 0
je 0x14000c3a3
cmp dword [rsi + 0x1c90], r14d
je 0x14000c390
xor eax, eax
mov dword [rsi + 0x130], eax
mov byte [rsi + 0x134], al
lea rcx, [rsi + 0x144]
xor edx, edx
mov r8d, 0x200
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rsp + 0x70]
mov dword [rax], 0
mov rdx, r12
mov ecx, r14d
call fcn.140010d50
mov rcx, r12
call fcn.14001a310
xor r11d, r11d
mov r8, qword [0x140639768]
xor r12b, r12b
mov rbx, qword [rsp + 0x70]
mov r9d, dword [rbx]
cmp dword [rsi + 0x1c90], r14d
jne 0x14000c6a4
mov edx, r11d
lea r10, [rsi + 0x130]
nop
cmp byte [r10], 0
je 0x14000c517
mov ecx, edx
test edx, edx
je 0x14000c4ab
sub ecx, 1
je 0x14000c4a3
sub ecx, 1
je 0x14000c49b
sub ecx, 1
je 0x14000c493
cmp ecx, 1
jne 0x14000c4b1
lea r9d, [rcx + 5]
jmp 0x14000c4b1
cmp byte [rsi + 0x420], 0
je 0x14000c3a3
cmp dword [rsi + 0x1c90], r14d
jne 0x14000c3a3
mov r8, qword [0x140639768]
mov ecx, dword [r8 + 0x1c90]
test ecx, ecx
setne al
mov byte [r8 + 0x1c9c], al
xor r11d, r11d
test ecx, ecx
je 0x14000c45a
mov dword [r8 + 0x1c98], r11d
mov word [r8 + 0x1c9f], r11w
mov dword [r8 + 0x1ccc], edi
mov dword [r8 + 0x1c90], r11d
mov word [r8 + 0x1c9d], 0
mov qword [r8 + 0x1cc0], r11
mov word [r8 + 0x1ca1], 0
mov qword [r8 + 0x1ca4], 0
mov qword [r8 + 0x1cb0], r11
jmp 0x14000c3ad
mov r9d, 5
jmp 0x14000c4b1
mov r9d, 4
jmp 0x14000c4b1
mov r9d, 2
jmp 0x14000c4b1
mov r9d, 1
mov r12b, 1
mov ecx, dword [r8 + 0x1c90]
test ecx, ecx
setne al
mov byte [r8 + 0x1c9c], al
test ecx, ecx
je 0x14000c4e3
mov dword [r8 + 0x1c98], r11d
mov word [r8 + 0x1c9f], 0
mov dword [r8 + 0x1ccc], edi
mov dword [r8 + 0x1c90], r11d
mov word [r8 + 0x1c9d], 0
mov qword [r8 + 0x1cc0], r11
mov word [r8 + 0x1ca1], 0
mov qword [r8 + 0x1ca4], 0
mov qword [r8 + 0x1cb0], r11
inc edx
inc r10
cmp edx, 5
jl 0x14000c3d0
test r12b, r12b
jne 0x14000c628
lea rdx, [rsi + 0x14d]
cmp byte [rdx - 1], 0
je 0x14000c5a4
mov r9d, r15d
mov r12b, 1
mov ecx, dword [r8 + 0x1c90]
test ecx, ecx
setne al
mov byte [r8 + 0x1c9c], al
test ecx, ecx
je 0x14000c570
mov dword [r8 + 0x1c98], r11d
mov word [r8 + 0x1c9f], 0
mov dword [r8 + 0x1ccc], edi
mov dword [r8 + 0x1c90], r11d
mov word [r8 + 0x1c9d], 0
mov qword [r8 + 0x1cc0], r11
mov word [r8 + 0x1ca1], 0
mov qword [r8 + 0x1ca4], 0
mov qword [r8 + 0x1cb0], r11
cmp byte [rdx], 0
je 0x14000c613
lea r9d, [r15 + 1]
mov r12b, 1
mov ecx, dword [r8 + 0x1c90]
test ecx, ecx
setne al
mov byte [r8 + 0x1c9c], al
test ecx, ecx
je 0x14000c5df
mov dword [r8 + 0x1c98], r11d
mov word [r8 + 0x1c9f], 0
mov dword [r8 + 0x1ccc], edi
mov dword [r8 + 0x1c90], r11d
mov word [r8 + 0x1c9d], 0
mov qword [r8 + 0x1cc0], r11
mov word [r8 + 0x1ca1], 0
mov qword [r8 + 0x1ca4], 0
mov qword [r8 + 0x1cb0], r11
add r15d, 2
add rdx, 2
cmp r15d, 0xa5
jle 0x14000c535
mov ecx, dword [r8 + 0x74]
test ecx, ecx
js 0x14000c6a1
call fcn.140014f90
test al, al
je 0x14000c6a1
mov dword [rbx], r11d
mov ecx, dword [r8 + 0x1c90]
test ecx, ecx
setne al
mov byte [r8 + 0x1c9c], al
test ecx, ecx
je 0x14000c66b
mov dword [r8 + 0x1c98], r11d
mov word [r8 + 0x1c9f], 0
mov dword [r8 + 0x1ccc], edi
mov dword [r8 + 0x1c90], r11d
mov word [r8 + 0x1c9d], 0
mov qword [r8 + 0x1cc0], r11
mov word [r8 + 0x1ca1], 0
mov qword [r8 + 0x1ca4], 0
mov qword [r8 + 0x1cb0], r11
jmp 0x14000c6a4
mov dword [rbx], r9d
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r11
mov qword [rbp - 0x50], r11
mov r8d, 4
lea rdx, str.NONE
lea rcx, [rbp - 0x68]
call fcn.140006150
nop
cmp dword [rsi + 0x1c90], r14d
je 0x14000c722
movsxd rax, dword [rbx]
lea r9, str.NONE
mov r9, qword [r9 + rax*8]
mov r15, rdi
inc r15
cmp byte [r9 + r15], 0
jne 0x14000c6e4
mov rax, qword [rbp - 0x50]
cmp r15, rax
ja 0x14000c71d
lea rbx, [rbp - 0x68]
cmp rax, 0xf
cmova rbx, qword [rbp - 0x68]
mov qword [rbp - 0x58], r15
mov r8, r15
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + r15], 0
jmp 0x14000c771
mov rdx, r15
jmp 0x14000c768
mov rax, qword [rbp - 0x50]
cmp rax, 3
jb 0x14000c75c
lea rbx, [rbp - 0x68]
cmp rax, 0xf
cmova rbx, qword [rbp - 0x68]
mov qword [rbp - 0x58], 3
mov r8d, 3
lea rdx, [0x1400c504c]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 3], 0
jmp 0x14000c771
lea r9, [0x1400c504c]
mov edx, 3
lea rcx, [rbp - 0x68]
call fcn.14000d1e0
cmp dword [rsi + 0x1c90], r14d
sete r8b
movss xmm0, dword [0x1400ca2e4]
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm9
movaps xmm3, xmm14
xor edx, edx
mov rcx, r13
call fcn.14003cba0
movaps xmm15, xmm0
movss xmm1, dword [0x1400ca2e4]
movss dword [rsp + 0x28], xmm1
movss dword [rsp + 0x20], xmm9
movaps xmm3, xmm14
movzx ebx, byte [rsp + 0x50]
movzx r8d, bl
mov edx, 1
mov rcx, r13
call fcn.14003cba0
movss dword [rsp + 0x54], xmm0
test bl, bl
jne 0x14000c7ea
cmp dword [rsi + 0x1c90], r14d
je 0x14000c7ea
xor r8d, r8d
jmp 0x14000c7ed
mov r8b, 1
movss xmm0, dword [0x1400ca2e4]
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm9
movaps xmm3, xmm14
mov edx, 2
mov rcx, r13
call fcn.14003cba0
movaps xmm7, xmm0
movss xmm1, dword [rsi + 0x1558]
mulss xmm1, dword [0x1400ca43c]
cvttss2si r9d, xmm1
mov r10, qword [0x140639768]
movups xmm1, xmmword [r10 + 0x163c]
movups xmmword [rbp - 0x78], xmm1
movss xmm8, dword [r10 + 0x1558]
shufps xmm1, xmm1, 0xff
mulss xmm1, xmm8
movss dword [rbp - 0x6c], xmm1
lea rcx, [rbp - 0x78]
call fcn.14000ef80
mov r8d, eax
movzx ecx, al
xorps xmm6, xmm6
cvtsi2ss xmm6, rcx
movss xmm9, dword [0x1400ca2cc]
mulss xmm6, xmm9
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm5, xmm5
cvtsi2ss xmm5, rcx
mulss xmm5, xmm9
mov ecx, eax
shr ecx, 0x10
movzx eax, cl
xorps xmm3, xmm3
cvtsi2ss xmm3, rax
mulss xmm3, xmm9
shr r8d, 0x18
mov eax, r8d
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm9
movd xmm4, r9d
cvtdq2ps xmm4, xmm4
mulss xmm4, xmm9
subss xmm4, xmm0
mulss xmm4, xmm7
addss xmm4, xmm0
movss xmm1, dword [0x1400ca2ec]
movaps xmm2, xmm1
subss xmm2, xmm3
mulss xmm2, xmm7
addss xmm2, xmm3
movaps xmm0, xmm1
subss xmm0, xmm5
mulss xmm0, xmm7
addss xmm0, xmm5
subss xmm1, xmm6
mulss xmm1, xmm7
addss xmm1, xmm6
movss dword [rbp - 0x78], xmm1
movss dword [rbp - 0x74], xmm0
movss dword [rbp - 0x70], xmm2
movss dword [rbp - 0x6c], xmm4
lea rcx, [rbp - 0x78]
call fcn.14000ef80
movzx ecx, al
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mulss xmm0, xmm9
movss dword [rsp + 0x60], xmm0
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mulss xmm0, xmm9
movss dword [rsp + 0x64], xmm0
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mulss xmm0, xmm9
movss dword [rsp + 0x68], xmm0
shr eax, 0x18
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm9
movss dword [rsp + 0x6c], xmm0
movups xmm0, xmmword [r10 + 0x179c]
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm8
movss dword [rbp - 0x6c], xmm0
lea rcx, [rbp - 0x78]
call fcn.14000ef80
mov r9d, eax
movups xmm0, xmmword [r10 + 0x178c]
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm8
movss dword [rbp - 0x6c], xmm0
lea rcx, [rbp - 0x78]
call fcn.14000ef80
mov r8d, eax
movups xmm0, xmmword [r10 + 0x16ac]
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm8
movss dword [rbp - 0x6c], xmm0
lea rcx, [rbp - 0x78]
call fcn.14000ef80
movzx ecx, al
xorps xmm5, xmm5
cvtsi2ss xmm5, rcx
mulss xmm5, xmm9
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm4, xmm4
cvtsi2ss xmm4, rcx
mulss xmm4, xmm9
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
mulss xmm1, xmm9
shr eax, 0x18
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm9
mov eax, r8d
shr eax, 0x18
xorps xmm3, xmm3
cvtsi2ss xmm3, rax
mulss xmm3, xmm9
subss xmm3, xmm0
movss xmm6, dword [rsp + 0x54]
mulss xmm3, xmm6
addss xmm3, xmm0
mov eax, r8d
shr eax, 0x10
movzx eax, al
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
mulss xmm2, xmm9
subss xmm2, xmm1
mulss xmm2, xmm6
addss xmm2, xmm1
mov eax, r8d
shr eax, 8
movzx eax, al
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
mulss xmm1, xmm9
subss xmm1, xmm4
mulss xmm1, xmm6
addss xmm1, xmm4
movzx eax, r8b
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm9
subss xmm0, xmm5
mulss xmm0, xmm6
addss xmm0, xmm5
movss dword [rbp - 0x78], xmm0
movss dword [rbp - 0x74], xmm1
movss dword [rbp - 0x70], xmm2
movss dword [rbp - 0x6c], xmm3
lea rcx, [rbp - 0x78]
call fcn.14000ef80
movzx ecx, al
xorps xmm5, xmm5
cvtsi2ss xmm5, rcx
mulss xmm5, xmm9
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm4, xmm4
cvtsi2ss xmm4, rcx
mulss xmm4, xmm9
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
mulss xmm1, xmm9
shr eax, 0x18
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm9
mov eax, r9d
shr eax, 0x18
xorps xmm3, xmm3
cvtsi2ss xmm3, rax
mulss xmm3, xmm9
subss xmm3, xmm0
mulss xmm3, xmm15
addss xmm3, xmm0
mov eax, r9d
shr eax, 0x10
movzx eax, al
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
mulss xmm2, xmm9
subss xmm2, xmm1
mulss xmm2, xmm15
addss xmm2, xmm1
mov eax, r9d
shr eax, 8
movzx eax, al
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
mulss xmm1, xmm9
subss xmm1, xmm4
mulss xmm1, xmm15
addss xmm1, xmm4
movzx eax, r9b
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm9
subss xmm0, xmm5
mulss xmm0, xmm15
addss xmm0, xmm5
movss dword [rbp - 0x78], xmm0
movss dword [rbp - 0x74], xmm1
movss dword [rbp - 0x70], xmm2
movss dword [rbp - 0x6c], xmm3
lea rcx, [rbp - 0x78]
call fcn.14000ef80
movzx ecx, al
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mulss xmm0, xmm9
movss dword [rbp - 0x78], xmm0
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mulss xmm0, xmm9
movss dword [rbp - 0x74], xmm0
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mulss xmm0, xmm9
movss dword [rbp - 0x70], xmm0
shr eax, 0x18
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm9
movss dword [rbp - 0x6c], xmm0
movss xmm6, dword [rsi + 0x159c]
lea rcx, [rbp - 0x78]
call fcn.14000ef80
movss dword [rsp + 0x20], xmm6
mov r8d, eax
movaps xmm0, xmm11
unpcklps xmm0, xmm10
movq rdx, xmm0
movaps xmm1, xmm13
unpcklps xmm1, xmm12
movq rcx, xmm1
call fcn.140010120
mov rax, qword [rsp + 0x78]
mov r10, qword [rax + 0x280]
lea r8, [rbp - 0x68]
cmp qword [rbp - 0x50], 0xf
cmova r8, qword [rbp - 0x68]
lea rcx, [rsp + 0x60]
call fcn.14000ef80
mov r11d, eax
movaps xmm1, xmm12
addss xmm1, dword [rsi + 0x1598]
addss xmm13, dword [rsi + 0x1594]
mov r9, qword [0x140639768]
mov rcx, qword [r9 + 0xa8]
mov rdx, qword [rcx + 0x50]
mov rcx, qword [rdx + 0x20]
movss xmm2, dword [rcx + 0x14]
test eax, 0xff000000
je 0x14000cd3f
inc rdi
cmp byte [r8 + rdi], 0
jne 0x14000ccc2
add rdi, r8
cmp r8, rdi
je 0x14000cd3f
test rcx, rcx
jne 0x14000cce1
mov rax, qword [r10 + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm14
jp 0x14000ccf2
jne 0x14000ccf2
mov rax, qword [r10 + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rsp + 0x78], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm14
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], r8
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r11d
movaps xmm0, xmm13
unpcklps xmm0, xmm1
movq r9, xmm0
mov rdx, r10
call fcn.14002feb0
mov r9, qword [0x140639768]
addss xmm10, xmm12
movss xmm6, dword [0x1400ca324]
mulss xmm10, xmm6
movss xmm0, dword [r9 + 0x19a8]
test r13, r13
je 0x14000cd9d
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], r13
movss xmm1, dword [0x1400ca478]
movss dword [rsp + 0x20], xmm1
movss xmm3, dword [0x1400ca46c]
movaps xmm2, xmm0
lea rdx, [rsp + 0x78]
mov rcx, qword [r9 + 0x19a0]
call fcn.14002fc90
movss xmm0, dword [rsp + 0x7c]
mulss xmm0, xmm6
subss xmm10, xmm0
addss xmm11, dword [0x1400ca3fc]
mov r9b, 1
xor r8d, r8d
mov rdx, r13
unpcklps xmm11, xmm10
movq rcx, xmm11
call fcn.14000f480
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
jbe 0x14000ce05
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ce00
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ce00
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400a550c
movzx eax, r12b
jmp 0x14000ce0d
xor al, al
mov rcx, qword [rbp - 0x48]
xor rcx, rsp
call fcn.1400a5080
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret