Function at 0x440d00
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov ebx, dword [rsp + 0xb0]
mov rdi, rcx
mov rcx, r9
mov r12, rdx
mov rbp, r9
mov qword [rsp + 0xa0], r8
call sym.EVP_MD_get_size
mov esi, eax
test eax, eax
js 0x440e97
cmp ebx, 0xffffffff
je 0x4410f0
cmp ebx, 0xfffffffe
je 0x440ea8
cmp ebx, 0xfffffffc
je 0x441100
mov r14d, 0xffffffff
jl 0x441160
mov rcx, qword [rdi + 0x28]
call sym.BN_num_bits
mov rcx, rdi
sub eax, 1
and eax, 7
mov dword [rsp + 0x38], eax
mov r15d, eax
call sym.RSA_size
mov r13d, eax
test r15d, r15d
jne 0x440d94
mov byte [r12], 0
sub r13d, 1
add r12, 1
lea eax, [rsi + 1]
cmp eax, r13d
jge 0x440e68
mov eax, r13d
sub eax, esi
mov dword [rsp + 0x30], eax
cmp ebx, 0xfffffffd
je 0x4410d0
sub eax, 1
cmp ebx, eax
jge 0x441120
movsxd r15, ebx
test ebx, ebx
jle 0x4410c0
mov r8d, 0xdd
lea rdx, str..._openssl_3.1.1_crypto_rsa_rsa_pss.c
mov rcx, r15
call sym.CRYPTO_malloc
mov r14, rax
test rax, rax
je 0x441191
mov rcx, qword [rdi + 8]
xor r9d, r9d
mov r8, r15
mov rdx, rax
call sym.RAND_bytes_ex
test eax, eax
jle 0x441110
call sym.EVP_MD_CTX_new
mov rdi, rax
xor eax, eax
test rdi, rdi
je 0x440e28
xor r8d, r8d
mov rdx, rbp
mov rcx, rdi
call sym.EVP_DigestInit_ex
test eax, eax
jne 0x440ec0
mov rcx, rdi
mov dword [rsp + 0x30], eax
call sym.EVP_MD_CTX_free
mov r9d, 0x10e
mov rdx, r15
mov rcx, r14
lea r8, str..._openssl_3.1.1_crypto_rsa_rsa_pss.c
call sym.CRYPTO_clear_free
mov eax, dword [rsp + 0x30]
add rsp, 0x48
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_padding_add_PKCS1_PSS_mgf1
mov edx, 0xd1
lea rcx, str..._openssl_3.1.1_crypto_rsa_rsa_pss.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x6e
mov ecx, 4
call sym.ERR_set_error
movsxd r15, ebx
xor edi, edi
xor r14d, r14d
xor eax, eax
jmp 0x440e28
mov r14d, 0xffffffff
mov ebx, 0xfffffffd
jmp 0x440d61
mov r8d, 8
lea rdx, [0x0075b3d0]
mov rcx, rdi
call sym.EVP_DigestUpdate
test eax, eax
je 0x440e28
mov rdx, qword [rsp + 0xa0]
movsxd r8, esi
mov rcx, rdi
call sym.EVP_DigestUpdate
test eax, eax
je 0x440e28
test ebx, ebx
je 0x440f12
mov r8, r15
mov rdx, r14
mov rcx, rdi
call sym.EVP_DigestUpdate
test eax, eax
je 0x440e28
mov r10d, dword [rsp + 0x30]
xor r8d, r8d
mov rcx, rdi
sub r10d, 1
movsxd rdx, r10d
mov dword [rsp + 0x3c], r10d
add rdx, r12
mov qword [rsp + 0x30], rdx
call sym.EVP_DigestFinal_ex
test eax, eax
je 0x440e28
mov rdx, qword [rsp + 0x30]
mov r10d, dword [rsp + 0x3c]
mov r9d, esi
mov rcx, r12
mov qword [rsp + 0x20], rbp
mov r8, rdx
mov edx, r10d
call sym.PKCS1_MGF1
mov edx, eax
xor eax, eax
test edx, edx
jne 0x440e28
mov r8d, r13d
sub r8d, ebx
sub r8d, esi
movsxd r8, r8d
lea rcx, [r12 + r8 - 2]
xor byte [rcx], 1
test ebx, ebx
jle 0x44108f
lea r10d, [rbx - 1]
add rcx, 1
cmp r10d, 0xe
jbe 0x44118a
mov r9d, ebx
lea rdx, [r12 + r8 - 1]
xor eax, eax
shr r9d, 4
shl r9, 4
nop word [rax + rax]
movdqu xmm2, xmmword [rdx + rax]
movdqu xmm0, xmmword [r14 + rax]
pxor xmm0, xmm2
movups xmmword [rdx + rax], xmm0
add rax, 0x10
cmp rax, r9
jne 0x440fb0
mov eax, ebx
and eax, 0xfffffff0
mov edx, eax
add rcx, rdx
mov edx, eax
cmp ebx, eax
je 0x44108f
mov r9d, ebx
sub r10d, eax
sub r9d, eax
cmp r10d, 6
jbe 0x44101e
lea r8, [r8 + rax - 1]
movq xmm0, qword [r14 + rax]
mov eax, r9d
add r8, r12
and eax, 0xfffffff8
movq xmm1, qword [r8]
add edx, eax
pxor xmm0, xmm1
movq qword [r8], xmm0
mov r8d, eax
add rcx, r8
cmp r9d, eax
je 0x44108f
movsxd rax, edx
movzx eax, byte [r14 + rax]
xor byte [rcx], al
lea eax, [rdx + 1]
cmp ebx, eax
jle 0x44108f
cdqe
movzx eax, byte [r14 + rax]
xor byte [rcx + 1], al
lea eax, [rdx + 2]
cmp ebx, eax
jle 0x44108f
cdqe
movzx eax, byte [r14 + rax]
xor byte [rcx + 2], al
lea eax, [rdx + 3]
cmp ebx, eax
jle 0x44108f
cdqe
movzx eax, byte [r14 + rax]
xor byte [rcx + 3], al
lea eax, [rdx + 4]
cmp ebx, eax
jle 0x44108f
cdqe
movzx eax, byte [r14 + rax]
xor byte [rcx + 4], al
lea eax, [rdx + 5]
cmp ebx, eax
jle 0x44108f
cdqe
add edx, 6
movzx eax, byte [r14 + rax]
xor byte [rcx + 5], al
cmp ebx, edx
jle 0x44108f
movsxd rdx, edx
movzx eax, byte [r14 + rdx]
xor byte [rcx + 6], al
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x4410ab
mov ecx, 8
mov eax, 0xff
sub ecx, dword [rsp + 0x38]
sar eax, cl
and byte [r12], al
movsxd r13, r13d
mov eax, 1
mov byte [r12 + r13 - 1], 0xbc
jmp 0x440e28
xor r14d, r14d
jmp 0x440e03
lea ebx, [rax - 2]
test r14d, r14d
js 0x440dbd
cmp ebx, r14d
cmovg ebx, r14d
jmp 0x440dbd
mov r14d, 0xffffffff
mov ebx, eax
jmp 0x440d61
mov r14d, eax
mov ebx, 0xfffffffd
jmp 0x440d61
xor edi, edi
xor eax, eax
jmp 0x440e28
call sym.ERR_new
mov edx, 0xd9
movsxd r15, ebx
xor edi, edi
lea r8, str.RSA_padding_add_PKCS1_PSS_mgf1
lea rcx, str..._openssl_3.1.1_crypto_rsa_rsa_pss.c
xor r14d, r14d
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x6e
mov ecx, 4
call sym.ERR_set_error
xor eax, eax
jmp 0x440e28
call sym.ERR_new
lea r8, str.RSA_padding_add_PKCS1_PSS_mgf1
mov edx, 0xc6
lea rcx, str..._openssl_3.1.1_crypto_rsa_rsa_pss.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x88
jmp 0x440e8d
xor eax, eax
jmp 0x440fe0
call sym.ERR_new
lea r8, str.RSA_padding_add_PKCS1_PSS_mgf1
mov edx, 0xdf
xor edi, edi
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
xor eax, eax
jmp 0x440e28