Function at 0x140108a10
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.1400fd550
mov ebx, eax
test rbx, rbx
je 0x140108dd5
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.1400eb8b0
test rax, rax
mov r15, rax
je 0x140108c39
cmp rbx, r14
mov dword [rsp + 0x40], 0x8b
je 0x140108b4c
cmp rbp, 7
mov rax, r15
jbe 0x140108b10
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 0x140108af0
neg rcx
lea rbp, [rsi + rcx*8]
and rsi, 0xfffffffffffffff8
lea rax, [r15 + rsi + 8]
test rbp, rbp
lea rdx, [rax + rbp]
je 0x140108b2c
nop dword [rax]
mov byte [rax], 0
add rax, 1
cmp rax, rdx
jne 0x140108b20
mov rcx, r15
call fcn.1400eba10
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 0x140108ace
mov rcx, rdi
call fcn.1400eb8b0
test rax, rax
mov r14, rax
je 0x140108dc7
mov rax, qword [rsp + 0x88]
mov edx, dword [rsp + 0x38]
add rax, rbx
test edx, edx
mov qword [rsp + 0x48], rax
je 0x140108c66
cmp qword [rsp + 0x70], 0
je 0x140108c51
mov rcx, qword [rsp + 0x80]
cmp qword [rsp + 0x50], rcx
mov dword [rsp + 0x40], 0x2d
je 0x140108db0
cmp r13d, 7
mov rax, r14
jbe 0x140108c10
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 0x140108bf0
neg r8
lea rdi, [rcx + r8*8]
and rcx, 0xfffffffffffffff8
lea rax, [r14 + rcx + 8]
test rdi, rdi
lea rdx, [rax + rdi]
je 0x140108c2c
nop dword [rax]
mov byte [rax], 0
add rax, 1
cmp rax, rdx
jne 0x140108c20
mov rcx, r14
call fcn.1400eba10
jmp 0x140108ace
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14014d490
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov r8d, 1
call fcn.140116320
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.1400fcd40
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.140107b80
mov r10, qword [rsp + 0x40]
xor eax, eax
mov r11, qword [rsp + 0x38]
test r10, r10
je 0x140108d40
movzx edx, byte [r11 + rax]
xor byte [r14 + rax], dl
add rax, 1
cmp r10, rax
jne 0x140108d2e
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.14011e110
test eax, eax
mov dword [rsp + 0x40], eax
jne 0x140108bd5
mov ecx, 1
call fcn.1400ebf00
test eax, eax
je 0x140108bd5
mov rax, qword [rsp + 0x60]
lea rcx, str.PSS_encoded_data
mov rdx, qword [rax]
call fcn.1400ea5a0
jmp 0x140108bd5
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x140108c66
call fcn.14014d490
mov dword [rsp + 0x40], eax
jmp 0x140108ace
lea r9, str._gcry_rsa_pss_encode
lea rdx, str.rsa_common.c
lea rcx, str.hlen
mov r8d, 0x320
call fcn.1400ea260
nop
nop word cs:[rax + rax]