joyce8/EMBER2024-capa huggingface dataset:
Function at 0x436530
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov edx, dword [rcx]
mov rax, qword [rcx + 8]
mov rbx, rcx
cmp edx, 2
je 0x4365f0
jg 0x436578
test edx, edx
je 0x436598
cmp edx, 1
jne 0x436588
mov rcx, qword [rax]
call sym.OPENSSL_LH_strhash
mov edx, dword [rbx]
mov r9d, eax
mov eax, r9d
shl edx, 0x1e
and eax, 0x3fffffff
or eax, edx
add rsp, 0x28
pop rbx
pop rsi
ret
cmp edx, 3
jne 0x436588
mov r9d, dword [rax + 0x10]
jmp 0x436560
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
ret
mov ecx, dword [rax + 0x14]
mov r11, qword [rax + 0x18]
mov r9d, ecx
shl r9d, 0x14
test ecx, ecx
jle 0x436560
lea esi, [rcx + rcx*2]
xor r8d, r8d
mov ebx, 0xaaaaaaab
nop dword [rax]
mov eax, r8d
movzx r10d, byte [r11]
mov ecx, r8d
add r8d, 3
imul rax, rbx
add r11, 1
shr rax, 0x24
lea eax, [rax + rax*2]
shl eax, 3
sub ecx, eax
shl r10d, cl
xor r9d, r10d
cmp r8d, esi
jne 0x4365b8
jmp 0x436560
mov rcx, qword [rax + 8]
call sym.OPENSSL_LH_strhash
mov edx, dword [rbx]
mov r9d, eax
jmp 0x436560
Function at 0x442830
Capabilities:
Check for software breakpoints

Disassembly:
push r12
sub rsp, 0x20
mov eax, dword [rsp + 0x50]
mov r10, rcx
cmp eax, r9d
jne 0x442918
movzx ecx, byte [r8]
lea edx, [rcx - 0x6a]
cmp dl, 1
ja 0x442918
lea rdx, [r8 + 1]
lea r12d, [rax - 2]
cmp cl, 0x6b
je 0x442888
movsxd rax, r12d
cmp byte [rdx + rax], 0xcc
jne 0x442952
mov r8d, r12d
mov rcx, r10
call sym.memcpy
mov eax, r12d
add rsp, 0x20
pop r12
ret
lea r12d, [rax - 3]
test r12d, r12d
jle 0x4428b8
xor eax, eax
jmp 0x4428a5
cmp cl, 0xbb
jne 0x4428d0
add eax, 1
cmp r12d, eax
je 0x442910
movzx ecx, byte [rdx]
add rdx, 1
cmp cl, 0xba
jne 0x442898
sub r12d, eax
test eax, eax
jne 0x442863
call sym.ERR_new
lea r8, str.RSA_padding_check_X931
mov edx, 0x56
jmp 0x4428e1
call sym.ERR_new
lea r8, str.RSA_padding_check_X931
mov edx, 0x4e
lea rcx, str..._openssl_3.1.1_crypto_rsa_rsa_x931.c
mov r12d, 0xffffffff
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x8a
mov ecx, 4
call sym.ERR_set_error
mov eax, r12d
add rsp, 0x20
pop r12
ret
xor r12d, r12d
jmp 0x442863
call sym.ERR_new
mov edx, 0x43
lea r8, str.RSA_padding_check_X931
lea rcx, str..._openssl_3.1.1_crypto_rsa_rsa_x931.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x89
mov ecx, 4
call sym.ERR_set_error
mov r12d, 0xffffffff
jmp 0x44287b
call sym.ERR_new
mov edx, 0x5f
lea r8, str.RSA_padding_check_X931
lea rcx, str..._openssl_3.1.1_crypto_rsa_rsa_x931.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x8b
mov ecx, 4
call sym.ERR_set_error
mov r12d, 0xffffffff
jmp 0x44287b
Function at 0x45d6e0
Capabilities:
Enumerate pe sections

Disassembly:
test rdx, rdx
je 0x45d84d
movzx eax, byte [rdx + 2]
movzx r8d, byte [rdx + 1]
shl eax, 0x10
shl r8d, 8
or eax, r8d
movzx r8d, byte [rdx]
or eax, r8d
movzx r8d, byte [rdx + 3]
shl r8d, 0x18
or eax, r8d
mov dword [rcx + 0xc0], eax
movzx eax, byte [rdx + 6]
movzx r8d, byte [rdx + 5]
shl eax, 0x10
shl r8d, 8
or eax, r8d
movzx r8d, byte [rdx + 4]
or eax, r8d
movzx r8d, byte [rdx + 7]
shl r8d, 0x18
or eax, r8d
mov dword [rcx + 0xc4], eax
movzx eax, byte [rdx + 9]
movzx r8d, byte [rdx + 0xa]
shl eax, 8
shl r8d, 0x10
or eax, r8d
movzx r8d, byte [rdx + 8]
or eax, r8d
movzx r8d, byte [rdx + 0xb]
shl r8d, 0x18
or eax, r8d
mov dword [rcx + 0xc8], eax
movzx eax, byte [rdx + 0xd]
movzx r8d, byte [rdx + 0xe]
shl eax, 8
shl r8d, 0x10
or eax, r8d
movzx r8d, byte [rdx + 0xc]
or eax, r8d
movzx r8d, byte [rdx + 0xf]
shl r8d, 0x18
or eax, r8d
mov dword [rcx + 0xcc], eax
movzx eax, byte [rdx + 0x11]
movzx r8d, byte [rdx + 0x12]
shl eax, 8
shl r8d, 0x10
or eax, r8d
movzx r8d, byte [rdx + 0x10]
or eax, r8d
movzx r8d, byte [rdx + 0x13]
shl r8d, 0x18
or eax, r8d
mov dword [rcx + 0xd0], eax
movzx eax, byte [rdx + 0x15]
movzx r8d, byte [rdx + 0x16]
shl eax, 8
shl r8d, 0x10
or eax, r8d
movzx r8d, byte [rdx + 0x14]
or eax, r8d
movzx r8d, byte [rdx + 0x17]
shl r8d, 0x18
or eax, r8d
mov dword [rcx + 0xd4], eax
movzx eax, byte [rdx + 0x19]
movzx r8d, byte [rdx + 0x1a]
shl eax, 8
shl r8d, 0x10
or eax, r8d
movzx r8d, byte [rdx + 0x18]
or eax, r8d
movzx r8d, byte [rdx + 0x1b]
shl r8d, 0x18
or eax, r8d
mov dword [rcx + 0xd8], eax
movzx eax, byte [rdx + 0x1d]
movzx r8d, byte [rdx + 0x1e]
shl eax, 8
shl r8d, 0x10
or eax, r8d
movzx r8d, byte [rdx + 0x1c]
movzx edx, byte [rdx + 0x1f]
or eax, r8d
shl edx, 0x18
or eax, edx
mov dword [rcx + 0xdc], eax
mov dword [rcx + 0x130], 0
mov eax, 1
ret
Function at 0x464130
Capabilities:
Hash data using sha512

Disassembly:
push rdi
movdqa xmm3, xmmword [0x00775500]
movdqa xmm2, xmmword [0x00775510]
movdqa xmm1, xmmword [0x00775520]
movdqa xmm4, xmmword [0x00775530]
lea rdi, [rcx + 0x48]
mov eax, ecx
mov r8, rcx
mov qword [rcx + 0x40], 0
mov qword [rcx + 0xe8], 0
and rdi, 0xfffffffffffffff8
sub eax, edi
lea ecx, [rax + 0xf0]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
movups xmmword [r8], xmm3
movups xmmword [r8 + 0x10], xmm2
movups xmmword [r8 + 0x20], xmm1
movups xmmword [r8 + 0x30], xmm4
movzx eax, byte [rdx]
mov qword [r8 + 0xe8], rax
mov rax, rdx
not rax
add rax, r8
cmp rax, 0xe
jbe 0x4641f0
movdqu xmm5, xmmword [rdx]
mov eax, 1
pxor xmm3, xmm5
movups xmmword [r8], xmm3
movdqu xmm5, xmmword [rdx + 0x10]
pxor xmm2, xmm5
movups xmmword [r8 + 0x10], xmm2
movdqu xmm0, xmmword [rdx + 0x20]
pxor xmm1, xmm0
movups xmmword [r8 + 0x20], xmm1
movdqu xmm0, xmmword [rdx + 0x30]
pxor xmm0, xmm4
movups xmmword [r8 + 0x30], xmm0
pop rdi
ret
movabs rax, 0x6a09e667f3bcc908
xor rax, qword [rdx]
mov qword [r8], rax
movabs rax, 0xbb67ae8584caa73b
xor rax, qword [rdx + 8]
mov qword [r8 + 8], rax
movabs rax, 0x3c6ef372fe94f82b
xor rax, qword [rdx + 0x10]
mov qword [r8 + 0x10], rax
movabs rax, 0xa54ff53a5f1d36f1
xor rax, qword [rdx + 0x18]
mov qword [r8 + 0x18], rax
movabs rax, 0x510e527fade682d1
xor rax, qword [rdx + 0x20]
mov qword [r8 + 0x20], rax
movabs rax, 0x9b05688c2b3e6c1f
xor rax, qword [rdx + 0x28]
mov qword [r8 + 0x28], rax
movabs rax, 0x1f83d9abfb41bd6b
xor rax, qword [rdx + 0x30]
mov qword [r8 + 0x30], rax
movabs rax, 0x5be0cd19137e2179
xor rax, qword [rdx + 0x38]
mov qword [r8 + 0x38], rax
mov eax, 1
pop rdi
ret
Function at 0x464370
Capabilities:
Hash data using sha512

Disassembly:
push r12
push rdi
push rsi
sub rsp, 0xa0
movdqa xmm3, xmmword [0x00775500]
movdqa xmm2, xmmword [0x00775510]
movdqa xmm1, xmmword [0x00775520]
movdqa xmm0, xmmword [0x00775530]
lea rdi, [rcx + 0x48]
mov eax, ecx
mov r9, rcx
mov rsi, r8
and rdi, 0xfffffffffffffff8
mov qword [rcx + 0x40], 0
mov qword [rcx + 0xe8], 0
sub eax, edi
lea ecx, [rax + 0xf0]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
movups xmmword [r9], xmm3
movups xmmword [r9 + 0x10], xmm2
movups xmmword [r9 + 0x20], xmm1
movups xmmword [r9 + 0x30], xmm0
movzx eax, byte [rdx]
mov qword [r9 + 0xe8], rax
mov rax, rdx
not rax
add rax, r9
cmp rax, 0xe
jbe 0x464548
movdqu xmm4, xmmword [rdx]
pxor xmm3, xmm4
movups xmmword [r9], xmm3
movdqu xmm5, xmmword [rdx + 0x10]
pxor xmm2, xmm5
movups xmmword [r9 + 0x10], xmm2
movdqu xmm4, xmmword [rdx + 0x20]
pxor xmm1, xmm4
movups xmmword [r9 + 0x20], xmm1
movdqu xmm5, xmmword [rdx + 0x30]
pxor xmm0, xmm5
movups xmmword [r9 + 0x30], xmm0
movzx eax, byte [rdx + 1]
lea r12, [rsp + 0x20]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
mov rdi, r12
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
cmp eax, 8
jb 0x4644eb
mov rcx, rax
shr rcx, 3
rep movsq qword [rdi], qword [rsi]
xor edx, edx
test al, 4
je 0x4644fa
mov edx, dword [rsi]
mov dword [rdi], edx
mov edx, 4
test al, 2
je 0x46450a
movzx ecx, word [rsi + rdx]
mov word [rdi + rdx], cx
add rdx, 2
test al, 1
je 0x464515
movzx eax, byte [rsi + rdx]
mov byte [rdi + rdx], al
mov rcx, r9
mov r8d, pe_nt_image_headers64
mov rdx, r12
call sym.ossl_blake2b_update
mov edx, pe_nt_image_headers64
mov rcx, r12
call sym.OPENSSL_cleanse
mov eax, 1
add rsp, 0xa0
pop rsi
pop rdi
pop r12
ret
movabs rax, 0x6a09e667f3bcc908
xor rax, qword [rdx]
mov qword [r9], rax
movabs rax, 0xbb67ae8584caa73b
xor rax, qword [rdx + 8]
mov qword [r9 + 8], rax
movabs rax, 0x3c6ef372fe94f82b
xor rax, qword [rdx + 0x10]
mov qword [r9 + 0x10], rax
movabs rax, 0xa54ff53a5f1d36f1
xor rax, qword [rdx + 0x18]
mov qword [r9 + 0x18], rax
movabs rax, 0x510e527fade682d1
xor rax, qword [rdx + 0x20]
mov qword [r9 + 0x20], rax
movabs rax, 0x9b05688c2b3e6c1f
xor rax, qword [rdx + 0x28]
mov qword [r9 + 0x28], rax
movabs rax, 0x1f83d9abfb41bd6b
xor rax, qword [rdx + 0x30]
mov qword [r9 + 0x30], rax
movabs rax, 0x5be0cd19137e2179
xor rax, qword [rdx + 0x38]
mov qword [r9 + 0x38], rax
jmp 0x464434
Function at 0x465bc0
Capabilities:
Hash data using sha256

Disassembly:
push rdi
movdqa xmm1, xmmword [0x00775540]
movdqa xmm2, xmmword [0x00775550]
lea rdi, [rcx + 0x28]
mov eax, ecx
mov r8, rcx
mov qword [rcx + 0x20], 0
and rdi, 0xfffffffffffffff8
mov qword [rcx + 0x78], 0
sub eax, edi
lea ecx, [rax + 0x80]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
movups xmmword [r8], xmm1
movups xmmword [r8 + 0x10], xmm2
movzx eax, byte [rdx]
mov qword [r8 + 0x78], rax
mov rax, rdx
not rax
add rax, r8
cmp rax, 0xe
jbe 0x465c40
movdqu xmm3, xmmword [rdx]
mov eax, 1
pxor xmm1, xmm3
movups xmmword [r8], xmm1
movdqu xmm0, xmmword [rdx + 0x10]
pxor xmm0, xmm2
movups xmmword [r8 + 0x10], xmm0
pop rdi
ret
mov eax, dword [rdx]
xor eax, 0x6a09e667
mov dword [r8], eax
mov eax, dword [rdx + 4]
xor eax, 0xbb67ae85
mov dword [r8 + 4], eax
mov eax, dword [rdx + 8]
xor eax, 0x3c6ef372
mov dword [r8 + 8], eax
mov eax, dword [rdx + 0xc]
xor eax, 0xa54ff53a
mov dword [r8 + 0xc], eax
mov eax, dword [rdx + 0x10]
xor eax, 0x510e527f
mov dword [r8 + 0x10], eax
mov eax, dword [rdx + 0x14]
xor eax, 0x9b05688c
mov dword [r8 + 0x14], eax
mov eax, dword [rdx + 0x18]
xor eax, 0x1f83d9ab
mov dword [r8 + 0x18], eax
mov eax, dword [rdx + 0x1c]
xor eax, 0x5be0cd19
mov dword [r8 + 0x1c], eax
mov eax, 1
pop rdi
ret
Function at 0x465d80
Capabilities:
Hash data using sha256

Disassembly:
push r12
push rdi
push rsi
sub rsp, 0x60
movdqa xmm1, xmmword [0x00775540]
movdqa xmm0, xmmword [0x00775550]
lea rdi, [rcx + 0x28]
mov eax, ecx
mov r9, rcx
mov rsi, r8
and rdi, 0xfffffffffffffff8
mov qword [rcx + 0x20], 0
sub eax, edi
mov qword [rcx + 0x78], 0
lea ecx, [rax + 0x80]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
movups xmmword [r9], xmm1
movups xmmword [r9 + 0x10], xmm0
movzx eax, byte [rdx]
mov qword [r9 + 0x78], rax
mov rax, rdx
not rax
add rax, r9
cmp rax, 0xe
jbe 0x465ec0
movdqu xmm2, xmmword [rdx]
pxor xmm1, xmm2
movups xmmword [r9], xmm1
movdqu xmm3, xmmword [rdx + 0x10]
pxor xmm0, xmm3
movups xmmword [r9 + 0x10], xmm0
movzx eax, byte [rdx + 1]
lea r12, [rsp + 0x20]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
mov rdi, r12
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
cmp eax, 8
jb 0x465e68
mov rcx, rax
shr rcx, 3
rep movsq qword [rdi], qword [rsi]
xor edx, edx
test al, 4
je 0x465e77
mov edx, dword [rsi]
mov dword [rdi], edx
mov edx, 4
test al, 2
je 0x465e87
movzx ecx, word [rsi + rdx]
mov word [rdi + rdx], cx
add rdx, 2
test al, 1
je 0x465e92
movzx eax, byte [rsi + rdx]
mov byte [rdi + rdx], al
mov rcx, r9
mov r8d, 0x40
mov rdx, r12
call sym.ossl_blake2s_update
mov edx, 0x40
mov rcx, r12
call sym.OPENSSL_cleanse
mov eax, 1
add rsp, 0x60
pop rsi
pop rdi
pop r12
ret
mov eax, dword [rdx]
xor eax, 0x6a09e667
mov dword [r9], eax
mov eax, dword [rdx + 4]
xor eax, 0xbb67ae85
mov dword [r9 + 4], eax
mov eax, dword [rdx + 8]
xor eax, 0x3c6ef372
mov dword [r9 + 8], eax
mov eax, dword [rdx + 0xc]
xor eax, 0xa54ff53a
mov dword [r9 + 0xc], eax
mov eax, dword [rdx + 0x10]
xor eax, 0x510e527f
mov dword [r9 + 0x10], eax
mov eax, dword [rdx + 0x14]
xor eax, 0x9b05688c
mov dword [r9 + 0x14], eax
mov eax, dword [rdx + 0x18]
xor eax, 0x1f83d9ab
mov dword [r9 + 0x18], eax
mov eax, dword [rdx + 0x1c]
xor eax, 0x5be0cd19
mov dword [r9 + 0x1c], eax
jmp 0x465e05
Function at 0x48d680
Capabilities:
Encrypt data using curve25519

Disassembly:
push r13
push r12
push rbx
sub rsp, 0x20
mov rbx, rcx
call sym.ossl_prov_is_running
test rbx, rbx
je 0x48d770
test eax, eax
je 0x48d770
mov edx, dword [rbx + 0x10]
mov r9, qword [rbx + 8]
xor r8d, r8d
mov rcx, qword [rbx]
call sym.ossl_ecx_key_new
mov r12, rax
test rax, rax
je 0x48d7d0
test byte [rbx + 0x14], 3
jne 0x48d6d8
mov rax, r12
add rsp, 0x20
pop rbx
pop r12
pop r13
ret
mov rcx, rax
call sym.ossl_ecx_key_allocate_privkey
mov r13, rax
test rax, rax
je 0x48d808
mov r8, qword [r12 + 0x58]
mov rcx, qword [rbx]
xor r9d, r9d
mov rdx, rax
call sym.RAND_priv_bytes_ex
test eax, eax
jle 0x48d760
mov eax, dword [rbx + 0x10]
cmp eax, 2
je 0x48d7a8
ja 0x48d740
test eax, eax
je 0x48d780
and byte [r13], 0xfc
lea rcx, [r12 + 0x14]
mov rdx, r13
or byte [r13 + 0x37], 0x80
call sym.ossl_x448_public_from_private
or byte [r12 + 0x10], 1
mov rax, r12
add rsp, 0x20
pop rbx
pop r12
pop r13
ret
cmp eax, 3
jne 0x48d72c
mov r9, qword [rbx + 8]
mov rcx, qword [rbx]
lea rdx, [r12 + 0x14]
mov r8, r13
call sym.ossl_ed448_public_from_private
test eax, eax
jne 0x48d72c
nop dword [rax]
mov rcx, r12
xor r12d, r12d
call sym.ossl_ecx_key_free
jmp 0x48d6c6
xor r12d, r12d
mov rax, r12
add rsp, 0x20
pop rbx
pop r12
pop r13
ret
movzx eax, byte [r13 + 0x1f]
and byte [r13], 0xf8
lea rcx, [r12 + 0x14]
mov rdx, r13
and eax, 0x7f
or eax, 0x40
mov byte [r13 + 0x1f], al
call sym.ossl_x25519_public_from_private
jmp 0x48d72c
mov r9, qword [rbx + 8]
mov rcx, qword [rbx]
lea rdx, [r12 + 0x14]
mov r8, r13
call sym.ossl_ed25519_public_from_private
test eax, eax
jne 0x48d72c
jmp 0x48d760
call sym.ERR_new
lea r8, str.ecx_gen
mov edx, 0x249
lea rcx, str..._openssl_3.1.1_providers_implementations_keymgmt_ecx_kmgmt.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0xc0100
mov ecx, 0x39
call sym.ERR_set_error
jmp 0x48d6c6
call sym.ERR_new
lea r8, str.ecx_gen
mov edx, 0x252
lea rcx, str..._openssl_3.1.1_providers_implementations_keymgmt_ecx_kmgmt.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0xc0100
mov ecx, 0x39
call sym.ERR_set_error
jmp 0x48d760
Function at 0x48ede0
Capabilities:
Encrypt data using curve25519

Disassembly:
push r13
push r12
push rbx
sub rsp, 0x20
mov rbx, rcx
call sym.ossl_prov_is_running
test eax, eax
je 0x48eed0
test rbx, rbx
je 0x48eed0
mov edx, dword [rbx + 0x10]
mov r9, qword [rbx + 8]
xor r8d, r8d
mov rcx, qword [rbx]
call sym.ossl_ecx_key_new
mov r12, rax
test rax, rax
je 0x48ef30
test byte [rbx + 0x14], 3
jne 0x48ee38
mov rax, r12
add rsp, 0x20
pop rbx
pop r12
pop r13
ret
mov rcx, rax
call sym.ossl_ecx_key_allocate_privkey
mov r13, rax
test rax, rax
je 0x48ef68
mov r8, qword [r12 + 0x58]
mov rcx, qword [rbx]
xor r9d, r9d
mov rdx, rax
call sym.RAND_priv_bytes_ex
test eax, eax
jle 0x48eec0
mov eax, dword [rbx + 0x10]
cmp eax, 2
je 0x48ef08
ja 0x48eea0
test eax, eax
je 0x48eee0
and byte [r13], 0xfc
lea rcx, [r12 + 0x14]
mov rdx, r13
or byte [r13 + 0x37], 0x80
call sym.ossl_x448_public_from_private
or byte [r12 + 0x10], 1
mov rax, r12
add rsp, 0x20
pop rbx
pop r12
pop r13
ret
cmp eax, 3
jne 0x48ee8c
mov r9, qword [rbx + 8]
mov rcx, qword [rbx]
lea rdx, [r12 + 0x14]
mov r8, r13
call sym.ossl_ed448_public_from_private
test eax, eax
jne 0x48ee8c
nop dword [rax]
mov rcx, r12
xor r12d, r12d
call sym.ossl_ecx_key_free
jmp 0x48ee26
xor r12d, r12d
mov rax, r12
add rsp, 0x20
pop rbx
pop r12
pop r13
ret
movzx eax, byte [r13 + 0x1f]
and byte [r13], 0xf8
lea rcx, [r12 + 0x14]
mov rdx, r13
and eax, 0x7f
or eax, 0x40
mov byte [r13 + 0x1f], al
call sym.ossl_x25519_public_from_private
jmp 0x48ee8c
mov r9, qword [rbx + 8]
mov rcx, qword [rbx]
lea rdx, [r12 + 0x14]
mov r8, r13
call sym.ossl_ed25519_public_from_private
test eax, eax
jne 0x48ee8c
jmp 0x48eec0
call sym.ERR_new
lea r8, str.ecx_gen
mov edx, 0x249
lea rcx, str..._openssl_3.1.1_providers_implementations_keymgmt_ecx_kmgmt.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0xc0100
mov ecx, 0x39
call sym.ERR_set_error
jmp 0x48ee26
call sym.ERR_new
lea r8, str.ecx_gen
mov edx, 0x252
lea rcx, str..._openssl_3.1.1_providers_implementations_keymgmt_ecx_kmgmt.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0xc0100
mov ecx, 0x39
call sym.ERR_set_error
jmp 0x48eec0
Function at 0x48efa0
Capabilities:
Encrypt data using curve25519

Disassembly:
push r13
push r12
push rbx
sub rsp, 0x20
mov rbx, rcx
call sym.ossl_prov_is_running
test eax, eax
je 0x48f090
test rbx, rbx
je 0x48f090
mov edx, dword [rbx + 0x10]
mov r9, qword [rbx + 8]
xor r8d, r8d
mov rcx, qword [rbx]
call sym.ossl_ecx_key_new
mov r12, rax
test rax, rax
je 0x48f0f0
test byte [rbx + 0x14], 3
jne 0x48eff8
mov rax, r12
add rsp, 0x20
pop rbx
pop r12
pop r13
ret
mov rcx, rax
call sym.ossl_ecx_key_allocate_privkey
mov r13, rax
test rax, rax
je 0x48f128
mov r8, qword [r12 + 0x58]
mov rcx, qword [rbx]
xor r9d, r9d
mov rdx, rax
call sym.RAND_priv_bytes_ex
test eax, eax
jle 0x48f080
mov eax, dword [rbx + 0x10]
cmp eax, 2
je 0x48f0c8
ja 0x48f060
test eax, eax
je 0x48f0a0
and byte [r13], 0xfc
lea rcx, [r12 + 0x14]
mov rdx, r13
or byte [r13 + 0x37], 0x80
call sym.ossl_x448_public_from_private
or byte [r12 + 0x10], 1
mov rax, r12
add rsp, 0x20
pop rbx
pop r12
pop r13
ret
cmp eax, 3
jne 0x48f04c
mov r9, qword [rbx + 8]
mov rcx, qword [rbx]
lea rdx, [r12 + 0x14]
mov r8, r13
call sym.ossl_ed448_public_from_private
test eax, eax
jne 0x48f04c
nop dword [rax]
mov rcx, r12
xor r12d, r12d
call sym.ossl_ecx_key_free
jmp 0x48efe6
xor r12d, r12d
mov rax, r12
add rsp, 0x20
pop rbx
pop r12
pop r13
ret
movzx eax, byte [r13 + 0x1f]
and byte [r13], 0xf8
lea rcx, [r12 + 0x14]
mov rdx, r13
and eax, 0x7f
or eax, 0x40
mov byte [r13 + 0x1f], al
call sym.ossl_x25519_public_from_private
jmp 0x48f04c
mov r9, qword [rbx + 8]
mov rcx, qword [rbx]
lea rdx, [r12 + 0x14]
mov r8, r13
call sym.ossl_ed25519_public_from_private
test eax, eax
jne 0x48f04c
jmp 0x48f080
call sym.ERR_new
lea r8, str.ecx_gen
mov edx, 0x249
lea rcx, str..._openssl_3.1.1_providers_implementations_keymgmt_ecx_kmgmt.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0xc0100
mov ecx, 0x39
call sym.ERR_set_error
jmp 0x48efe6
call sym.ERR_new
lea r8, str.ecx_gen
mov edx, 0x252
lea rcx, str..._openssl_3.1.1_providers_implementations_keymgmt_ecx_kmgmt.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0xc0100
mov ecx, 0x39
call sym.ERR_set_error
jmp 0x48f080
Function at 0x48f160
Capabilities:
Encrypt data using curve25519

Disassembly:
push r13
push r12
push rbx
sub rsp, 0x20
mov rbx, rcx
call sym.ossl_prov_is_running
test eax, eax
je 0x48f250
test rbx, rbx
je 0x48f250
mov edx, dword [rbx + 0x10]
mov r9, qword [rbx + 8]
xor r8d, r8d
mov rcx, qword [rbx]
call sym.ossl_ecx_key_new
mov r12, rax
test rax, rax
je 0x48f2b0
test byte [rbx + 0x14], 3
jne 0x48f1b8
mov rax, r12
add rsp, 0x20
pop rbx
pop r12
pop r13
ret
mov rcx, rax
call sym.ossl_ecx_key_allocate_privkey
mov r13, rax
test rax, rax
je 0x48f2e8
mov r8, qword [r12 + 0x58]
mov rcx, qword [rbx]
xor r9d, r9d
mov rdx, rax
call sym.RAND_priv_bytes_ex
test eax, eax
jle 0x48f240
mov eax, dword [rbx + 0x10]
cmp eax, 2
je 0x48f288
ja 0x48f220
test eax, eax
je 0x48f260
and byte [r13], 0xfc
lea rcx, [r12 + 0x14]
mov rdx, r13
or byte [r13 + 0x37], 0x80
call sym.ossl_x448_public_from_private
or byte [r12 + 0x10], 1
mov rax, r12
add rsp, 0x20
pop rbx
pop r12
pop r13
ret
cmp eax, 3
jne 0x48f20c
mov r9, qword [rbx + 8]
mov rcx, qword [rbx]
lea rdx, [r12 + 0x14]
mov r8, r13
call sym.ossl_ed448_public_from_private
test eax, eax
jne 0x48f20c
nop dword [rax]
mov rcx, r12
xor r12d, r12d
call sym.ossl_ecx_key_free
jmp 0x48f1a6
xor r12d, r12d
mov rax, r12
add rsp, 0x20
pop rbx
pop r12
pop r13
ret
movzx eax, byte [r13 + 0x1f]
and byte [r13], 0xf8
lea rcx, [r12 + 0x14]
mov rdx, r13
and eax, 0x7f
or eax, 0x40
mov byte [r13 + 0x1f], al
call sym.ossl_x25519_public_from_private
jmp 0x48f20c
mov r9, qword [rbx + 8]
mov rcx, qword [rbx]
lea rdx, [r12 + 0x14]
mov r8, r13
call sym.ossl_ed25519_public_from_private
test eax, eax
jne 0x48f20c
jmp 0x48f240
call sym.ERR_new
lea r8, str.ecx_gen
mov edx, 0x249
lea rcx, str..._openssl_3.1.1_providers_implementations_keymgmt_ecx_kmgmt.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0xc0100
mov ecx, 0x39
call sym.ERR_set_error
jmp 0x48f1a6
call sym.ERR_new
lea r8, str.ecx_gen
mov edx, 0x252
lea rcx, str..._openssl_3.1.1_providers_implementations_keymgmt_ecx_kmgmt.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0xc0100
mov ecx, 0x39
call sym.ERR_set_error
jmp 0x48f240
Function at 0x491780
Capabilities:
Hash data using sha512

Disassembly:
push r14
push r13
push r12
push rbx
sub rsp, 0x28
mov r12, rcx
mov r14, rdx
mov rbx, r8
mov r13, r9
call sym.ossl_prov_is_running
test eax, eax
jne 0x4917b0
xor eax, eax
add rsp, 0x28
pop rbx
pop r12
pop r13
pop r14
ret
mov rdx, r13
mov rcx, r12
call sym.blake2_mac_set_ctx_params
test eax, eax
je 0x4917a0
test r14, r14
je 0x491840
lea rax, [rbx - 1]
cmp rax, 0x3f
ja 0x491880
lea r13, [r12 + 0x130]
mov r8, rbx
mov rdx, r14
mov rcx, r13
call sym.memcpy
cmp rbx, 0x40
je 0x491828
mov eax, 0x40
lea rcx, [r13 + rbx]
xor r9d, r9d
sub rax, rbx
cmp eax, 8
jae 0x4918b8
test al, 4
jne 0x491934
test eax, eax
je 0x491828
mov byte [rcx], 0
test al, 2
je 0x491828
mov edx, eax
xor eax, eax
mov word [rcx + rdx - 2], ax
nop dword [rax + rax]
lea r14, [r12 + 0xf0]
mov edx, ebx
mov rcx, r14
call sym.ossl_blake2b_param_set_key_length
jmp 0x49185f
lea r13, [r12 + 0x130]
lea r14, [r12 + 0xf0]
cmp byte [r12 + 0xf1], 0
je 0x491900
mov r8, r13
mov rdx, r14
mov rcx, r12
add rsp, 0x28
pop rbx
pop r12
pop r13
pop r14
jmp sym.ossl_blake2b_init_key
call sym.ERR_new
lea r8, [0x00788340]
mov edx, 0x5e
lea rcx, [0x007882d0]
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x69
mov ecx, 0x39
call sym.ERR_set_error
jmp 0x4917a0
lea r8, [rcx + 8]
mov edx, eax
mov qword [rcx], 0
mov qword [rcx + rdx - 8], 0
and r8, 0xfffffffffffffff8
sub rcx, r8
add eax, ecx
and eax, 0xfffffff8
cmp eax, 8
jb 0x491828
and eax, 0xfffffff8
xor edx, edx
mov ecx, edx
add edx, 8
mov qword [r8 + rcx], r9
cmp edx, eax
jb 0x4918e8
jmp 0x491828
call sym.ERR_new
lea r8, [0x00788330]
mov edx, 0x75
lea rcx, [0x007882d0]
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x72
mov ecx, 0x39
call sym.ERR_set_error
jmp 0x4917a0
mov edx, eax
mov dword [rcx], 0
mov dword [rcx + rdx - 4], 0
jmp 0x491828
Function at 0x491e70
Capabilities:
Hash data using sha256

Disassembly:
push r14
push r13
push r12
push rbx
sub rsp, 0x28
mov r12, rcx
mov r14, rdx
mov rbx, r8
mov r13, r9
call sym.ossl_prov_is_running
test eax, eax
jne 0x491ea0
xor eax, eax
add rsp, 0x28
pop rbx
pop r12
pop r13
pop r14
ret
mov rdx, r13
mov rcx, r12
call sym.blake2_mac_set_ctx_params_1
test eax, eax
je 0x491e90
test r14, r14
je 0x491f30
lea rax, [rbx - 1]
cmp rax, 0x1f
ja 0x491f70
lea r13, [r12 + 0xa0]
mov r8, rbx
mov rdx, r14
mov rcx, r13
call sym.memcpy
cmp rbx, 0x20
je 0x491f18
mov eax, 0x20
lea rcx, [r13 + rbx]
xor r9d, r9d
sub rax, rbx
cmp eax, 8
jae 0x491fa8
test al, 4
jne 0x492024
test eax, eax
je 0x491f18
mov byte [rcx], 0
test al, 2
je 0x491f18
mov edx, eax
xor eax, eax
mov word [rcx + rdx - 2], ax
nop dword [rax + rax]
lea r14, [r12 + 0x80]
mov edx, ebx
mov rcx, r14
call sym.ossl_blake2s_param_set_key_length
jmp 0x491f4f
lea r13, [r12 + 0xa0]
lea r14, [r12 + 0x80]
cmp byte [r12 + 0x81], 0
je 0x491ff0
mov r8, r13
mov rdx, r14
mov rcx, r12
add rsp, 0x28
pop rbx
pop r12
pop r13
pop r14
jmp sym.ossl_blake2s_init_key
call sym.ERR_new
lea r8, str.blake2_setkey
mov edx, 0x5e
lea rcx, str..._openssl_3.1.1_providers_implementations_macs_blake2_mac_impl.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x69
mov ecx, 0x39
call sym.ERR_set_error
jmp 0x491e90
lea r8, [rcx + 8]
mov edx, eax
mov qword [rcx], 0
mov qword [rcx + rdx - 8], 0
and r8, 0xfffffffffffffff8
sub rcx, r8
add eax, ecx
and eax, 0xfffffff8
cmp eax, 8
jb 0x491f18
and eax, 0xfffffff8
xor edx, edx
mov ecx, edx
add edx, 8
mov qword [r8 + rcx], r9
cmp edx, eax
jb 0x491fd8
jmp 0x491f18
call sym.ERR_new
lea r8, str.blake2_mac_init
mov edx, 0x75
lea rcx, str..._openssl_3.1.1_providers_implementations_macs_blake2_mac_impl.c
call sym.ERR_set_debug
xor r8d, r8d
mov edx, 0x72
mov ecx, 0x39
call sym.ERR_set_error
jmp 0x491e90
mov edx, eax
mov dword [rcx], 0
mov dword [rcx + rdx - 4], 0
jmp 0x491f18