Function at 0x1800a9d80
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x78
mov rsi, rcx
xor r15d, r15d
lea rcx, [rsp + 0x40]
mov edi, r15d
mov rbx, r9
mov r14, rdx
call sym.version.dll_EVP_MD_CTX_init
mov rax, qword [rsp + 0xd0]
mov rcx, rbx
test rax, rax
cmovne rcx, rax
mov qword [rsp + 0x38], rcx
mov rcx, rbx
call sym.version.dll_EVP_MD_size
movsxd r12, eax
test eax, eax
js 0x1800aa0cb
mov ebx, dword [rsp + 0xd8]
cmp ebx, 0xffffffff
jne 0x1800a9e30
mov ebx, r12d
mov rcx, qword [rsi + 0x18]
mov qword [rsp + 0x70], r13
call sym.version.dll_BN_num_bits
mov rcx, rsi
lea r13d, [rax - 1]
call sym.version.dll_RSA_size
mov dword [rsp + 0xd0], eax
mov ecx, eax
and r13d, 7
jne 0x1800a9e21
mov byte [r14], dil
inc r14
dec ecx
mov dword [rsp + 0xd0], ecx
cmp ebx, 0xfffffffe
jne 0x1800a9e62
mov esi, ecx
sub esi, r12d
lea ebx, [rsi - 2]
jmp 0x1800a9e99
cmp ebx, 0xfffffffe
jne 0x1800a9e37
jmp 0x1800a9de9
jge 0x1800a9de9
lea r9, str.________________________________________C:LibreSS5crypto_rsa_rsa_pss.c
mov dword [rsp + 0x20], 0xd8
mov edx, 0xfff
mov ecx, 4
mov r8d, 0x88
call sym.version.dll_ERR_put_error
jmp 0x1800aa0cb
lea eax, [r12 + 2]
add eax, ebx
cmp ecx, eax
jge 0x1800a9e94
mov ecx, 4
mov dword [rsp + 0x20], 0xe5
lea r9, str.________________________________________C:LibreSS5crypto_rsa_rsa_pss.c
mov edx, 0xfff
lea r8d, [rcx + 0x6a]
call sym.version.dll_ERR_put_error
jmp 0x1800aa0c6
mov esi, ecx
sub esi, r12d
mov qword [rsp + 0xb0], rbp
movsxd rbp, ebx
test ebx, ebx
jle 0x1800a9ee8
mov rcx, rbp
call fcn.1800d829c
mov rdi, rax
test rax, rax
jne 0x1800a9edd
lea r9, str.________________________________________C:LibreSS5crypto_rsa_rsa_pss.c
mov dword [rsp + 0x20], 0xeb
mov edx, 0xfff
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
call sym.version.dll_ERR_put_error
jmp 0x1800aa0be
mov rdx, rbp
mov rcx, rax
call sym.version.dll_arc4random_buf
mov rdx, qword [rsp + 0xc8]
lea eax, [rsi - 1]
cdqe
lea rcx, [rsp + 0x40]
add rax, r14
xor r8d, r8d
mov qword [rsp + 0x30], rax
call sym.version.dll_EVP_DigestInit_ex
test eax, eax
je 0x1800aa0be
mov r8d, 8
lea rdx, [0x1801398b0]
lea rcx, [rsp + 0x40]
call sym.version.dll_EVP_DigestUpdate
test eax, eax
je 0x1800aa0be
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x40]
mov r8, r12
call sym.version.dll_EVP_DigestUpdate
test eax, eax
je 0x1800aa0be
test ebx, ebx
je 0x1800a9f6a
mov r8, rbp
lea rcx, [rsp + 0x40]
mov rdx, rdi
call sym.version.dll_EVP_DigestUpdate
test eax, eax
je 0x1800aa0be
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x40]
xor r8d, r8d
call sym.version.dll_EVP_DigestFinal_ex
test eax, eax
je 0x1800aa0be
mov rax, qword [rsp + 0x38]
lea edx, [rsi - 1]
mov r8, qword [rsp + 0x30]
mov r9d, r12d
mov rcx, r14
mov qword [rsp + 0x20], rax
call sym.version.dll_PKCS1_MGF1
test eax, eax
jne 0x1800aa0be
sub esi, ebx
movsxd rax, esi
add rax, r14
xor byte [rax - 2], 1
dec rax
test ebx, ebx
jle 0x1800aa093
cmp ebx, 0x40
jb 0x1800aa06f
lea ecx, [rbx - 1]
movsxd rdx, ecx
lea rcx, [rdx + rdi]
lea r8, [rdx + rax]
cmp rax, rcx
ja 0x1800a9fe5
cmp r8, rdi
jae 0x1800aa06f
mov ecx, ebx
and ecx, 0x8000003f
jge 0x1800a9ff6
dec ecx
or ecx, 0xffffffc0
inc ecx
sub ebx, ecx
lea rdx, [rdi + 0x20]
mov r8, 0xffffffffffffffe0
movsxd r9, ebx
sub r8, rdi
nop dword [rax]
movdqu xmm0, xmmword [rax]
add r15d, 0x40
movdqu xmm1, xmmword [rdx - 0x20]
lea rdx, [rdx + 0x40]
lea rcx, [r8 + rdx]
pxor xmm1, xmm0
movdqu xmmword [rax], xmm1
movdqu xmm0, xmmword [rax + 0x10]
movdqu xmm1, xmmword [rdx - 0x50]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rdx - 0x40]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmm1, xmmword [rax + 0x20]
pxor xmm1, xmm0
movdqu xmmword [rax + 0x20], xmm1
movdqu xmm0, xmmword [rax + 0x30]
movdqu xmm1, xmmword [rdx - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax + 0x30], xmm1
add rax, 0x40
cmp rcx, r9
jl 0x1800aa010
movsxd r8, r15d
cmp r8, rbp
jge 0x1800aa093
nop word [rax + rax]
movzx edx, byte [r8 + rdi]
inc r8
xor byte [rax], dl
lea rax, [rax + 1]
cmp r8, rbp
jl 0x1800aa080
test r13d, r13d
je 0x1800aa0aa
mov ecx, 8
mov eax, 0xff
sub ecx, r13d
sar eax, cl
and byte [r14], al
movsxd rax, dword [rsp + 0xd0]
mov r15d, 1
mov byte [rax + r14 - 1], 0xbc
mov rbp, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x70]
mov rcx, rdi
call fcn.1800d8288
lea rcx, [rsp + 0x40]
call sym.version.dll_EVP_MD_CTX_cleanup
mov eax, r15d
add rsp, 0x78
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret