Function at 0x1401786a0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov rbp, qword [rsp + 0xe0]
mov esi, dword [rsp + 0xe8]
test rbp, rbp
mov r13, rcx
mov rcx, r9
cmove rbp, r9
mov rdi, rdx
mov qword [rsp + 0xd0], r8
mov r15, r9
call fcn.1400c5b40
mov ebx, eax
test eax, eax
js 0x1401787e0
cmp esi, 0xffffffff
je 0x140178b38
cmp esi, 0xfffffffe
je 0x140178870
jl 0x1401787b8
mov rcx, qword [r13 + 0x18]
call fcn.14008b2e0
mov rcx, r13
lea r12d, [rax - 1]
mov r14d, r12d
and r14d, 7
mov dword [rsp + 0x38], r14d
call fcn.1400aa190
mov r13d, eax
test r14d, r14d
jne 0x140178735
mov byte [rdi], 0
sub r13d, 1
add rdi, 1
lea eax, [rbx + rsi + 1]
cmp eax, r13d
jge 0x140178b40
test esi, esi
jle 0x1401787f8
mov r8d, 0xe9
lea rdx, str.rsa_pss.c
mov ecx, esi
call fcn.14006d260
mov r12, rax
test rax, rax
je 0x140178b80
mov edx, esi
mov rcx, rax
call fcn.1400b80d0
test eax, eax
jle 0x140178b70
lea r14, [rsp + 0x40]
mov rcx, r14
call fcn.1400bb870
xor r8d, r8d
mov rdx, r15
mov rcx, r14
call fcn.1400bbb80
test eax, eax
jne 0x1401788b0
mov rcx, r12
mov dword [rsp + 0x38], eax
call fcn.14006d560
mov eax, dword [rsp + 0x38]
jmp 0x1401787e2
mov r8d, 0x88
mov edx, 0x94
mov ecx, 4
mov dword [rsp + 0x20], 0xd7
lea r9, str.rsa_pss.c
call fcn.1400ba710
nop dword [rax]
xor eax, eax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea r14, [rsp + 0x40]
mov rcx, r14
call fcn.1400bb870
xor r8d, r8d
mov rdx, r15
mov rcx, r14
call fcn.1400bbb80
test eax, eax
je 0x1401787e0
mov r8d, 8
lea rdx, [0x1404cead0]
mov rcx, r14
call fcn.1400bbe20
test eax, eax
je 0x1401787e0
mov eax, r13d
mov rdx, qword [rsp + 0xd0]
movsxd r8, ebx
mov rcx, r14
sub eax, ebx
sub eax, 1
movsxd r15, eax
mov dword [rsp + 0x3c], eax
add r15, rdi
call fcn.1400bbe20
test eax, eax
je 0x1401787e2
xor r12d, r12d
test esi, esi
je 0x140178910
jmp 0x1401788fa
mov rcx, qword [r13 + 0x18]
call fcn.14008b2e0
mov rcx, r13
lea r12d, [rax - 1]
mov esi, r12d
and esi, 7
mov dword [rsp + 0x38], esi
call fcn.1400aa190
mov r13d, eax
test esi, esi
jne 0x1401788a1
mov byte [rdi], 0
sub r13d, 1
add rdi, 1
mov esi, r13d
sub esi, ebx
sub esi, 2
jmp 0x140178742
mov r8d, 8
lea rdx, [0x1404cead0]
mov rcx, r14
call fcn.1400bbe20
test eax, eax
je 0x14017879f
mov eax, r13d
mov rdx, qword [rsp + 0xd0]
movsxd r8, ebx
mov rcx, r14
sub eax, ebx
sub eax, 1
movsxd r15, eax
mov dword [rsp + 0x3c], eax
add r15, rdi
call fcn.1400bbe20
test eax, eax
je 0x14017879f
movsxd r8, esi
mov rdx, r12
mov rcx, r14
call fcn.1400bbe20
test eax, eax
je 0x140178bb0
xor r8d, r8d
mov rdx, r15
mov rcx, r14
call fcn.1400bbe30
test eax, eax
je 0x140178bb0
mov rcx, r14
call fcn.1400bbfd0
mov qword [rsp + 0x20], rbp
mov r9d, ebx
mov r8, r15
mov edx, dword [rsp + 0x3c]
mov rcx, rdi
call fcn.140142f10
test eax, eax
jne 0x140178bb0
mov eax, r13d
sub eax, esi
sub eax, ebx
cdqe
lea rcx, [rdi + rax - 2]
xor byte [rcx], 1
test esi, esi
jle 0x140178b00
lea rdx, [rdi + rax - 1]
lea rax, [rdi + rax + 0xf]
cmp r12, rax
lea rax, [r12 + 0x10]
lea r8d, [rsi - 1]
setae r9b
cmp rdx, rax
setae al
or r9b, al
je 0x140178bb7
cmp r8d, 0xe
jbe 0x140178bb7
mov r8d, esi
xor eax, eax
shr r8d, 4
shl r8, 4
nop word cs:[rax + rax]
movdqu xmm0, xmmword [rdx + rax]
movdqu xmm1, xmmword [r12 + rax]
pxor xmm0, xmm1
movups xmmword [rdx + rax], xmm0
add rax, 0x10
cmp rax, r8
jne 0x1401789b0
mov edx, esi
and edx, 0xfffffff0
mov r8d, edx
lea rax, [rcx + r8 + 1]
cmp esi, edx
je 0x140178b00
movzx ecx, byte [r12 + r8]
xor byte [rax], cl
lea ecx, [rdx + 1]
cmp ecx, esi
jge 0x140178b00
movsxd rcx, ecx
movzx ecx, byte [r12 + rcx]
xor byte [rax + 1], cl
lea ecx, [rdx + 2]
cmp esi, ecx
jle 0x140178b00
movsxd rcx, ecx
movzx ecx, byte [r12 + rcx]
xor byte [rax + 2], cl
lea ecx, [rdx + 3]
cmp esi, ecx
jle 0x140178b00
movsxd rcx, ecx
movzx ecx, byte [r12 + rcx]
xor byte [rax + 3], cl
lea ecx, [rdx + 4]
cmp esi, ecx
jle 0x140178b00
movsxd rcx, ecx
movzx ecx, byte [r12 + rcx]
xor byte [rax + 4], cl
lea ecx, [rdx + 5]
cmp esi, ecx
jle 0x140178b00
movsxd rcx, ecx
movzx ecx, byte [r12 + rcx]
xor byte [rax + 5], cl
lea ecx, [rdx + 6]
cmp esi, ecx
jle 0x140178b00
movsxd rcx, ecx
movzx ecx, byte [r12 + rcx]
xor byte [rax + 6], cl
lea ecx, [rdx + 7]
cmp esi, ecx
jle 0x140178b00
movsxd rcx, ecx
movzx ecx, byte [r12 + rcx]
xor byte [rax + 7], cl
lea ecx, [rdx + 8]
cmp esi, ecx
jle 0x140178b00
movsxd rcx, ecx
movzx ecx, byte [r12 + rcx]
xor byte [rax + 8], cl
lea ecx, [rdx + 9]
cmp esi, ecx
jle 0x140178b00
movsxd rcx, ecx
movzx ecx, byte [r12 + rcx]
xor byte [rax + 9], cl
lea ecx, [rdx + 0xa]
cmp esi, ecx
jle 0x140178b00
movsxd rcx, ecx
movzx ecx, byte [r12 + rcx]
xor byte [rax + 0xa], cl
lea ecx, [rdx + 0xb]
cmp esi, ecx
jle 0x140178b00
movsxd rcx, ecx
movzx ecx, byte [r12 + rcx]
xor byte [rax + 0xb], cl
lea ecx, [rdx + 0xc]
cmp esi, ecx
jle 0x140178b00
movsxd rcx, ecx
movzx ecx, byte [r12 + rcx]
xor byte [rax + 0xc], cl
lea ecx, [rdx + 0xd]
cmp esi, ecx
jle 0x140178b00
movsxd rcx, ecx
add edx, 0xe
movzx ecx, byte [r12 + rcx]
xor byte [rax + 0xd], cl
cmp esi, edx
jle 0x140178b00
movsxd rdx, edx
movzx edx, byte [r12 + rdx]
xor byte [rax + 0xe], dl
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x140178b18
mov ecx, 8
sub ecx, eax
mov eax, 0xff
sar eax, cl
and byte [rdi], al
movsxd r13, r13d
mov eax, 1
mov byte [rdi + r13 - 1], 0xbc
test r12, r12
jne 0x14017879f
jmp 0x1401787e2
mov esi, eax
jmp 0x140178701
mov r8d, 0x6e
mov edx, 0x94
mov ecx, 4
mov dword [rsp + 0x20], 0xe4
lea r9, str.rsa_pss.c
call fcn.1400ba710
xor eax, eax
jmp 0x1401787e2
xor eax, eax
jmp 0x14017879f
mov r8d, 0x41
mov edx, 0x94
mov ecx, 4
mov dword [rsp + 0x20], 0xeb
lea r9, str.rsa_pss.c
call fcn.1400ba710
xor eax, eax
jmp 0x1401787e2
xor eax, eax
jmp 0x140178b26
mov edx, r8d
mov eax, 1
add rdx, 2
nop dword [rax + rax]
movzx r8d, byte [r12 + rax - 1]
xor byte [rcx + rax], r8b
add rax, 1
cmp rax, rdx
jne 0x140178bc8
jmp 0x140178b00