Function at 0x140007ab0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push r12
push r13
push r14
sub rsp, 0x30
mov r14, rcx
mov rsi, r8
mov ecx, 0x80
mov rbx, rdx
call fcn.1400357d4
mov qword [rsp + 0x78], rax
mov r9, 0xffffffffffffffff
mov r12d, 1
inc r9
cmp byte [rsi + r9], 0
jne 0x140007ae2
xor ecx, ecx
mov qword [rsp + 0x60], rbp
lea rax, [r9 - 8]
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], r15
mov r10d, ecx
mov r13d, ecx
cmp rax, 0x52
ja 0x140007e6f
mov edi, ecx
test r9, r9
je 0x140007b30
lea rax, [rsi - 1]
add rax, r9
nop
cmp byte [rax], 0x31
je 0x140007b30
inc rdi
dec rax
cmp rdi, r9
jb 0x140007b20
mov r15, r9
lea rax, [rdi + 1]
sub r15, rdi
dec r15
cmp rax, r9
jae 0x140007e6f
cmp rdi, 6
jb 0x140007e6f
mov r11, rcx
test r15, r15
je 0x140007c11
nop dword [rax]
movsx r8d, byte [r11 + rsi]
lea eax, [r8 - 0x21]
cmp eax, 0x5d
ja 0x140007e6f
lea eax, [r8 - 0x61]
cmp eax, 0x19
ja 0x140007b83
mov r10d, 1
jmp 0x140007b96
lea eax, [r8 - 0x41]
cmp eax, 0x19
ja 0x140007b96
mov r13d, 1
add r8d, 0x20
mov ecx, r12d
sar r8d, 5
shr ecx, 0x19
and r12d, 0x1ffffff
mov edx, ecx
mov eax, ecx
shr eax, 3
inc r11
and eax, 1
shr edx, 1
neg eax
and edx, 1
and eax, 0x3d4233dd
neg edx
and edx, 0x26508e6d
xor edx, eax
mov eax, ecx
shr eax, 2
and eax, 1
neg eax
and eax, 0x1ea119fa
xor edx, eax
mov eax, ecx
shr eax, 4
and ecx, 1
and eax, 1
neg ecx
neg eax
and ecx, 0x3b6a57b2
and eax, 0x2a1462b3
xor edx, eax
mov eax, r12d
xor edx, ecx
shl eax, 5
mov r12d, edx
xor r12d, eax
xor r12d, r8d
cmp r11, r15
jb 0x140007b60
mov ecx, r12d
and r12d, 0x1ffffff
shr ecx, 0x19
mov ebp, ecx
shl r12d, 5
shr ebp, 1
mov eax, ecx
shr eax, 3
and ebp, 1
and eax, 1
neg ebp
neg eax
and ebp, 0x26508e6d
and eax, 0x3d4233dd
xor ebp, eax
mov eax, ecx
shr eax, 2
and eax, 1
neg eax
and eax, 0x1ea119fa
xor ebp, eax
mov eax, ecx
shr eax, 4
and ecx, 1
and eax, 1
neg ecx
neg eax
and ecx, 0x3b6a57b2
and eax, 0x2a1462b3
xor ebp, eax
xor ebp, ecx
xor ebp, r12d
xor r12d, r12d
mov r8d, r12d
test r15, r15
je 0x140007cf1
nop
movsx edx, byte [r8 + rsi]
mov ecx, ebp
shr ecx, 0x19
and edx, 0x1f
mov eax, ecx
and ebp, 0x1ffffff
shr eax, 1
inc r8
and eax, 1
neg eax
and eax, 0x26508e6d
xor edx, eax
mov eax, ecx
shr eax, 3
and eax, 1
neg eax
and eax, 0x3d4233dd
xor edx, eax
mov eax, ecx
shr eax, 2
and eax, 1
neg eax
and eax, 0x1ea119fa
xor edx, eax
mov eax, ecx
shr eax, 4
and ecx, 1
neg eax
neg ecx
and eax, 0x2a1462b3
and ecx, 0x3b6a57b2
xor edx, eax
mov eax, ebp
xor edx, ecx
shl eax, 5
mov ebp, edx
xor ebp, eax
cmp r8, r15
jb 0x140007c80
inc r8
cmp r8, r9
jae 0x140007deb
mov rax, qword [rsp + 0x78]
lea r11, [r8 + rsi]
sub rax, r15
lea rdx, [0x140046ae0]
sub rax, rsi
lea r15, [rax - 1]
mov eax, 6
sub rax, rsi
mov qword [rsp + 0x20], rax
movsx rcx, byte [r11]
test cl, cl
js 0x140007e6f
movsx esi, byte [rcx + rdx]
cmp cl, 0x61
jl 0x140007d46
cmp cl, 0x7a
jg 0x140007d46
mov r10d, 1
jmp 0x140007d56
cmp cl, 0x41
jl 0x140007d56
cmp cl, 0x5a
jg 0x140007d56
mov r13d, 1
cmp esi, 0xffffffff
je 0x140007e6f
mov ecx, ebp
and ebp, 0x1ffffff
shr ecx, 0x19
mov eax, ecx
mov edx, ecx
shr eax, 3
and eax, 1
shr edx, 1
neg eax
and edx, 1
and eax, 0x3d4233dd
neg edx
and edx, 0x26508e6d
xor edx, eax
mov eax, ecx
shr eax, 2
and eax, 1
neg eax
and eax, 0x1ea119fa
xor edx, eax
mov eax, ecx
shr eax, 4
and ecx, 1
and eax, 1
neg ecx
neg eax
and ecx, 0x3b6a57b2
and eax, 0x2a1462b3
xor edx, eax
mov eax, ebp
shl eax, 5
xor edx, ecx
mov ebp, edx
xor ebp, eax
mov rax, qword [rsp + 0x20]
add rax, r11
xor ebp, esi
cmp rax, r9
jae 0x140007dd5
mov byte [r15 + r11], sil
inc r8
lea rdx, [0x140046ae0]
inc r11
cmp r8, r9
jb 0x140007d24
test r10d, r10d
je 0x140007df5
test r13d, r13d
jne 0x140007e6f
cmp ebp, 1
jne 0x140007e66
mov r11, qword [rsp + 0x78]
lea r10, [rdi - 7]
inc r11
mov r9d, r12d
mov edx, r12d
test r10, r10
je 0x140007e63
movzx eax, byte [r11]
lea r11, [r11 + 1]
shl r9d, 5
dec r10
or r9d, eax
add edx, 5
cmp edx, 8
jl 0x140007e4a
nop dword [rax + rax]
mov rax, qword [rbx]
sub edx, 8
mov ecx, edx
mov r8d, r9d
shr r8d, cl
mov byte [r14 + rax], r8b
inc qword [rbx]
cmp edx, 8
jge 0x140007e30
test r10, r10
jne 0x140007e11
mov ecx, 8
sub ecx, edx
shl r9d, cl
test r9b, r9b
jne 0x140007e6f
cmp edx, 5
jge 0x140007e6f
cmp ebp, 1
sete r12b
mov eax, r12d
jmp 0x140007e71
xor eax, eax
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop r13
pop r12
pop rsi
pop rbx
ret