Function at 0x4406e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov rdi, qword [rsp + 0xf0]
mov qword [rsp + 0xd8], rdx
mov r12, rcx
mov r14, r8
mov rbx, r9
call sym.EVP_MD_CTX_new
mov r13, rax
test rax, rax
je 0x440ab0
test rbx, rbx
mov rcx, r14
cmove rbx, r14
call sym.EVP_MD_get_size
mov ebp, eax
test eax, eax
js 0x440ab0
cmp dword [rsp + 0xf8], 0xffffffff
je 0x440b28
cmp dword [rsp + 0xf8], 0xfffffffc
jl 0x440a80
mov rcx, qword [r12 + 0x28]
mov r15d, 0xff
call sym.BN_num_bits
mov rcx, r12
lea esi, [rax - 1]
call sym.RSA_size
and esi, 7
movzx edx, byte [rdi]
mov ecx, esi
shl r15d, cl
and r15d, edx
jne 0x440b58
test esi, esi
jne 0x44078c
add rdi, 1
sub eax, 1
lea edx, [rbp + 1]
cmp edx, eax
jge 0x440b98
mov r11d, eax
sub r11d, ebp
cmp dword [rsp + 0xf8], 0xfffffffd
je 0x440b38
lea edx, [r11 - 1]
cmp edx, dword [rsp + 0xf8]
jle 0x440bd0
cdqe
cmp byte [rdi + rax - 1], 0xbc
jne 0x440af0
lea r10d, [r11 - 1]
mov r8d, 0x64
mov dword [rsp + 0x3c], r11d
lea rdx, str..._openssl_3.1.1_crypto_rsa_rsa_pss.c
movsxd rcx, r10d
mov dword [rsp + 0x38], r10d
lea rax, [rdi + rcx]
mov qword [rsp + 0x30], rax
call sym.CRYPTO_malloc
mov r10d, dword [rsp + 0x38]
mov r11d, dword [rsp + 0x3c]
test rax, rax
mov r12, rax
je 0x440cab
mov qword [rsp + 0x20], rbx
mov r8, qword [rsp + 0x30]
mov r9d, ebp
mov edx, r10d
mov rcx, rax
mov dword [rsp + 0x3c], r11d
mov dword [rsp + 0x38], r10d
call sym.PKCS1_MGF1
test eax, eax
js 0x440ab6
mov r10d, dword [rsp + 0x38]
mov r11d, dword [rsp + 0x3c]
test r10d, r10d
jle 0x440941
lea ecx, [r11 - 2]
cmp ecx, 0xe
jbe 0x440c64
mov edx, r10d
xor eax, eax
shr edx, 4
shl rdx, 4
nop dword [rax]
movdqu xmm0, xmmword [r12 + rax]
movdqu xmm2, xmmword [rdi + rax]
pxor xmm0, xmm2
movups xmmword [r12 + rax], xmm0
add rax, 0x10
cmp rax, rdx
jne 0x440868
mov edx, r10d
and edx, 0xfffffff0
mov eax, edx
cmp edx, r10d
je 0x440941
mov r8d, r10d
sub ecx, edx
sub r8d, edx
cmp ecx, 6
jbe 0x4408c5
lea rcx, [r12 + rdx]
movq xmm0, qword [rdi + rdx]
mov edx, r8d
movq xmm1, qword [rcx]
and edx, 0xfffffff8
add eax, edx
pxor xmm0, xmm1
movq qword [rcx], xmm0
cmp r8d, edx
je 0x440941
movsxd rdx, eax
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 1]
cmp r10d, edx
jle 0x440941
movsxd rdx, edx
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 2]
cmp edx, r10d
jge 0x440941
movsxd rdx, edx
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 3]
cmp r10d, edx
jle 0x440941
movsxd rdx, edx
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 4]
cmp r10d, edx
jle 0x440941
movsxd rdx, edx
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 5]
cmp r10d, edx
jle 0x440941
movsxd rdx, edx
add eax, 6
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
cmp r10d, eax
jle 0x440941
cdqe
movzx edx, byte [rdi + rax]
xor byte [r12 + rax], dl
movzx r8d, byte [r12]
test esi, esi
je 0x44095f
mov ecx, 8
mov eax, 0xff
sub ecx, esi
sar eax, cl
and r8d, eax
mov byte [r12], r8b
test r8b, r8b
jne 0x440c6d
cmp r11d, 2
jle 0x440be8
lea edx, [r11 - 3]
mov eax, 1
add rdx, 2
jmp 0x440995
add rax, 1
cmp rax, rdx
je 0x440be8
movzx r8d, byte [r12 + rax]
mov ebx, eax
test r8b, r8b
je 0x440988
add ebx, 1
cmp r8b, 1
jne 0x440be8
mov eax, dword [rsp + 0xf8]
and eax, 0xfffffffd
cmp eax, 0xfffffffc
je 0x4409cf
mov esi, r10d
sub esi, ebx
cmp esi, dword [rsp + 0xf8]
jne 0x440c20
xor r8d, r8d
mov rdx, r14
mov rcx, r13
mov dword [rsp + 0x38], r10d
call sym.EVP_DigestInit_ex
test eax, eax
je 0x440ab3
mov r8d, 8
lea rdx, [0x0075b3d0]
mov rcx, r13
call sym.EVP_DigestUpdate
test eax, eax
je 0x440ab3
movsxd rsi, ebp
mov rdx, qword [rsp + 0xd8]
mov rcx, r13
mov r8, rsi
call sym.EVP_DigestUpdate
test eax, eax
je 0x440ab3
mov r10d, dword [rsp + 0x38]
cmp r10d, ebx
je 0x440a47
sub r10d, ebx
movsxd rdx, ebx
mov rcx, r13
add rdx, r12
movsxd r8, r10d
call sym.EVP_DigestUpdate
test eax, eax
je 0x440ab3
lea r14, [rsp + 0x40]
xor r8d, r8d
mov rcx, r13
mov rdx, r14
call sym.EVP_DigestFinal_ex
test eax, eax
je 0x440ab3
mov rdx, qword [rsp + 0x30]
mov r8, rsi
mov rcx, r14
call sym.memcmp
test eax, eax
jne 0x440c77
mov r15d, 1
jmp 0x440ab6
call sym.ERR_new
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov edx, 0x46
lea rcx, str..._openssl_3.1.1_crypto_rsa_rsa_pss.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x88
mov ecx, 4
call sym.ERR_set_error
nop
xor r12d, r12d
xor r15d, r15d
mov r8d, 0x8e
lea rdx, str..._openssl_3.1.1_crypto_rsa_rsa_pss.c
mov rcx, r12
call sym.CRYPTO_free
mov rcx, r13
call sym.EVP_MD_CTX_free
mov eax, r15d
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call sym.ERR_new
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov edx, 0x5f
xor r12d, r12d
lea rcx, str..._openssl_3.1.1_crypto_rsa_rsa_pss.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x86
mov ecx, 4
call sym.ERR_set_error
jmp 0x440ab6
mov dword [rsp + 0xf8], eax
jmp 0x440752
cdqe
lea ecx, [r11 - 2]
cmp byte [rdi + rax - 1], 0xbc
mov dword [rsp + 0xf8], ecx
je 0x4407c9
jmp 0x440af0
call sym.ERR_new
mov edx, 0x4d
xor r12d, r12d
xor r15d, r15d
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
lea rcx, str..._openssl_3.1.1_crypto_rsa_rsa_pss.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x85
mov ecx, 4
call sym.ERR_set_error
jmp 0x440ab6
call sym.ERR_new
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov edx, 0x55
lea rcx, str..._openssl_3.1.1_crypto_rsa_rsa_pss.c
xor r12d, r12d
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x6d
mov ecx, 4
call sym.ERR_set_error
jmp 0x440ab6
call sym.ERR_new
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov edx, 0x5b
jmp 0x440ba9
call sym.ERR_new
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov edx, 0x71
lea rcx, str..._openssl_3.1.1_crypto_rsa_rsa_pss.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x87
mov ecx, 4
call sym.ERR_set_error
jmp 0x440ab6
call sym.ERR_new
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov edx, 0x77
lea rcx, str..._openssl_3.1.1_crypto_rsa_rsa_pss.c
call sym.ERR_set_debug
mov dword [rsp + 0x20], esi
mov edx, 0x88
mov r9d, dword [rsp + 0xf8]
lea r8, str.expected:__d_retrieved:__d
mov ecx, 4
call sym.ERR_set_error
jmp 0x440ab6
xor eax, eax
xor edx, edx
jmp 0x440896
mov ebx, 1
jmp 0x4409a4
call sym.ERR_new
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov edx, 0x87
lea rcx, str..._openssl_3.1.1_crypto_rsa_rsa_pss.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x68
mov ecx, 4
call sym.ERR_set_error
jmp 0x440ab6
call sym.ERR_new
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov edx, 0x66
lea rcx, str..._openssl_3.1.1_crypto_rsa_rsa_pss.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0xc0100
mov ecx, 4
call sym.ERR_set_error
jmp 0x440ab6