Function at 0x140108b20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov edi, dword [rsp + 0x108]
mov rbx, qword [rsp + 0x110]
mov eax, edx
mov qword [rsp + 0x60], rcx
mov ecx, r8d
add eax, 7
mov dword [rsp + 0x7c], edx
mov dword [rsp + 0x6c], r8d
mov dword [rsp + 0x38], edi
mov rdi, qword [rsp + 0x118]
mov r13d, eax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x48], r9
shr r13d, 3
mov r14, qword [rsp + 0x100]
mov dword [rsp + 0x78], eax
mov qword [rsp + 0x80], rdi
mov edi, r13d
call fcn.1400fd660
mov ebx, eax
test rbx, rbx
je 0x140108ee5
movsxd rax, dword [rsp + 0x38]
mov qword [rsp + 0x50], rax
lea r12, [rbx + rax]
mov rax, rdi
sub rax, rbx
lea rsi, [r12 + rax]
mov qword [rsp + 0x58], rax
lea rbp, [rsi + 7]
mov rcx, rbp
call fcn.1400eb9c0
test rax, rax
mov r15, rax
je 0x140108d49
cmp rbx, r14
mov dword [rsp + 0x40], 0x8b
je 0x140108c5c
cmp rbp, 7
mov rax, r15
jbe 0x140108c20
sub rsi, 1
mov rcx, rsi
shr rcx, 3
lea rdx, [r15 + rcx*8 + 8]
nop word [rax + rax]
mov qword [rax], 0
add rax, 8
cmp rax, rdx
jne 0x140108c00
neg rcx
lea rbp, [rsi + rcx*8]
and rsi, 0xfffffffffffffff8
lea rax, [r15 + rsi + 8]
test rbp, rbp
lea rdx, [rax + rbp]
je 0x140108c3c
nop dword [rax]
mov byte [rax], 0
add rax, 1
cmp rax, rdx
jne 0x140108c30
mov rcx, r15
call fcn.1400ebb20
mov eax, dword [rsp + 0x40]
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [rax + 8]
mov rdx, qword [rsp + 0x48]
mov r8, rbx
mov rcx, rax
mov qword [rsp + 0x88], rax
call sub.msvcrt.dll_memcpy
lea rax, [r12 + 2]
mov dword [rsp + 0x40], 0x42
cmp rdi, rax
jb 0x140108bde
mov rcx, rdi
call fcn.1400eb9c0
test rax, rax
mov r14, rax
je 0x140108ed7
mov rax, qword [rsp + 0x88]
mov edx, dword [rsp + 0x38]
add rax, rbx
test edx, edx
mov qword [rsp + 0x48], rax
je 0x140108d76
cmp qword [rsp + 0x70], 0
je 0x140108d61
mov rcx, qword [rsp + 0x80]
cmp qword [rsp + 0x50], rcx
mov dword [rsp + 0x40], 0x2d
je 0x140108ec0
cmp r13d, 7
mov rax, r14
jbe 0x140108d20
lea rcx, [rdi - 8]
mov r8, rcx
shr r8, 3
lea rdx, [r14 + r8*8 + 8]
nop
mov qword [rax], 0
add rax, 8
cmp rax, rdx
jne 0x140108d00
neg r8
lea rdi, [rcx + r8*8]
and rcx, 0xfffffffffffffff8
lea rax, [r14 + rcx + 8]
test rdi, rdi
lea rdx, [rax + rdi]
je 0x140108d3c
nop dword [rax]
mov byte [rax], 0
add rax, 1
cmp rax, rdx
jne 0x140108d30
mov rcx, r14
call fcn.1400ebb20
jmp 0x140108bde
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14014d590
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov r8d, 1
call fcn.140116430
mov rcx, qword [rsp + 0x58]
mov r11, qword [rsp + 0x48]
mov r8, r15
add r11, qword [rsp + 0x50]
mov qword [r15], 0
lea r10, [rcx - 1]
mov ecx, dword [rsp + 0x6c]
lea r9, [r14 + r10]
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x80], r11
mov r10, r9
lea r9, [r12 + 8]
mov rdx, r10
mov qword [rsp + 0x38], r10
call fcn.1400fce50
mov r12, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
xor edx, edx
sub rcx, r12
lea r8, [rcx - 2]
mov rcx, r14
lea r9, [r14 + r8]
mov qword [rsp + 0x40], r9
call sub.msvcrt.dll_memset
mov r9, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov r8, r12
lea rcx, [r9 + 1]
mov byte [r9], 1
call sub.msvcrt.dll_memcpy
mov r10, qword [rsp + 0x70]
mov r11, qword [rsp + 0x80]
mov r9, rbx
mov eax, dword [rsp + 0x6c]
mov r8, qword [rsp + 0x38]
mov rdx, r10
mov rcx, r11
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x38], r11
call fcn.140107c90
mov r10, qword [rsp + 0x40]
xor eax, eax
mov r11, qword [rsp + 0x38]
test r10, r10
je 0x140108e50
movzx edx, byte [r11 + rax]
xor byte [r14 + rax], dl
add rax, 1
cmp r10, rax
jne 0x140108e3e
mov ecx, dword [rsp + 0x78]
mov eax, 0xff
mov r9, rdi
mov r8, r14
mov edx, 5
and ecx, 0xfffffff8
sub ecx, dword [rsp + 0x7c]
sar eax, cl
and byte [r14], al
mov rcx, qword [rsp + 0x60]
mov byte [r14 + rdi - 1], 0xbc
mov qword [rsp + 0x20], 0
call fcn.14011e220
test eax, eax
mov dword [rsp + 0x40], eax
jne 0x140108ce5
mov ecx, 1
call fcn.1400ec010
test eax, eax
je 0x140108ce5
mov rax, qword [rsp + 0x60]
lea rcx, str.PSS_encoded_data
mov rdx, qword [rax]
call fcn.1400ea6b0
jmp 0x140108ce5
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x140108d76
call fcn.14014d590
mov dword [rsp + 0x40], eax
jmp 0x140108bde
lea r9, str._gcry_rsa_pss_encode
lea rdx, str.rsa_common.c
lea rcx, str.hlen
mov r8d, 0x320
call fcn.1400ea370
nop
nop word cs:[rax + rax]