Function at 0x140047f20
Capabilities:
Encode data using xor

Disassembly:
jmp 0x140047f20
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 qword [rbp - 0x10], 0xfffffffffffffffe
mov r12, r8
mov r15, rdx
mov r14, rcx
mov dword [rbp - 0x48], 0
mov rax, qword [rcx + 8]
cmp dword [rax + 4], 0
jne 0x140047fb7
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x30]
call qword [0x1406a7658]
mov rcx, rax
lea rdx, [rbp + 0x48]
call qword [0x1406a7298]
nop
lea rdx, str.No_key_set.
mov rcx, rax
call qword [0x1406a75f0]
nop
lea rcx, [rbp + 0x48]
call qword [0x1406a75f8]
mov dword [r14 + 0x18], 1
mov rcx, r15
call qword [0x1406a76b8]
mov dword [rbp - 0x48], 1
jmp 0x140048223
mov rdx, r8
lea rcx, [rbp + 0x60]
call qword [0x1406a7438]
nop
xor ebx, ebx
mov eax, dword [r14 + 0x10]
cmp eax, 1
jne 0x140048001
lea r8d, [rbx + 9]
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x48]
call fcn.140006212
nop
mov rdx, rax
lea rcx, [rbp + 0x60]
call qword [0x1406a7430]
nop
lea rcx, [rbp + 0x48]
call qword [0x1406a7918]
mov ebx, 1
jmp 0x140048044
test eax, eax
jne 0x140048044
lea r8d, [rax + 9]
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x48]
call fcn.140006212
nop
mov rax, qword [rbp + 0x48]
mov ecx, dword [rax + 4]
mov rax, qword [rbp + 0x60]
cmp ecx, dword [rax + 4]
jge 0x14004803a
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x60]
call qword [0x1406a7380]
mov ebx, 1
lea rcx, [rbp + 0x48]
call qword [0x1406a7918]
lea rcx, [rbp - 0x38]
call qword [0x1406a76b8]
nop
mov eax, dword [r14 + 0x14]
cmp eax, 1
jne 0x1400480a4
or ebx, 2
lea r8d, [rax + 1]
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x30]
call qword [0x1406a71e8]
nop
mov rax, qword [rbp + 0x60]
mov edi, dword [rax + 4]
lea rcx, [rbp + 0x60]
call qword [0x1406a7910]
mov rcx, rax
mov edx, edi
call qword [0x1406a7288]
movzx edx, ax
lea rcx, [rbp - 0x30]
call qword [0x1406a71d0]
nop
lea rcx, [rbp - 0x30]
call qword [0x1406a71e0]
jmp 0x1400480f9
cmp eax, 2
jne 0x1400480f9
or ebx, 4
mov edx, eax
lea rcx, [rbp + 0x48]
call qword [0x1406a7208]
nop
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x48]
call qword [0x1406a71f8]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x48]
call qword [0x1406a71f0]
nop
mov rdx, rax
lea rcx, [rbp - 0x38]
call qword [0x1406a7630]
nop
lea rcx, [rbp - 0x30]
call qword [0x1406a7918]
nop
lea rcx, [rbp + 0x48]
call qword [0x1406a7200]
call qword [0x1406a72a0]
lea r8, [rbp - 0x38]
movzx edx, al
lea rcx, [rbp - 0x30]
call fcn.140005df8
nop
lea r8, [rbp + 0x60]
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.140003d50
nop
mov rdx, rax
lea rcx, [rbp + 0x60]
call qword [0x1406a7380]
nop
lea rcx, [rbp + 0x48]
call qword [0x1406a7918]
nop
lea rcx, [rbp - 0x30]
call qword [0x1406a7918]
xor r13b, r13b
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 4]
xor esi, esi
test eax, eax
jle 0x1400481b4
mov r12d, eax
nop word [rax + rax]
mov rax, qword [r14 + 8]
mov edi, esi
and edi, 7
add rdi, qword [rax + 0x10]
add rdi, rax
lea rax, [rbp + 0x60]
mov qword [rbp - 0x30], rax
mov dword [rbp - 0x28], esi
mov edx, esi
lea rcx, [rbp + 0x60]
call qword [0x1406a7270]
xor al, byte [rdi]
xor al, r13b
movzx edx, al
lea rcx, [rbp - 0x30]
call qword [0x1406a7238]
mov edx, esi
lea rcx, [rbp + 0x60]
call qword [0x1406a7270]
movzx r13d, al
inc esi
cmp esi, r12d
jl 0x140048160
mov r12, qword [rbp + 0x58]
lea rcx, [rbp - 0x40]
call qword [0x1406a76b8]
nop
mov dl, 3
lea rcx, [rbp - 0x40]
call qword [0x1406a7260]
movzx edx, bl
lea rcx, [rbp - 0x40]
call qword [0x1406a7260]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x40]
call qword [0x1406a7630]
mov dword [r14 + 0x18], 0
lea rdx, [rbp - 0x40]
mov rcx, r15
call qword [0x1406a7280]
mov dword [rbp - 0x48], 1
lea rcx, [rbp - 0x40]
call qword [0x1406a7918]
nop
lea rcx, [rbp - 0x38]
call qword [0x1406a7918]
nop
lea rcx, [rbp + 0x60]
call qword [0x1406a7918]
nop
mov rcx, r12
call qword [0x1406a7918]
mov rax, r15
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret