Function at 0x1800cbfa4
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
mov r14, qword [0x1800f2b60]
mov rdi, rdx
xor edx, edx
movaps xmmword [rax - 0x48], xmm6
mov rsi, rcx
mov r13d, r8d
lea ecx, [rdx + 1]
call fcn.18009fc94
xor ebx, ebx
test rsi, rsi
je 0x1800cc008
xor edx, edx
mov rcx, rsi
call fcn.1800a2cfc
cmp rax, rsi
jbe 0x1800cc008
xor r8d, r8d
mov rdx, rax
mov rcx, rsi
call fcn.1800d17d0
call fcn.1800d08d0
movss xmm0, dword [r14 + 0x3c10]
mov esi, r13d
movss xmm1, dword [r14 + 0x3820]
mulss xmm0, dword [0x180008b28]
addss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [0x180005fd0]
movss dword [rbp + 0x67], xmm1
movss dword [rbp + 0x6b], xmm1
and esi, 2
je 0x1800cc049
movaps xmm1, xmm0
jmp 0x1800cc04e
movss xmm1, dword [rdi + 0xc]
movss xmm2, dword [rdi]
xorps xmm6, xmm6
comiss xmm6, xmm2
movss xmm3, dword [rdi + 4]
movss xmm5, dword [rdi + 8]
movss dword [rbp + 7], xmm2
movss dword [rbp + 0xb], xmm3
movss dword [rbp + 0xf], xmm5
movss dword [rbp + 0x13], xmm1
jbe 0x1800cc07d
xorps xmm1, xmm1
jmp 0x1800cc084
movaps xmm1, xmm0
minss xmm1, xmm2
comiss xmm6, xmm3
movss xmm2, dword [0x1800060b8]
movss xmm4, dword [0x180005fbc]
mulss xmm1, xmm2
addss xmm1, xmm4
cvttss2si eax, xmm1
mov dword [rbp + 0x77], eax
jbe 0x1800cc0ad
xorps xmm1, xmm1
jmp 0x1800cc0b4
movaps xmm1, xmm0
minss xmm1, xmm3
comiss xmm6, xmm5
mulss xmm1, xmm2
addss xmm1, xmm4
cvttss2si r12d, xmm1
jbe 0x1800cc0cb
xorps xmm1, xmm1
jmp 0x1800cc0d2
movaps xmm1, xmm0
minss xmm1, xmm5
mulss xmm1, xmm2
addss xmm1, xmm4
cvttss2si r14d, xmm1
test esi, esi
je 0x1800cc0eb
mov r15d, 0xff
jmp 0x1800cc108
comiss xmm6, dword [rdi + 0xc]
jbe 0x1800cc0f6
xorps xmm0, xmm0
jmp 0x1800cc0fb
minss xmm0, dword [rdi + 0xc]
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si r15d, xmm0
mov dword [rbp - 0x49], 0x44451710
lea r9, [rbp - 0x49]
mov dword [rbp - 0x45], 0x5f504e52
mov r8d, ebx
mov word [rbp - 0x41], 0x3c4c
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9], al
inc r9
cmp r8d, 0xa
jl 0x1800cc123
mov r8d, r13d
lea r9, [rbp + 0x67]
and r8d, 0x18060002
lea rdx, [rbp + 7]
or r8d, 0x40
lea rcx, [rbp - 0x49]
call fcn.1800cb9c8
movss xmm1, dword [0x180006104]
movaps xmm0, xmm6
call fcn.1800ac61c
bt r13d, 0x1b
jb 0x1800cc28f
test r13d, 0x18000000
je 0x1800cc28f
bt r13d, 0x1c
jae 0x1800cc404
movss xmm3, dword [rdi + 8]
movss xmm2, dword [rdi + 4]
movdqa xmm0, xmmword [0x18000cbf0]
cvtps2pd xmm3, xmm3
cvtps2pd xmm2, xmm2
movdqu xmmword [rbp - 0x3f], xmm0
test esi, esi
je 0x1800cc21c
movss xmm1, dword [rdi]
lea r8, [rbp - 0x3f]
cvtps2pd xmm1, xmm1
mov dword [rbp - 0x2f], 0x7c13646f
mov dword [rbp - 0x2b], 0x79676d67
mov word [rbp - 0x27], 0x4c2d
mov eax, 0x51eb851f
mul ebx
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, bl
inc ebx
sub al, cl
add al, 0x33
xor byte [r8], al
inc r8
cmp ebx, 0x1a
jl 0x1800cc1dc
movq r9, xmm3
lea rcx, [rbp - 0x3f]
movq r8, xmm2
movq rdx, xmm1
call fcn.1800d1718
jmp 0x1800cc404
movss xmm4, dword [rdi + 0xc]
lea r8, [rbp - 0x3f]
movss xmm5, dword [rdi]
movdqa xmm1, xmmword [0x18000cc80]
cvtps2pd xmm4, xmm4
mov word [rbp - 0x1f], 0x3260
mov byte [rbp - 0x1d], 0x55
cvtps2pd xmm5, xmm5
movdqu xmmword [rbp - 0x2f], xmm1
mov eax, 0x51eb851f
mul ebx
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, bl
inc ebx
sub al, cl
add al, 0x33
xor byte [r8], al
inc r8
cmp ebx, 0x23
jl 0x1800cc246
movq r9, xmm3
movsd qword [rsp + 0x20], xmm4
movq r8, xmm2
lea rcx, [rbp - 0x3f]
movaps xmm1, xmm5
movq rdx, xmm5
call fcn.1800d1718
jmp 0x1800cc404
test esi, esi
je 0x1800cc340
movdqa xmm0, xmmword [0x18000cc70]
lea r10, [rbp - 0x3f]
movss xmm2, dword [rdi + 8]
movss xmm3, dword [rdi + 4]
movss xmm4, dword [rdi]
movdqa xmm1, xmmword [0x18000cc60]
movdqu xmmword [rbp - 0x3f], xmm0
mov dword [rbp - 0xf], 0x1d55574d
movdqa xmm0, xmmword [0x18000cc20]
movdqu xmmword [rbp - 0x1f], xmm0
mov byte [rbp - 0xb], 0x35
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
cvtps2pd xmm4, xmm4
movdqu xmmword [rbp - 0x2f], xmm1
mov eax, 0x51eb851f
mul ebx
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, bl
inc ebx
sub al, cl
add al, 0x33
xor byte [r10], al
inc r10
cmp ebx, 0x35
jl 0x1800cc2e4
mov eax, dword [rbp + 0x77]
lea rcx, [rbp - 0x3f]
movsd qword [rsp + 0x48], xmm2
mov r9d, r14d
movsd qword [rsp + 0x40], xmm3
mov r8d, r12d
movsd qword [rsp + 0x38], xmm4
mov edx, eax
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
call fcn.1800d1718
jmp 0x1800cc404
movdqa xmm0, xmmword [0x18000cc50]
lea r8, [rbp - 0x3f]
movdqa xmm1, xmmword [0x18000cc30]
movss xmm2, dword [rdi + 0xc]
movss xmm3, dword [rdi + 8]
movss xmm4, dword [rdi + 4]
movss xmm5, dword [rdi]
movdqu xmmword [rbp - 0x3f], xmm0
mov word [rbp + 1], 0x4268
movdqa xmm0, xmmword [0x18000cc10]
movdqu xmmword [rbp - 0x2f], xmm1
movdqa xmm1, xmmword [0x18000cc00]
movdqu xmmword [rbp - 0x1f], xmm0
movdqu xmmword [rbp - 0xf], xmm1
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
cvtps2pd xmm4, xmm4
cvtps2pd xmm5, xmm5
mov eax, 0x51eb851f
mul ebx
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, bl
inc ebx
sub al, cl
add al, 0x33
xor byte [r8], al
inc r8
cmp ebx, 0x42
jl 0x1800cc39d
mov eax, dword [rbp + 0x77]
lea rcx, [rbp - 0x3f]
movsd qword [rsp + 0x60], xmm2
mov r9d, r14d
movsd qword [rsp + 0x58], xmm3
mov r8d, r12d
movsd qword [rsp + 0x50], xmm4
mov edx, eax
movsd qword [rsp + 0x48], xmm5
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r15d
call fcn.1800d1718
call fcn.1800a2348
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret