Function at 0x140047700
Capabilities:
Encode data using xor

Disassembly:
jmp 0x140047700
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 r15, r8
mov r14, rdx
mov r13, rcx
mov dword [rbp - 0x48], 0
mov rax, qword [rcx + 8]
cmp dword [rax + 4], 0
jne 0x140047797
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 [r13 + 0x18], 1
mov rcx, r14
call qword [0x1406a76b8]
mov dword [rbp - 0x48], 1
jmp 0x140047aff
mov rdx, r8
lea rcx, [rbp + 0x60]
call qword [0x1406a7438]
nop
mov rax, qword [r15]
cmp dword [rax + 4], 3
jl 0x140047801
xor edx, edx
lea rcx, [rbp + 0x60]
call qword [0x1406a7270]
cmp al, 3
je 0x14004780f
mov dword [r13 + 0x18], 2
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.Invalid_version_or_not_a_cyphertext.
mov rcx, rax
call qword [0x1406a75f0]
nop
lea rcx, [rbp + 0x48]
call qword [0x1406a75f8]
mov rcx, r14
call qword [0x1406a76b8]
jmp 0x140047aed
mov edx, 1
lea rcx, [rbp + 0x60]
call qword [0x1406a7270]
movsx ebx, al
or r9d, 0xffffffff
lea r8d, [r9 + 3]
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x60]
call qword [0x1406a7268]
nop
mov rdx, rax
lea rcx, [rbp + 0x60]
call qword [0x1406a7430]
nop
lea rcx, [rbp + 0x48]
call qword [0x1406a7918]
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 4]
xor r12d, r12d
test eax, eax
jle 0x1400478d9
xor r15b, r15b
mov r14d, eax
nop dword [rax]
nop dword [rax + rax]
lea rax, [rbp + 0x60]
mov qword [rbp - 0x30], rax
mov dword [rbp - 0x28], r12d
lea rcx, [rbp - 0x30]
call qword [0x1406a7240]
movzx esi, al
mov rcx, qword [r13 + 8]
mov edi, r12d
and edi, 7
add rdi, qword [rcx + 0x10]
add rdi, rcx
lea rax, [rbp + 0x60]
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x38], r12d
mov edx, r12d
lea rcx, [rbp + 0x60]
call qword [0x1406a7270]
xor al, r15b
xor al, byte [rdi]
movzx edx, al
lea rcx, [rbp - 0x40]
call qword [0x1406a7238]
movzx r15d, sil
inc r12d
cmp r12d, r14d
jl 0x140047870
mov r14, qword [rbp + 0x50]
mov r15, qword [rbp + 0x58]
or r9d, 0xffffffff
lea r8d, [r9 + 2]
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x60]
call qword [0x1406a7268]
nop
mov rdx, rax
lea rcx, [rbp + 0x60]
call qword [0x1406a7430]
nop
lea rcx, [rbp + 0x48]
call qword [0x1406a7918]
test bl, 2
je 0x1400479b7
mov rax, qword [rbp + 0x60]
cmp dword [rax + 4], 2
jge 0x140047931
mov dword [r13 + 0x18], 3
mov rcx, r14
call qword [0x1406a76b8]
jmp 0x140047aed
mov r8d, 1
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x30]
call qword [0x1406a71e8]
nop
lea rdx, [rbp + 0x48]
lea rcx, [rbp - 0x30]
call qword [0x1406a71d8]
nop
lea rcx, [rbp - 0x30]
call qword [0x1406a71e0]
or r9d, 0xffffffff
lea r8d, [r9 + 3]
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x60]
call qword [0x1406a7268]
nop
mov rdx, rax
lea rcx, [rbp + 0x60]
call qword [0x1406a7430]
nop
lea rcx, [rbp - 0x40]
call qword [0x1406a7918]
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]
cmp ax, word [rbp + 0x48]
sete dil
jmp 0x140047aa4
test bl, 4
je 0x140047aad
mov rax, qword [rbp + 0x60]
cmp dword [rax + 4], 0x14
jl 0x14004791b
mov r8d, 0x14
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x60]
call qword [0x1406a7418]
nop
or r9d, 0xffffffff
lea r8d, [r9 + 0x15]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x60]
call qword [0x1406a7268]
nop
mov rdx, rax
lea rcx, [rbp + 0x60]
call qword [0x1406a7430]
nop
lea rcx, [rbp - 0x30]
call qword [0x1406a7918]
mov edx, 2
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]
mov r12, rax
mov rcx, qword [rax]
movsxd rax, dword [rcx + 4]
mov rcx, qword [rbp - 0x40]
cmp eax, dword [rcx + 4]
jne 0x140047a81
mov rsi, rax
lea rcx, [rbp - 0x40]
call qword [0x1406a7910]
mov rdi, rax
mov rcx, r12
call qword [0x1406a7910]
mov rcx, rax
mov r8, rsi
mov rdx, rdi
call fcn.1401a897e
test eax, eax
jne 0x140047a81
mov dil, 1
jmp 0x140047a84
xor dil, dil
lea rcx, [rbp - 0x30]
call qword [0x1406a7918]
nop
lea rcx, [rbp + 0x48]
call qword [0x1406a7200]
nop
lea rcx, [rbp - 0x40]
call qword [0x1406a7918]
test dil, dil
je 0x14004791b
test bl, 1
je 0x140047ad8
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x48]
call fcn.140003ff8
nop
mov rdx, rax
lea rcx, [rbp + 0x60]
call qword [0x1406a7430]
nop
lea rcx, [rbp + 0x48]
call qword [0x1406a7918]
mov dword [r13 + 0x18], 0
lea rdx, [rbp + 0x60]
mov rcx, r14
call qword [0x1406a7280]
mov dword [rbp - 0x48], 1
lea rcx, [rbp + 0x60]
call qword [0x1406a7918]
nop
mov rcx, r15
call qword [0x1406a7918]
mov rax, r14
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret