Function at 0x140081a20
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov rbx, rdx
mov r9, rcx
mov eax, dword [0x140217d28]
mov ecx, dword [0x140217d2c]
not eax
mov edx, eax
and edx, ecx
or eax, ecx
not eax
or eax, edx
or eax, 0x13bd93a4
mov ecx, 0xa19b05a9
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xead9a100
cmp ecx, 0x7febeaf9
jne 0x140081a80
mov eax, 0x20
call fcn.1401516e0
sub rsp, rax
mov eax, dword [0x140217d30]
mov ecx, dword [0x140217d34]
not eax
not ecx
or ecx, eax
not ecx
and ecx, 0x1b818d5d
lea eax, [rcx - 0x6796fc4f]
mov edx, eax
and edx, 0xbaca0051
xor eax, 0x521ffae
add ecx, eax
add ecx, 0x986903b1
sub ecx, edx
mov eax, 0x20
call fcn.1401516e0
sub rsp, rax
mov rdi, rsp
cmp ecx, 0x874e0a8b
je 0x140081a80
mov rax, qword [r9]
nop word cs:[rax + rax]
mov ecx, dword [0x140217d38]
or ecx, dword [0x140217d3c]
and ecx, 0xafa5308
xor ecx, 0x6f2c79b6
imul ecx, ecx, 0xc6b6dc6b
cmp ecx, 0xe8d7a21e
je 0x140081ae0
test rax, rax
je 0x140081c5c
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140081b20
mov r15, qword [r9 + 8]
mov r8, qword [rbx]
mov r14, qword [rbx + 8]
mov r12, qword [rbx + 0x10]
mov r13, qword [rbx + 0x18]
mov qword [rdi], r8
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], r13
mov ebx, dword [r9 + 0x30]
movzx eax, byte [r9 + 0x38]
mov byte [rbp + 7], al
nop word cs:[rax + rax]
mov eax, dword [0x140217d44]
add eax, dword [0x140217d40]
mov ecx, eax
xor ecx, 0x228c024
xor eax, 0x40351
and eax, 0x8c142fd1
and ecx, 0x73ebd02e
or ecx, eax
xor ecx, 0x8fc5f8e4
add ecx, 0x57fadb07
cmp ecx, 0xee5df710
ja 0x140081b60
mov eax, dword [r9 + 0x34]
mov ecx, eax
not ecx
or ecx, 8
add eax, ecx
inc eax
test eax, eax
mov qword [rbp - 8], r9
mov dword [rbp - 0xc], ebx
je 0x140081d33
mov eax, dword [0x140217d68]
xor ecx, ecx
xor edx, edx
div dword [0x140217d6c]
nop dword [rax + rax]
test cl, cl
jne 0x140081bd0
mov rcx, qword [r9 + 0x20]
nop dword [rax + rax]
mov eax, dword [0x140217d70]
xor edx, edx
div dword [0x140217d74]
xor eax, 0xe4b74b2a
add eax, 0xaacf0af4
cmp eax, 0xa06435b9
ja 0x140081be0
mov rax, qword [r9 + 0x28]
sub rsp, 0x20
mov rdx, r8
mov r8, r14
call qword [rax + 0x18]
add rsp, 0x20
test al, al
jne 0x1400825e0
mov eax, dword [0x140217dd8]
mov ecx, dword [0x140217ddc]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
imul rax, rax, 0x34f5c01
shr rax, 0x39
imul eax, eax, 0x88ae5ba2
imul rax, rax, 0x35ef773f
shr rax, 0x3d
cmp eax, 0x4615cadd
jbe 0x140082176
jmp 0x1400821c2
mov eax, 0xbb7b9495
nop word cs:[rax + rax]
mov ecx, dword [0x140217d48]
sub ecx, dword [0x140217d4c]
xor ecx, 0x990c87b2
imul rcx, rax
shr rcx, 0x3e
mov edx, ecx
xor edx, 0xde8e3d0a
or ecx, 1
and ecx, edx
cmp ecx, 0x3e341e7f
ja 0x140081c70
mov rdi, qword [r9 + 0x20]
mov eax, dword [0x140217d50]
xor edx, edx
div dword [0x140217d54]
nop word cs:[rax + rax]
mov eax, dword [0x140217d58]
mov ecx, dword [0x140217d5c]
mov edx, ecx
not edx
and edx, eax
xor ecx, eax
add ecx, eax
sub ecx, edx
imul eax, ecx, 0x1db49fbf
mov ecx, eax
not ecx
and ecx, 0x66f70f14
and eax, 0x9908f0eb
sub eax, ecx
xor eax, 0xda86a349
cmp eax, 0x42b14157
jb 0x140081cc0
mov eax, dword [0x140217d60]
and eax, dword [0x140217d64]
mov rsi, qword [r9 + 0x28]
mov ecx, eax
and ecx, 0x1a280ee
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x6614d66f
or eax, 0xc904766e
cmp eax, 0xda79c819
jae 0x14008213e
jmp 0x14008215e
movzx ecx, byte [rbp + 7]
test r13, r13
je 0x14008228f