Function at 0x140224ee0
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
cmp qword [rsp + 0xc0], 0
mov ebx, dword [rsp + 0xc8]
mov rax, r9
mov r13, rcx
mov rcx, r9
mov rdi, rdx
cmovne rax, qword [rsp + 0xc0]
mov qword [rsp + 0xb0], r8
mov r12, r9
mov qword [rsp + 0xc0], rax
call fcn.1401e7dc0
mov esi, eax
test eax, eax
js 0x140225074
cmp ebx, 0xffffffff
je 0x140225330
cmp ebx, 0xfffffffe
je 0x140225088
cmp ebx, 0xfffffffd
jl 0x140225340
mov rcx, qword [r13 + 0x18]
call fcn.1401a0930
mov rcx, r13
sub eax, 1
and eax, 7
mov dword [rsp + 0x48], eax
mov r15d, eax
call fcn.14021e740
mov ebp, eax
test r15d, r15d
jne 0x140224f81
mov byte [rdi], 0
sub ebp, 1
add rdi, 1
lea eax, [rsi + 1]
cmp eax, ebp
jge 0x140225050
mov eax, ebp
sub eax, esi
mov dword [rsp + 0x38], eax
cmp ebx, 0xfffffffd
je 0x140225320
sub eax, 1
cmp eax, ebx
jle 0x140225360
movsxd r15, ebx
test ebx, ebx
jle 0x140225318
lea r14, str.crypto_rsa_rsa_pss.c
mov r8d, 0xc5
mov rcx, r15
mov rdx, r14
call fcn.1401f4da0
mov r13, rax
test rax, rax
je 0x140225398
mov edx, ebx
mov rcx, rax
call fcn.140218860
test eax, eax
jle 0x140225308
call fcn.1401d47b0
xor r14d, r14d
mov r10, rax
test rax, rax
je 0x14022501c
xor r8d, r8d
mov rdx, r12
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.1401d4a20
mov r10, qword [rsp + 0x40]
test eax, eax
mov r14d, eax
jne 0x140225098
mov rcx, r10
call fcn.1401d47d0
mov r9d, 0xf7
mov rdx, r15
mov rcx, r13
lea r8, str.crypto_rsa_rsa_pss.c
call fcn.1401f5190
mov eax, r14d
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.1401d1f90
movsxd r15, ebx
xor r10d, r10d
xor r13d, r13d
xor r14d, r14d
jmp 0x14022501c
mov ebx, 0xfffffffd
jmp 0x140224f52
mov rcx, r10
mov r8d, 8
lea rdx, [0x1406ae198]
call fcn.1401d4ca0
mov r10, qword [rsp + 0x40]
test eax, eax
mov r14d, eax
je 0x14022501c
mov rdx, qword [rsp + 0xb0]
movsxd r12, esi
mov rcx, r10
mov r8, r12
call fcn.1401d4ca0
mov r10, qword [rsp + 0x40]
test eax, eax
mov r14d, eax
je 0x14022501c
test ebx, ebx
je 0x14022510a
mov rcx, r10
mov r8, r15
mov rdx, r13
mov qword [rsp + 0x40], r10
call fcn.1401d4ca0
mov r10, qword [rsp + 0x40]
test eax, eax
mov r14d, eax
je 0x14022501c
mov r11d, dword [rsp + 0x38]
xor r8d, r8d
mov rcx, r10
mov qword [rsp + 0x38], r10
sub r11d, 1
movsxd rdx, r11d
mov dword [rsp + 0x4c], r11d
add rdx, rdi
mov qword [rsp + 0x40], rdx
call fcn.1401d4d50
mov r10, qword [rsp + 0x38]
test eax, eax
mov r14d, eax
je 0x14022501c
mov rdx, qword [rsp + 0x40]
mov r11d, dword [rsp + 0x4c]
mov r9d, esi
mov rcx, rdi
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x38], r10
xor r14d, r14d
mov r8, rdx
mov edx, r11d
mov qword [rsp + 0x20], rax
call fcn.1403138f0
mov r10, qword [rsp + 0x38]
test eax, eax
mov edx, eax
jne 0x14022501c
mov eax, ebp
sub eax, ebx
sub eax, esi
cdqe
lea r8, [rdi + rax - 2]
xor byte [r8], 1
test ebx, ebx
jle 0x1402253c3
movsxd rbp, ebp
lea r14, [r13 + 1]
lea rcx, [r8 + 1]
mov r9d, ebx
mov rax, rbp
lea r11d, [rbx - 1]
sub rax, r12
sub rax, r15
sub rax, 1
lea rsi, [rdi + rax]
mov r12, rsi
sub r12, r14
cmp r12, 0xe
jbe 0x1402253cb
cmp r11d, 6
jbe 0x1402253cb
cmp r11d, 0xe
jbe 0x1402253eb
mov r8d, ebx
xor edx, edx
shr r8d, 4
shl r8, 4
nop
movdqu xmm0, xmmword [rsi + rdx]
movdqu xmm2, xmmword [r13 + rdx]
pxor xmm0, xmm2
movups xmmword [rsi + rdx], xmm0
add rdx, 0x10
cmp r8, rdx
jne 0x1402251f0
mov edx, ebx
and edx, 0xfffffff0
mov r8d, edx
add rcx, r8
cmp ebx, edx
je 0x1402252d8
mov r9d, ebx
sub r9d, edx
lea r11d, [r9 - 1]
cmp r11d, 6
jbe 0x14022525c
add rax, r8
movq xmm0, qword [r13 + r8]
add rax, rdi
movq xmm1, qword [rax]
pxor xmm0, xmm1
movq qword [rax], xmm0
mov eax, r9d
and eax, 0xfffffff8
mov r8d, eax
add edx, eax
add rcx, r8
cmp r9d, eax
je 0x1402252d8
movsxd rax, edx
movzx eax, byte [r13 + rax]
xor byte [rcx], al
lea eax, [rdx + 1]
cmp ebx, eax
jle 0x1402252d8
cdqe
movzx eax, byte [r13 + rax]
xor byte [rcx + 1], al
lea eax, [rdx + 2]
cmp ebx, eax
jle 0x1402252d8
cdqe
movzx eax, byte [r13 + rax]
xor byte [rcx + 2], al
lea eax, [rdx + 3]
cmp ebx, eax
jle 0x1402252d8
cdqe
movzx eax, byte [r13 + rax]
xor byte [rcx + 3], al
lea eax, [rdx + 4]
cmp ebx, eax
jle 0x1402252d8
cdqe
movzx eax, byte [r13 + rax]
xor byte [rcx + 4], al
lea eax, [rdx + 5]
cmp ebx, eax
jle 0x1402252d8
cdqe
add edx, 6
movzx eax, byte [r13 + rax]
xor byte [rcx + 5], al
cmp ebx, edx
jle 0x1402252d8
movsxd rdx, edx
movzx eax, byte [r13 + rdx]
xor byte [rcx + 6], al
nop dword [rax]
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x1402252f2
mov ecx, 8
mov eax, 0xff
sub ecx, dword [rsp + 0x48]
sar eax, cl
and byte [rdi], al
mov byte [rdi + rbp - 1], 0xbc
mov r14d, 1
jmp 0x14022501c
xor r10d, r10d
xor r14d, r14d
jmp 0x14022501c
xor r13d, r13d
jmp 0x140224fe9
lea ebx, [rax - 2]
jmp 0x140224fa8
mov ebx, eax
jmp 0x140224f52
mov dword [rsp + 0x20], 0xae
lea r9, str.crypto_rsa_rsa_pss.c
mov r8d, 0x88
jmp 0x140225065
mov edx, 0x98
mov ecx, 4
movsxd r15, ebx
xor r13d, r13d
lea r9, str.crypto_rsa_rsa_pss.c
mov dword [rsp + 0x20], 0xc0
mov r8d, 0x6e
xor r14d, r14d
call fcn.1401d1f90
xor r10d, r10d
jmp 0x14022501c
mov dword [rsp + 0x20], 0xc7
mov r9, r14
mov r8d, 0x41
xor r14d, r14d
mov edx, 0x98
mov ecx, 4
call fcn.1401d1f90
xor r10d, r10d
jmp 0x14022501c
movsxd rbp, ebp
jmp 0x1402252d8
lea ecx, [rbx + 1]
mov eax, 1
movzx edx, byte [r13 + rax - 1]
xor byte [r8 + rax], dl
add rax, 1
cmp rax, rcx
jne 0x1402253d3
jmp 0x1402252d8
xor r8d, r8d
jmp 0x140225230