Function at 0x1800a85c4
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 [0x1800cdb78]
mov rdi, rdx
xor edx, edx
movaps xmmword [rax - 0x48], xmm6
mov rsi, rcx
mov r13d, r8d
lea ecx, [rdx + 1]
call fcn.18007bed0
xor ebx, ebx
test rsi, rsi
je 0x1800a8628
xor edx, edx
mov rcx, rsi
call fcn.18007ef44
cmp rax, rsi
jbe 0x1800a8628
xor r8d, r8d
mov rdx, rax
mov rcx, rsi
call fcn.1800addc8
call fcn.1800acecc
movss xmm0, dword [r14 + 0x3c10]
mov esi, r13d
movss xmm1, dword [r14 + 0x3820]
mulss xmm0, dword [0x180008a58]
addss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [0x180005f00]
movss dword [rbp + 0x67], xmm1
movss dword [rbp + 0x6b], xmm1
and esi, 2
je 0x1800a8669
movaps xmm1, xmm0
jmp 0x1800a866e
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 0x1800a869d
xorps xmm1, xmm1
jmp 0x1800a86a4
movaps xmm1, xmm0
minss xmm1, xmm2
comiss xmm6, xmm3
movss xmm2, dword [0x180005fe8]
movss xmm4, dword [0x180005eec]
mulss xmm1, xmm2
addss xmm1, xmm4
cvttss2si eax, xmm1
mov dword [rbp + 0x77], eax
jbe 0x1800a86cd
xorps xmm1, xmm1
jmp 0x1800a86d4
movaps xmm1, xmm0
minss xmm1, xmm3
comiss xmm6, xmm5
mulss xmm1, xmm2
addss xmm1, xmm4
cvttss2si r12d, xmm1
jbe 0x1800a86eb
xorps xmm1, xmm1
jmp 0x1800a86f2
movaps xmm1, xmm0
minss xmm1, xmm5
mulss xmm1, xmm2
addss xmm1, xmm4
cvttss2si r14d, xmm1
test esi, esi
je 0x1800a870b
mov r15d, 0xff
jmp 0x1800a8728
comiss xmm6, dword [rdi + 0xc]
jbe 0x1800a8716
xorps xmm0, xmm0
jmp 0x1800a871b
minss xmm0, dword [rdi + 0xc]
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si r15d, xmm0
mov dword [rbp - 0x49], 0x47441011
lea r9, [rbp - 0x49]
mov dword [rbp - 0x45], 0x5c514153
mov r8d, ebx
mov word [rbp - 0x41], 0x3b4d
mov eax, 0xa0a0a0a1
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x33
mov al, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9], al
inc r9
cmp r8d, 0xa
jl 0x1800a8743
mov r8d, r13d
lea r9, [rbp + 0x67]
and r8d, 0x18060002
lea rdx, [rbp + 7]
or r8d, 0x40
lea rcx, [rbp - 0x49]
call fcn.1800a7fec
movss xmm1, dword [0x180006034]
movaps xmm0, xmm6
call fcn.1800888b4
bt r13d, 0x1b
jb 0x1800a88af
test r13d, 0x18000000
je 0x1800a88af
bt r13d, 0x1c
jae 0x1800a8a24
movss xmm3, dword [rdi + 8]
movss xmm2, dword [rdi + 4]
movdqa xmm0, xmmword [0x18000cb20]
cvtps2pd xmm3, xmm3
cvtps2pd xmm2, xmm2
movdqu xmmword [rbp - 0x3f], xmm0
test esi, esi
je 0x1800a883c
movss xmm1, dword [rdi]
lea r8, [rbp - 0x3f]
cvtps2pd xmm1, xmm1
mov dword [rbp - 0x2f], 0x7f12636e
mov dword [rbp - 0x2b], 0x7a666266
mov word [rbp - 0x27], 0x4b2c
mov eax, 0xa0a0a0a1
mul ebx
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x33
mov al, bl
inc ebx
sub al, cl
add al, 0x32
xor byte [r8], al
inc r8
cmp ebx, 0x1a
jl 0x1800a87fc
movq r9, xmm3
lea rcx, [rbp - 0x3f]
movq r8, xmm2
movq rdx, xmm1
call fcn.1800add10
jmp 0x1800a8a24
movss xmm4, dword [rdi + 0xc]
lea r8, [rbp - 0x3f]
movss xmm5, dword [rdi]
movdqa xmm1, xmmword [0x18000cbc0]
cvtps2pd xmm4, xmm4
mov word [rbp - 0x1f], 0x3561
mov byte [rbp - 0x1d], 0x54
cvtps2pd xmm5, xmm5
movdqu xmmword [rbp - 0x2f], xmm1
mov eax, 0xa0a0a0a1
mul ebx
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x33
mov al, bl
inc ebx
sub al, cl
add al, 0x32
xor byte [r8], al
inc r8
cmp ebx, 0x23
jl 0x1800a8866
movq r9, xmm3
movsd qword [rsp + 0x20], xmm4
movq r8, xmm2
lea rcx, [rbp - 0x3f]
movaps xmm1, xmm5
movq rdx, xmm5
call fcn.1800add10
jmp 0x1800a8a24
test esi, esi
je 0x1800a8960
movdqa xmm0, xmmword [0x18000cba0]
lea r10, [rbp - 0x3f]
movss xmm2, dword [rdi + 8]
movss xmm3, dword [rdi + 4]
movss xmm4, dword [rdi]
movdqa xmm1, xmmword [0x18000cb90]
movdqu xmmword [rbp - 0x3f], xmm0
mov dword [rbp - 0xf], 0x1b02504c
movdqa xmm0, xmmword [0x18000cb40]
movdqu xmmword [rbp - 0x1f], xmm0
mov byte [rbp - 0xb], 0x33
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
cvtps2pd xmm4, xmm4
movdqu xmmword [rbp - 0x2f], xmm1
mov eax, 0xa0a0a0a1
mul ebx
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x33
mov al, bl
inc ebx
sub al, cl
add al, 0x32
xor byte [r10], al
inc r10
cmp ebx, 0x35
jl 0x1800a8904
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.1800add10
jmp 0x1800a8a24
movdqa xmm0, xmmword [0x18000cb80]
lea r8, [rbp - 0x3f]
movdqa xmm1, xmmword [0x18000cb60]
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], 0x4016
movdqa xmm0, xmmword [0x18000cb30]
movdqu xmmword [rbp - 0x2f], xmm1
movdqa xmm1, xmmword [0x18000cb50]
movdqu xmmword [rbp - 0x1f], xmm0
movdqu xmmword [rbp - 0xf], xmm1
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
cvtps2pd xmm4, xmm4
cvtps2pd xmm5, xmm5
mov eax, 0xa0a0a0a1
mul ebx
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x33
mov al, bl
inc ebx
sub al, cl
add al, 0x32
xor byte [r8], al
inc r8
cmp ebx, 0x42
jl 0x1800a89bd
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.1800add10
call fcn.18007e5a8
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