Function at 0x1800aa110
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0xe0
mov rax, qword [0x1801772b8]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov r12, qword [rsp + 0x140]
mov rdi, rcx
xor r15d, r15d
mov qword [rsp + 0x40], r8
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x48], rdx
mov esi, r15d
mov rbx, r9
mov rbp, r8
call sym.version.dll_EVP_MD_CTX_init
test rbx, rbx
mov rax, rbp
mov rcx, rbp
cmovne rax, rbx
mov qword [rsp + 0x38], rax
call sym.version.dll_EVP_MD_size
movsxd r13, eax
test eax, eax
js 0x1800aa553
mov ebp, dword [rsp + 0x148]
cmp ebp, 0xffffffff
jne 0x1800aa1ec
mov ebp, r13d
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0xd8], r14
call sym.version.dll_BN_num_bits
mov rcx, rdi
lea r14d, [rax - 1]
and r14d, 7
call sym.version.dll_RSA_size
mov ecx, r14d
mov edx, 0xff
shl edx, cl
mov edi, eax
test byte [r12], dl
je 0x1800aa21e
lea r9, str.________________________________________C:LibreSS5crypto_rsa_rsa_pss.c
mov dword [rsp + 0x20], 0x75
mov edx, 0xfff
mov ecx, 4
mov r8d, 0x85
call sym.version.dll_ERR_put_error
jmp 0x1800aa54b
cmp ebp, 0xfffffffe
jne 0x1800aa1f3
jmp 0x1800aa190
jge 0x1800aa190
lea r9, str.________________________________________C:LibreSS5crypto_rsa_rsa_pss.c
mov dword [rsp + 0x20], WSAGetLastError
mov edx, 0xfff
mov ecx, 4
mov r8d, 0x88
call sym.version.dll_ERR_put_error
jmp 0x1800aa553
test r14d, r14d
jne 0x1800aa225
dec edi
test r14d, r14d
lea rbx, [r12 + 1]
lea eax, [r13 + 2]
cmovne rbx, r12
add eax, ebp
cmp edi, eax
jge 0x1800aa262
mov ecx, 4
mov dword [rsp + 0x20], 0x7e
lea r9, str.________________________________________C:LibreSS5crypto_rsa_rsa_pss.c
mov edx, 0xfff
lea r8d, [rcx + 0x69]
call sym.version.dll_ERR_put_error
jmp 0x1800aa54b
movsxd rax, edi
cmp byte [rax + rbx - 1], 0xbc
je 0x1800aa295
lea r9, str.________________________________________C:LibreSS5crypto_rsa_rsa_pss.c
mov dword [rsp + 0x20], 0x82
mov edx, 0xfff
mov ecx, 4
mov r8d, 0x86
call sym.version.dll_ERR_put_error
jmp 0x1800aa54b
sub edi, r13d
dec edi
movsxd r12, edi
mov rcx, r12
lea rax, [r12 + rbx]
mov qword [rsp + 0x30], rax
call fcn.1800d829c
mov rsi, rax
test rax, rax
jne 0x1800aa2db
lea r9, str.________________________________________C:LibreSS5crypto_rsa_rsa_pss.c
mov dword [rsp + 0x20], 0x89
mov edx, 0xfff
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
call sym.version.dll_ERR_put_error
jmp 0x1800aa54b
mov rax, qword [rsp + 0x38]
mov r9d, r13d
mov r8, qword [rsp + 0x30]
mov edx, edi
mov rcx, rsi
mov qword [rsp + 0x20], rax
call sym.version.dll_PKCS1_MGF1
test eax, eax
js 0x1800aa54b
mov r8d, r15d
test edi, edi
jle 0x1800aa3c0
cmp edi, 0x40
jb 0x1800aa3c0
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rcx + rbx]
lea rdx, [rcx + rsi]
cmp rsi, rax
ja 0x1800aa32f
cmp rdx, rbx
jae 0x1800aa3c0
mov ecx, edi
and ecx, 0x8000003f
jge 0x1800aa340
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, edi
mov rdx, rbx
sub eax, ecx
sub rdx, rsi
mov r9, 0xfffffffffffffff0
movsxd r10, eax
sub r9, rsi
lea rcx, [rsi + 0x10]
nop dword [rax + rax]
movdqu xmm0, xmmword [rcx - 0x10]
add r8d, 0x40
movdqu xmm1, xmmword [rcx + rdx - 0x10]
movdqu xmm2, xmmword [rcx + rdx]
lea rcx, [rcx + 0x40]
pxor xmm1, xmm0
lea rax, [r9 + rcx]
movdqu xmmword [rcx - 0x50], xmm1
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmm1, xmmword [rcx + rdx - 0x30]
pxor xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm2
movdqu xmm0, xmmword [rcx - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm1, xmmword [rcx + rdx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
cmp rax, r10
jl 0x1800aa360
movsxd rax, r8d
cmp rax, r12
jge 0x1800aa3e4
add rax, rsi
sub rbx, rsi
nop
movzx ecx, byte [rbx + rax]
xor byte [rax], cl
inc rax
mov rcx, rax
sub rcx, rsi
cmp rcx, r12
jl 0x1800aa3d0
test r14d, r14d
je 0x1800aa3fa
mov ecx, 8
mov eax, 0xff
sub ecx, r14d
sar eax, cl
and byte [rsi], al
movzx eax, byte [rsi]
mov ebx, r15d
test al, al
jne 0x1800aa41e
lea ecx, [rdi - 1]
mov rax, rsi
nop word [rax + rax]
cmp ebx, ecx
jge 0x1800aa41e
inc rax
inc ebx
cmp byte [rax], r15b
je 0x1800aa410
movsxd rax, ebx
inc ebx
cmp byte [rax + rsi], 1
je 0x1800aa452
lea r9, str.________________________________________C:LibreSS5crypto_rsa_rsa_pss.c
mov dword [rsp + 0x20], 0x95
mov edx, 0xfff
mov ecx, 4
mov r8d, 0x87
call sym.version.dll_ERR_put_error
jmp 0x1800aa54b
sub edi, ebx
test ebp, ebp
js 0x1800aa485
cmp edi, ebp
je 0x1800aa485
lea r9, str.________________________________________C:LibreSS5crypto_rsa_rsa_pss.c
mov dword [rsp + 0x20], 0x99
mov edx, 0xfff
mov ecx, 4
mov r8d, 0x88
call sym.version.dll_ERR_put_error
jmp 0x1800aa54b
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x50]
xor r8d, r8d
call sym.version.dll_EVP_DigestInit_ex
test eax, eax
je 0x1800aa54b
mov r8d, 8
lea rdx, [0x1801398b0]
lea rcx, [rsp + 0x50]
call sym.version.dll_EVP_DigestUpdate
test eax, eax
je 0x1800aa54b
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x50]
mov r8, r13
call sym.version.dll_EVP_DigestUpdate
test eax, eax
je 0x1800aa54b
test edi, edi
je 0x1800aa4ef
movsxd rdx, ebx
lea rcx, [rsp + 0x50]
add rdx, rsi
movsxd r8, edi
call sym.version.dll_EVP_DigestUpdate
test eax, eax
je 0x1800aa54b
xor r8d, r8d
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x50]
call sym.version.dll_EVP_DigestFinal_ex
test eax, eax
je 0x1800aa54b
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x80]
mov r8, r13
call fcn.1800d75d0
test eax, eax
je 0x1800aa545
mov ecx, 4
mov dword [rsp + 0x20], 0xa7
lea r9, str.________________________________________C:LibreSS5crypto_rsa_rsa_pss.c
mov edx, 0xfff
lea r8d, [rcx + 0x64]
call sym.version.dll_ERR_put_error
jmp 0x1800aa54b
mov r15d, 1
mov r14, qword [rsp + 0xd8]
mov rcx, rsi
call fcn.1800d8288
lea rcx, [rsp + 0x50]
call sym.version.dll_EVP_MD_CTX_cleanup
mov eax, r15d
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1800d61c0
add rsp, 0xe0
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret