Function at 0x180002b30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r15, r8
mov r14, rdx
mov rsi, rcx
xor ebp, ebp
mov dword [rsp + 0x20], ebp
mov rdx, r9
mov rcx, r14
call qword [0x18000b308]
mov r12d, 1
mov dword [rsp + 0x20], r12d
mov qword [rsi + 0x38], r14
mov r8, r15
xor edx, edx
mov rcx, rsi
call fcn.1800029e0
movzx r13d, r12b
cmp dword [rsi + 0x28], r12d
jle 0x180002d2f
mov rcx, rsi
call fcn.1800042f0
mov rcx, qword [rsi + 0x38]
call qword [0x18000b370]
mov r8, rax
movzx edx, byte [rax + 1]
movzx ecx, byte [rax + 5]
mov byte [rax + 1], cl
movzx ecx, byte [rax + 9]
mov byte [rax + 5], cl
movzx ecx, byte [rax + 0xd]
mov byte [rax + 9], cl
mov byte [rax + 0xd], dl
movzx ecx, byte [rax + 2]
movzx eax, byte [rax + 0xa]
mov byte [r8 + 2], al
mov byte [r8 + 0xa], cl
movzx ecx, byte [r8 + 6]
movzx eax, byte [r8 + 0xe]
mov byte [r8 + 6], al
mov byte [r8 + 0xe], cl
movzx ecx, byte [r8 + 3]
movzx eax, byte [r8 + 0xf]
mov byte [r8 + 3], al
movzx eax, byte [r8 + 0xb]
mov byte [r8 + 0xf], al
movzx eax, byte [r8 + 7]
mov byte [r8 + 0xb], al
mov byte [r8 + 7], cl
mov rcx, qword [rsi + 0x38]
call qword [0x18000b370]
lea r14, [rax + 1]
mov r15d, 4
nop
movzx edi, byte [r14 - 1]
movzx ebx, byte [r14 + 2]
movzx r10d, byte [r14 + 1]
movzx r9d, bl
xor r9b, r10b
movzx r8d, byte [r14]
movzx r11d, r8b
xor r11b, r9b
xor r11b, dil
movzx edx, r8b
xor dl, dil
movzx eax, dl
shr al, 7
movzx eax, al
imul ecx, eax, 0x1b
add dl, dl
xor cl, dl
xor cl, dil
xor cl, r11b
mov byte [r14 - 1], cl
movzx edx, r8b
xor dl, r10b
movzx eax, dl
shr al, 7
movzx eax, al
imul ecx, eax, 0x1b
add dl, dl
xor cl, dl
xor cl, r8b
xor cl, r11b
mov byte [r14], cl
movzx eax, r9b
shr al, 7
movzx eax, al
imul ecx, eax, 0x1b
add r9b, r9b
xor cl, r9b
xor cl, r11b
xor cl, r10b
mov byte [r14 + 1], cl
xor dil, bl
movzx eax, dil
shr al, 7
movzx eax, al
imul ecx, eax, 0x1b
add dil, dil
xor cl, dil
xor cl, bl
xor cl, r11b
mov byte [r14 + 2], cl
lea r14, [r14 + 4]
sub r15, 1
jne 0x180002c20
mov rcx, qword [rsi + 0x38]
call qword [0x18000b370]
mov rdi, rax
mov ebx, ebp
lea r14d, [r12*4]
mov r15, qword [rsp + 0x80]
nop
mov edx, ebx
shr edx, 2
add edx, r14d
imul edx, dword [rsi + 0x10]
mov ecx, ebx
and ecx, 3
add edx, ecx
mov rcx, r15
call qword [0x18000b320]
xor byte [rdi], al
inc ebx
lea rdi, [rdi + 1]
cmp ebx, 0x10
jl 0x180002cf0
inc r13b
movzx r12d, r13b
cmp r12d, dword [rsi + 0x28]
jl 0x180002b93
mov r14, qword [rsp + 0x78]
mov rcx, rsi
call fcn.1800042f0
mov rcx, qword [rsi + 0x38]
call qword [0x18000b370]
mov r8, rax
movzx edx, byte [rax + 1]
movzx ecx, byte [rax + 5]
mov byte [rax + 1], cl
movzx ecx, byte [rax + 9]
mov byte [rax + 5], cl
movzx ecx, byte [rax + 0xd]
mov byte [rax + 9], cl
mov byte [rax + 0xd], dl
movzx ecx, byte [rax + 2]
movzx eax, byte [rax + 0xa]
mov byte [r8 + 2], al
mov byte [r8 + 0xa], cl
movzx ecx, byte [r8 + 6]
movzx eax, byte [r8 + 0xe]
mov byte [r8 + 6], al
mov byte [r8 + 0xe], cl
movzx ecx, byte [r8 + 3]
movzx eax, byte [r8 + 0xf]
mov byte [r8 + 3], al
movzx eax, byte [r8 + 0xb]
mov byte [r8 + 0xf], al
movzx eax, byte [r8 + 7]
mov byte [r8 + 0xb], al
mov byte [r8 + 7], cl
movzx ebx, byte [rsi + 0x28]
mov rcx, qword [rsi + 0x38]
call qword [0x18000b370]
mov rdi, rax
shl ebx, 2
nop word [rax + rax]
mov edx, ebp
shr edx, 2
add edx, ebx
imul edx, dword [rsi + 0x10]
mov eax, ebp
and eax, 3
add edx, eax
mov rcx, r15
call qword [0x18000b320]
xor byte [rdi], al
inc ebp
lea rdi, [rdi + 1]
cmp ebp, 0x10
jl 0x180002dc0
mov rax, r14
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret