Function at 0x1400835e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push r12
push r13
push r14
push r15
mov eax, 0x40
call fcn.1400a59c0
sub rsp, rax
xor ebp, ebp
movsxd rbx, r9d
mov r14, r8
mov r12d, edx
mov r15, rcx
mov r13d, ebp
test edx, edx
js 0x140083891
test r9d, r9d
js 0x140083891
mov qword [rsp + 0x70], rsi
mov esi, dword [rsp + 0x90]
cmp ebx, esi
jg 0x140083869
cmp esi, 0xb
jl 0x140083869
mov r8d, 0xe3
mov qword [rsp + 0x78], rdi
lea rdx, [0x140115088]
mov ecx, esi
call fcn.140037280
mov rdi, rax
test rax, rax
jne 0x14008369c
lea r9, [0x1401150a0]
mov dword [rsp + 0x20], 0xe5
lea edx, [rbp + 0x71]
lea ecx, [rbp + 4]
lea r8d, [rbp + 0x41]
call fcn.140038ac0
or eax, 0xffffffff
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
movsxd rax, esi
add r14, rbx
add rdi, rax
mov qword [rsp + 0x30], rax
test esi, esi
jle 0x1400836e2
mov rdx, rsi
mov eax, ebx
lea ecx, [rbx - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
dec rdi
and ecx, eax
dec ecx
mov eax, ecx
and eax, 1
sub ebx, eax
mov eax, ecx
and eax, 1
sub r14, rax
movzx eax, byte [r14]
and al, cl
mov byte [rdi], al
sub rdx, 1
jne 0x1400836b1
movzx ecx, byte [rdi]
mov r8d, 2
movzx eax, byte [rdi + 1]
mov r10d, ebp
xor eax, 2
lea ebx, [rax - 1]
not eax
shr eax, 0x1f
shr ebx, 0x1f
and ebx, eax
lea eax, [rcx - 1]
shr eax, 0x1f
neg ebx
not ecx
shr ecx, 0x1f
and eax, ecx
neg eax
and ebx, eax
cmp esi, r8d
jle 0x140083756
lea r9, [rdi + 2]
nop
movzx eax, byte [r9]
lea r9, [r9 + 1]
mov ecx, r10d
not ecx
lea edx, [rax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
neg edx
and ecx, edx
or r10d, edx
mov eax, ecx
and ecx, r8d
not eax
inc r8d
and r13d, eax
or r13d, ecx
cmp r8d, esi
jl 0x140083720
mov ecx, r12d
lea edx, [r13 + 1]
mov eax, esi
sub eax, edx
sub ecx, eax
xor ecx, eax
xor eax, r12d
or ecx, eax
lea eax, [r13 - 0xa]
xor ecx, r12d
or eax, r13d
shr ecx, 0x1f
xor eax, r13d
dec ecx
shr eax, 0x1f
dec eax
and ecx, eax
mov eax, r12d
and ebx, ecx
xor eax, esi
mov ecx, esi
and edx, ebx
sub ecx, r12d
mov r9d, ebx
xor ecx, r12d
or ecx, eax
mov eax, esi
xor ecx, esi
shr ecx, 0x1f
neg ecx
mov r11d, ecx
and ecx, esi
not r11d
and r11d, r12d
mov r12d, ebx
or r11d, ecx
not r12d
sub eax, r11d
and eax, r12d
or eax, edx
movsxd r10, eax
sub esi, eax
add r10, rdi
test r11d, r11d
jle 0x14008381e
mov r14, r15
neg r14
mov eax, ebp
inc ebp
xor eax, esi
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
mov eax, r11d
neg ecx
mov edx, ecx
and rcx, rax
sub r10, rcx
lea rax, [r14 + r15]
xor edx, r9d
lea r15, [r15 + 1]
and r9d, edx
movzx r8d, r9b
movzx ecx, byte [rax + r10]
and cl, r8b
not r8b
and r8b, byte [r15 - 1]
or cl, r8b
mov byte [r15 - 1], cl
cmp ebp, r11d
jl 0x1400837d1
mov rdx, qword [rsp + 0x30]
mov rcx, rdi
call fcn.140004400
mov rcx, rdi
call fcn.1400371e0
mov edx, 0x71
mov dword [rsp + 0x20], 0x12d
lea r9, str..crypto_rsa_rsa_pk1.c
lea ecx, [rdx - 0x6d]
lea r8d, [rdx + 0x2e]
call fcn.140038ac0
mov ecx, ebx
and ecx, 1
call fcn.140038c30
and ebx, esi
or ebx, r12d
mov eax, ebx
jmp 0x14008367c
mov edx, 0x71
mov dword [rsp + 0x20], 0xdf
lea r9, [0x140115070]
lea ecx, [rdx - 0x6d]
lea r8d, [rdx + 0x2e]
call fcn.140038ac0
or eax, 0xffffffff
jmp 0x140083681
or eax, 0xffffffff
jmp 0x140083686