Function at 0x180006b54
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd8
movaps xmmword [rax - 0x48], xmm6
xor esi, esi
movaps xmmword [rax - 0x58], xmm7
mov rbx, rdx
mov eax, dword [0x18000905c]
mov rdi, rcx
cmp dword [0x180009060], eax
movss xmm7, dword [0x1800080b8]
jne 0x180006bfd
movaps xmm0, xmmword [0x1800081a0]
lea r9, [rbp - 0x39]
movss xmm3, dword [0x180009058]
movss xmm2, dword [0x1800080f0]
movss xmm1, dword [0x180008114]
movdqa xmmword [rbp - 0x39], xmm0
movss xmm0, dword [0x1800080d0]
unpcklps xmm0, xmm3
movq rcx, xmm0
movss dword [rsp + 0x20], xmm7
call fcn.180004ac8
cmp byte [0x180009098], sil
je 0x180006be8
cmp dword [0x18000909c], 1
jne 0x180006be8
mov byte [rbx], sil
cmp byte [0x180009090], sil
je 0x180006bfd
cmp dword [0x180009094], 1
jne 0x180006bfd
mov byte [rbx], 1
movss xmm1, dword [0x180009058]
xorps xmm6, xmm6
addss xmm1, dword [0x1800080e4]
and dword [rbp + 0x67], esi
mov ecx, esi
and dword [rbp + 0x6b], esi
movaps xmm2, xmmword [0x180008160]
movaps xmm3, xmm2
movss xmm0, dword [0x1800080f8]
movaps xmm4, xmmword [0x180008150]
movss dword [rbp + 0x7b], xmm1
movss dword [rbp + 0x77], xmm0
mov dword [rbp + 0x6f], 0x3f666666
mov dword [rbp + 0x73], 0x3f666666
cmp word [rdi], si
je 0x180006c5e
mov rax, rdi
inc ecx
lea rax, [rax + 2]
cmp word [rax], si
jne 0x180006c51
inc ecx
mov r9, qword [rbp + 0x77]
lea r8, [rbp - 0x39]
mov rdx, qword [0x180009040]
test ecx, ecx
mov dword [rbp - 0x31], ecx
mov rax, rsi
cmovne rax, rdi
mov dword [rbp - 0x2d], ecx
mov rcx, qword [0x180009078]
mov qword [rbp - 0x39], rax
lea rax, [rbp - 0x29]
movaps xmm0, xmmword [rbp - 0x39]
mov qword [rsp + 0x60], rax
lea rax, [rbp - 0x19]
mov byte [rsp + 0x58], sil
mov byte [rsp + 0x50], 1
mov byte [rsp + 0x48], sil
movdqa xmmword [rbp - 0x39], xmm0
movsd xmm0, qword [rbp + 0x67]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [rbp + 0x6f]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 9]
movss dword [rsp + 0x30], xmm6
mov qword [rsp + 0x28], rax
movsd qword [rsp + 0x20], xmm0
movdqa xmmword [rbp - 0x29], xmm2
movdqa xmmword [rbp - 0x19], xmm3
movdqa xmmword [rbp - 9], xmm4
call fcn.180002cd8
cmp byte [rbx], sil
mov edx, esi
mov ebx, 0x4894
mov dword [rbp + 0x6f], 0x3f666666
mov dword [rbp + 0x73], 0x3f666666
je 0x180006e2a
xor eax, eax
mov dword [rbp + 0x67], 0xb703b723
mov word [rbp + 0x6b], ax
movsxd rcx, edx
movzx eax, dx
sub ax, bx
inc edx
xor word [rbp + rcx*2 + 0x67], ax
cmp edx, 2
jb 0x180006d15
mov ecx, esi
mov word [rbp + 0x6b], si
cmp word [rbp + 0x67], si
je 0x180006d47
lea rax, [rbp + 0x67]
inc ecx
lea rax, [rax + 2]
cmp word [rax], si
jne 0x180006d3a
inc ecx
movsd xmm1, qword [rbp + 0x6f]
lea rax, [rbp + 0x67]
mov r8, qword [0x180009040]
lea r9, [rbp - 9]
test ecx, ecx
mov dword [rbp - 0x31], ecx
mov dword [rbp - 0x2d], ecx
lea rdx, [rbp + 0x7f]
mov rcx, qword [0x180009078]
cmove rax, rsi
mov qword [rbp - 0x39], rax
movaps xmm0, xmmword [rbp - 0x39]
movdqa xmmword [rbp - 9], xmm0
movsd qword [rsp + 0x20], xmm1
call fcn.180002fd0
movss xmm1, dword [0x180008110]
mov edx, esi
movss xmm0, dword [0x180009058]
addss xmm0, dword [0x1800080e4]
subss xmm1, dword [rax]
and dword [rbp + 0x6f], esi
and dword [rbp + 0x73], esi
movaps xmm2, xmmword [0x180008160]
xor eax, eax
movaps xmm4, xmmword [0x180008180]
addss xmm0, xmm6
addss xmm1, xmm6
mov dword [rbp + 0x77], 0x3f666666
movaps xmm3, xmm2
mov dword [rbp + 0x7b], 0x3f666666
mov dword [rbp + 0x67], 0xb703b723
mov word [rbp + 0x6b], ax
movss dword [rbp + 0x83], xmm0
movss dword [rbp + 0x7f], xmm1
movsxd rcx, edx
movzx eax, dx
sub ax, bx
inc edx
xor word [rbp + rcx*2 + 0x67], ax
cmp edx, 2
jb 0x180006def
mov ecx, esi
mov word [rbp + 0x6b], si
cmp word [rbp + 0x67], si
je 0x180006e21
lea rax, [rbp + 0x67]
inc ecx
lea rax, [rax + 2]
cmp word [rax], si
jne 0x180006e14
inc ecx
lea rax, [rbp + 0x67]
jmp 0x180006f49
mov dword [rbp + 0x67], 0xb70bb723
mov dword [rbp + 0x6b], 0xb708
movsxd rcx, edx
movzx eax, dx
sub ax, bx
inc edx
xor word [rbp + rcx*2 + 0x67], ax
cmp edx, 3
jb 0x180006e38
mov ecx, esi
mov word [rbp + 0x6d], si
cmp word [rbp + 0x67], si
je 0x180006e6a
lea rax, [rbp + 0x67]
inc ecx
lea rax, [rax + 2]
cmp word [rax], si
jne 0x180006e5d
inc ecx
movsd xmm1, qword [rbp + 0x6f]
lea rax, [rbp + 0x67]
mov r8, qword [0x180009040]
lea r9, [rbp - 9]
test ecx, ecx
mov dword [rbp - 0x31], ecx
mov dword [rbp - 0x2d], ecx
lea rdx, [rbp + 0x7f]
mov rcx, qword [0x180009078]
cmove rax, rsi
mov qword [rbp - 0x39], rax
movaps xmm0, xmmword [rbp - 0x39]
movdqa xmmword [rbp - 9], xmm0
movsd qword [rsp + 0x20], xmm1
call fcn.180002fd0
movss xmm1, dword [0x180008110]
mov edx, esi
movss xmm0, dword [0x180009058]
addss xmm0, dword [0x1800080e4]
subss xmm1, dword [rax]
movaps xmm2, xmmword [0x180008160]
and dword [rbp + 0x6f], esi
movaps xmm3, xmm2
and dword [rbp + 0x73], esi
movaps xmm4, xmmword [0x180008170]
addss xmm0, xmm6
addss xmm1, xmm6
mov dword [rbp + 0x77], 0x3f666666
mov dword [rbp + 0x7b], 0x3f666666
mov dword [rbp + 0x67], 0xb70bb723
mov dword [rbp + 0x6b], 0xb708
movss dword [rbp + 0x83], xmm0
movss dword [rbp + 0x7f], xmm1
movsxd rcx, edx
movzx eax, dx
sub ax, bx
inc edx
xor word [rbp + rcx*2 + 0x67], ax
cmp edx, 3
jb 0x180006f13
mov ecx, esi
mov word [rbp + 0x6d], si
cmp word [rbp + 0x67], si
je 0x180006f45
lea rax, [rbp + 0x67]
inc ecx
lea rax, [rax + 2]
cmp word [rax], si
jne 0x180006f38
inc ecx
lea rax, [rbp + 0x67]
mov r9, qword [rbp + 0x7f]
lea r8, [rbp - 0x39]
mov rdx, qword [0x180009040]
test ecx, ecx
mov dword [rbp - 0x31], ecx
cmove rax, rsi
mov dword [rbp - 0x2d], ecx
mov rcx, qword [0x180009078]
mov qword [rbp - 0x39], rax
lea rax, [rbp - 9]
movaps xmm0, xmmword [rbp - 0x39]
mov qword [rsp + 0x60], rax
lea rax, [rbp - 0x19]
mov byte [rsp + 0x58], sil
mov byte [rsp + 0x50], 1
mov byte [rsp + 0x48], sil
movdqa xmmword [rbp - 0x39], xmm0
movsd xmm0, qword [rbp + 0x6f]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [rbp + 0x77]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x29]
movss dword [rsp + 0x30], xmm6
mov qword [rsp + 0x28], rax
movsd qword [rsp + 0x20], xmm0
movdqa xmmword [rbp - 9], xmm2
movdqa xmmword [rbp - 0x19], xmm3
movdqa xmmword [rbp - 0x29], xmm4
call fcn.180002cd8
movaps xmm0, xmmword [0x1800081b0]
lea r9, [rbp - 9]
movss xmm3, dword [0x180009058]
movss xmm2, dword [0x1800080f0]
movss xmm1, dword [0x1800080d0]
movdqa xmmword [rbp - 9], xmm0
movaps xmm0, xmm6
unpcklps xmm0, xmm3
movq rcx, xmm0
movss dword [rsp + 0x20], xmm7
call fcn.180004ac8
movss xmm0, dword [0x180009058]
lea r11, [rsp + 0xd8]
addss xmm0, dword [0x1800080f0]
inc dword [0x180009060]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movss dword [0x180009058], xmm0
mov rsp, r11
pop r15
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret