Function at 0x140003a80
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov rdi, qword [r8]
lea rbx, [rcx + 1]
mov r9, qword [r8 + 0x10]
mov r11, rdx
mov rdx, qword [r8 + 8]
sub r11, rcx
mov esi, 2
nop dword [rax]
imul r9, r9
add rdx, rdi
add r9, rdx
add rdx, rdi
mov r8, r9
shl r9, 0x20
shr r8, 0x20
or r8, r9
movzx eax, r8b
xor al, byte [r11 + rbx - 1]
mov byte [rbx - 1], al
imul r8, r8
add r8, rdx
mov r9, r8
shl r8, 0x20
shr r9, 0x20
or r9, r8
lea r8, [rdx + rdi]
movzx eax, r9b
lea rdx, [r8 + rdi]
xor al, byte [r11 + rbx]
imul r9, r9
mov byte [rbx], al
add r9, r8
lea r8, [rdx + rdi]
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
movzx eax, r10b
xor al, byte [r11 + rbx + 1]
imul r10, r10
mov byte [rbx + 1], al
add r10, rdx
lea rdx, [r8 + rdi]
mov r9, r10
shl r10, 0x20
shr r9, 0x20
or r9, r10
movzx eax, r9b
xor al, byte [r11 + rbx + 2]
imul r9, r9
mov byte [rbx + 2], al
add r9, r8
lea r8, [rdx + rdi]
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
movzx eax, r10b
xor al, byte [r11 + rbx + 3]
imul r10, r10
mov byte [rbx + 3], al
add r10, rdx
lea rdx, [r8 + rdi]
mov r9, r10
shl r10, 0x20
shr r9, 0x20
or r9, r10
movzx eax, r9b
xor al, byte [r11 + rbx + 4]
imul r9, r9
mov byte [rbx + 4], al
add r9, r8
lea r8, [rdx + rdi]
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
movzx eax, r10b
xor al, byte [r11 + rbx + 5]
imul r10, r10
mov byte [rbx + 5], al
add r10, rdx
mov r9, r10
shl r10, 0x20
shr r9, 0x20
or r9, r10
movzx eax, r9b
xor al, byte [r11 + rbx + 6]
mov byte [rbx + 6], al
imul r9, r9
lea rdx, [r8 + rdi]
add r9, r8
lea r8, [rdx + rdi]
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
movzx eax, r10b
xor al, byte [r11 + rbx + 7]
imul r10, r10
mov byte [rbx + 7], al
add r10, rdx
lea rdx, [r8 + rdi]
mov r9, r10
shl r10, 0x20
shr r9, 0x20
or r9, r10
movzx eax, r9b
xor al, byte [r11 + rbx + 8]
imul r9, r9
mov byte [rbx + 8], al
add r9, r8
lea r8, [rdx + rdi]
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
movzx eax, r10b
xor al, byte [r11 + rbx + 9]
imul r10, r10
mov byte [rbx + 9], al
add r10, rdx
lea rdx, [r8 + rdi]
mov r9, r10
shl r10, 0x20
shr r9, 0x20
or r9, r10
movzx eax, r9b
xor al, byte [r11 + rbx + 0xa]
imul r9, r9
mov byte [rbx + 0xa], al
add r9, r8
lea r8, [rdi + rdx]
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
movzx eax, r10b
xor al, byte [r11 + rbx + 0xb]
imul r10, r10
mov byte [rbx + 0xb], al
add r10, rdx
lea rdx, [rdi + r8]
mov r9, r10
shl r10, 0x20
shr r9, 0x20
or r9, r10
movzx eax, r9b
xor al, byte [r11 + rbx + 0xc]
imul r9, r9
mov byte [rbx + 0xc], al
add r9, r8
lea r8, [rdi + rdx]
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
movzx eax, r10b
xor al, byte [r11 + rbx + 0xd]
imul r10, r10
mov byte [rbx + 0xd], al
add r10, rdx
mov r9, r10
shl r10, 0x20
shr r9, 0x20
or r9, r10
movzx eax, r9b
xor al, byte [r11 + rbx + 0xe]
mov byte [rbx + 0xe], al
imul r9, r9
add r9, r8
lea rdx, [rdi + r8]
mov r10, r9
lea rbx, [rbx + 0x13]
shr r10, 0x20
shl r9, 0x20
or r10, r9
movzx eax, r10b
xor al, byte [r11 + rbx - 4]
mov byte [rbx - 4], al
imul r10, r10
add r10, rdx
add rdx, rdi
mov r8, r10
shl r10, 0x20
shr r8, 0x20
or r8, r10
movzx eax, r8b
xor al, byte [r11 + rbx - 3]
imul r8, r8
mov byte [rbx - 3], al
add r8, rdx
mov r9, r8
shl r8, 0x20
shr r9, 0x20
or r9, r8
movzx eax, r9b
xor al, byte [r11 + rbx - 2]
mov byte [rbx - 2], al
sub rsi, 1
jne 0x140003ab0
mov rbx, qword [rsp + 8]
mov rax, rcx
mov rdi, qword [rsp + 0x18]
mov byte [rcx + 0x26], sil
mov rsi, qword [rsp + 0x10]
ret