Function at 0x1400f40d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov ebx, dword [rsp + 0xc0]
mov rdi, rcx
mov r13d, edx
mov rbp, r8
mov esi, r9d
test edx, edx
jle 0x1400f4473
test r9d, r9d
jle 0x1400f4473
cmp r9d, ebx
jg 0x1400f444f
cmp ebx, 0xa
jle 0x1400f444f
movsxd rax, ebx
lea r14, str.crypto_rsa_rsa_ssl.c
mov r8d, 0x4e
mov rdx, r14
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.1400c4810
test rax, rax
je 0x1400f447a
mov rcx, qword [rsp + 0x40]
movsxd rdx, esi
lea r8, [rbp + rdx]
lea r12, [rax + rcx]
mov rcx, r12
nop dword [rax + rax]
mov edx, esi
lea eax, [rsi - 1]
sub rcx, 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, ecx
and al, byte [r8]
mov byte [rcx], al
cmp ebx, edx
jg 0x1400f4158
lea edx, [rbx - 1]
movzx eax, al
mov r10d, 2
xor r11d, r11d
not rdx
mov esi, eax
sub eax, 1
xor r9d, r9d
add r12, rdx
not esi
xor r15d, r15d
movzx edx, byte [r12 + 1]
and esi, eax
xor edx, 2
movzx edx, dl
mov eax, edx
sub edx, 1
not eax
and esi, eax
and esi, edx
mov edx, 0xffffffff
mov ebp, esi
sar ebp, 0x1f
mov r14d, ebp
not r14d
nop dword [rax]
movzx eax, byte [r12 + r10]
mov r8d, eax
mov ecx, eax
sub eax, 1
not r8d
xor ecx, 3
and r8d, eax
mov eax, edx
movzx ecx, cl
sar r8d, 0x1f
and eax, r8d
or r15d, r8d
mov edx, eax
not eax
and edx, r10d
and eax, r11d
add r10, 1
or edx, eax
mov r11d, edx
mov edx, r15d
not edx
mov eax, edx
and eax, 1
add eax, r9d
mov r9d, ecx
sub ecx, 1
not r9d
and r9d, ecx
sar r9d, 0x1f
or r9d, r15d
and r9d, eax
cmp ebx, r10d
jg 0x1400f41d0
lea r15d, [r11 - 0xa]
mov eax, r11d
lea r8d, [r9 - 8]
mov r10d, r9d
mov edx, r15d
xor eax, 0xa
xor r10d, 8
xor r8d, 8
xor edx, 0xa
or r8d, r10d
mov r10d, r13d
or edx, eax
xor r8d, r9d
xor edx, r11d
add r11d, 1
sar r8d, 0x1f
mov eax, edx
and edx, esi
mov esi, ebx
sar eax, 0x1f
sub esi, r11d
mov r11d, r13d
sar edx, 0x1f
sub r10d, esi
xor r11d, esi
not eax
mov ecx, edx
xor r10d, esi
and eax, ebp
not ecx
or r10d, r11d
mov r9d, eax
not eax
xor r10d, r13d
and r9d, r8d
or eax, r8d
sar r10d, 0x1f
mov r8d, eax
not eax
mov ebp, r10d
not ebp
and ebp, r9d
and r9d, r10d
mov r10d, r9d
and r14d, ecx
lea rcx, [r12 + 0xc]
not r10d
and r14d, 0x6b
and edx, 0x71
and eax, 0x73
and r9d, 0x6d
or edx, r14d
lea r14d, [rbx - 0xb]
and edx, r8d
or eax, edx
mov edx, r14d
and eax, r10d
xor edx, r13d
or eax, r9d
mov dword [rsp + 0x48], 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 0x1400f43a0
mov dword [rsp + 0x3c], r14d
mov r9d, esi
mov dword [rsp + 0x4c], ebp
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 0x1400f438f
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 0x1400f4370
add r13d, r13d
cmp dword [rsp + 0x3c], r13d
jg 0x1400f4328
mov ebp, dword [rsp + 0x4c]
mov esi, r9d
mov ecx, esi
mov r8d, eax
xor edx, edx
neg ecx
test eax, eax
je 0x1400f43ef
nop dword [rax]
mov eax, esi
mov r9d, esi
xor r9d, ecx
xor eax, edx
add ecx, 1
or eax, r9d
movzx r9d, byte [r12 + rdx + 0xb]
xor eax, edx
sar eax, 0x1f
and eax, ebp
movzx eax, al
mov r10d, eax
not eax
and r9d, r10d
movzx r10d, byte [rdi + rdx]
and eax, r10d
or eax, r9d
mov byte [rdi + rdx], al
add rdx, 1
cmp rdx, r8
jne 0x1400f43b0
mov rdx, qword [rsp + 0x40]
mov r9d, 0xab
lea r8, str.crypto_rsa_rsa_ssl.c
mov rcx, r12
call fcn.1400c4c30
mov r8d, dword [rsp + 0x48]
mov edx, 0x72
mov dword [rsp + 0x20], 0xac
lea r9, str.crypto_rsa_rsa_ssl.c
mov ecx, 4
call fcn.1400a0f90
mov ecx, ebp
and ecx, 1
call fcn.1400a34e0
mov eax, ebp
not ebp
and eax, esi
or eax, ebp
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 0x6f
mov edx, 0x72
mov ecx, 4
mov dword [rsp + 0x20], 0x4a
lea r9, str.crypto_rsa_rsa_ssl.c
call fcn.1400a0f90
mov eax, 0xffffffff
jmp 0x1400f443e
mov dword [rsp + 0x20], 0x50
mov r9, r14
mov r8d, 0x41
mov edx, 0x72
mov ecx, 4
call fcn.1400a0f90
jmp 0x1400f4473