Function at 0x18001cfb0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [r11 - 0xf8]
sub rsp, 0x1c0
movaps xmmword [r11 - 0x58], xmm6
movaps xmmword [r11 - 0x68], xmm7
movaps xmmword [r11 - 0x78], xmm8
movaps xmmword [r11 - 0x88], xmm9
movaps xmmword [r11 - 0x98], xmm10
movaps xmmword [r11 - 0xa8], xmm11
movaps xmmword [r11 - 0xb8], xmm12
movaps xmmword [r11 - 0xd8], xmm14
mov rax, qword [0x1800a5010]
xor rax, rsp
mov qword [rbp + 0x10], rax
movsd xmm8, qword [rcx + 0x110]
mov rbx, rcx
addsd xmm8, qword [rcx + 0x158]
movsd xmm6, qword [rcx + 0x160]
mov r15, r9
addsd xmm6, qword [rcx + 0x118]
movups xmm0, xmmword [rcx + 0x10]
mov rax, qword [rbp + 0x128]
mov ecx, 0x80
cmp byte [r8], 0
movaps xmm7, xmm8
addsd xmm7, qword [0x18009d668]
movaps xmm1, xmmword [0x18009dbf0]
movaps xmm9, xmm6
movsd xmm12, qword [0x18009d6a8]
mov r12, r8
mov r14, qword [rbp + 0x120]
xorps xmm14, xmm14
addsd xmm9, qword [0x18009d668]
movss xmm11, dword [0x18009d650]
movaps xmm10, xmm7
mov qword [rbp - 0x30], rax
addsd xmm10, xmm12
movaps xmmword [rbp - 0x50], xmm0
mov eax, 0xe0
cmove eax, ecx
mov qword [r11 - 0x40], r13
xor edi, edi
movsd qword [rbp - 0x80], xmm8
movsd qword [rbp - 0x78], xmm6
mov r13, rdx
movaps xmmword [rbp - 0x40], xmm1
mov esi, edi
movups xmm0, xmmword [rax + rbx]
movaps xmmword [rbp - 0x60], xmm0
xorps xmm0, xmm0
nop word [rax + rax]
mov rcx, qword [rbx + 0x1b0]
addsd xmm0, xmm9
lea rax, [rbp - 0x60]
movsd qword [rsp + 0x70], xmm10
movaps xmm3, xmm11
movsd qword [rbp - 0x70], xmm7
lea r8, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x70]
movsd qword [rsp + 0x78], xmm0
movsd qword [rbp - 0x68], xmm0
call fcn.18006a3f0
inc esi
movd xmm0, esi
cvtdq2pd xmm0, xmm0
comisd xmm12, xmm0
ja 0x18001d0d0
mov rcx, qword [rbx + 0x1b0]
lea rax, [rbp - 0x50]
movaps xmm3, xmm11
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x80]
call fcn.18006a690
mov rsi, qword [rbp - 0x30]
movaps xmm1, xmm8
addsd xmm1, qword [0x18009d6f8]
movzx eax, byte [0x1800a5a71]
movss xmm9, dword [0x18009d640]
movups xmm0, xmmword [rsi]
movss xmm7, dword [0x18009d63c]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmm6
movsd qword [rbp - 0x70], xmm1
xorps xmm1, xmm1
subsd xmm0, qword [0x18009d688]
movups xmmword [rbp - 0x40], xmm1
movups xmmword [rbp - 0x60], xmm1
movsd qword [rbp - 0x68], xmm0
movups xmm0, xmmword [r13]
mov r13, qword [rsp + 0x1b8]
movdqa xmmword [rbp - 0x10], xmm0
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
test al, al
je 0x18001d1b2
movaps xmm0, xmm7
jmp 0x18001d1b6
movaps xmm0, xmm9
cvtps2pd xmm1, xmm0
test al, al
je 0x18001d1c2
movaps xmm0, xmm7
jmp 0x18001d1c6
movaps xmm0, xmm9
mov rdx, qword [0x1800a7650]
lea rax, [rbp - 0x40]
mov rcx, qword [rbx + 0x1b0]
lea r9, [rbp - 0x70]
mov qword [rsp + 0x60], rax
lea r8, [rbp - 0x10]
mov byte [rsp + 0x50], dil
lea rax, [rbp - 0x50]
mov byte [rsp + 0x48], dil
xorps xmm11, xmm11
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x70]
cvtps2pd xmm0, xmm0
movss dword [rsp + 0x30], xmm11
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
movsd qword [rbp - 0x80], xmm0
movsd qword [rbp - 0x78], xmm1
call fcn.18006abb0
movss xmm1, dword [rbx + 0x130]
movsd xmm10, qword [0x18009d6d8]
cvtps2pd xmm1, xmm1
comisd xmm1, xmm8
jb 0x18001d2a3
movss xmm0, dword [rbx + 0x134]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm6
jb 0x18001d2a3
addsd xmm8, qword [0x18009d780]
comisd xmm8, xmm1
jb 0x18001d2a3
addsd xmm6, xmm10
comisd xmm6, xmm0
jb 0x18001d2a3
mov rcx, qword [rbx + 0x1c0]
lea rdx, [0x1800a7b80]
call fcn.18006f890
test al, al
je 0x18001d2a3
cmp byte [rbx + 0x19b], dil
jne 0x18001d2a3
cmp byte [r12], dil
sete al
mov byte [r12], al
movsd xmm1, qword [rbx + 0x158]
movsd xmm6, qword [0x18009d7b8]
movss xmm3, dword [rbx + 0x130]
addsd xmm1, xmm6
movsd xmm0, qword [rbx + 0x160]
movsd xmm8, qword [0x18009d698]
cvtps2pd xmm3, xmm3
addsd xmm1, qword [rbx + 0x110]
subsd xmm0, xmm8
comisd xmm3, xmm1
addsd xmm0, qword [rbx + 0x118]
jb 0x18001d3e9
movss xmm2, dword [rbx + 0x134]
cvtps2pd xmm2, xmm2
comisd xmm2, xmm0
jb 0x18001d3e9
addsd xmm1, qword [0x18009d7a8]
comisd xmm1, xmm3
jb 0x18001d3e9
addsd xmm0, xmm10
comisd xmm0, xmm2
jb 0x18001d3e9
mov rcx, qword [rbx + 0x1c0]
lea rdx, [0x1800a7b80]
call fcn.18006f600
test al, al
je 0x18001d34f
cmp byte [r14], dil
jne 0x18001d358
mov byte [r14], 1
mov al, 1
jmp 0x18001d73a
cmp byte [r14], dil
je 0x18001d3ec
lea rsi, [0x1800a7dd0]
lea r12, [0x1800a8270]
nop word [rax + rax]
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.18005df10
lea rdx, [rbp - 0x10]
mov qword [rbp - 8], rdi
mov qword [rbp], rdi
mov rcx, qword [rax]
mov qword [rbp - 0x10], rcx
mov rcx, qword [rbx + 0x1c0]
call fcn.18006f600
test al, al
jne 0x18001d3af
add rsi, 0x10
cmp rsi, r12
jne 0x18001d370
mov rsi, qword [rbp - 0x30]
jmp 0x18001d3ec
movups xmm0, xmmword [rbp - 0x10]
movsd xmm1, qword [rbp]
movups xmmword [r15], xmm0
movsd qword [r15 + 0x10], xmm1
mov rcx, qword [r14 + 8]
call fcn.180079a50
mov rdx, r15
mov qword [r14 + 8], rdi
lea rcx, [r14 + 8]
mov qword [r14 + 0x10], rdi
call fcn.180031c00
mov al, 1
mov byte [r14], dil
jmp 0x18001d73a
mov byte [r14], dil
movsd xmm1, qword [rbx + 0x158]
addsd xmm1, xmm6
movsd xmm2, qword [rbx + 0x160]
subsd xmm2, xmm8
addsd xmm1, qword [rbx + 0x110]
addsd xmm2, qword [rbx + 0x118]
addsd xmm1, qword [0x18009d750]
addsd xmm2, qword [0x18009d6b0]
cmp dword [r14 + 0x10], edi
jne 0x18001d649
movups xmm0, xmmword [str.kdQ__XS]
movsd qword [rbp - 0x80], xmm1
movups xmm1, xmmword [0x1800972f8]
movsd qword [rbp - 0x78], xmm2
pextrw eax, xmm1, 7
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm1
test ax, ax
je 0x18001d5ee
cmp dword [0x1800a5018], 2
mov r8d, edi
jl 0x18001d5b6
movdqa xmm5, xmmword [0x18009d8f0]
lea rcx, [rbp - 0x30]
movdqa xmm4, xmmword [0x18009dd00]
mov eax, 4
movdqa xmm8, xmmword [0x18009d930]
mov edx, edi
movaps xmmword [rsp + 0x130], xmm13
movdqa xmm13, xmmword [0x18009d9d0]
movd xmm6, eax
mov eax, 0x1f
movd xmm12, eax
nop dword [rax]
nop word [rax + rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add edx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm12
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm13
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm12
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm13
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp edx, 0x10
jl 0x18001d4c0
movaps xmm13, xmmword [rsp + 0x130]
jmp 0x18001d5ee
lea r9, [rbp - 0x30]
nop word [rax + rax]
mov eax, 0x51eb851f
lea r9, [r9 + 2]
mul r8d
shr edx, 4
movzx eax, dx
imul ecx, eax, 0x32
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x30
xor word [r9 - 2], ax
cmp r8d, 0x10
jl 0x18001d5c0
mov qword [rsp + 0x70], rdi
cmp word [rbp - 0x30], di
je 0x18001d628
lea rax, [rbp - 0x30]
nop dword [rax]
cmp word [rax + 2], 0
lea rax, [rax + 2]
lea edi, [rdi + 1]
jne 0x18001d600
lea eax, [rdi + 1]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
test eax, eax
je 0x18001d62d
lea rax, [rbp - 0x30]
mov qword [rsp + 0x70], rax
jmp 0x18001d62d
mov qword [rsp + 0x78], rdi
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rbp - 0x80]
movaps xmmword [rbp - 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm0
movaps xmmword [rbp - 0x70], xmm1
jmp 0x18001d66e
movups xmm0, xmmword [rsi]
lea rcx, [rbp - 0x30]
mov rdx, r15
movaps xmmword [rbp - 0x60], xmm0
movsd qword [rbp - 0x70], xmm1
movsd qword [rbp - 0x68], xmm2
call fcn.18005d620
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x70], xmm0
movzx eax, byte [0x1800a5a71]
xorps xmm1, xmm1
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm1
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x50], xmm1
test al, al
je 0x18001d690
movaps xmm0, xmm7
jmp 0x18001d694
movaps xmm0, xmm9
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
test al, al
jne 0x18001d6a3
movaps xmm7, xmm9
mov rdx, qword [0x1800a7650]
lea rax, [rbp - 0x10]
mov rcx, qword [rbx + 0x1b0]
lea r9, [rbp - 0x70]
mov qword [rsp + 0x60], rax
lea r8, [rsp + 0x70]
mov byte [rsp + 0x50], 1
lea rax, [rbp - 0x40]
mov byte [rsp + 0x48], 1
xorps xmm0, xmm0
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x60]
cvtss2sd xmm0, xmm7
movss dword [rsp + 0x30], xmm11
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
movsd qword [rbp - 0x80], xmm0
movsd qword [rbp - 0x78], xmm1
call fcn.18006abb0
movsd xmm0, qword [rbx + 0x110]
xor al, al
addsd xmm0, xmm14
movsd qword [rbx + 0x110], xmm0
movsd xmm0, qword [rbx + 0x118]
addsd xmm0, xmm10
movsd qword [rbx + 0x118], xmm0
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.180079a30
lea r11, [rsp + 0x1c0]
movaps xmm6, xmmword [r11 - 0x20]
movaps xmm7, xmmword [r11 - 0x30]
movaps xmm8, xmmword [r11 - 0x40]
movaps xmm9, xmmword [r11 - 0x50]
movaps xmm10, xmmword [r11 - 0x60]
movaps xmm11, xmmword [r11 - 0x70]
movaps xmm12, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret