Function at 0x180089180
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rdi, rdx
mov rcx, r8
lea rdx, [rbp - 0x20]
mov rsi, r8
xor r15d, r15d
call fcn.180087c90
mov r8, rax
lea rdx, [rbp - 0x38]
lea rcx, [0x180a4f1b0]
mov rbx, rax
call fcn.1800898e0
mov r14, qword [rbp - 0x28]
cmp byte [r14 + 0x19], r15b
jne 0x180089262
lea r8, [r14 + 0x20]
mov rdx, rbx
call fcn.180010420
test al, al
jne 0x180089262
mov rbx, qword [0x180a4f1b0]
lea rcx, [rbp - 0x20]
call fcn.18000fac0
cmp r14, rbx
je 0x18008926b
mov dword [rbp - 0x38], 0xfefef9d8
mov ecx, r15d
mov dword [rbp - 0x34], 0xf7f5feea
mov word [rbp - 0x30], 0xf7
mov byte [rbp - 0x2e], 1
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x75]
xor byte [rbp + rcx - 0x38], al
inc rcx
cmp rcx, 9
jb 0x180089220
xorps xmm0, xmm0
mov byte [rbp - 0x2e], r15b
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r15
lea rax, [rbp - 0x38]
mov qword [rdi + 0x18], r15
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], r15b
jne 0x180089250
lea rdx, [rbp - 0x38]
jmp 0x18008948d
lea rcx, [rbp - 0x20]
call fcn.18000fac0
mov rcx, rsi
call fcn.180087e50
cmp eax, 2
jne 0x1800892d2
mov dword [rbp - 0x38], 0xfcecf8d8
mov rcx, r15
mov dword [rbp - 0x34], 0xf5fff9fb
mov word [rbp - 0x30], 0x100
nop
lea eax, [rcx - 0x75]
xor byte [rbp + rcx - 0x38], al
inc rcx
cmp rcx, 8
jb 0x180089290
xorps xmm0, xmm0
mov byte [rbp - 0x2f], r15b
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r15
lea rax, [rbp - 0x38]
mov qword [rdi + 0x18], r15
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], r15b
jne 0x1800892c0
lea rdx, [rbp - 0x38]
jmp 0x18008948d
mov rcx, rsi
call fcn.180087e50
cmp eax, 3
jne 0x180089342
mov dword [rbp - 0x38], 0xfcecf8d8
mov rcx, r15
mov dword [rbp - 0x34], 0xf5f5fb
mov byte [rbp - 0x30], 1
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x75]
xor byte [rbp + rcx - 0x38], al
inc rcx
cmp rcx, 7
jb 0x180089300
xorps xmm0, xmm0
mov byte [rbp - 0x30], r15b
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r15
lea rax, [rbp - 0x38]
mov qword [rdi + 0x18], r15
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], r15b
jne 0x180089330
lea rdx, [rbp - 0x38]
jmp 0x18008948d
mov rcx, rsi
call fcn.180087e50
cmp eax, 1
jne 0x1800893b2
mov dword [rbp - 0x38], 0xfee2f8d8
mov rcx, r15
mov dword [rbp - 0x34], 0xf5f5ff
mov byte [rbp - 0x30], al
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x75]
xor byte [rbp + rcx - 0x38], al
inc rcx
cmp rcx, 7
jb 0x180089370
xorps xmm0, xmm0
mov byte [rbp - 0x30], r15b
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r15
lea rax, [rbp - 0x38]
mov qword [rdi + 0x18], r15
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], r15b
jne 0x1800893a0
lea rdx, [rbp - 0x38]
jmp 0x18008948d
mov rcx, rsi
call fcn.180087e50
cmp eax, 4
jne 0x18008941f
mov dword [rbp - 0x38], 0xfee2f8d8
mov rcx, r15
mov dword [rbp - 0x34], 0xf5fff9ff
mov word [rbp - 0x30], 0x100
nop word [rax + rax]
lea eax, [rcx - 0x75]
xor byte [rbp + rcx - 0x38], al
inc rcx
cmp rcx, 8
jb 0x1800893e0
xorps xmm0, xmm0
mov byte [rbp - 0x2f], r15b
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r15
lea rax, [rbp - 0x38]
mov qword [rdi + 0x18], r15
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], r15b
jne 0x180089410
lea rdx, [rbp - 0x38]
jmp 0x18008948d
mov rcx, rsi
call fcn.180087e50
test eax, eax
jne 0x180089498
mov dword [rbp - 0x38], 0xe0e4e2de
mov rcx, r15
mov dword [rbp - 0x34], 0xf3f8e4e6
mov dword [rbp - 0x30], 0xf3effdff
mov word [rbp - 0x2c], 0xf3
mov byte [rbp - 0x2a], 1
nop dword [rax]
lea eax, [rcx - 0x75]
xor byte [rbp + rcx - 0x38], al
inc rcx
cmp rcx, 0xd
jb 0x180089450
xorps xmm0, xmm0
mov byte [rbp - 0x2a], r15b
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r15
lea rax, [rbp - 0x38]
mov qword [rdi + 0x18], r15
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], r15b
jne 0x180089480
lea rdx, [rbp - 0x38]
mov rcx, rdi
call fcn.18000fe70
mov rax, rdi
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret