Function at 0x1400bc880
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
mov r13, r8
mov r12, rdx
mov r15, rcx
mov rax, qword [rcx + 8]
cmp dword [rax + 4], 0
jne 0x1400bc901
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x28]
call qword [0x1400ce960]
mov rcx, rax
lea rdx, [rbp + 0x48]
call qword [0x1400ce270]
nop
lea rdx, str.No_key_set.
mov rcx, rax
call qword [0x1400ce8e8]
nop
lea rcx, [rbp + 0x48]
call qword [0x1400ce8f0]
mov dword [r15 + 0x18], 1
mov rcx, r12
call qword [0x1400ce8a8]
jmp 0x1400bcbef
mov rdx, r13
lea rcx, [rbp + 0x60]
call qword [0x1400ce3a0]
nop
xor ebx, ebx
mov eax, dword [r15 + 0x10]
cmp eax, 1
jne 0x1400bc960
mov rax, qword [rbp + 0x60]
mov ebx, dword [rax + 4]
lea rcx, [rbp + 0x60]
call qword [0x1400ce510]
mov rdx, rax
mov r9d, 9
mov r8d, ebx
lea rcx, [rbp + 0x48]
call qword [0x1400ce1f0]
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x60]
call qword [0x1400ce4d8]
lea rcx, [rbp + 0x48]
call qword [0x1400ce9b0]
mov ebx, 1
jmp 0x1400bc9b8
test eax, eax
jne 0x1400bc9b8
mov rax, qword [rbp + 0x60]
mov edi, dword [rax + 4]
lea rcx, [rbp + 0x60]
call qword [0x1400ce510]
mov rdx, rax
mov r9d, 9
mov r8d, edi
lea rcx, [rbp + 0x48]
call qword [0x1400ce1f0]
mov rax, qword [rbp + 0x48]
mov ecx, dword [rax + 4]
mov rax, qword [rbp + 0x60]
cmp ecx, dword [rax + 4]
jge 0x1400bc9ae
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x60]
call qword [0x1400ce250]
mov ebx, 1
lea rcx, [rbp + 0x48]
call qword [0x1400ce9b0]
lea rcx, [rbp - 0x40]
call qword [0x1400ce8a8]
nop
mov eax, dword [r15 + 0x14]
cmp eax, 1
jne 0x1400bca18
or ebx, 2
lea r8d, [rax + 1]
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x28]
call qword [0x1400ce1b8]
nop
mov rax, qword [rbp + 0x60]
mov edi, dword [rax + 4]
lea rcx, [rbp + 0x60]
call qword [0x1400ce510]
mov rcx, rax
mov edx, edi
call qword [0x1400ce258]
movzx edx, ax
lea rcx, [rbp - 0x28]
call qword [0x1400ce1a0]
nop
lea rcx, [rbp - 0x28]
call qword [0x1400ce1b0]
jmp 0x1400bca6d
cmp eax, 2
jne 0x1400bca6d
or ebx, 4
mov edx, eax
lea rcx, [rbp + 0x48]
call qword [0x1400ce1d8]
nop
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x48]
call qword [0x1400ce1c8]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x48]
call qword [0x1400ce1c0]
nop
mov rdx, rax
lea rcx, [rbp - 0x40]
call qword [0x1400ce390]
nop
lea rcx, [rbp - 0x30]
call qword [0x1400ce9b0]
nop
lea rcx, [rbp + 0x48]
call qword [0x1400ce1d0]
call qword [0x1400ce278]
mov byte [rbp + 0x48], al
mov r8d, 1
lea rdx, [rbp + 0x48]
lea rcx, [rbp - 0x28]
call qword [0x1400ce4e8]
nop
lea rdx, [rbp - 0x40]
mov rcx, rax
call qword [0x1400ce390]
mov rdx, rax
lea rcx, [rbp - 0x30]
call qword [0x1400ce3a0]
nop
lea rcx, [rbp - 0x28]
call qword [0x1400ce9b0]
nop
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x48]
call qword [0x1400ce3a0]
nop
lea rdx, [rbp + 0x60]
mov rcx, rax
call qword [0x1400ce390]
mov rdx, rax
lea rcx, [rbp - 0x38]
call qword [0x1400ce3a0]
nop
lea rcx, [rbp + 0x48]
call qword [0x1400ce9b0]
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x60]
call qword [0x1400ce250]
lea rcx, [rbp - 0x38]
call qword [0x1400ce9b0]
nop
lea rcx, [rbp - 0x30]
call qword [0x1400ce9b0]
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 4]
xor r14d, r14d
test eax, eax
jle 0x1400bcb86
xor r13b, r13b
mov r12d, eax
nop dword [rax]
mov rax, qword [r15 + 8]
mov esi, r14d
and esi, 7
add rsi, qword [rax + 0x10]
add rsi, rax
mov edx, r14d
lea rcx, [rbp + 0x60]
call qword [0x1400ce240]
movzx edi, al
xor dil, byte [rsi]
xor dil, r13b
mov r8d, r14d
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x60]
call qword [0x1400ce238]
mov rcx, rax
movzx edx, dil
call qword [0x1400ce1f8]
mov edx, r14d
lea rcx, [rbp + 0x60]
call qword [0x1400ce240]
movzx r13d, al
inc r14d
cmp r14d, r12d
jl 0x1400bcb20
mov r12, qword [rbp + 0x50]
mov r13, qword [rbp + 0x58]
lea rcx, [rbp - 0x48]
call qword [0x1400ce8a8]
nop
mov dl, 3
lea rcx, [rbp - 0x48]
call qword [0x1400ce220]
movzx edx, bl
lea rcx, [rbp - 0x48]
call qword [0x1400ce220]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x48]
call qword [0x1400ce390]
mov dword [r15 + 0x18], 0
lea rdx, [rbp - 0x48]
mov rcx, r12
call qword [0x1400ce248]
nop
lea rcx, [rbp - 0x48]
call qword [0x1400ce9b0]
nop
lea rcx, [rbp - 0x40]
call qword [0x1400ce9b0]
nop
lea rcx, [rbp + 0x60]
call qword [0x1400ce9b0]
nop
mov rcx, r13
call qword [0x1400ce9b0]
mov rax, r12
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret