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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
test rcx, rcx
mov rbx, rcx
mov rsi, rdx
mov qword [rsp + 0x28], r8
mov r12, r9
je 0x6fd0fc40
test rdx, rdx
je 0x6fd0fc40
test r9, r9
sete dl
cmp qword [rsp + 0xd0], 0
sete al
or dl, al
jne 0x6fd0fc40
cmp qword [rsp + 0xd8], 0
je 0x6fd0fc40
lea rdi, [rsp + 0x40]
lea rbp, [rsp + 0x50]
mov rcx, rdi
call sym.libSFTP.dll_mpiInit
mov rcx, rbp
call sym.libSFTP.dll_mpiInit
mov rcx, rbx
call sym.libSFTP.dll_mpiGetByteLength
mov r8, qword [rsp + 0x28]
mov r14d, eax
mov r15, r14
cmp r8, 0xa
jbe 0x6fd0fc31
cmp r14, r8
je 0x6fd0fc60
mov eax, 0xec
jmp 0x6fd0fc45
mov eax, 2
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r14
call sym.libSFTP.dll_osAllocMem
mov r13, rax
mov eax, 0x64
test r13, r13
je 0x6fd0fc45
mov r8, qword [rsp + 0x28]
mov r9d, 1
mov rdx, rsi
mov rcx, rdi
call sym.libSFTP.dll_mpiImport
test eax, eax
je 0x6fd0fcb1
mov rcx, r13
mov dword [rsp + 0x28], eax
call sym.libSFTP.dll_osFreeMem
mov rcx, rdi
call sym.libSFTP.dll_mpiFree
mov rcx, rbp
call sym.libSFTP.dll_mpiFree
mov eax, dword [rsp + 0x28]
jmp 0x6fd0fc45
mov r8, rbp
mov rdx, rdi
mov rcx, rbx
call sym.libSFTP.dll_rsadp
test eax, eax
jne 0x6fd0fc8f
mov r9d, 1
mov r8d, r14d
mov rdx, r13
mov rcx, rbp
call sym.libSFTP.dll_mpiExport
test eax, eax
jne 0x6fd0fc8f
lea r8, [rsp + 0x38]
mov rdx, r14
mov rcx, r13
call sym.libSFTP.dll_emePkcs1v15Decode
mov r9, qword [rsp + 0x38]
mov r8d, dword [rsp + 0xd0]
mov edx, dword [rsp + 0xd0]
mov r10, qword [rsp + 0xd0]
sub r15d, r9d
sub r8d, r9d
xor r8d, r9d
xor edx, r9d
or r8d, edx
xor r8d, dword [rsp + 0xd0]
add r10, r12
shr r8d, 0x1f
xor r11d, r11d
xor ecx, ecx
test r14, r14
je 0x6fd0fd5a
nop
mov ebx, r15d
xor ebx, ecx
mov edx, ebx
neg edx
or edx, ebx
shr edx, 0x1f
xor edx, 1
lea ebx, [rdx - 1]
neg edx
and dl, byte [r13 + rcx]
add rcx, 1
and r11d, ebx
or r11d, edx
cmp r14, rcx
jne 0x6fd0fd30
mov byte [r12], r11b
add r12, 1
add r15d, 1
cmp r10, r12
jne 0x6fd0fd25
lea ecx, [r8 - 1]
mov edx, r8d
mov rsi, qword [rsp + 0xd8]
and r9d, ecx
mov ecx, dword [rsp + 0xd0]
neg edx
and ecx, edx
and edx, 0x10a
or ecx, r9d
mov qword [rsi], rcx
lea ecx, [rax - 1]
neg eax
and edx, ecx
and eax, 0x21a
or eax, edx
jmp 0x6fd0fc8f
Function at 0x6fd0fde0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
mov eax, 0xec
mov r10, qword [rcx + 0x10]
mov r11, qword [rcx + 0x28]
lea rbx, [r10 + r11 + 0x15]
cmp rbx, r9
ja 0x6fd0ff32
movzx eax, byte [r8 + 1]
mov rsi, r9
sub rsi, r10
sub rsi, r11
xor eax, 1
or al, byte [r8]
cmp rsi, 0xd
je 0x6fd0ff40
lea r9, [r8 + 2]
lea rdi, [r8 + rsi - 0xb]
nop
movzx ebx, byte [r9]
add r9, 1
not ebx
or eax, ebx
cmp rdi, r9
jne 0x6fd0fe30
lea r15, [rsi - 0xb]
lea r9, [rsi - 0xa]
lea r14, [rsi - 9]
lea r13, [rsi - 8]
lea r12, [rsi - 7]
lea rbp, [rsi - 6]
lea rdi, [rsi - 5]
lea rbx, [rsi - 4]
sub rsi, 3
movzx r9d, byte [r8 + r9]
or al, byte [r8 + r15]
xor r9d, 0x30
or r9d, eax
lea eax, [r11 + r10 + 8]
xor al, byte [r8 + r14]
or r9d, eax
movzx eax, byte [r8 + r13]
xor eax, 0x30
or r9d, eax
lea eax, [r10 + 4]
xor al, byte [r8 + r12]
or r9d, eax
movzx eax, byte [r8 + rbp]
xor eax, 6
or r9d, eax
movzx eax, byte [r8 + rdi]
xor eax, r10d
or r9d, eax
test r10, r10
je 0x6fd0feda
mov rdi, qword [rcx + 8]
lea rsi, [r8 + rbx]
xor eax, eax
nop dword [rax]
movzx ecx, byte [rsi + rax]
xor cl, byte [rdi + rax]
add rax, 1
or r9d, ecx
cmp r10, rax
jne 0x6fd0fec0
add rbx, r10
lea rsi, [rbx + 1]
lea r10, [r8 + rbx]
movzx ecx, byte [r8 + rbx + 3]
movzx eax, byte [r10]
xor ecx, r11d
xor eax, 5
or r9d, eax
movzx eax, byte [r8 + rbx + 2]
or r9b, byte [r8 + rsi]
xor eax, 4
or eax, ecx
or r9d, eax
test r11, r11
je 0x6fd0ff25
xor eax, eax
nop word [rax + rax]
movzx ecx, byte [r10 + rax + 4]
xor cl, byte [rdx + rax]
add rax, 1
or r9d, ecx
cmp r11, rax
jne 0x6fd0ff10
cmp r9b, 1
sbb eax, eax
not eax
and eax, 0xf9
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov esi, 0xa
mov ebx, 9
mov edi, 8
mov ebp, 7
mov r12d, 6
mov r13d, 5
mov r14d, 4
mov r9d, 3
mov r15d, 2
jmp 0x6fd0fe65

