Function at 0x140014a00
Capabilities:
Encrypt data using openssl rsa

Disassembly:
mov r11, rsp
push rbp
push rbx
push rdi
push r15
lea rbp, [r11 - 0x4f]
sub rsp, 0x88
mov rbx, rcx
xorps xmm0, xmm0
xor ecx, ecx
xorps xmm1, xmm1
mov qword [rbp - 0x19], rcx
mov rax, r8
mov qword [rbp + 0x17], rcx
mov r15, rdx
mov qword [rbp - 1], rcx
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp + 7], xmm1
movups xmmword [rbp - 0x11], xmm0
test rbx, rbx
je 0x140015635
test rdx, rdx
je 0x140015635
add r8, rdx
mov qword [r11 + 0x10], rsi
mov qword [r11 - 0x28], r14
cmp rax, 1
jl 0x140015623
cmp byte [rdx], 0x30
jne 0x140015623
lea rdi, [rdx + 1]
mov rdx, r8
sub rdx, rdi
cmp rdx, 1
jl 0x140015623
movzx eax, byte [rdi]
xor r14d, r14d
test al, al
js 0x140014a97
inc rdi
mov esi, eax
mov rax, rdi
mov rdx, rdi
jmp 0x140014ad8
mov ecx, eax
and ecx, 0x7f
lea eax, [rcx - 1]
cmp eax, 3
ja 0x140015623
mov eax, ecx
cmp rdx, rax
jle 0x140015623
mov rsi, r14
inc rdi
nop dword [rax]
movzx eax, byte [rdi]
shl rsi, 8
or rsi, rax
inc rdi
mov rdx, rdi
mov rax, rdi
sub ecx, 1
jne 0x140014ac0
sub r8, rax
cmp rsi, r8
ja 0x140015623
lea r11, [rax + rsi]
mov qword [rsp + 0xc0], r12
mov rax, r11
mov qword [rbp + 0x77], r11
sub rax, r15
mov qword [rbx + 0x10], rax
test r9d, r9d
je 0x140014b50
mov r12d, 1
mov rdx, rax
mov ecx, r12d
call fcn.140039240
mov qword [rbx + 0x18], rax
mov rdi, rax
test rax, rax
jne 0x140014b2a
mov eax, 0xffffd780
jmp 0x140014e8e
mov r8, qword [rbx + 0x10]
mov rdx, r15
mov rcx, rdi
call fcn.140037340
mov rax, qword [rbx + 0x10]
sub rax, rsi
add rdi, rax
mov rdx, rdi
lea r11, [rdi + rsi]
mov qword [rbp + 0x77], r11
jmp 0x140014b57
mov qword [rbx + 0x18], r15
mov r12d, r14d
mov rax, r11
mov dword [rbx], r12d
sub rax, rdx
mov qword [rbx + 0x30], rdi
cmp rax, 1
jge 0x140014b82
mov rcx, rbx
mov edi, 0xffffffa0
call fcn.1400166c0
lea eax, [rdi - 0x2180]
jmp 0x140014e8e
cmp byte [rdi], 0x30
je 0x140014b9f
mov rcx, rbx
mov edi, 0xffffff9e
call fcn.1400166c0
lea eax, [rdi - 0x2180]
jmp 0x140014e8e
lea rcx, [rdx + 1]
mov rdx, r11
sub rdx, rcx
cmp rdx, 1
jl 0x140014b6a
movzx eax, byte [rcx]
test al, al
js 0x140014bc3
inc rcx
mov edx, eax
mov r10, rcx
mov r9, rcx
jmp 0x140014c09
mov r8d, eax
and r8d, 0x7f
lea eax, [r8 - 1]
cmp eax, 3
ja 0x14001560b
mov eax, r8d
cmp rdx, rax
jle 0x140014b6a
mov rdx, r14
inc rcx
nop word [rax + rax]
movzx eax, byte [rcx]
shl rdx, 8
or rdx, rax
inc rcx
mov r9, rcx
mov r10, rcx
sub r8d, 1
jne 0x140014bf0
mov rax, r11
sub rax, r10
cmp rdx, rax
ja 0x140014b6a
lea r12, [r9 + rdx]
mov qword [rsp + 0xc8], r13
mov rax, r12
sub rax, rdi
mov edi, 0xffffffa0
mov qword [rbx + 0x28], rax
cmp rdx, 1
jge 0x140014c40
mov esi, edi
jmp 0x140014d0e
cmp byte [rcx], 0xa0
je 0x140014c4e
mov dword [rbx + 0x38], r14d
jmp 0x140014d1c
lea rcx, [r9 + 1]
mov rdx, r12
sub rdx, rcx
cmp rdx, 1
jge 0x140014c65
mov esi, edi
jmp 0x140014d0e
movzx eax, byte [rcx]
test al, al
js 0x140014c7d
inc rcx
mov edx, eax
mov qword [rbp + 0x57], rcx
mov r9, rcx
mov r10, rcx
jmp 0x140014cbd
mov r8d, eax
and r8d, 0x7f
lea eax, [r8 - 1]
cmp eax, 3
ja 0x140014d09
mov eax, r8d
cmp rdx, rax
jg 0x140014c99
mov esi, edi
jmp 0x140014d0e
mov rdx, r14
inc rcx
nop
movzx eax, byte [rcx]
shl rdx, 8
or rdx, rax
inc rcx
mov qword [rbp + 0x57], rcx
mov r10, rcx
mov r9, rcx
sub r8d, 1
jne 0x140014ca0
mov rax, r12
sub rax, r9
cmp rdx, rax
jbe 0x140014ccc
mov esi, edi
jmp 0x140014d0e
lea rsi, [rdx + r10]
mov rdx, rsi
lea r9, [rbx + 0x38]
lea rcx, [rbp + 0x57]
call fcn.140019b50
mov rcx, qword [rbp + 0x57]
test eax, eax
je 0x140014cf0
lea esi, [rax - 0x2200]
jmp 0x140014d14
cmp rcx, rsi
je 0x140014d1c
mov rcx, rbx
mov esi, 0xffffdd9a
call fcn.1400166c0
mov eax, esi
jmp 0x140014e86
mov esi, 0xffffff9c
add esi, 0xffffde80
test esi, esi
jne 0x1400155fc
mov rax, r12
sub rax, rcx
cmp rax, 1
jl 0x140014d59
movzx edx, byte [rcx]
lea eax, [rdx - 2]
test al, 0x7f
je 0x140014d46
mov rcx, rbx
mov esi, 0xffffdd1e
call fcn.1400166c0
mov eax, esi
jmp 0x140014e86
mov dword [rbx + 0x40], edx
lea rdx, [rcx + 1]
mov rcx, r12
sub rcx, rdx
cmp rcx, 1
jge 0x140014d6d
mov rcx, rbx
mov esi, 0xffffdd20
call fcn.1400166c0
mov eax, esi
jmp 0x140014e86
movzx eax, byte [rdx]
test al, al
js 0x140014d85
inc rdx
mov qword [rbx + 0x48], rax
mov r9, rdx
mov ecx, eax
mov r10d, eax
jmp 0x140014dd1
mov r8d, eax
and r8d, 0x7f
lea eax, [r8 - 1]
cmp eax, 3
ja 0x1400155f7
mov eax, r8d
cmp rcx, rax
jle 0x140014d59
mov qword [rbx + 0x48], r14
inc rdx
nop dword [rax + rax]
movzx eax, byte [rdx]
mov rcx, qword [rbx + 0x48]
shl rcx, 8
or rcx, rax
inc rdx
mov qword [rbx + 0x48], rcx
mov r10, rcx
mov r9, rdx
sub r8d, 1
jne 0x140014db0
mov rax, r12
sub rax, r9
cmp rcx, rax
ja 0x140014d59
lea rax, [r9 + r10]
mov qword [rbx + 0x50], rdx
lea r13, [rbx + 0x58]
mov qword [rbp + 0x57], rax
mov r8, r13
lea r9, [rbp - 0x29]
mov rdx, r12
lea rcx, [rbp + 0x57]
call fcn.14001a070
test eax, eax
je 0x140014e15
lea esi, [rax - 0x2300]
test esi, esi
jne 0x1400155fc
mov eax, dword [rbx + 0x38]
cmp eax, 2
ja 0x1400155e5
inc eax
mov dword [rbx + 0x38], eax
cmp qword [rbx + 0x2d8], r14
je 0x140014e36
mov edi, 0xffffd800
jmp 0x140014e7c
lea rsi, [0x14005d6a0]
mov rcx, rsi
test r13, r13
je 0x140014e77
cmp qword [0x14005d6a0], r14
je 0x140014e77
mov r15, qword [r13 + 8]
cmp qword [rcx + 8], r15
jne 0x140014e6b
mov rdx, qword [r13 + 0x10]
mov r8, r15
mov rcx, qword [rcx]
call fcn.140051c70
test eax, eax
je 0x140014eb3
add rsi, 0x28
mov rcx, rsi
cmp qword [rsi], r14
jne 0x140014e52
mov edi, 0xffffd9d2
mov rcx, rbx
call fcn.1400166c0
mov eax, edi
mov r13, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xb8]
mov r14, qword [rsp + 0x80]
add rsp, 0x88
pop r15
pop rdi
pop rbx
pop rbp
ret
test rsi, rsi
je 0x140014e77
mov eax, dword [rsi + 0x20]
mov r13d, dword [rbp - 0x29]
mov dword [rbx + 0x2d0], eax
mov eax, dword [rsi + 0x24]
mov dword [rbx + 0x2d4], eax
cmp r13d, 5
je 0x140014ed9
test r13d, r13d
jne 0x140014edf
cmp qword [rbp - 0x21], r14
je 0x140014ee6
mov edi, 0xffffdd00
jmp 0x140014e7c
mov rcx, qword [rbp + 0x57]
mov rax, r12
sub rax, rcx
mov qword [rbx + 0x80], rcx
cmp rax, 1
jl 0x1400155d2
cmp byte [rcx], 0x30
je 0x140014f1e
mov rcx, rbx
mov edi, 0xffffff9e
call fcn.1400166c0
lea eax, [rdi - 0x2180]
jmp 0x140014e86
lea rdx, [rcx + 1]
mov rcx, r12
sub rcx, rdx
cmp rcx, 1
jl 0x1400155d2
movzx eax, byte [rdx]
test al, al
js 0x140014f47
inc rdx
mov ecx, eax
mov qword [rbp + 0x57], rdx
mov r9, rdx
jmp 0x140014f8a
mov r8d, eax
and r8d, 0x7f
lea eax, [r8 - 1]
cmp eax, 3
ja 0x1400155cd
mov eax, r8d
cmp rcx, rax
jle 0x1400155d2
mov rcx, r14
inc rdx
nop dword [rax]
movzx eax, byte [rdx]
shl rcx, 8
or rcx, rax
inc rdx
mov qword [rbp + 0x57], rdx
mov r9, rdx
sub r8d, 1
jne 0x140014f70
mov rax, r12
sub rax, rdx
cmp rcx, rax
ja 0x1400155d2
lea rdx, [rcx + r9]
lea rcx, [rbp + 0x57]
lea r8, [rbx + 0xa0]
call fcn.140016a30
mov esi, eax
test eax, eax
jne 0x1400155fc
mov rcx, qword [rbp + 0x57]
mov esi, 0xffffff9e
mov rax, rcx
sub rax, qword [rbx + 0x80]
mov qword [rbx + 0x78], rax
mov rax, r12
sub rax, rcx
cmp rax, 1
jge 0x140014fe2
mov r15d, edi
jmp 0x1400150da
cmp byte [rcx], 0x30
je 0x140014fef
mov r15d, esi
jmp 0x1400150da
inc rcx
mov rdx, r12
sub rdx, rcx
cmp rdx, 1
jge 0x140015006
mov r15d, edi
jmp 0x1400150da
movzx eax, byte [rcx]
test al, al
js 0x14001501e
inc rcx
mov edx, eax
mov qword [rbp + 0x57], rcx
mov r9, rcx
mov r10, rcx
jmp 0x14001506d
mov r8d, eax
and r8d, 0x7f
lea eax, [r8 - 1]
cmp eax, 3
ja 0x1400150d4
mov eax, r8d
cmp rdx, rax
jg 0x140015042
mov r15d, edi
jmp 0x1400150da
mov rdx, r14
inc rcx
nop dword [rax + rax]
movzx eax, byte [rcx]
shl rdx, 8
or rdx, rax
inc rcx
mov qword [rbp + 0x57], rcx
mov r10, rcx
mov r9, rcx
sub r8d, 1
jne 0x140015050
mov rax, r12
sub rax, r9
cmp rdx, rax
jbe 0x14001507d
mov r15d, edi
jmp 0x1400150da
lea r13, [rdx + r10]
mov rdx, r13
lea r8, [rbx + 0x120]
lea rcx, [rbp + 0x57]
call fcn.140016e40
mov r15d, eax
test eax, eax
jne 0x1400150e3
lea r8, [rbx + 0x138]
mov rdx, r13
lea rcx, [rbp + 0x57]
call fcn.140016e40
mov r15d, eax
test eax, eax
jne 0x1400150e3
mov rcx, qword [rbp + 0x57]
cmp rcx, r13
je 0x1400150f3
mov rcx, rbx
mov r15d, 0xffffdb9a
call fcn.1400166c0
mov eax, r15d
jmp 0x140014e86
mov r15d, 0xffffff9c
add r15d, 0xffffdc00
je 0x1400150f7
mov rcx, rbx
call fcn.1400166c0
mov eax, r15d
jmp 0x140014e86
mov r13d, dword [rbp - 0x29]
mov rax, r12
mov qword [rbx + 0x98], rcx
sub rax, rcx
cmp rax, 1
jl 0x1400155d2
cmp byte [rcx], 0x30
je 0x140015128
mov rcx, rbx
mov edi, esi
call fcn.1400166c0
lea eax, [rsi - 0x2180]
jmp 0x140014e86
lea rdx, [rcx + 1]
mov rcx, r12
sub rcx, rdx
cmp rcx, 1
jl 0x1400155d2
movzx eax, byte [rdx]
test al, al
js 0x140015151
inc rdx
mov ecx, eax
mov qword [rbp + 0x57], rdx
mov r9, rdx
jmp 0x14001519a
mov r8d, eax
and r8d, 0x7f
lea eax, [r8 - 1]
cmp eax, 3
ja 0x1400155cd
mov eax, r8d
cmp rcx, rax
jle 0x1400155d2
mov rcx, r14
inc rdx
nop word [rax + rax]
movzx eax, byte [rdx]
shl rcx, 8
or rcx, rax
inc rdx
mov qword [rbp + 0x57], rdx
mov r9, rdx
sub r8d, 1
jne 0x140015180
mov rax, r12
sub rax, r9
cmp rcx, rax
ja 0x1400155d2
test rcx, rcx
je 0x1400151d0
add rdx, rcx
lea r8, [rbx + 0xe0]
lea rcx, [rbp + 0x57]
call fcn.140016a30
mov r15d, eax
test eax, eax
jne 0x1400150e3
mov rdx, qword [rbp + 0x57]
mov rax, rdx
mov qword [rbx + 0x160], rdx
sub rax, qword [rbx + 0x98]
lea r8, [rbx + 0x168]
mov rdx, r12
mov qword [rbx + 0x90], rax
lea rcx, [rbp + 0x57]
call fcn.140018520
mov r15d, eax
test eax, eax
jne 0x1400150e3
mov rcx, qword [rbp + 0x57]
mov rax, rcx
sub rax, qword [rbx + 0x160]
mov qword [rbx + 0x158], rax
mov eax, dword [rbx + 0x38]
sub eax, 2
cmp eax, 1
ja 0x140015326
cmp rcx, r12
je 0x140015326
movzx eax, byte [rcx]
mov dword [rbx + 0x178], eax
mov rax, r12
sub rax, rcx
cmp rax, 1
jge 0x14001524f
mov eax, edi
jmp 0x140015316
cmp byte [rcx], 0xa1
jne 0x140015326
inc rcx
mov rdx, r12
sub rdx, rcx
mov qword [rbp + 0x57], rcx
cmp rdx, 1
jge 0x140015272
mov eax, edi
jmp 0x140015316
movzx eax, byte [rcx]
test al, al
js 0x140015291
inc rcx
mov qword [rbx + 0x180], rax
mov qword [rbp + 0x57], rcx
mov r9, rcx
mov r10, rcx
mov edx, eax
jmp 0x1400152eb
mov r8d, eax
and r8d, 0x7f
lea eax, [r8 - 1]
cmp eax, 3
ja 0x140015311
mov eax, r8d
cmp rdx, rax
jg 0x1400152ad
mov eax, edi
jmp 0x140015316
mov qword [rbx + 0x180], r14
inc rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov rdx, qword [rbx + 0x180]
shl rdx, 8
or rdx, rax
inc rcx
mov qword [rbx + 0x180], rdx
mov qword [rbp + 0x57], rcx
mov r10, rcx
mov r9, rcx
sub r8d, 1
jne 0x1400152c0
mov rax, r12
sub rax, r9
cmp rdx, rax
jbe 0x1400152fa
mov eax, edi
jmp 0x140015316
mov qword [rbx + 0x188], rcx
mov rcx, qword [rbx + 0x180]
add rcx, r10
mov qword [rbp + 0x57], rcx
jmp 0x140015326
mov eax, 0xffffff9c
lea r15d, [rax - 0x2180]
test r15d, r15d
jne 0x1400150e3
mov eax, dword [rbx + 0x38]
sub eax, 2
cmp eax, 1
ja 0x140015428
cmp rcx, r12
je 0x140015428
movzx eax, byte [rcx]
mov dword [rbx + 0x190], eax
mov rax, r12
sub rax, rcx
cmp rax, 1
jge 0x14001535a
mov eax, edi
jmp 0x140015418
cmp byte [rcx], 0xa2
jne 0x140015428
inc rcx
mov rdx, r12
sub rdx, rcx
mov qword [rbp + 0x57], rcx
cmp rdx, 1
jge 0x14001537d
mov eax, edi
jmp 0x140015418
movzx eax, byte [rcx]
test al, al
js 0x14001539c
inc rcx
mov qword [rbx + 0x198], rax
mov qword [rbp + 0x57], rcx
mov r9, rcx
mov r10, rcx
mov edx, eax
jmp 0x1400153ed
mov r8d, eax
and r8d, 0x7f
lea eax, [r8 - 1]
cmp eax, 3
ja 0x140015413
mov eax, r8d
cmp rdx, rax
jg 0x1400153b8
mov eax, edi
jmp 0x140015418
mov qword [rbx + 0x198], r14
inc rcx
movzx eax, byte [rcx]
mov rdx, qword [rbx + 0x198]
shl rdx, 8
or rdx, rax
inc rcx
mov qword [rbx + 0x198], rdx
mov qword [rbp + 0x57], rcx
mov r10, rcx
mov r9, rcx
sub r8d, 1
jne 0x1400153c2
mov rax, r12
sub rax, r9
cmp rdx, rax
jbe 0x1400153fc
mov eax, edi
jmp 0x140015418
mov qword [rbx + 0x1a0], rcx
mov rcx, qword [rbx + 0x198]
add rcx, r10
mov qword [rbp + 0x57], rcx
jmp 0x140015428
mov eax, 0xffffff9c
lea r15d, [rax - 0x2180]
test r15d, r15d
jne 0x1400150e3
cmp dword [rbx + 0x38], 3
jne 0x14001544c
mov r8, rbx
lea rcx, [rbp + 0x57]
mov rdx, r12
call fcn.1400140b0
mov r15d, eax
test eax, eax
jne 0x1400150e3
mov rcx, qword [rbp + 0x57]
cmp rcx, r12
jne 0x1400155bb
mov r12, qword [rbp + 0x77]
lea r9, [rbp + 7]
mov rdx, r12
lea r8, [rbp - 0x11]
lea rcx, [rbp + 0x57]
call fcn.14001a070
test eax, eax
je 0x140015481
lea r15d, [rax - 0x2300]
test r15d, r15d
jne 0x1400150e3
mov r8, qword [rbx + 0x60]
cmp r8, qword [rbp - 9]
jne 0x1400155a9
mov rdx, qword [rbp - 1]
mov rcx, qword [rbx + 0x68]
call fcn.140051c70
test eax, eax
jne 0x1400155a9
cmp r13d, dword [rbp + 7]
jne 0x1400155a9
cmp qword [rbp + 0xf], r14
jne 0x1400155a9
mov rcx, qword [rbp + 0x57]
mov rax, r12
sub rax, rcx
cmp rax, 1
jge 0x1400154dc
mov rcx, rbx
mov esi, 0xffffdb20
call fcn.1400166c0
mov eax, esi
jmp 0x140014e86
movzx r10d, byte [rcx]
cmp r10b, 3
jne 0x140015595
inc rcx
mov r8, r12
sub r8, rcx
cmp r8, 1
jge 0x140015500
mov esi, edi
jmp 0x140015595
movzx eax, byte [rcx]
test al, al
js 0x140015515
inc rcx
mov r14d, eax
mov r8, rcx
mov r9, rcx
jmp 0x140015548
mov edx, eax
and edx, 0x7f
lea eax, [rdx - 1]
cmp eax, 3
ja 0x140015590
mov eax, edx
cmp r8, rax
jg 0x14001552d
mov esi, edi
jmp 0x140015595
inc rcx
movzx eax, byte [rcx]
shl r14, 8
or r14, rax
inc rcx
mov r9, rcx
mov r8, rcx
sub edx, 1
jne 0x140015530
mov rax, r12
sub rax, r8
cmp r14, rax
jbe 0x140015557
mov esi, edi
jmp 0x140015595
test r14, r14
jne 0x140015562
lea esi, [r14 - 0x68]
jmp 0x140015595
dec r14
cmp byte [rcx], 0
je 0x140015571
mov esi, 0xffffff98
jmp 0x140015595
lea rax, [r9 + 1]
mov dword [rbx + 0x2b8], r10d
mov qword [rbx + 0x2c8], rax
lea rcx, [r14 + rax]
mov qword [rbx + 0x2c0], r14
jmp 0x14001559d
mov esi, 0xffffff9c
add esi, 0xffffdb80
jne 0x1400155fc
cmp rcx, r12
jne 0x1400155bb
xor eax, eax
jmp 0x140014e86
mov rcx, rbx
call fcn.1400166c0
mov eax, 0xffffd980
jmp 0x140014e86
mov rcx, rbx
call fcn.1400166c0
mov eax, 0xffffde1a
jmp 0x140014e86
mov edi, 0xffffff9c
mov rcx, rbx
call fcn.1400166c0
lea eax, [rdi - 0x2180]
jmp 0x140014e86
mov rcx, rbx
call fcn.1400166c0
mov eax, 0xffffda80
jmp 0x140014e86
mov esi, 0xffffdd1c
mov rcx, rbx
call fcn.1400166c0
mov eax, esi
jmp 0x140014e86
mov rcx, rbx
mov edi, 0xffffff9c
call fcn.1400166c0
lea eax, [rdi - 0x2180]
jmp 0x140014e8e
mov rcx, rbx
call fcn.1400166c0
mov eax, 0xffffde80
jmp 0x140014e96
mov eax, 0xffffd800
add rsp, 0x88
pop r15
pop rdi
pop rbx
pop rbp
ret