Function at 0x1400f3030
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 r12, qword [rsp + 0xc0]
mov ebx, dword [rsp + 0xc8]
test r12, r12
mov r13, rcx
mov rcx, r9
cmove r12, r9
mov rbp, rdx
mov qword [rsp + 0xb0], r8
mov rdi, r9
call fcn.1400b8150
mov esi, eax
test eax, eax
js 0x1400f31c4
cmp ebx, 0xffffffff
je 0x1400f3380
cmp ebx, 0xfffffffe
je 0x1400f31d8
cmp ebx, 0xfffffffd
jl 0x1400f3390
mov rcx, qword [r13 + 0x18]
call fcn.140071750
mov rcx, r13
sub eax, 1
and eax, 7
mov dword [rsp + 0x3c], eax
mov r15d, eax
call fcn.1400ed550
mov r13d, eax
test r15d, r15d
jne 0x1400f30c6
mov byte [rbp], 0
sub r13d, 1
add rbp, 1
lea eax, [rsi + 1]
cmp eax, r13d
jge 0x1400f31a0
mov eax, r13d
sub eax, esi
mov dword [rsp + 0x30], eax
cmp ebx, 0xfffffffd
je 0x1400f3370
sub eax, 1
cmp eax, ebx
jle 0x1400f33b0
movsxd r15, ebx
test ebx, ebx
jle 0x1400f3368
mov r8d, 0xc5
lea rdx, str.crypto_rsa_rsa_pss.c
mov rcx, r15
call fcn.1400c4810
mov r14, rax
test rax, rax
je 0x1400f33e8
mov edx, ebx
mov rcx, rax
call fcn.1400e79d0
test eax, eax
jle 0x1400f3358
call fcn.1400a47d0
mov r10, rax
xor eax, eax
test r10, r10
je 0x1400f315e
xor r8d, r8d
mov rcx, r10
mov rdx, rdi
mov qword [rsp + 0x40], r10
call fcn.1400a48c0
mov r10, qword [rsp + 0x40]
test eax, eax
jne 0x1400f31e8
xor eax, eax
mov rcx, r10
mov dword [rsp + 0x30], eax
call fcn.1400a47f0
mov r9d, 0xf7
mov rdx, r15
mov rcx, r14
lea r8, str.crypto_rsa_rsa_pss.c
call fcn.1400c4c30
mov eax, dword [rsp + 0x30]
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x20], 0xb9
lea r9, str.crypto_rsa_rsa_pss.c
mov r8d, 0x6e
mov edx, 0x98
mov ecx, 4
call fcn.1400a0f90
movsxd r15, ebx
xor r10d, r10d
xor r14d, r14d
xor eax, eax
jmp 0x1400f315e
mov ebx, 0xfffffffd
jmp 0x1400f3094
mov rcx, r10
mov r8d, 8
lea rdx, [0x1402ae7d8]
call fcn.1400a4c10
mov r10, qword [rsp + 0x40]
test eax, eax
je 0x1400f315c
mov rdx, qword [rsp + 0xb0]
movsxd rdi, esi
mov rcx, r10
mov qword [rsp + 0x40], r10
mov r8, rdi
call fcn.1400a4c10
mov r10, qword [rsp + 0x40]
test eax, eax
je 0x1400f315c
test ebx, ebx
je 0x1400f3256
mov rcx, r10
mov r8, r15
mov rdx, r14
mov qword [rsp + 0x40], r10
call fcn.1400a4c10
mov r10, qword [rsp + 0x40]
test eax, eax
je 0x1400f315e
mov eax, dword [rsp + 0x30]
xor r8d, r8d
mov rcx, r10
mov qword [rsp + 0x30], r10
sub eax, 1
mov dword [rsp + 0x40], eax
cdqe
add rax, rbp
mov rdx, rax
mov qword [rsp + 0x48], rax
call fcn.1400a4cb0
mov r10, qword [rsp + 0x30]
test eax, eax
je 0x1400f315c
mov qword [rsp + 0x20], r12
mov r8, qword [rsp + 0x48]
mov rcx, rbp
mov r9d, esi
mov edx, dword [rsp + 0x40]
mov qword [rsp + 0x30], r10
call fcn.1401e6170
mov r10, qword [rsp + 0x30]
test eax, eax
mov ecx, eax
jne 0x1400f315c
mov eax, r13d
sub eax, ebx
sub eax, esi
cdqe
lea rdx, [rbp + rax - 2]
xor byte [rdx], 1
test ebx, ebx
jle 0x1400f3416
lea r11d, [rbx - 1]
mov r9d, ebx
cmp r11d, 6
jbe 0x1400f353c
movsxd r13, r13d
lea rax, [r14 + 1]
mov r8, r13
sub r8, rdi
sub r8, r15
sub r8, 1
lea rsi, [rbp + r8]
mov rdi, rsi
sub rdi, rax
mov eax, 1
cmp rdi, 0xe
ja 0x1400f341e
movzx ecx, byte [r14 + rax - 1]
xor byte [rdx + rax], cl
mov rcx, rax
add rax, 1
cmp r15, rcx
jne 0x1400f3310
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x1400f3342
mov eax, dword [rsp + 0x3c]
mov ecx, 8
sub ecx, eax
mov eax, 0xff
sar eax, cl
and byte [rbp], al
mov byte [rbp + r13 - 1], 0xbc
mov eax, 1
jmp 0x1400f315e
xor r10d, r10d
xor eax, eax
jmp 0x1400f315e
xor r14d, r14d
jmp 0x1400f312d
lea ebx, [rax - 2]
jmp 0x1400f30ef
mov ebx, eax
jmp 0x1400f3094
mov dword [rsp + 0x20], 0xae
lea r9, str.crypto_rsa_rsa_pss.c
mov r8d, 0x88
jmp 0x1400f31b5
mov edx, 0x98
mov ecx, 4
movsxd r15, ebx
xor r14d, r14d
mov dword [rsp + 0x20], 0xc0
lea r9, str.crypto_rsa_rsa_pss.c
mov r8d, 0x6e
call fcn.1400a0f90
xor r10d, r10d
xor eax, eax
jmp 0x1400f315e
mov r8d, 0x41
mov edx, 0x98
mov ecx, 4
mov dword [rsp + 0x20], 0xc7
lea r9, str.crypto_rsa_rsa_pss.c
call fcn.1400a0f90
xor r10d, r10d
xor eax, eax
jmp 0x1400f315e
movsxd r13, r13d
jmp 0x1400f3325
add rdx, 1
cmp r11d, 0xe
jbe 0x1400f3549
mov ecx, ebx
xor eax, eax
shr ecx, 4
shl rcx, 4
nop word [rax + rax]
movdqu xmm0, xmmword [rsi + rax]
movdqu xmm2, xmmword [r14 + rax]
pxor xmm0, xmm2
movups xmmword [rsi + rax], xmm0
add rax, 0x10
cmp rcx, rax
jne 0x1400f3440
mov ecx, ebx
and ecx, 0xfffffff0
mov eax, ecx
mov r11d, ecx
add rdx, rax
cmp ebx, ecx
je 0x1400f3325
mov r9d, ebx
sub r9d, ecx
lea eax, [r9 - 1]
cmp eax, 6
jbe 0x1400f34ae
lea rax, [r8 + r11]
movq xmm0, qword [r14 + r11]
add rax, rbp
movq xmm1, qword [rax]
pxor xmm0, xmm1
movq qword [rax], xmm0
mov eax, r9d
and eax, 0xfffffff8
add ecx, eax
add rdx, rax
and r9d, 7
je 0x1400f3325
movsxd rax, ecx
movzx eax, byte [r14 + rax]
xor byte [rdx], al
lea eax, [rcx + 1]
cmp ebx, eax
jle 0x1400f3325
cdqe
movzx eax, byte [r14 + rax]
xor byte [rdx + 1], al
lea eax, [rcx + 2]
cmp ebx, eax
jle 0x1400f3325
cdqe
movzx eax, byte [r14 + rax]
xor byte [rdx + 2], al
lea eax, [rcx + 3]
cmp ebx, eax
jle 0x1400f3325
cdqe
movzx eax, byte [r14 + rax]
xor byte [rdx + 3], al
lea eax, [rcx + 4]
cmp ebx, eax
jle 0x1400f3325
cdqe
movzx eax, byte [r14 + rax]
xor byte [rdx + 4], al
lea eax, [rcx + 5]
cmp ebx, eax
jle 0x1400f3325
cdqe
add ecx, 6
movzx eax, byte [r14 + rax]
xor byte [rdx + 5], al
cmp ebx, ecx
jle 0x1400f3325
movsxd rcx, ecx
movzx eax, byte [r14 + rcx]
xor byte [rdx + 6], al
jmp 0x1400f3325
mov eax, 1
movsxd r13, r13d
jmp 0x1400f3310
xor r11d, r11d
jmp 0x1400f3480