Function at 0x180088418
Capabilities:
Encode data using xor

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, [rax - 0x5f]
sub rsp, 0xc0
mov rbx, qword [0x1800cdb78]
mov r14, r9
mov r12d, dword [rcx + 0xc]
mov r13, r8
movaps xmmword [rax - 0x48], xmm6
mov rdi, rdx
movaps xmmword [rax - 0x58], xmm7
mov rsi, rcx
movaps xmmword [rax - 0x68], xmm8
lea r10, [rbx + 0x3808]
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rsp + 0x70], xmm10
test r12b, 0x20
jne 0x18008847b
cmp dword [r10], 0xffffffff
je 0x18008847b
mov cl, 1
jmp 0x18008847d
xor cl, cl
mov r15d, dword [rbx + 0x4730]
xorps xmm7, xmm7
mov eax, r15d
or eax, 0x10
mov dword [rbx + 0x4730], eax
mov dword [rsi + 0x150], 1
movss xmm6, dword [rbx + 0x381c]
movss xmm10, dword [rbx + 0x3c10]
movaps xmm8, xmm6
and dword [rbp + 0x7f], 0
and dword [rbp + 0x83], 0
and dword [rbp + 0x6f], 0
and dword [rbp + 0x73], 0
movss xmm1, dword [rdx + 8]
movss xmm2, dword [rdx + 4]
test r14, r14
je 0x1800884fc
addss xmm8, xmm10
movaps xmm0, xmm1
subss xmm0, xmm8
subss xmm0, dword [rbx + 0x381c]
movss dword [rbp + 0x83], xmm2
movss dword [rbp + 0x7f], xmm0
movaps xmm0, xmm8
jmp 0x180088504
movaps xmm0, xmm10
addss xmm0, xmm6
test cl, cl
je 0x1800885cc
cmp dword [r10], 1
jne 0x18008852e
addss xmm8, xmm10
subss xmm1, xmm8
subss xmm1, dword [rbx + 0x381c]
movss dword [rbp + 0x73], xmm2
movss dword [rbp + 0x6f], xmm1
cmp dword [r10], 0
jne 0x18008854d
addss xmm6, dword [rdx]
subss xmm6, dword [rbx + 0x381c]
movss dword [rbp + 0x73], xmm2
movss dword [rbp + 0x6f], xmm6
movaps xmm6, xmm0
mov dword [rbp - 0x59], 0x797b7011
lea r9, [rbp - 0x59]
mov dword [rbp - 0x55], 0x6a68767a
xor r8d, r8d
mov word [rbp - 0x51], 0x3b7f
mov eax, 0x1f7047dd
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9], al
inc r9
cmp r8d, 0xa
jl 0x180088568
movsxd rax, dword [rsi + 0xe8]
lea rcx, [rbp - 0x59]
mov r8, qword [rsi + 0xf0]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180080708
lea rdx, [rbp + 0x6f]
mov ecx, eax
call fcn.1800a7e18
test al, al
je 0x1800885cc
mov byte [rsi + 0xb2], 1
test r14, r14
je 0x18008864a
mov dword [rbp + 0x67], 0x7a787011
lea r9, [rbp + 0x67]
mov word [rbp + 0x6b], 0x7265
xor r8d, r8d
mov byte [rbp + 0x6d], 0x38
mov eax, 0x1f7047dd
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9], al
inc r9
cmp r8d, 7
jl 0x1800885e9
movsxd rax, dword [rsi + 0xe8]
lea rcx, [rbp + 0x67]
mov r8, qword [rsi + 0xf0]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180080708
lea rdx, [rbp + 0x7f]
mov ecx, eax
call fcn.1800a7aec
test al, al
je 0x18008864a
mov byte [r14], 0
and dword [rsi + 0x150], 0
bt r12d, 0x14
mov dword [rbx + 0x4730], r15d
jae 0x18008866a
mulss xmm10, dword [0x180008a48]
jmp 0x18008866e
movaps xmm10, xmm7
movss xmm0, dword [0x180006034]
lea rcx, [rbp - 0x59]
mov r9b, 1
movss dword [rsp + 0x20], xmm0
xor r8d, r8d
mov rdx, r13
call fcn.18007c838
movss xmm1, dword [rbx + 0x381c]
movaps xmm2, xmm10
comiss xmm6, xmm1
movss xmm0, dword [rax + 4]
addss xmm2, dword [rax]
addss xmm0, xmm7
movss dword [rbp + 0x67], xmm2
movss dword [rbp + 0x6b], xmm0
jbe 0x1800886be
addss xmm6, dword [rbx + 0x3834]
comiss xmm8, xmm1
jbe 0x1800886cd
addss xmm8, dword [rbx + 0x3834]
movss xmm0, dword [rbx + 0x3800]
comiss xmm0, xmm7
jbe 0x180088746
movss xmm1, dword [0x180005f00]
comiss xmm1, xmm0
jbe 0x180088746
subss xmm0, dword [0x180005eec]
movaps xmm3, xmm1
andps xmm0, xmmword [0x180008330]
addss xmm0, xmm0
subss xmm3, xmm0
comiss xmm7, xmm3
ja 0x18008870d
movaps xmm7, xmm1
minss xmm7, xmm3
movss xmm0, dword [rdi + 8]
movaps xmm1, xmm6
subss xmm0, dword [rdi]
maxss xmm1, xmm8
subss xmm0, xmm6
subss xmm0, xmm8
subss xmm0, xmm2
minss xmm1, xmm0
mulss xmm1, xmm7
movaps xmm0, xmm1
maxss xmm1, xmm8
maxss xmm0, xmm6
movaps xmm8, xmm1
movaps xmm6, xmm0
bt r12d, 0x14
movss xmm7, dword [rdi + 8]
addss xmm6, dword [rdi]
movss xmm9, dword [rdi + 4]
subss xmm7, xmm8
movss xmm1, dword [rdi + 0xc]
movss dword [rbp - 0x45], xmm9
movss dword [rbp - 0x3d], xmm1
movss dword [rbp - 0x49], xmm6
movaps xmm8, xmm7
movss dword [rbp - 0x41], xmm7
addss xmm8, dword [rbx + 0x3834]
movss dword [rbp - 0x59], xmm6
movss dword [rbp - 0x55], xmm9
movss dword [rbp - 0x4d], xmm1
minss xmm8, dword [rdi + 8]
movss dword [rbp - 0x51], xmm8
jae 0x18008884f
movaps xmm0, xmm7
subss xmm0, xmm6
subss xmm0, xmm2
mulss xmm0, dword [rbx + 0x3800]
addss xmm0, xmm6
addss xmm0, xmm2
comiss xmm6, xmm0
jbe 0x1800887cd
movaps xmm7, xmm6
jmp 0x1800887d1
minss xmm7, xmm0
comiss xmm7, xmm6
addss xmm9, xmm1
mulss xmm9, dword [0x180005eec]
jbe 0x18008884f
mov rax, qword [0x1800cdb78]
lea rcx, [rbp - 0x39]
movdqu xmm0, xmmword [rax + 0x38b8]
movups xmmword [rbp - 0x39], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37e0]
movss dword [rbp - 0x2d], xmm0
call fcn.18007d6d0
mov rcx, qword [rsi + 0x290]
movaps xmm0, xmm7
unpcklps xmm0, xmm9
mov r8d, eax
movq rdx, xmm0
call fcn.1800950ec
mulss xmm10, dword [0x180005eec]
cvttss2si eax, xmm10
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm7, xmm0
minss xmm7, xmm8
movss dword [rbp - 0x51], xmm7
lea rcx, [rbp - 0x59]
xor r9d, r9d
mov qword [rsp + 0x30], rcx
lea rax, [rbx + 0x3800]
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x41]
lea rax, [rbp + 0x67]
mov r8, r13
lea rcx, [rbp - 0x49]
mov qword [rsp + 0x20], rax
call fcn.180087680
lea r11, [rsp + 0xc0]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret