Function at 0x1800c48d0
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 [0x1800ebb60]
mov rdi, rdx
xor edx, edx
movaps xmmword [rax - 0x48], xmm6
mov rsi, rcx
mov r13d, r8d
lea ecx, [rdx + 1]
call fcn.1800985c0
xor ebx, ebx
test rsi, rsi
je 0x1800c4934
xor edx, edx
mov rcx, rsi
call fcn.18009b628
cmp rax, rsi
jbe 0x1800c4934
xor r8d, r8d
mov rdx, rax
mov rcx, rsi
call fcn.1800ca0fc
call fcn.1800c91fc
movss xmm0, dword [r14 + 0x3c10]
mov esi, r13d
movss xmm1, dword [r14 + 0x3820]
mulss xmm0, dword [0x180008b48]
addss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [0x180005ff0]
movss dword [rbp + 0x67], xmm1
movss dword [rbp + 0x6b], xmm1
and esi, 2
je 0x1800c4975
movaps xmm1, xmm0
jmp 0x1800c497a
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 0x1800c49a9
xorps xmm1, xmm1
jmp 0x1800c49b0
movaps xmm1, xmm0
minss xmm1, xmm2
comiss xmm6, xmm3
movss xmm2, dword [0x1800060d8]
movss xmm4, dword [0x180005fdc]
mulss xmm1, xmm2
addss xmm1, xmm4
cvttss2si eax, xmm1
mov dword [rbp + 0x77], eax
jbe 0x1800c49d9
xorps xmm1, xmm1
jmp 0x1800c49e0
movaps xmm1, xmm0
minss xmm1, xmm3
comiss xmm6, xmm5
mulss xmm1, xmm2
addss xmm1, xmm4
cvttss2si r12d, xmm1
jbe 0x1800c49f7
xorps xmm1, xmm1
jmp 0x1800c49fe
movaps xmm1, xmm0
minss xmm1, xmm5
mulss xmm1, xmm2
addss xmm1, xmm4
cvttss2si r14d, xmm1
test esi, esi
je 0x1800c4a17
mov r15d, 0xff
jmp 0x1800c4a34
comiss xmm6, dword [rdi + 0xc]
jbe 0x1800c4a22
xorps xmm0, xmm0
jmp 0x1800c4a27
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 0x1800c4a4f
mov r8d, r13d
lea r9, [rbp + 0x67]
and r8d, 0x18060002
lea rdx, [rbp + 7]
or r8d, 0x40
lea rcx, [rbp - 0x49]
call fcn.1800c42f4
movss xmm1, dword [0x180006124]
movaps xmm0, xmm6
call fcn.1800a4f48
bt r13d, 0x1b
jb 0x1800c4bbb
test r13d, 0x18000000
je 0x1800c4bbb
bt r13d, 0x1c
jae 0x1800c4d30
movss xmm3, dword [rdi + 8]
movss xmm2, dword [rdi + 4]
movdqa xmm0, xmmword [0x18000cc10]
cvtps2pd xmm3, xmm3
cvtps2pd xmm2, xmm2
movdqu xmmword [rbp - 0x3f], xmm0
test esi, esi
je 0x1800c4b48
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 0x1800c4b08
movq r9, xmm3
lea rcx, [rbp - 0x3f]
movq r8, xmm2
movq rdx, xmm1
call fcn.1800ca044
jmp 0x1800c4d30
movss xmm4, dword [rdi + 0xc]
lea r8, [rbp - 0x3f]
movss xmm5, dword [rdi]
movdqa xmm1, xmmword [0x18000cca0]
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 0x1800c4b72
movq r9, xmm3
movsd qword [rsp + 0x20], xmm4
movq r8, xmm2
lea rcx, [rbp - 0x3f]
movaps xmm1, xmm5
movq rdx, xmm5
call fcn.1800ca044
jmp 0x1800c4d30
test esi, esi
je 0x1800c4c6c
movdqa xmm0, xmmword [0x18000cc90]
lea r10, [rbp - 0x3f]
movss xmm2, dword [rdi + 8]
movss xmm3, dword [rdi + 4]
movss xmm4, dword [rdi]
movdqa xmm1, xmmword [0x18000cc80]
movdqu xmmword [rbp - 0x3f], xmm0
mov dword [rbp - 0xf], 0x1d55574d
movdqa xmm0, xmmword [0x18000cc40]
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 0x1800c4c10
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.1800ca044
jmp 0x1800c4d30
movdqa xmm0, xmmword [0x18000cc70]
lea r8, [rbp - 0x3f]
movdqa xmm1, xmmword [0x18000cc50]
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 [0x18000cc30]
movdqu xmmword [rbp - 0x2f], xmm1
movdqa xmm1, xmmword [0x18000cc20]
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 0x1800c4cc9
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.1800ca044
call fcn.18009ac74
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