Function at 0x18006a8a0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xb0
mov rbp, qword [0x180147368]
mov rdi, rcx
movaps xmmword [rax - 0x38], xmm6
add rcx, 0x28
movaps xmmword [rax - 0x48], xmm7
xorps xmm2, xmm2
movaps xmmword [rax - 0x58], xmm8
movss xmm0, dword [rbp + 0x1928]
mov r14, qword [rbp + 0x1a80]
movaps xmm8, xmm0
movss xmm7, dword [rbp + 0x15a4]
subss xmm8, dword [0x180004c80]
movaps xmmword [rax - 0x68], xmm9
addss xmm7, xmm7
movss xmm9, dword [r14 + 0xd4]
movaps xmmword [rax - 0x78], xmm10
movss xmm10, dword [r14 + 0xd0]
movaps xmm6, xmm8
movaps xmmword [rsp + 0x50], xmm11
addss xmm7, xmm0
movaps xmmword [rsp + 0x40], xmm12
movups xmm0, xmmword [rcx]
addss xmm6, xmm8
comiss xmm10, xmm0
movups xmmword [rsp + 0x20], xmm0
jb 0x18006a976
comiss xmm9, dword [rsp + 0x24]
jb 0x18006a976
movss xmm0, dword [rsp + 0x28]
movaps xmm1, xmm10
addss xmm1, xmm6
comiss xmm0, xmm1
jb 0x18006a976
movss xmm0, dword [rsp + 0x2c]
movaps xmm1, xmm9
addss xmm1, xmm2
comiss xmm0, xmm1
jb 0x18006a976
xor r15b, r15b
jmp 0x18006a9b2
movss xmm0, dword [rbp + 0x15b8]
lea rdx, [rsp + 0xe0]
movss xmm1, dword [rdi + 0x34]
mov r15b, 1
addss xmm0, dword [rdi + 0x30]
addss xmm1, xmm2
movzx r8d, r15b
movss dword [rsp + 0xe0], xmm0
movss dword [rsp + 0xe4], xmm1
call fcn.18004f580
movups xmm0, xmmword [rbp + 0x161c]
lea rdx, [rsp + 0x20]
xor ecx, ecx
xor ebx, ebx
movups xmmword [rsp + 0x20], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [0x180004c48]
movss dword [rsp + 0x2c], xmm0
call fcn.18004faa0
xorps xmm0, xmm0
lea rdx, [rsp + 0x30]
lea ecx, [rbx + 0x15]
movups xmmword [rsp + 0x30], xmm0
call fcn.18004faa0
cmp byte [0x18000623f], bl
movabs r12, 0x29e4129e4129e413
movss xmm11, dword [rbp + 0x94]
movss xmm12, dword [rbp + 0x98]
mov eax, dword [0x18000623c]
mov dword [rbp + 0x94], 0x3e800000
mov dword [rbp + 0x98], 0x3e4ccccd
movss xmm1, dword [rdi + 0x30]
movss xmm0, dword [rdi + 0x2c]
subss xmm1, xmm6
movss dword [r14 + 0xd4], xmm0
movss dword [rsp + 0xe8], xmm8
movss dword [rsp + 0xec], xmm7
mov dword [rsp + 0xe0], eax
movss dword [r14 + 0xd0], xmm1
je 0x18006aaa5
mov r8d, ebx
nop
mov rax, r12
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [rsp + r8 + 0xe0], al
inc r8
cmp r8, 4
jb 0x18006aa70
mov r8, qword [rsp + 0xe8]
lea rcx, [rsp + 0xe0]
mov r9d, 3
xor edx, edx
call fcn.18005baa0
movss xmm1, dword [rdi + 0x30]
test al, al
movss xmm0, dword [rdi + 0x2c]
subss xmm1, xmm6
mov eax, dword [0x180006240]
mov esi, ebx
mov ecx, 0xffffffff
movss dword [r14 + 0xd4], xmm0
cmovne esi, ecx
movss dword [rsp + 0xe8], xmm8
cmp byte [0x180006243], bl
addss xmm1, xmm8
movss dword [rsp + 0xec], xmm7
mov dword [rsp + 0xe0], eax
movss dword [r14 + 0xd0], xmm1
je 0x18006ab55
mov r8, rbx
nop
mov rax, r12
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [rsp + r8 + 0xe0], al
inc r8
cmp r8, 4
jb 0x18006ab20
mov r8, qword [rsp + 0xe8]
lea rcx, [rsp + 0xe0]
mov r12d, 1
mov r9d, 3
mov edx, r12d
call fcn.18005baa0
test al, al
lea ecx, [r12 + 1]
cmovne esi, r12d
call fcn.18004f2d0
movss dword [rbp + 0x98], xmm12
movss dword [rbp + 0x94], xmm11
test r15b, r15b
je 0x18006aba5
call fcn.18004f100
test esi, esi
je 0x18006abf5
mov r8d, dword [rdi + 0x14]
test r8d, r8d
je 0x18006abf5
mov edx, dword [rdi]
mov ecx, ebx
test edx, edx
jle 0x18006abf5
mov r9, qword [rdi + 8]
mov rax, r9
cmp dword [rax], r8d
je 0x18006abd2
inc ecx
add rax, 0x20
cmp ecx, edx
jl 0x18006abc1
jmp 0x18006abf5
movsxd rax, ecx
shl rax, 5
add rax, r9
je 0x18006abf5
lea eax, [rcx + rsi]
test eax, eax
js 0x18006abe9
cmp eax, edx
jl 0x18006abeb
mov eax, ecx
movsxd rbx, eax
shl rbx, 5
add rbx, r9
addss xmm6, dword [0x180004c54]
lea r11, [rsp + 0xb0]
movss dword [r14 + 0xd0], xmm10
mov rbp, qword [r11 + 0x48]
mov rax, rbx
mov rbx, qword [r11 + 0x40]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movss dword [r14 + 0xd4], xmm9
movss xmm0, dword [rdi + 0x30]
movaps xmm9, xmmword [r11 - 0x40]
subss xmm0, xmm6
movaps xmm6, xmmword [r11 - 0x10]
movss dword [rdi + 0x30], xmm0
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret