Function at 0x1400f0760
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov ebx, dword [rsp + 0xb0]
mov rdi, rcx
mov r13d, edx
mov rbp, r8
mov esi, r9d
test edx, edx
jle 0x1400f0a62
test r9d, r9d
jle 0x1400f0a62
cmp r9d, ebx
jg 0x1400f0a3e
cmp ebx, 0xa
jle 0x1400f0a3e
movsxd rax, ebx
lea r14, str.crypto_rsa_rsa_pk1.c
mov r8d, 0xb2
mov rdx, r14
mov rcx, rax
mov qword [rsp + 0x30], rax
call fcn.1400c4810
test rax, rax
je 0x1400f0a69
mov rcx, qword [rsp + 0x30]
movsxd rdx, esi
lea r8, [rbp + rdx]
lea r12, [rax + rcx]
mov r9, r12
nop dword [rax + rax]
mov edx, esi
lea eax, [rsi - 1]
sub r9, 1
not edx
and edx, eax
sar edx, 0x1f
mov eax, edx
add edx, 1
sub r8, rdx
sub esi, edx
mov edx, r12d
not eax
sub edx, r9d
and al, byte [r8]
mov byte [r9], al
cmp ebx, edx
jg 0x1400f07e8
lea edx, [rbx - 1]
movzx eax, al
mov r10d, 2
xor r11d, r11d
not rdx
mov r8d, eax
sub eax, 1
add r12, rdx
not r8d
movzx edx, byte [r12 + 1]
and eax, r8d
xor edx, 2
movzx edx, dl
mov r8d, edx
sub edx, 1
not r8d
and eax, r8d
xor r8d, r8d
and eax, edx
sar eax, 0x1f
nop dword [rax]
movzx edx, byte [r12 + r10]
mov ecx, edx
sub edx, 1
not ecx
and ecx, edx
mov edx, r11d
sar ecx, 0x1f
not edx
and edx, ecx
or r11d, ecx
mov r9d, edx
not edx
and r9d, r10d
and edx, r8d
add r10, 1
or r9d, edx
mov r8d, r9d
cmp ebx, r10d
jg 0x1400f0858
lea r15d, [r9 - 0xa]
xor r9d, 0xa
mov ebp, ebx
mov esi, r13d
mov edx, r15d
lea r14d, [rbx - 0xb]
lea rcx, [r12 + 0xc]
xor edx, 0xa
or edx, r9d
xor edx, r8d
add r8d, 1
sar edx, 0x1f
sub ebp, r8d
not edx
sub esi, ebp
and eax, edx
mov edx, r13d
xor esi, ebp
xor edx, ebp
or esi, edx
mov edx, r14d
xor esi, r13d
xor edx, r13d
sar esi, 0x1f
not esi
and esi, eax
mov eax, r14d
sub eax, r13d
xor eax, r13d
or eax, edx
xor eax, r14d
sar eax, 0x1f
mov edx, eax
not eax
and edx, r14d
and r13d, eax
mov eax, edx
or eax, r13d
mov r13d, 1
cmp r14d, 1
jle 0x1400f0990
mov dword [rsp + 0x38], r14d
mov r9d, ebp
mov dword [rsp + 0x3c], esi
nop dword [rax]
mov edx, r13d
mov r8d, ebx
and edx, r15d
sub r8d, r13d
mov r10d, edx
sub edx, 1
not r10d
and r10d, edx
sar r10d, 0x1f
mov r11d, r10d
not r11d
cmp r8d, 0xb
jle 0x1400f097f
lea esi, [r8 - 0xc]
lea rdx, [r12 + 0xb]
movsxd rbp, r13d
movzx r11d, r11b
add rsi, rcx
or r10d, 0xffffff00
nop word [rax + rax]
movzx r8d, byte [rdx + rbp]
movzx r14d, byte [rdx]
add rdx, 1
and r8d, r11d
and r14d, r10d
or r8d, r14d
mov byte [rdx - 1], r8b
cmp rsi, rdx
jne 0x1400f0960
add r13d, r13d
cmp dword [rsp + 0x38], r13d
jg 0x1400f0918
mov esi, dword [rsp + 0x3c]
mov ebp, r9d
mov r8d, ebp
mov r9d, eax
xor edx, edx
neg r8d
test eax, eax
je 0x1400f09dd
nop
mov eax, ebp
mov ecx, ebp
xor ecx, r8d
xor eax, edx
add r8d, 1
or eax, ecx
movzx ecx, byte [r12 + rdx + 0xb]
xor eax, edx
sar eax, 0x1f
and eax, esi
movzx eax, al
mov r10d, eax
not eax
and ecx, r10d
movzx r10d, byte [rdi + rdx]
and eax, r10d
or eax, ecx
mov byte [rdi + rdx], al
add rdx, 1
cmp rdx, r9
jne 0x1400f09a0
mov rdx, qword [rsp + 0x30]
mov r9d, 0xfa
lea r8, str.crypto_rsa_rsa_pk1.c
mov rcx, r12
call fcn.1400c4c30
mov r8d, 0x9f
mov edx, 0x71
mov dword [rsp + 0x20], 0xfb
lea r9, str.crypto_rsa_rsa_pk1.c
mov ecx, 4
call fcn.1400a0f90
mov ecx, esi
and ecx, 1
call fcn.1400a34e0
mov eax, esi
not esi
and eax, ebp
or eax, esi
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 0x9f
mov edx, 0x71
mov ecx, 4
mov dword [rsp + 0x20], 0xad
lea r9, str.crypto_rsa_rsa_pk1.c
call fcn.1400a0f90
mov eax, 0xffffffff
jmp 0x1400f0a2d
mov dword [rsp + 0x20], 0xb4
mov r9, r14
mov r8d, 0x41
mov edx, 0x71
mov ecx, 4
call fcn.1400a0f90
jmp 0x1400f0a62