Function at 0x140091db0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x30
lea rbp, [rsp + 0x30]
mov qword [rbp - 8], 0xfffffffffffffffe
movabs rax, 0x7fffffffffffffff
cmp rdx, rax
jae 0x140091deb
mov rbx, r9
mov rdi, rdx
mov rsi, rcx
xor eax, eax
test al, al
je 0x140091e05
jmp 0x140091e27
mov eax, 0xffffa65f
add eax, dword [0x1404b3e24]
cdqe
add rax, qword [0x1404b3e48]
call qword [case.0x1400f5c95.0]
mov r15, qword [rsi + 0x18]
mov eax, dword [0x14051cbc8]
mov ecx, dword [0x1404b2b88]
neg ecx
add ecx, eax
add ecx, 0xbe9c84ae
imul ecx, eax
test cl, 1
je 0x140091e46
mov ecx, 0x26
call fcn.140388cb4
mov qword [0x14051cbc0], rax
lea rcx, [0x1400a9040]
call fcn.1403a90a0
jmp 0x140091e05
mov rax, rdi
or rax, 7
movabs rdx, 0x7ffffffffffffffe
cmp rax, rdx
ja 0x140091ff6
mov ecx, dword [0x1404b2b80]
mov r8d, ecx
xor r8d, 0xeb
and ecx, 0x6b
lea ecx, [r8 + rcx*2]
mov r12, r15
shr r12, cl
mov ecx, dword [0x14051cbc8]
lea r8d, [rcx - 1]
imul r8d, ecx
test r8b, 1
jne 0x140091e60
sub rdx, r12
cmp rdx, r15
jb 0x140091ff6
add r12, r15
cmp rax, r12
cmova r12, rax
mov rax, r12
inc rax
js 0x140092003
lea rcx, [rax + rax]
cmp rax, 0x800
jb 0x140091f30
nop
cmp dword [0x1404b2b88], 0xbe9c84af
jne 0x140091ec0
movabs rdx, 0x7fffffffffffffed
cmp rax, rdx
jae 0x140091ff6
mov eax, 0xffffa65f
add eax, dword [0x1404b3e20]
cdqe
add rax, qword [0x1404b3e30]
add rcx, 0x27
mov r8d, dword [0x1404b2b88]
lea edx, [r8 + 0x4643cb74]
add r8d, 0x501e074c
call qword [case.0x1400f5c95.0]
lea rcx, [rax + 0x27]
mov r14d, ecx
not r14d
xor rcx, 0xffffffffffffffe0
and r14d, 0x1f
or r14, rcx
not r14
mov qword [r14 - 8], rax
jmp 0x140091f62
mov r8d, dword [0x1404b2b88]
mov eax, 0xffffa65f
add eax, dword [0x1404b3e20]
cdqe
add rax, qword [0x1404b3e30]
lea edx, [r8 + 0x4643cb74]
add r8d, 0x501e074c
call qword [case.0x1400f5c95.0]
mov r14, rax
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], r12
lea r8, [rdi + rdi]
mov rcx, r14
mov rdx, rbx
call fcn.1403d0ac0
mov word [r14 + rdi*2], 0
cmp r15, 8
jb 0x14009209b
mov rdi, qword [rsi]
lea rbx, [r15 + r15]
add rbx, 2
movabs rax, 0xdb66ad69b88fd5e9
add rax, qword [0x1404b2b80]
cmp rbx, rax
jbe 0x140091fe3
mov rax, qword [rdi - 8]
movabs rcx, 0xdb66ad69b88fc5e2
add rcx, qword [0x1404b2b80]
mov rdx, rdi
xor rdx, rcx
and rcx, rdi
lea rcx, [rdx + rcx*2]
sub rcx, rax
cmp rcx, 0x20
jae 0x140092036
add r15, r15
add r15, 0x29
mov rbx, r15
mov rdi, rax
mov eax, dword [0x14051cbc8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140092067
jmp 0x14009203b
mov eax, 0xffffa65f
add eax, dword [0x1404b3e2c]
jmp 0x140092027
mov eax, dword [0x1404b3e2c]
mov ecx, dword [0x1404b2b88]
mov edx, ecx
xor edx, 0x41637b51
and ecx, 0x41637b51
lea ecx, [rdx + rcx*2]
add eax, ecx
add eax, 0xffffa65f
cdqe
add rax, qword [0x1404b3e38]
call qword [case.0x1400f5c95.0]
call fcn.140388c3c
mov eax, 0xffffa65f
add eax, dword [0x1404b3e28]
cdqe
add rax, qword [0x1404b3e40]
mov rcx, rdi
mov rdx, rbx
call qword [case.0x1400f5c95.0]
cmp dword [0x1404b2b88], 0xbe9c84af
je 0x14009209b
mov r15d, 0xffffa65f
nop dword [rax]
mov eax, dword [0x1404b3e28]
add eax, r15d
cdqe
add rax, qword [0x1404b3e40]
mov rcx, rdi
mov rdx, rbx
call qword [case.0x1400f5c95.0]
mov eax, dword [0x14051cbcc]
cmp eax, 0xf
jge 0x140092070
jmp 0x14009203b
mov qword [rsi], r14
mov rax, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret