Function at 0x180096a14
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x208]
sub rsp, 0x2e0
movaps xmmword [rax - 0x38], xmm6
mov r12b, r9b
movaps xmmword [rax - 0x48], xmm7
mov r14, r8
movaps xmmword [rax - 0x58], xmm8
mov rbx, rdx
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov eax, dword [0x1800c4220]
test al, 1
jne 0x180096af7
movaps xmm0, xmmword [0x1800b69a0]
or eax, 1
movaps xmm1, xmmword [0x1800b69c0]
movaps xmmword [0x1800c41b0], xmm0
movaps xmm0, xmmword [0x1800b69b0]
movaps xmmword [0x1800c41d0], xmm0
movaps xmm0, xmmword [0x1800b6a90]
movaps xmmword [0x1800c41c0], xmm1
movaps xmm1, xmmword [0x1800b6ab0]
movaps xmmword [0x1800c41f0], xmm0
movaps xmm0, xmmword [0x1800b69a0]
movaps xmmword [0x1800c41e0], xmm1
movaps xmm1, xmmword [0x1800b6aa0]
movaps xmmword [0x1800c4210], xmm0
mov dword [0x1800c4220], eax
movaps xmmword [0x1800c4200], xmm1
mov rdx, qword [0x1800bcbe8]
xor r13d, r13d
cmp qword [0x1800bcbf0], r13
jne 0x180096b12
mov sil, 1
test rdx, rdx
je 0x180096b15
mov sil, r13b
mov rax, qword [0x1800bcbf8]
test rax, rax
je 0x180097d7f
movss xmm1, dword [rax + 8]
addss xmm1, dword [rax + 0x10]
movss xmm3, dword [0x1800bcb38]
movss xmm14, dword [rax + 0x14]
movss xmm4, dword [0x1800b56b4]
movss xmm2, dword [0x1800bcb3c]
subss xmm1, dword [0x1800b60fc]
movss dword [rbp - 0x64], xmm14
mov dword [rbp - 0x18], 0x41a00000
mov dword [rbp - 0x14], 0x41200000
comiss xmm3, xmm1
movss dword [rbp - 0x68], xmm1
jb 0x180096b99
comiss xmm2, xmm14
jb 0x180096b99
movaps xmm0, xmm1
addss xmm0, xmm4
comiss xmm3, xmm0
ja 0x180096b99
movaps xmm0, xmm14
mov dil, 1
addss xmm0, dword [0x1800b5010]
comiss xmm2, xmm0
jbe 0x180096b9c
mov dil, r13b
movss xmm15, dword [0x1800b5010]
movaps xmm10, xmm1
movss xmm7, dword [0x1800b6108]
addss xmm10, xmm4
movss xmm6, dword [0x1800b68e0]
movaps xmm11, xmm14
addss xmm11, xmm15
mov dword [rbp - 0x70], 0x43340000
mov dword [rbp - 0x6c], 0x432f0000
comiss xmm3, xmm10
movss dword [rsp + 0x60], xmm10
movss dword [rsp + 0x64], xmm11
jb 0x180096c0c
comiss xmm2, xmm11
jb 0x180096c0c
movaps xmm0, xmm10
addss xmm0, xmm7
comiss xmm3, xmm0
ja 0x180096c0c
movaps xmm0, xmm11
mov r11b, 1
addss xmm0, xmm6
comiss xmm2, xmm0
jbe 0x180096c0f
mov r11b, r13b
mov rcx, r13
cmp byte [rbx], r13b
je 0x180096c20
inc rcx
cmp byte [rcx + rbx], r13b
jne 0x180096c17
movabs r8, 0xcbf29ce484222325
movabs r15, 0x100000001b3
mov qword [rbp - 0x80], r15
mov r9, r8
mov r10, r13
test rcx, rcx
je 0x180096c57
movsx rax, byte [r10 + rbx]
inc r10
imul r9, r15
xor r9, rax
cmp r10, rcx
jb 0x180096c43
cmp rdx, r9
mov rcx, r13
sete r15b
cmp byte [rbx], r13b
je 0x180096c6f
inc rcx
cmp byte [rcx + rbx], r13b
jne 0x180096c66
mov r9, r8
mov r10, r13
test rcx, rcx
je 0x180096c8f
imul r9, qword [rbp - 0x80]
movsx rax, byte [r10 + rbx]
inc r10
xor r9, rax
cmp r10, rcx
jb 0x180096c7a
lea rax, [r9 + 2]
mov dword [rsp + 0x70], 0x42aa0000
cmp rdx, rax
mov dword [rsp + 0x74], 0x42700000
sete cl
comiss xmm3, xmm10
jb 0x180096cd9
comiss xmm2, xmm11
jb 0x180096cd9
movaps xmm0, xmm10
addss xmm0, dword [0x1800b68c8]
comiss xmm3, xmm0
ja 0x180096cd9
movaps xmm0, xmm11
mov al, 1
addss xmm0, dword [0x1800b63ac]
comiss xmm2, xmm0
jbe 0x180096cdc
mov al, r13b
mov r10b, byte [0x1800bcb41]
mov r9b, byte [0x1800bcb40]
test cl, cl
je 0x180096d0c
test al, al
jne 0x180096d0c
test r9b, r9b
je 0x180096d0c
mov al, r10b
neg al
sbb rcx, rcx
and rcx, rdx
mov rdx, rcx
mov qword [0x1800bcbe8], rcx
test r15b, r15b
je 0x180096d30
test r11b, r11b
jne 0x180096d30
test r9b, r9b
je 0x180096d30
mov al, r10b
neg al
sbb rcx, rcx
and rcx, rdx
mov rdx, rcx
mov qword [0x1800bcbe8], rcx
movss xmm12, dword [0x1800b576c]
xorps xmm13, xmm13
movss xmm8, dword [0x1800b50ec]
test dil, dil
je 0x180096dfd
test r9b, r9b
je 0x180096d9f
test r10b, r10b
jne 0x180096d9f
test sil, sil
je 0x180096d9f
mov rcx, r13
cmp byte [rbx], r13b
je 0x180096d6f
inc rcx
cmp byte [rcx + rbx], r13b
jne 0x180096d66
mov rdx, r8
mov r9, r13
test rcx, rcx
je 0x180096d98
movabs r10, 0x100000001b3
movsx rax, byte [r9 + rbx]
inc r9
imul rdx, r10
xor rdx, rax
cmp r9, rcx
jb 0x180096d84
mov qword [0x1800bcbe8], rdx
cmp byte [0x1800c3ad4], r13b
je 0x180096dfd
cmp byte [0x1800c3c24], r13b
jne 0x180096dfd
test sil, sil
je 0x180096dfd
mov rcx, r13
cmp byte [rbx], r13b
je 0x180096dc7
inc rcx
cmp byte [rcx + rbx], r13b
jne 0x180096dbe
mov rdx, r13
test rcx, rcx
je 0x180096ded
movabs r9, 0x100000001b3
movsx rax, byte [rdx + rbx]
inc rdx
imul r8, r9
xor r8, rax
cmp rdx, rcx
jb 0x180096dd9
lea rax, [r8 + 2]
mov qword [0x1800bcbe8], rax
jmp 0x180097b56
mov rcx, r13
cmp byte [rbx], r13b
je 0x180096e0e
inc rcx
cmp byte [rcx + rbx], r13b
jne 0x180096e05
mov r9, r8
mov r10, r13
movabs r11, 0x100000001b3
test rcx, rcx
je 0x180096e37
movsx rax, byte [r10 + rbx]
inc r10
imul r9, r11
xor r9, rax
cmp r10, rcx
jb 0x180096e23
lea rax, [r9 + 2]
cmp rdx, rax
jne 0x180097078
mov rax, qword [rsp + 0x60]
lea rdi, [0x1800bcba8]
movaps xmm0, xmmword [0x1800b64b0]
lea r9, [rsp + 0x40]
movsd xmm8, qword [rsp + 0x70]
mov rdx, rax
movss xmm9, dword [0x1800b5668]
movq r8, xmm8
mov rcx, rdi
movss dword [rsp + 0x20], xmm9
mov qword [rbp - 0x80], rax
movaps xmmword [rsp + 0x40], xmm0
call fcn.180098e18
xor edx, edx
lea rcx, [rbp + 0x40]
mov r8d, 0x100
call fcn.1800494ac
movss xmm2, dword [0x1800b5014]
movss xmm0, dword [r14 + 0xc]
movss xmm1, dword [r14 + 8]
mulss xmm0, xmm2
mulss xmm1, xmm2
cvttss2si eax, xmm0
movss xmm0, dword [r14 + 4]
movzx edx, al
cvttss2si eax, xmm1
mov dword [rsp + 0x28], edx
lea rdx, str._02X_02X_02X_02X
movss xmm1, dword [r14]
movzx ecx, al
mulss xmm0, xmm2
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x40]
mulss xmm1, xmm2
cvttss2si eax, xmm0
movzx r9d, al
cvttss2si eax, xmm1
movzx r8d, al
call fcn.1800494d0
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x80]
call qword [0x1800bcb78]
movss xmm0, dword [rbp - 0x7c]
lea r9, [rsp + 0x40]
mulss xmm0, dword [0x1800b50f0]
lea r8, [rbp + 0x40]
mov dword [rsp + 0x20], r13d
mov rcx, rdi
movaps xmm2, xmm10
movaps xmm1, xmm15
addss xmm2, xmm12
subss xmm1, xmm0
movups xmm0, xmmword [0x1800bc3c0]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm2
addss xmm1, xmm11
unpcklps xmm0, xmm1
movq rdx, xmm0
call fcn.18009c758
movups xmm0, xmmword [r14]
lea r9, [rsp + 0x40]
mov rcx, rdi
movaps xmm7, xmm10
movss dword [rsp + 0x20], xmm9
addss xmm7, dword [0x1800b63b8]
movdqu xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm15
movaps xmm6, xmm11
unpcklps xmm0, xmm15
addss xmm6, xmm12
movaps xmm1, xmm7
movq r8, xmm0
unpcklps xmm1, xmm6
movq rdx, xmm1
call fcn.180098e18
movups xmm0, xmmword [0x1800bc3b0]
lea r9, [rsp + 0x40]
movss dword [rsp + 0x20], xmm9
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm15
unpcklps xmm0, xmm15
movaps xmm1, xmm7
movq r8, xmm0
unpcklps xmm1, xmm6
mov rcx, rdi
movq rdx, xmm1
call fcn.18009b4e0
movaps xmm0, xmmword [0x1800b6a30]
lea r9, [rsp + 0x40]
movss xmm1, dword [0x1800b68bc]
movaps xmm3, xmm10
addss xmm3, dword [0x1800b5000]
movaps xmmword [rsp + 0x40], xmm0
movaps xmm2, xmm11
addss xmm2, dword [0x1800b5000]
movss xmm0, dword [0x1800b68c4]
mov rcx, rdi
unpcklps xmm0, xmm1
movaps xmm1, xmm3
movss dword [rsp + 0x20], xmm9
movq r8, xmm0
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.18009b4e0
movups xmm0, xmmword [0x1800bc3b0]
lea r9, [rsp + 0x40]
mov rcx, rdi
movq r8, xmm8
movss dword [rsp + 0x20], xmm9
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm10
unpcklps xmm0, xmm11
movq rdx, xmm0
call fcn.18009b4e0
jmp 0x180097b48
mov rcx, r13
cmp byte [rbx], r13b
je 0x180097089
inc rcx
cmp byte [rcx + rbx], r13b
jne 0x180097080
mov r9, r13
test rcx, rcx
je 0x1800970a5
movsx rax, byte [r9 + rbx]
inc r9
imul r8, r11
xor r8, rax
cmp r9, rcx
jb 0x180097091
cmp rdx, r8
jne 0x180097b56
lea rdx, [rsp + 0x40]
mov rcx, r14
call fcn.18009c80c
movaps xmm0, xmmword [0x1800b64b0]
lea rdi, [0x1800bcba8]
mov rax, qword [rsp + 0x60]
lea r9, [rbp - 0x10]
movss xmm9, dword [0x1800b5668]
mov rdx, rax
movaps xmmword [rbp - 0x10], xmm0
mov rcx, rdi
movaps xmm0, xmm7
movss dword [rsp + 0x20], xmm9
unpcklps xmm0, xmm6
movq r8, xmm0
mov qword [rbp - 0x80], rax
call fcn.180098e18
movaps xmm0, xmmword [0x1800b6a30]
lea r9, [rbp - 0x80]
movss xmm1, dword [0x1800b68dc]
movaps xmm3, xmm10
movss xmm8, dword [0x1800b5000]
movaps xmm2, xmm11
movaps xmmword [rbp - 0x80], xmm0
addss xmm3, xmm8
movss xmm0, dword [0x1800b68e4]
addss xmm2, xmm8
unpcklps xmm0, xmm1
mov rcx, rdi
movq r8, xmm0
movss dword [rsp + 0x20], xmm9
movaps xmm1, xmm3
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.18009b4e0
movups xmm0, xmmword [0x1800bc3b0]
mov r8, qword [rbp - 0x70]
lea r9, [rbp - 0x80]
mov rcx, rdi
movss dword [rsp + 0x20], xmm9
movdqa xmmword [rbp - 0x80], xmm0
movaps xmm0, xmm10
unpcklps xmm0, xmm11
movq rdx, xmm0
call fcn.18009b4e0
movss xmm9, dword [0x1800b68d4]
lea rsi, [0x1800c41b0]
movaps xmm7, xmm10
mov dword [rsp + 0x70], 0x41700000
addss xmm7, dword [0x1800b68d8]
movaps xmm6, xmm11
mov dword [rsp + 0x74], 0x41caaaab
movsd xmm14, qword [rsp + 0x70]
addss xmm6, xmm12
mov dword [rbp - 0x70], 0x41700000
mov r15d, r13d
mov dword [rbp - 0x6c], 0x43180000
movss dword [rsp + 0x58], xmm7
movss dword [rsp + 0x60], xmm7
movdqu xmm1, xmmword [rsi]
lea r9, [rbp - 0x60]
add rsi, 0x10
movd xmm0, r15d
movq r8, xmm14
cvtdq2ps xmm0, xmm0
mov rcx, rdi
movaps xmmword [rbp - 0x60], xmm1
movdqu xmm3, xmmword [rsi]
mulss xmm0, dword [0x1800b68ac]
movaps xmmword [rbp - 0x50], xmm1
movaps xmmword [rbp - 0x40], xmm3
addss xmm0, xmm6
movaps xmmword [rbp - 0x30], xmm3
movss dword [rsp + 0x64], xmm0
mov rdx, qword [rsp + 0x60]
call fcn.18009a8e0
inc r15d
cmp r15d, 6
jl 0x1800971e5
movups xmm0, xmmword [0x1800bc3b0]
mov r8, qword [rbp - 0x70]
lea r9, [rbp - 0x80]
mov rcx, rdi
movss dword [rsp + 0x20], xmm13
movdqa xmmword [rbp - 0x80], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movq rdx, xmm0
call fcn.18009b4e0
movss xmm1, dword [rsp + 0x48]
addss xmm10, xmm12
movaps xmm0, xmm8
movss dword [rbp - 0xc], xmm6
subss xmm0, xmm1
movss dword [rsp + 0x68], xmm1
movaps xmm14, xmm6
mov dword [rbp - 0x20], 0x43180000
mov dword [rbp - 0x1c], 0x43180000
addss xmm14, xmm9
movss dword [rbp - 0x10], xmm10
mulss xmm0, xmm9
call fcn.18004b38c
movaps xmm9, xmm0
addss xmm9, xmm6
comiss xmm14, xmm9
jae 0x1800972c2
movaps xmm9, xmm14
jmp 0x1800972c7
maxss xmm9, xmm6
movss xmm7, dword [rsp + 0x44]
movaps xmm15, xmm10
addss xmm15, dword [0x1800b68d4]
movaps xmm0, xmm7
mulss xmm0, dword [0x1800b68d4]
movss dword [rbp - 0x70], xmm15
call fcn.18004b38c
addss xmm0, xmm10
comiss xmm15, xmm0
jb 0x180097304
movaps xmm15, xmm10
maxss xmm15, xmm0
movss xmm0, dword [rsp + 0x40]
movss dword [rsp + 0x5c], xmm0
mulss xmm0, dword [0x1800b68d4]
call fcn.18004b38c
addss xmm0, xmm6
comiss xmm14, xmm0
movss dword [rsp + 0x54], xmm0
jae 0x180097333
movaps xmm0, xmm14
jmp 0x18009733b
comiss xmm0, xmm6
jae 0x180097341
movaps xmm0, xmm6
movss dword [rsp + 0x54], xmm0
movss xmm1, dword [rsp + 0x58]
lea r9, [rsp + 0x40]
movss xmm3, dword [0x1800b60e4]
subss xmm1, xmm8
movaps xmm2, xmm0
movss dword [rsp + 0x20], xmm13
movups xmm0, xmmword [0x1800bc3b0]
mov rcx, rdi
subss xmm2, xmm8
movdqa xmmword [rsp + 0x40], xmm0
movss xmm0, dword [0x1800b68a0]
unpcklps xmm0, xmm3
movq r8, xmm0
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.18009b4e0
movss xmm1, dword [rsp + 0x58]
lea r9, [rsp + 0x40]
movups xmm0, xmmword [0x1800bc3b0]
mov rcx, rdi
movss xmm2, dword [rsp + 0x54]
addss xmm1, xmm8
movss xmm3, dword [0x1800b5668]
addss xmm2, xmm8
movdqa xmmword [rsp + 0x40], xmm0
movss xmm0, dword [0x1800b6384]
unpcklps xmm0, xmm3
movq r8, xmm0
movss dword [rsp + 0x20], xmm13
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.18009b4e0
movups xmm0, xmmword [0x1800bc3c0]
lea r9, [rsp + 0x40]
mov rcx, rdi
movss xmm1, dword [rsp + 0x58]
movdqa xmmword [rsp + 0x40], xmm0
movss xmm0, dword [0x1800b60f0]
unpcklps xmm0, xmm12
movq r8, xmm0
movss dword [rsp + 0x20], xmm13
movss xmm0, dword [rsp + 0x54]
unpcklps xmm1, xmm0
movq rdx, xmm1
call fcn.18009b4e0
movss xmm0, dword [rsp + 0x58]
movss xmm4, dword [0x1800bcb38]
movaps xmm1, xmm0
comiss xmm4, xmm0
mov al, byte [0x1800bcb40]
addss xmm1, dword [0x1800b60f0]
movss xmm2, dword [0x1800bcb34]
movss xmm5, dword [0x1800b6888]
movss xmm3, dword [0x1800bcb3c]
jb 0x1800974c9
comiss xmm3, xmm6
jb 0x1800974c9
comiss xmm4, xmm1
ja 0x1800974c9
comiss xmm3, xmm14
ja 0x1800974c9
test al, al
je 0x1800974c9
movaps xmm0, xmm14
subss xmm0, dword [0x1800b637c]
comiss xmm0, xmm2
jb 0x1800974a0
comiss xmm2, xmm6
jae 0x18009749d
movaps xmm0, xmm6
jmp 0x1800974a0
movaps xmm0, xmm2
movss xmm1, dword [0x1800b6894]
subss xmm0, xmm6
movss dword [rsp + 0x5c], xmm1
mulss xmm0, xmm5
comiss xmm0, xmm1
ja 0x1800974c9
movaps xmm1, xmm0
maxss xmm1, xmm13
movss dword [rsp + 0x5c], xmm1
comiss xmm4, xmm10
jb 0x18009759c
comiss xmm3, xmm6
jb 0x18009759c
movss xmm0, dword [rbp - 0x70]
comiss xmm4, xmm0
ja 0x18009759c
comiss xmm3, xmm14
ja 0x18009759c
test al, al
je 0x18009759c
movss xmm4, dword [0x1800b56b0]
movaps xmm9, xmm14
movss xmm3, dword [0x1800b56e4]
subss xmm9, xmm4
movaps xmm1, xmm6
addss xmm1, xmm3
comiss xmm9, xmm2
jb 0x18009752b
movaps xmm9, xmm2
maxss xmm9, xmm1
movss xmm1, dword [0x1800bcb30]
movaps xmm15, xmm0
subss xmm15, xmm4
movaps xmm0, xmm10
addss xmm0, xmm3
comiss xmm15, xmm1
jb 0x180097553
movaps xmm15, xmm1
maxss xmm15, xmm0
movaps xmm7, xmm15
subss xmm7, xmm10
mulss xmm7, xmm5
comiss xmm7, xmm8
jbe 0x18009756c
movaps xmm7, xmm8
jmp 0x180097571
maxss xmm7, xmm13
movaps xmm0, xmm9
subss xmm0, xmm6
mulss xmm0, xmm5
comiss xmm0, xmm8
jbe 0x180097589
movaps xmm0, xmm8
jmp 0x18009758e
maxss xmm0, xmm13
movaps xmm1, xmm8
subss xmm1, xmm0
movss dword [rsp + 0x68], xmm1
movss xmm0, dword [r14 + 0xc]
addss xmm11, dword [0x1800b68d8]
mulss xmm0, dword [0x1800b68d4]
mov dword [rbp - 0x80], 0x43180000
movss dword [rsp + 0x70], xmm10
mov dword [rbp - 0x7c], 0x41200000
movss dword [rsp + 0x74], xmm11
call fcn.18004b38c
movss xmm6, dword [rsp + 0x5c]
lea rax, [rsp + 0x60]
movss xmm3, dword [rsp + 0x68]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x30], rax
movaps xmm14, xmm0
lea rax, [rsp + 0x54]
movaps xmm2, xmm7
mov qword [rsp + 0x28], rax
addss xmm14, xmm10
lea rax, [rsp + 0x58]
movaps xmm1, xmm6
mov qword [rsp + 0x20], rax
call fcn.180089058
movss xmm1, dword [rsp + 0x58]
lea rax, [rsp + 0x5c]
movss xmm0, dword [rsp + 0x54]
lea rcx, [rsp + 0x50]
movss xmm2, dword [rsp + 0x60]
movaps xmm3, xmm8
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x68]
movss dword [rsp + 0x40], xmm1
movaps xmm1, xmm6
movss dword [rsp + 0x48], xmm2
movaps xmm2, xmm8
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
movss dword [rsp + 0x44], xmm0
mov dword [rsp + 0x4c], 0x3f800000
movups xmm0, xmmword [rsp + 0x40]
mov qword [rsp + 0x20], rax
movdqu xmmword [r14], xmm0
call fcn.180089058
movss xmm2, dword [rsp + 0x60]
lea r9, [rbp]
movss xmm1, dword [rsp + 0x68]
mov rcx, rdi
movss xmm0, dword [rsp + 0x5c]
movups xmm3, xmmword [0x1800bc3b0]
mov dword [rbp - 0x44], 0x3f800000
movsd xmm7, qword [rbp - 0x20]
movsd xmm6, qword [rbp - 0x10]
movq r8, xmm7
movss dword [rbp - 0x50], xmm2
movq rdx, xmm6
movss dword [rbp - 0x4c], xmm1
movss dword [rbp - 0x40], xmm2
movups xmm2, xmmword [0x1800bc3c0]
mov dword [rbp - 0x34], 0x3f800000
movss dword [rbp - 0x38], xmm0
movss dword [rbp - 0x48], xmm0
movups xmm0, xmmword [rbp - 0x50]
movss dword [rbp - 0x3c], xmm1
movups xmm1, xmmword [rbp - 0x40]
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp + 0x20], xmm1
movaps xmmword [rbp + 0x30], xmm2
movaps xmmword [rbp], xmm3
call fcn.18009a8e0
movss xmm0, dword [0x1800bc3b0]
movss xmm1, dword [0x1800b5014]
movss xmm4, dword [0x1800b50ec]
mulss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x1800bc3b4]
mulss xmm0, xmm1
movd xmm3, eax
cvtdq2ps xmm3, xmm3
cvttss2si eax, xmm0
mulss xmm3, xmm4
movss dword [rbp - 0x60], xmm3
movd xmm2, eax
movss xmm0, dword [0x1800bc3b8]
lea r9, [rbp]
and dword [rbp - 0x54], r13d
movq r8, xmm7
and dword [rbp - 0x44], r13d
movq rdx, xmm6
mulss xmm0, xmm1
mov rcx, rdi
cvtdq2ps xmm2, xmm2
cvttss2si eax, xmm0
mulss xmm2, xmm4
movss dword [rbp - 0x50], xmm3
movss dword [rbp - 0x5c], xmm2
movss dword [rbp - 0x4c], xmm2
movups xmm2, xmmword [0x1800bc3b0]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmmword [rbp + 0x20], xmm2
mulss xmm1, xmm4
movaps xmmword [rbp + 0x30], xmm2
movss dword [rbp - 0x58], xmm1
movups xmm0, xmmword [rbp - 0x60]
movss dword [rbp - 0x48], xmm1
movups xmm1, xmmword [rbp - 0x50]
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x10], xmm1
call fcn.18009a8e0
movss xmm1, dword [0x1800b56b0]
subss xmm15, xmm8
movups xmm0, xmmword [0x1800bc3c0]
lea r9, [rsp + 0x40]
mov rcx, rdi
subss xmm9, xmm8
movss dword [rsp + 0x20], xmm13
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm1
unpcklps xmm0, xmm1
movaps xmm1, xmm15
movq r8, xmm0
unpcklps xmm1, xmm9
movq rdx, xmm1
call fcn.180098e18
movss xmm1, dword [0x1800b56b0]
lea r9, [rsp + 0x40]
movups xmm0, xmmword [0x1800bc3b0]
mov rcx, rdi
movss dword [rsp + 0x20], xmm13
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm1
unpcklps xmm0, xmm1
movaps xmm1, xmm15
unpcklps xmm1, xmm9
movq r8, xmm0
movq rdx, xmm1
call fcn.18009b4e0
movups xmm0, xmmword [0x1800bc3b0]
lea r9, [rsp + 0x40]
mov rcx, rdi
movq r8, xmm7
movss dword [rsp + 0x20], xmm13
movq rdx, xmm6
movdqa xmmword [rsp + 0x40], xmm0
call fcn.18009b4e0
movss xmm0, dword [0x1800bcb38]
comiss xmm0, xmm10
jb 0x1800978e8
movss xmm1, dword [0x1800bcb3c]
comiss xmm1, xmm11
jb 0x1800978e8
comiss xmm0, dword [rbp - 0x70]
movss xmm15, dword [0x1800b5010]
ja 0x1800978f1
movaps xmm0, xmm11
addss xmm0, xmm15
comiss xmm1, xmm0
ja 0x1800978f1
cmp byte [0x1800bcb40], r13b
movaps xmm7, xmm11
je 0x1800978f5
movss xmm0, dword [0x1800bcb30]
movaps xmm14, xmm10
addss xmm14, dword [0x1800b68d0]
comiss xmm14, xmm0
jb 0x1800978f1
movaps xmm14, xmm10
addss xmm14, xmm8
maxss xmm14, xmm0
jmp 0x1800978f1
movss xmm15, dword [0x1800b5010]
movaps xmm7, xmm11
movaps xmm0, xmm14
subss xmm0, xmm10
mulss xmm0, dword [0x1800b6884]
comiss xmm0, xmm8
jbe 0x180097912
movaps xmm0, xmm8
jmp 0x18009791c
comiss xmm0, xmm13
jae 0x18009791c
movaps xmm0, xmm13
movaps xmm9, xmm11
movss dword [r14 + 0xc], xmm0
addss xmm9, xmm12
mov r15d, r13d
mov esi, r13d
movd xmm6, esi
lea r9, [rsp + 0x40]
movss dword [rsp + 0x20], xmm13
mov rcx, rdi
cvtdq2ps xmm6, xmm6
addss xmm6, xmm10
addss xmm6, xmm8
movaps xmm1, xmm6
unpcklps xmm1, xmm11
movq rdx, xmm1
test r15b, 1
jne 0x180097990
movups xmm0, xmmword [0x1800bc3c0]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm12
unpcklps xmm0, xmm12
movq r8, xmm0
call fcn.180098e18
movaps xmm0, xmmword [0x1800b6a70]
movaps xmmword [rsp + 0x40], xmm0
jmp 0x1800979bb
movaps xmm0, xmmword [0x1800b6a70]
movaps xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm12
unpcklps xmm0, xmm12
movq r8, xmm0
call fcn.180098e18
movups xmm0, xmmword [0x1800bc3c0]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm12
movss dword [rsp + 0x20], xmm13
movaps xmm1, xmm6
unpcklps xmm0, xmm12
unpcklps xmm1, xmm9
lea r9, [rsp + 0x40]
movq r8, xmm0
movq rdx, xmm1
mov rcx, rdi
call fcn.180098e18
inc r15d
add esi, 5
cmp esi, 0x96
jl 0x180097931
movups xmm0, xmmword [r14]
mov r8, qword [rbp - 0x80]
lea r9, [rsp + 0x40]
mov rdx, qword [rsp + 0x70]
mov rcx, rdi
movdqu xmmword [rsp + 0x40], xmm0
movss dword [rsp + 0x20], xmm13
call fcn.180098e18
movaps xmm0, xmmword [0x1800b62e0]
lea r9, [rsp + 0x40]
mov rax, qword [rsp + 0x70]
mov rcx, rdi
movaps xmmword [rsp + 0x40], xmm0
mov rdx, rax
movss xmm0, dword [0x1800b68d4]
unpcklps xmm0, xmm15
movq r8, xmm0
movss dword [rsp + 0x20], xmm13
mov qword [rbp - 0x80], rax
call fcn.18009b4e0
movups xmm0, xmmword [0x1800bc3b0]
lea r9, [rsp + 0x40]
mov rcx, rdi
movss xmm1, dword [0x1800b60ec]
movaps xmm3, xmm14
movdqa xmmword [rsp + 0x40], xmm0
subss xmm3, xmm8
movss xmm0, dword [0x1800b60e4]
movaps xmm2, xmm7
unpcklps xmm0, xmm1
subss xmm2, xmm8
movq r8, xmm0
movss dword [rsp + 0x20], xmm13
movaps xmm1, xmm3
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.18009b4e0
movups xmm0, xmmword [0x1800bc3b0]
lea r9, [rsp + 0x40]
mov rcx, rdi
movss xmm1, dword [0x1800b5774]
movaps xmm3, xmm14
movdqa xmmword [rsp + 0x40], xmm0
addss xmm3, xmm8
movss xmm0, dword [0x1800b5668]
movaps xmm2, xmm7
unpcklps xmm0, xmm1
addss xmm2, xmm8
movq r8, xmm0
movss dword [rsp + 0x20], xmm13
movaps xmm1, xmm3
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.18009b4e0
movups xmm0, xmmword [0x1800bc3c0]
lea r9, [rsp + 0x40]
mov rcx, rdi
movaps xmm1, xmm14
movss dword [rsp + 0x20], xmm13
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm12
unpcklps xmm0, xmm15
unpcklps xmm1, xmm7
movq r8, xmm0
movq rdx, xmm1
call fcn.18009b4e0
movss xmm14, dword [rbp - 0x64]
movss xmm8, dword [0x1800b50ec]
movss xmm1, dword [rbp - 0x68]
movaps xmm7, xmm14
mov esi, r13d
addss xmm7, xmm12
mov edi, r13d
movd xmm6, edi
movaps xmm3, xmm13
lea r8, [rsp + 0x40]
cvtdq2ps xmm6, xmm6
addss xmm6, xmm1
movaps xmm1, xmm6
unpcklps xmm1, xmm14
movq rcx, xmm1
test sil, 1
jne 0x180097bb9
movups xmm0, xmmword [0x1800bc3c0]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm12
unpcklps xmm0, xmm12
movq rdx, xmm0
call qword [0x1800bcb68]
movaps xmm0, xmmword [0x1800b6a70]
movaps xmmword [rsp + 0x40], xmm0
jmp 0x180097be5
movaps xmm0, xmmword [0x1800b6a70]
movaps xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm12
unpcklps xmm0, xmm12
movq rdx, xmm0
call qword [0x1800bcb68]
movups xmm0, xmmword [0x1800bc3c0]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm12
lea r8, [rsp + 0x40]
movaps xmm1, xmm6
unpcklps xmm0, xmm12
unpcklps xmm1, xmm7
movq rdx, xmm0
movq rcx, xmm1
movaps xmm3, xmm13
call qword [0x1800bcb68]
movss xmm1, dword [rbp - 0x68]
inc esi
add edi, 5
cmp edi, 0x14
jl 0x180097b65
movss xmm1, dword [0x1800b64a8]
lea r8, [rbp]
movss xmm0, dword [r14]
mov edx, 0xffffffce
movdqu xmm5, xmmword [r14]
mov eax, edx
movsd xmm7, qword [rbp - 0x18]
movsd xmm6, qword [rbp - 0x68]
mulss xmm0, xmm1
movaps xmmword [rbp], xmm5
movaps xmmword [rbp + 0x10], xmm5
cvttss2si ecx, xmm0
movss xmm0, dword [r14 + 4]
mulss xmm0, xmm1
sub eax, ecx
mov ecx, edx
movd xmm4, eax
cvttss2si eax, xmm0
movss xmm0, dword [r14 + 8]
mulss xmm0, xmm1
sub ecx, eax
cvtdq2ps xmm4, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [r14 + 0xc]
mulss xmm0, dword [0x1800b5014]
sub edx, eax
movd xmm3, ecx
movq rcx, xmm6
mulss xmm4, xmm8
cvttss2si eax, xmm0
movd xmm2, edx
movq rdx, xmm7
cvtdq2ps xmm3, xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm3, xmm8
mulss xmm1, xmm8
cvtdq2ps xmm2, xmm2
movss dword [rbp - 0x34], xmm1
mulss xmm2, xmm8
movss dword [rbp - 0x24], xmm1
movss dword [rbp - 0x40], xmm4
movss dword [rbp - 0x3c], xmm3
movss dword [rbp - 0x38], xmm2
movups xmm0, xmmword [rbp - 0x40]
movss dword [rbp - 0x30], xmm4
movss dword [rbp - 0x2c], xmm3
movss dword [rbp - 0x28], xmm2
movups xmm1, xmmword [rbp - 0x30]
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x30], xmm1
call qword [0x1800bcb88]
movups xmm0, xmmword [0x1800bc3b0]
lea r8, [rsp + 0x40]
movaps xmm3, xmm13
movq rdx, xmm7
movq rcx, xmm6
movdqa xmmword [rsp + 0x40], xmm0
call qword [0x1800bcb60]
test r12b, r12b
jne 0x180097d7f
mov rax, qword [0x1800bcbf8]
lea r8, [rsp + 0x40]
movups xmm0, xmmword [0x1800bc3c0]
xor r9d, r9d
mov rdx, rbx
movss xmm1, dword [rax + 0x14]
movdqa xmmword [rsp + 0x40], xmm0
movss xmm0, dword [rax + 0x10]
unpcklps xmm0, xmm1
movq rcx, xmm0
call qword [0x1800bcb70]
mov rax, qword [0x1800bcbf8]
movss xmm0, dword [rax + 0x14]
addss xmm0, dword [0x1800b689c]
movss dword [rax + 0x14], xmm0
lea r11, [rsp + 0x2e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
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 rbp
ret