Function at 0x6fd100d0
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 r13, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xb0]
test r13, r13
mov rdi, rcx
mov r14, rdx
mov rbp, r8
mov r12, r9
je 0x6fd1018d
lea rax, [rsp + 0x3c]
xor r15d, r15d
mov qword [rsp + 0x28], rax
mov eax, r15d
cmp qword [rdi + 0x28], r13
mov rsi, r13
mov rcx, r14
cmovbe rsi, qword [rdi + 0x28]
shr eax, 0x18
mov byte [rsp + 0x3f], r15b
mov byte [rsp + 0x3c], al
mov eax, r15d
shr eax, 0x10
mov byte [rsp + 0x3d], al
mov eax, r15d
mov byte [rsp + 0x3e], ah
call qword [rdi + 0x48]
mov r8, r12
mov rdx, rbp
mov rcx, r14
call qword [rdi + 0x50]
mov r8d, 4
mov rdx, qword [rsp + 0x28]
mov rcx, r14
call qword [rdi + 0x50]
xor edx, edx
mov rcx, r14
call qword [rdi + 0x58]
test rsi, rsi
je 0x6fd10181
xor eax, eax
movzx edx, byte [r14 + rax]
xor byte [rbx + rax], dl
add rax, 1
cmp rsi, rax
jne 0x6fd10170
add rbx, rsi
add r15d, 1
sub r13, rsi
jne 0x6fd10112
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x6fd10490
Capabilities:
Encode data using xor

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x70
mov r12, rcx
mov rcx, qword [rcx + 0x18]
mov rdi, rdx
mov rbx, r8
mov rsi, r9
call sym.libSFTP.dll_osAllocMem
mov r10d, 1
test rax, rax
mov r13, rax
je 0x6fd10631
lea rax, [0x6fd2d380]
test rdi, rdi
mov rcx, r13
cmove rdi, rax
sub rsi, 1
call qword [r12 + 0x48]
lea rbp, [rsp + 0x30]
mov rcx, rdi
call sub.msvcrt.dll_strlen
lea r14, [rbx + 1]
mov rdx, rdi
mov rcx, r13
mov r8, rax
call qword [r12 + 0x50]
mov rdx, rbp
mov rcx, r13
call qword [r12 + 0x58]
mov rax, qword [r12 + 0x28]
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x20], r14
lea rdi, [rbx + rax + 1]
sub rsi, rax
mov qword [rsp + 0x28], rax
mov r9, rsi
mov r8, rdi
call sym.libSFTP.dll_mgf1
mov r9, qword [r12 + 0x28]
mov r8, r14
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rdi
call sym.libSFTP.dll_mgf1
mov rcx, r13
call sym.libSFTP.dll_osFreeMem
mov rcx, qword [r12 + 0x28]
cmp rsi, rcx
jbe 0x6fd10643
mov r8, rcx
xor r9d, r9d
nop word [rax + rax]
movzx eax, byte [rdi + r8]
mov edx, eax
neg edx
or edx, eax
mov eax, r9d
neg eax
shr dl, 7
or eax, r9d
shr eax, 0x1f
xor eax, 1
and eax, edx
lea edx, [rax - 1]
neg eax
and r9d, edx
and eax, r8d
add r8, 1
or eax, r9d
cmp rsi, r8
mov r9d, eax
jne 0x6fd10570
mov r10d, eax
add r9, rdi
neg r10d
or r10d, eax
shr r10d, 0x1f
xor r10d, 1
mov r8d, r10d
movzx edx, byte [r9]
mov r10d, edx
xor r10d, 0xfffffffe
add r10d, 1
or edx, r10d
shr dl, 7
movzx r10d, dl
or r10d, r8d
test rcx, rcx
je 0x6fd10607
xor r8d, r8d
movzx edx, byte [rdi + r8]
xor dl, byte [rbp + r8]
add r8, 1
mov r9d, edx
neg edx
or edx, r9d
shr dl, 7
movzx edx, dl
or r10d, edx
cmp rcx, r8
jne 0x6fd105e3
movzx ecx, byte [rbx]
sub esi, 1
sub esi, eax
mov edx, ecx
neg edx
or edx, ecx
shr dl, 7
movzx edx, dl
or r10d, edx
lea eax, [r10 - 1]
and esi, eax
mov rax, qword [rsp + 0xd0]
mov ebx, esi
mov qword [rax], rbx
mov eax, r10d
add rsp, 0x70
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov r9, rdi
mov r8d, 1
xor eax, eax
jmp 0x6fd105bf
Function at 0x6fd10660
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
test rcx, rcx
mov rbx, rcx
mov r12, rdx
mov r14, r8
mov rsi, r9
je 0x6fd10760
test r9, r9
je 0x6fd10760
cmp qword [rsp + 0xe8], 0
sete dl
cmp qword [rsp + 0xf0], 0
sete al
or dl, al
jne 0x6fd10760
cmp qword [rsp + 0xf8], 0
je 0x6fd10760
lea rdi, [rsp + 0x50]
lea rbp, [rsp + 0x60]
mov rcx, rdi
call sym.libSFTP.dll_mpiInit
mov rcx, rbp
call sym.libSFTP.dll_mpiInit
mov rcx, rbx
call sym.libSFTP.dll_mpiGetByteLength
mov r13d, eax
mov rax, qword [r12 + 0x28]
mov r15, r13
lea rax, [rax + rax + 2]
cmp r13, rax
jb 0x6fd10760
cmp r13, qword [rsp + 0xe0]
mov eax, 0xec
jne 0x6fd10765
mov rcx, r13
call sym.libSFTP.dll_osAllocMem
mov rcx, rax
mov qword [rsp + 0x30], rax
mov eax, 0x64
test rcx, rcx
je 0x6fd10765
mov r9d, 1
mov r8d, r13d
mov rdx, rsi
mov rcx, rdi
call sym.libSFTP.dll_mpiImport
test eax, eax
je 0x6fd10780
mov rcx, qword [rsp + 0x30]
mov dword [rsp + 0x3c], eax
call sym.libSFTP.dll_osFreeMem
mov rcx, rdi
call sym.libSFTP.dll_mpiFree
mov rcx, rbp
call sym.libSFTP.dll_mpiFree
mov eax, dword [rsp + 0x3c]
jmp 0x6fd10765
mov eax, 2
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8, rbp
mov rdx, rdi
mov rcx, rbx
call sym.libSFTP.dll_rsadp
test eax, eax
jne 0x6fd10735
mov rdx, qword [rsp + 0x30]
mov r9d, 1
mov r8d, r13d
mov rcx, rbp
call sym.libSFTP.dll_mpiExport
test eax, eax
jne 0x6fd10735
mov r8, qword [rsp + 0x30]
lea rax, [rsp + 0x48]
mov r9, r13
mov rdx, r14
mov qword [rsp + 0x20], rax
mov rcx, r12
call sym.libSFTP.dll_emeOaepDecode
mov r10, qword [rsp + 0x48]
mov r9d, dword [rsp + 0xf0]
mov edx, dword [rsp + 0xf0]
mov r11, qword [rsp + 0xf0]
sub r15d, r10d
sub r9d, r10d
xor edx, r10d
xor r9d, r10d
or r9d, edx
mov rdx, qword [rsp + 0xe8]
xor r9d, dword [rsp + 0xf0]
add r11, rdx
shr r9d, 0x1f
nop dword [rax + rax]
xor ebx, ebx
xor r8d, r8d
test r13, r13
je 0x6fd1084d
nop word [rax + rax]
mov esi, r15d
xor esi, r8d
mov ecx, esi
neg ecx
or ecx, esi
shr ecx, 0x1f
xor ecx, 1
lea esi, [rcx - 1]
neg ecx
and ebx, esi
mov rsi, qword [rsp + 0x30]
and cl, byte [rsi + r8]
add r8, 1
or ebx, ecx
cmp r13, r8
jne 0x6fd10820
mov byte [rdx], bl
add rdx, 1
add r15d, 1
cmp r11, rdx
jne 0x6fd10810
lea ecx, [r9 - 1]
mov edx, r9d
mov rsi, qword [rsp + 0xf8]
and r10d, ecx
mov ecx, dword [rsp + 0xf0]
neg edx
and ecx, edx
and edx, 0x10a
or ecx, r10d
mov ebx, ecx
lea ecx, [rax - 1]
neg eax
mov qword [rsi], rbx
and edx, ecx
and eax, 0x21a
or eax, edx
jmp 0x6fd10735
Function at 0x6fd10b90
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 eax, dword [rsp + 0xb0]
lea esi, [rax + 7]
mov rax, qword [rcx + 0x28]
mov rdi, rcx
mov r15, rdx
mov ebx, esi
mov r13, r8
mov r14, r9
shr ebx, 3
lea rcx, [rdx + rax + 2]
mov eax, 0xec
cmp rcx, rbx
ja 0x6fd10cf9
mov rcx, qword [rdi + 0x18]
call sym.libSFTP.dll_osAllocMem
mov rbp, rax
mov eax, 0x64
test rbp, rbp
je 0x6fd10cf9
and esi, 0xfffffff8
mov r9, qword [rdi + 0x28]
mov ecx, esi
sub ecx, dword [rsp + 0xb0]
mov esi, 0xff
movzx edx, byte [r14 + rbx - 1]
mov qword [rsp + 0x20], r14
mov r8, r9
sar esi, cl
not r8
mov rcx, rdi
mov eax, esi
add r8, rbx
xor edx, 0xffffffbc
lea r12, [r14 + r8]
not eax
and al, byte [r14]
mov qword [rsp + 0x28], r8
mov r8, r12
or eax, edx
mov rdx, rbp
mov byte [rsp + 0x3f], al
call sym.libSFTP.dll_mgf1
movzx ecx, byte [r14]
movzx eax, byte [rsp + 0x3f]
and ecx, esi
mov byte [r14], cl
sub rbx, qword [rdi + 0x28]
sub rbx, r15
cmp rbx, 2
je 0x6fd10c72
lea rdx, [r14 + 1]
lea r8, [r14 + rbx - 2]
jmp 0x6fd10c6b
movzx ecx, byte [rdx]
add rdx, 1
or eax, ecx
cmp r8, rdx
jne 0x6fd10c64
movzx esi, byte [r14 + rbx - 2]
lea rbx, [r14 + rbx - 1]
mov rcx, rbp
xor esi, 1
or esi, eax
call qword [rdi + 0x48]
mov r8d, 8
mov rcx, rbp
lea rdx, [0x6fd2d388]
call qword [rdi + 0x50]
mov r8, qword [rdi + 0x28]
mov rdx, r13
mov rcx, rbp
call qword [rdi + 0x50]
mov r8, r15
mov rdx, rbx
mov rcx, rbp
call qword [rdi + 0x50]
xor edx, edx
mov rcx, rbp
call qword [rdi + 0x58]
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x6fd10ce4
xor edx, edx
nop word [rax + rax]
movzx ecx, byte [r12 + rdx]
xor cl, byte [rbp + rdx]
add rdx, 1
or esi, ecx
cmp rdx, rax
jne 0x6fd10cd0
mov rcx, rbp
call sym.libSFTP.dll_osFreeMem
cmp sil, 1
sbb eax, eax
not eax
and eax, 0xf9
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x6fd11780
Capabilities:
Encrypt data using openssl rsa

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe0
mov rsi, rdx
test rcx, rcx
mov rbx, rcx
sete dl
test rsi, rsi
mov rbp, r8
setne al
test dl, al
jne 0x6fd11850
test r8, r8
je 0x6fd11850
lea r12, [rsp + 0x40]
xor eax, eax
mov ecx, 0x14
mov rdi, r12
xor r9d, r9d
mov rdx, rsi
rep stosq qword [rdi], rax
lea r13, [rsp + 0x38]
mov rcx, rbx
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], r13
lea r8, str.RSA_PUBLIC_KEY
call sym.libSFTP.dll_pemDecodeFile
test eax, eax
jne 0x6fd11870
mov rcx, qword [rsp + 0x38]
call sym.libSFTP.dll_osAllocMem
test rax, rax
mov r14, rax
je 0x6fd11910
mov qword [rsp + 0x20], r13
mov r9, rax
mov rdx, rsi
mov rcx, rbx
mov qword [rsp + 0x28], 0
lea r8, str.RSA_PUBLIC_KEY
call sym.libSFTP.dll_pemDecodeFile
test eax, eax
mov edi, eax
je 0x6fd11922
mov rcx, r14
call sym.libSFTP.dll_osFreeMem
test edi, edi
je 0x6fd11855
mov rcx, rbp
call sym.libSFTP.dll_rsaFreePublicKey
jmp 0x6fd11855
mov edi, 2
mov eax, edi
add rsp, 0xe0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
xor r9d, r9d
mov qword [rsp + 0x20], r13
mov rdx, rsi
mov rcx, rbx
mov qword [rsp + 0x28], 0
lea r8, str.PUBLIC_KEY
mov edi, 0x130
call sym.libSFTP.dll_pemDecodeFile
test eax, eax
jne 0x6fd11844
mov rcx, qword [rsp + 0x38]
call sym.libSFTP.dll_osAllocMem
test rax, rax
mov r14, rax
je 0x6fd11910
mov qword [rsp + 0x20], r13
mov r9, rax
mov rdx, rsi
mov rcx, rbx
mov qword [rsp + 0x28], 0
lea r8, str.PUBLIC_KEY
call sym.libSFTP.dll_pemDecodeFile
test eax, eax
mov edi, eax
jne 0x6fd11838
mov rdx, qword [rsp + 0x38]
mov r9, r12
mov r8, r13
mov rcx, r14
call sym.libSFTP.dll_x509ParseSubjectPublicKeyInfo
test eax, eax
mov edi, eax
jne 0x6fd11838
mov rdx, rbp
mov rcx, r12
call sym.libSFTP.dll_x509ImportRsaPublicKey
mov edi, eax
jmp 0x6fd11838
mov rcx, rbp
mov edi, 0x64
call sym.libSFTP.dll_rsaFreePublicKey
jmp 0x6fd11855
mov rdx, qword [rsp + 0x38]
lea r8, [r12 + 0x20]
mov rcx, r14
call sym.libSFTP.dll_x509ParseRsaPublicKey
test eax, eax
mov edi, eax
jne 0x6fd11838
mov rax, qword [sym.libSFTP.dll_RSA_ENCRYPTION_OID]
mov rdx, rbp
mov rcx, r12
mov qword [rsp + 0x58], 9
mov qword [rsp + 0x50], rax
call sym.libSFTP.dll_x509ImportRsaPublicKey
mov edi, eax
jmp 0x6fd11838
Function at 0x6fd11970
Capabilities:
Encrypt data using openssl rsa

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x160
mov rsi, rdx
test rcx, rcx
mov rbx, rcx
sete dl
test rsi, rsi
mov rbp, r8
setne al
test dl, al
jne 0x6fd11a40
test r8, r8
je 0x6fd11a40
lea r12, [rsp + 0x40]
xor eax, eax
mov ecx, 0x23
mov rdi, r12
xor r9d, r9d
mov rdx, rsi
rep stosq qword [rdi], rax
lea r13, [rsp + 0x38]
mov rcx, rbx
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], r13
lea r8, str.RSA_PRIVATE_KEY
call sym.libSFTP.dll_pemDecodeFile
test eax, eax
jne 0x6fd11a60
mov rcx, qword [rsp + 0x38]
call sym.libSFTP.dll_osAllocMem
test rax, rax
mov r14, rax
je 0x6fd11b00
mov qword [rsp + 0x20], r13
mov r9, rax
mov rdx, rsi
mov rcx, rbx
mov qword [rsp + 0x28], 0
lea r8, str.RSA_PRIVATE_KEY
call sym.libSFTP.dll_pemDecodeFile
test eax, eax
mov edi, eax
je 0x6fd11b12
mov rcx, r14
call sym.libSFTP.dll_osFreeMem
test edi, edi
je 0x6fd11a45
mov rcx, rbp
call sym.libSFTP.dll_rsaFreePrivateKey
jmp 0x6fd11a45
mov edi, 2
mov eax, edi
add rsp, 0x160
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
xor r9d, r9d
mov qword [rsp + 0x20], r13
mov rdx, rsi
mov rcx, rbx
mov qword [rsp + 0x28], 0
lea r8, str.PRIVATE_KEY
mov edi, 0x130
call sym.libSFTP.dll_pemDecodeFile
test eax, eax
jne 0x6fd11a34
mov rcx, qword [rsp + 0x38]
call sym.libSFTP.dll_osAllocMem
test rax, rax
mov r14, rax
je 0x6fd11b00
mov qword [rsp + 0x20], r13
mov r9, rax
mov rdx, rsi
mov rcx, rbx
mov qword [rsp + 0x28], 0
lea r8, str.PRIVATE_KEY
call sym.libSFTP.dll_pemDecodeFile
test eax, eax
mov edi, eax
jne 0x6fd11a28
mov rdx, qword [rsp + 0x38]
mov r8, r12
mov rcx, r14
call sym.libSFTP.dll_pkcs8ParsePrivateKeyInfo
test eax, eax
mov edi, eax
jne 0x6fd11a28
mov rdx, rbp
mov rcx, r12
call sym.libSFTP.dll_pkcs8ImportRsaPrivateKey
mov edi, eax
jmp 0x6fd11a28
mov rcx, rbp
mov edi, 0x64
call sym.libSFTP.dll_rsaFreePrivateKey
jmp 0x6fd11a45
mov rdx, qword [rsp + 0x38]
lea r8, [r12 + 0x18]
mov rcx, r14
call sym.libSFTP.dll_pkcs8ParseRsaPrivateKey
test eax, eax
mov edi, eax
jne 0x6fd11a28
mov rax, qword [sym.libSFTP.dll_RSA_ENCRYPTION_OID]
mov rdx, rbp
mov rcx, r12
mov qword [rsp + 0x50], 9
mov qword [rsp + 0x48], rax
call sym.libSFTP.dll_pkcs8ImportRsaPrivateKey
mov edi, eax
jmp 0x6fd11a28
Function at 0x6fd12a10
Capabilities:
Encrypt data using openssl rsa

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
lea rsi, [rsp + 0x20]
mov rdi, r8
mov rbp, r9
mov r8, rsi
call sym.libSFTP.dll_asn1ReadSequence
test eax, eax
mov ebx, eax
je 0x6fd12a44
mov eax, ebx
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov rax, qword [rsp + 0x40]
mov r8, rsi
mov r12, qword [rsp + 0x30]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x38]
mov rdx, r12
mov rcx, rdi
call sym.libSFTP.dll_asn1ReadOid
test eax, eax
mov ebx, eax
jne 0x6fd12a35
mov rax, qword [rsp + 0x38]
mov r8d, 9
mov rcx, rsi
mov rdx, qword [sym.libSFTP.dll_RSA_ENCRYPTION_OID]
mov r13, qword [rsp + 0x40]
mov qword [rbp + 8], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x10], rax
call sym.libSFTP.dll_asn1CheckOid
test eax, eax
je 0x6fd12a35
mov rdx, qword [sym.libSFTP.dll_RSASSA_PSS_OID]
mov r8d, 9
mov rcx, rsi
call sym.libSFTP.dll_asn1CheckOid
test eax, eax
je 0x6fd12a35
mov rdx, qword [sym.libSFTP.dll_DSA_OID]
mov rcx, rsi
add rdi, r13
sub r12, r13
mov r8d, 7
call sym.libSFTP.dll_asn1CheckOid
test eax, eax
je 0x6fd12b2c
mov rdx, qword [sym.libSFTP.dll_EC_PUBLIC_KEY_OID]
mov r8d, 7
mov rcx, rsi
call sym.libSFTP.dll_asn1CheckOid
test eax, eax
je 0x6fd12b45
mov rdx, qword [sym.libSFTP.dll_X25519_OID]
mov r8d, 3
mov rcx, rsi
call sym.libSFTP.dll_asn1CheckOid
test eax, eax
je 0x6fd12a35
mov rdx, qword [sym.libSFTP.dll_ED25519_OID]
mov r8d, 3
mov rcx, rsi
call sym.libSFTP.dll_asn1CheckOid
test eax, eax
mov eax, 0xd6
cmovne ebx, eax
jmp 0x6fd12a35
lea r8, [rbp + 0xa0]
mov rdx, r12
mov rcx, rdi
call sym.libSFTP.dll_x509ParseDsaParameters
mov ebx, eax
jmp 0x6fd12a35
lea r8, [rbp + 0xe0]
mov rdx, r12
mov rcx, rdi
call sym.libSFTP.dll_x509ParseEcParameters
mov ebx, eax
jmp 0x6fd12a35
Function at 0x6fd130f0
Capabilities:
Encrypt data using openssl rsa

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x90
xor eax, eax
mov r9, rcx
mov rdi, r8
mov ecx, 0x23
rep stosq qword [rdi], rax
lea rsi, [rsp + 0x30]
mov rbx, r8
mov rcx, r9
mov r8, rsi
call sym.libSFTP.dll_asn1ReadSequence
test eax, eax
je 0x6fd13132
add rsp, 0x90
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rbp, qword [rsp + 0x48]
mov r9, rbx
mov r8, rsi
mov rdi, qword [rsp + 0x40]
mov rcx, rbp
mov rdx, rdi
call sym.libSFTP.dll_asn1ReadInt32
test eax, eax
jne 0x6fd13124
mov rax, qword [rsp + 0x50]
lea r8, [rsp + 0x28]
mov r9, rbx
add rbp, rax
sub rdi, rax
mov rdx, rdi
mov rcx, rbp
call sym.libSFTP.dll_pkcs8ParsePrivateKeyAlgo
test eax, eax
jne 0x6fd13124
mov rcx, qword [rsp + 0x28]
mov r8, rsi
sub rdi, rcx
add rcx, rbp
mov rdx, rdi
call sym.libSFTP.dll_asn1ReadOctetString
test eax, eax
jne 0x6fd13124
mov rsi, qword [rbx + 8]
mov r9d, 9
mov rdi, qword [rbx + 0x10]
mov r8, qword [sym.libSFTP.dll_RSA_ENCRYPTION_OID]
mov rbp, qword [rsp + 0x48]
mov rcx, rsi
mov r12, qword [rsp + 0x40]
mov rdx, rdi
call sym.libSFTP.dll_oidComp
test eax, eax
je 0x6fd131d7
mov r8, qword [sym.libSFTP.dll_RSASSA_PSS_OID]
mov r9d, 9
mov rdx, rdi
mov rcx, rsi
call sym.libSFTP.dll_oidComp
test eax, eax
jne 0x6fd131eb
lea r8, [rbx + 0x18]
mov rdx, r12
mov rcx, rbp
call sym.libSFTP.dll_pkcs8ParseRsaPrivateKey
jmp 0x6fd13124
mov r8, qword [sym.libSFTP.dll_DSA_OID]
mov r9d, 7
mov rdx, rdi
mov rcx, rsi
call sym.libSFTP.dll_oidComp
test eax, eax
je 0x6fd13298
mov r8, qword [sym.libSFTP.dll_EC_PUBLIC_KEY_OID]
mov r9d, 7
mov rdx, rdi
mov rcx, rsi
call sym.libSFTP.dll_oidComp
test eax, eax
je 0x6fd132b2
mov r8, qword [sym.libSFTP.dll_X25519_OID]
mov r9d, 3
mov rdx, rdi
mov rcx, rsi
call sym.libSFTP.dll_oidComp
test eax, eax
je 0x6fd13263
mov r8, qword [sym.libSFTP.dll_ED25519_OID]
mov r9d, 3
mov rdx, rdi
mov rcx, rsi
call sym.libSFTP.dll_oidComp
test eax, eax
jne 0x6fd132d0
lea r8, [rsp + 0x60]
mov rdx, r12
mov rcx, rbp
call sym.libSFTP.dll_asn1ReadOctetString
test eax, eax
jne 0x6fd13124
mov rdx, qword [rsp + 0x78]
mov qword [rbx + 0x108], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rbx + 0x110], rdx
jmp 0x6fd13124
lea r9, [rbx + 0xd0]
xor r8d, r8d
mov rdx, r12
mov rcx, rbp
call sym.libSFTP.dll_pkcs8ParseDsaPrivateKey
jmp 0x6fd13124
lea r9, [rbx + 0xf0]
mov rdx, r12
mov rcx, rbp
lea r8, [rbx + 0xe0]
call sym.libSFTP.dll_pkcs8ParseEcPrivateKey
jmp 0x6fd13124
mov eax, 0xd6
jmp 0x6fd13124
Function at 0x6fd13310
Capabilities:
Encrypt data using openssl rsa

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov r8, qword [sym.libSFTP.dll_RSA_ENCRYPTION_OID]
mov r9d, 9
mov rdi, qword [rcx + 0x10]
mov rsi, qword [rcx + 8]
mov rbx, rcx
mov rbp, rdx
mov rdx, rdi
mov rcx, rsi
call sym.libSFTP.dll_oidComp
test eax, eax
jne 0x6fd134b0
mov rdx, qword [rbx + 0x20]
test rdx, rdx
je 0x6fd134a0
cmp qword [rbx + 0x30], 0
je 0x6fd134a0
cmp qword [rbx + 0x40], 0
je 0x6fd134a0
cmp qword [rbx + 0x50], 0
je 0x6fd134a0
cmp qword [rbx + 0x60], 0
je 0x6fd134a0
cmp qword [rbx + 0x70], 0
je 0x6fd134a0
cmp qword [rbx + 0x80], 0
je 0x6fd134a0
cmp qword [rbx + 0x90], 0
je 0x6fd134a0
mov r8d, dword [rbx + 0x28]
mov r9d, 1
mov rcx, rbp
call sym.libSFTP.dll_mpiImport
test eax, eax
jne 0x6fd134a5
mov rdx, qword [rbx + 0x30]
lea rcx, [rbp + 0x10]
mov r9d, 1
mov r8d, dword [rbx + 0x38]
call sym.libSFTP.dll_mpiImport
test eax, eax
jne 0x6fd134a5
mov rdx, qword [rbx + 0x40]
lea rcx, [rbp + 0x20]
mov r9d, 1
mov r8d, dword [rbx + 0x48]
call sym.libSFTP.dll_mpiImport
test eax, eax
jne 0x6fd134a5
mov rdx, qword [rbx + 0x50]
lea rcx, [rbp + 0x30]
mov r9d, 1
mov r8d, dword [rbx + 0x58]
call sym.libSFTP.dll_mpiImport
test eax, eax
jne 0x6fd134a5
mov rdx, qword [rbx + 0x60]
lea rcx, [rbp + 0x40]
mov r9d, 1
mov r8d, dword [rbx + 0x68]
call sym.libSFTP.dll_mpiImport
test eax, eax
jne 0x6fd134a5
mov rdx, qword [rbx + 0x70]
lea rcx, [rbp + 0x50]
mov r9d, 1
mov r8d, dword [rbx + 0x78]
call sym.libSFTP.dll_mpiImport
test eax, eax
jne 0x6fd134a5
mov rdx, qword [rbx + 0x80]
lea rcx, [rbp + 0x60]
mov r9d, 1
mov r8d, dword [rbx + 0x88]
call sym.libSFTP.dll_mpiImport
test eax, eax
jne 0x6fd134a5
mov rdx, qword [rbx + 0x90]
lea rcx, [rbp + 0x70]
mov r9d, 1
mov r8d, dword [rbx + 0x98]
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.libSFTP.dll_mpiImport
mov eax, 0xe7
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov r8, qword [sym.libSFTP.dll_RSASSA_PSS_OID]
mov r9d, 9
mov rdx, rdi
mov rcx, rsi
call sym.libSFTP.dll_oidComp
test eax, eax
je 0x6fd13346
mov eax, 0xd6
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret