Function at 0x2dfc8
Capabilities:
Encrypt data using openssl dsa
Encrypt data using openssl ecdsa
Encrypt data using openssl rsa

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x110
mov rsi, rdx
mov rbp, rcx
xor r14d, r14d
xor r15d, r15d
xor r12d, r12d
call fcn.00035e04
mov ebx, eax
test eax, eax
je 0x2e02b
lea rcx, [rbp + 0x128]
call fcn.00035e58
cmp ebx, eax
jb 0x2e021
lea rcx, [rbp + 0x132]
call fcn.00035e58
cmp ebx, eax
jbe 0x2e02b
mov eax, 0x212
jmp 0x2e5b3
mov r8, qword [rbp + 0x30]
cmp r8, qword [rsi + 0x148]
je 0x2e042
mov eax, 0x210
jmp 0x2e5b3
mov rdx, qword [rsi + 0x140]
mov rcx, qword [rbp + 0x28]
call fcn.0003bde0
test eax, eax
jne 0x2e038
cmp byte [rsi + 0x10], 2
jb 0x2e065
cmp dword [rsi + 0x2d0], r12d
je 0x2e038
mov rbx, qword [rbp + 0x2d8]
mov rdx, qword [rbp + 0x2e0]
mov edi, 9
lea r8, [0x000445d0]
mov r9, rdi
mov rcx, rbx
call fcn.000326a8
test eax, eax
jne 0x2e0a0
lea ebx, [rdi - 8]
lea rdi, [0x00041260]
mov r14d, ebx
jmp 0x2e22d
lea r8, [0x000445e0]
mov rcx, rbx
call fcn.000326a8
test eax, eax
jne 0x2e0be
lea ebx, [rax + 1]
mov r14d, ebx
jmp 0x2e191
lea r8, [0x000445f0]
mov rcx, rbx
call fcn.000326a8
test eax, eax
jne 0x2e0dc
lea ebx, [rax + 1]
mov r14d, ebx
jmp 0x2e1de
lea r8, [0x00044600]
mov rcx, rbx
call fcn.000326a8
test eax, eax
jne 0x2e0fa
lea ebx, [rax + 1]
mov r14d, ebx
jmp 0x2e200
lea r8, [0x00044610]
mov rcx, rbx
call fcn.000326a8
test eax, eax
jne 0x2e118
lea ebx, [rax + 1]
mov r14d, ebx
jmp 0x2e226
mov r13d, 7
lea r8, [0x00041c28]
mov rcx, rbx
mov r9, r13
call fcn.000326a8
test eax, eax
jne 0x2e13c
lea ebx, [rax + 1]
mov r15d, ebx
jmp 0x2e191
lea r8, [0x00044568]
mov r9, rdi
mov rcx, rbx
call fcn.000326a8
test eax, eax
jne 0x2e15a
lea ebx, [rax + 1]
mov r15d, ebx
jmp 0x2e1bc
lea r8, [0x00044578]
mov rcx, rbx
call fcn.000326a8
test eax, eax
jne 0x2e175
lea ebx, [rax + 1]
mov r15d, ebx
jmp 0x2e1de
lea r8, [0x0003e8b8]
mov r9, r13
mov rcx, rbx
call fcn.000326a8
test eax, eax
jne 0x2e19d
lea ebx, [rax + 1]
mov r12d, ebx
lea rdi, str.SHA_1
jmp 0x2e22d
lea r8, [0x0003f948]
mov r9d, 8
mov rcx, rbx
call fcn.000326a8
test eax, eax
jne 0x2e1c5
lea ebx, [rax + 1]
mov r12d, ebx
lea rdi, str.SHA_224
jmp 0x2e22d
lea r8, [0x0003f9b8]
mov rcx, rbx
call fcn.000326a8
test eax, eax
jne 0x2e1e7
lea ebx, [rax + 1]
mov r12d, ebx
lea rdi, str.SHA_256
jmp 0x2e22d
lea r8, [0x0003fa78]
mov rcx, rbx
call fcn.000326a8
test eax, eax
jne 0x2e209
lea ebx, [rax + 1]
mov r12d, ebx
lea rdi, str.SHA_384
jmp 0x2e22d
lea r8, [0x00041670]
mov rcx, rbx
call fcn.000326a8
test eax, eax
jne 0x2e5ae
lea ebx, [rax + 1]
mov r12d, ebx
lea rdi, str.SHA_512
mov rdx, qword [rdi + 0x18]
xor ecx, ecx
mov r8d, 0x53534c4d
and rdx, 0xfffffffffffffff0
add rdx, 0x10
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov r13, rax
test rax, rax
jne 0x2e258
lea eax, [r13 + 0x64]
jmp 0x2e5b3
mov rcx, rax
call qword [rdi + 0x38]
mov r8, qword [rbp + 8]
mov rdx, qword [rbp]
mov rcx, r13
call qword [rdi + 0x40]
xor edx, edx
mov rcx, r13
call qword [rdi + 0x48]
xor eax, eax
cmp r14d, eax
je 0x2e2e8
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x34], eax
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x48], rax
cmp qword [rsi + 0x250], rax
je 0x2e2b1
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.0002deb4
mov ebx, eax
xor eax, eax
jmp 0x2e2b6
mov ebx, 0xe2
cmp ebx, eax
jne 0x2e581
mov rax, qword [rbp + 0x2f0]
mov r9, qword [rbp + 0x2e8]
lea rcx, [rsp + 0x30]
mov r8, r13
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.00025eac
mov ebx, eax
jmp 0x2e581
cmp r15d, eax
je 0x2e3d3
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x54], eax
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x64], eax
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], ebx
mov dword [rsp + 0x74], eax
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x80], ebx
mov dword [rsp + 0x84], eax
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x34], eax
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x48], rax
cmp qword [rsi + 0x270], rax
je 0x2e364
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.0002df18
mov ebx, eax
xor eax, eax
jmp 0x2e369
mov ebx, 0xe2
cmp ebx, eax
jne 0x2e3a3
mov rdx, qword [rbp + 0x2f0]
mov rcx, qword [rbp + 0x2e8]
lea r8, [rsp + 0x30]
call fcn.00034290
mov ebx, eax
test eax, eax
jne 0x2e3a3
mov r8, qword [rdi + 0x28]
lea r9, [rsp + 0x30]
lea rcx, [rsp + 0x50]
mov rdx, r13
call fcn.0002faf4
mov ebx, eax
lea rcx, [rsp + 0x50]
call fcn.00030a94
lea rcx, [rsp + 0x60]
call fcn.00030a94
lea rcx, [rsp + 0x70]
call fcn.00030a94
lea rcx, [rsp + 0x80]
call fcn.00030a94
jmp 0x2e581
cmp r12d, eax
je 0x2e597
mov rdx, qword [rsi + 0x2b8]
mov rcx, qword [rsi + 0x2b0]
mov dword [rsp + 0x90], eax
mov qword [rsp + 0x108], rax
mov dword [rsp + 0x98], ebx
mov dword [rsp + 0x9c], eax
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xa8], ebx
mov dword [rsp + 0xac], eax
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0xb8], ebx
mov dword [rsp + 0xbc], eax
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0xc8], ebx
mov dword [rsp + 0xcc], eax
mov qword [rsp + 0xd0], rax
mov dword [rsp + 0xd8], ebx
mov dword [rsp + 0xdc], eax
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0xe8], ebx
mov dword [rsp + 0xec], eax
mov qword [rsp + 0xf0], rax
mov dword [rsp + 0xf8], ebx
mov dword [rsp + 0xfc], eax
mov qword [rsp + 0x100], rax
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x54], eax
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x64], eax
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], ebx
mov dword [rsp + 0x74], eax
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x34], eax
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x48], rax
call fcn.00033cb0
mov rcx, rax
neg rcx
sbb ebx, ebx
not ebx
and ebx, 0x210
jne 0x2e56a
lea rcx, [rsp + 0x90]
mov rdx, rax
call fcn.0002a388
mov ebx, eax
test eax, eax
jne 0x2e56a
mov r9, qword [rsi + 0x2c8]
mov r8, qword [rsi + 0x2c0]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x90]
call fcn.0002a4b0
mov ebx, eax
test eax, eax
jne 0x2e56a
mov rdx, qword [rbp + 0x2f0]
mov rcx, qword [rbp + 0x2e8]
lea r8, [rsp + 0x30]
call fcn.00034290
mov ebx, eax
test eax, eax
jne 0x2e56a
mov r9, qword [rdi + 0x28]
lea rax, [rsp + 0x30]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x90]
mov r8, r13
mov qword [rsp + 0x20], rax
call fcn.000343c4
mov ebx, eax
lea rcx, [rsp + 0x90]
call fcn.0002a344
lea rcx, [rsp + 0x50]
call fcn.0002a484
lea rcx, [rsp + 0x30]
call fcn.00030a94
lea rcx, [rsp + 0x40]
call fcn.00030a94
jmp 0x2e59c
mov ebx, 0xf7
mov edx, 0x53534c4d
mov rcx, r13
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov eax, ebx
jmp 0x2e5b3
mov eax, 0xf7
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret