Function at 0x140037820
Capabilities:
Encrypt data using openssl rsa

Disassembly:
push rsi
push rdi
push r14
sub rsp, 0x50
mov rdi, rcx
mov rax, rdx
mov rcx, qword [rcx]
xor esi, esi
sub rax, rcx
mov r14, r8
cmp rax, 1
jge 0x140037853
mov eax, 0xffffffa0
add eax, 0xffffc300
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret
cmp byte [rcx], 0x30
je 0x14003786b
mov eax, 0xffffff9e
add eax, 0xffffc300
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret
lea rax, [rcx + 1]
mov rcx, rdi
lea r8, [rsp + 0x70]
mov qword [rdi], rax
call fcn.1400367e0
test eax, eax
je 0x140037891
add eax, 0xffffc300
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret
mov qword [rsp + 0x78], rbx
lea r9, [rsp + 0x20]
mov qword [rsp + 0x80], rbp
lea r8, [rsp + 0x38]
mov rbp, qword [rsp + 0x70]
xorps xmm0, xmm0
add rbp, qword [rdi]
xor eax, eax
mov rdx, rbp
mov qword [rsp + 0x88], r15
mov rcx, rdi
mov qword [rsp + 0x30], rax
movups xmmword [rsp + 0x20], xmm0
call fcn.140036c40
test eax, eax
je 0x1400378ff
lea ebx, [rax - 0x3a80]
test ebx, ebx
jne 0x14003794a
mov rcx, qword [rdi]
mov rax, rbp
sub rax, rcx
cmp rax, 1
jge 0x14003799b
mov eax, 0xffffffa0
add eax, 0xffffc500
jmp 0x14003794c
cmp qword [0x14006b180], rsi
lea rbx, [0x14006b180]
mov rcx, rbx
je 0x140037945
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
nop dword [rax]
cmp qword [rcx + 8], rsi
jne 0x140037938
mov rcx, qword [rcx]
mov r8, rsi
mov rdx, r15
call fcn.14005dd10
test eax, eax
je 0x14003796a
add rbx, 0x28
mov rcx, rbx
cmp qword [rbx], 0
jne 0x140037920
mov ebx, 0xffffc380
mov eax, ebx
mov rbp, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
mov r15, qword [rsp + 0x88]
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret
test rbx, rbx
je 0x140037945
mov esi, dword [rbx + 0x20]
cmp esi, 1
jne 0x1400378e0
mov eax, dword [rsp + 0x20]
cmp eax, 5
je 0x140037988
test eax, eax
jne 0x140037994
cmp qword [rsp + 0x28], 0
je 0x1400378e0
mov ebx, 0xffffc580
jmp 0x14003794a
cmp byte [rcx], 3
je 0x1400379ac
mov eax, 0xffffff9e
add eax, 0xffffc500
jmp 0x14003794c
lea rax, [rcx + 1]
mov rdx, rbp
mov rcx, rdi
mov qword [rdi], rax
lea r8, [rsp + 0x70]
call fcn.1400367e0
test eax, eax
jne 0x1400379e2
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1400379dd
lea rcx, [rax - 1]
mov rax, qword [rdi]
cmp byte [rax], 0
je 0x1400379ec
mov eax, 0xffffff98
add eax, 0xffffc500
jmp 0x14003794c
inc rax
mov qword [rdi], rax
add rax, rcx
cmp rax, rbp
je 0x140037a04
mov eax, 0xffffc49a
jmp 0x14003794c
mov ecx, esi
sub ecx, 1
je 0x140037a3f
sub ecx, 1
je 0x140037a36
sub ecx, 1
je 0x140037a2d
cmp ecx, 1
je 0x140037a24
mov eax, 0xffffc380
jmp 0x14003794c
lea rbx, [0x14006d3a0]
jmp 0x140037a46
lea rbx, [0x14006d340]
jmp 0x140037a46
lea rbx, [0x14006d280]
jmp 0x140037a46
lea rbx, [0x14006d2e0]
cmp qword [r14], 0
jne 0x140037b10
call qword [rbx + 0x48]
mov qword [r14 + 8], rax
mov rdx, rax
test rax, rax
jne 0x140037a69
mov eax, 0xffffc080
jmp 0x14003794c
mov qword [r14], rbx
cmp esi, 1
jne 0x140037a83
mov r8, rdx
mov rcx, rdi
mov rdx, rbp
call fcn.140037640
mov ebx, eax
jmp 0x140037ad8
lea eax, [rsi - 2]
cmp eax, 1
jbe 0x140037a92
mov ebx, 0xffffc380
jmp 0x140037aea
lea rcx, [rsp + 0x20]
call fcn.1400374c0
mov ebx, eax
test eax, eax
jne 0x140037aea
mov rsi, qword [r14 + 8]
mov r9, rbp
mov r8, qword [rdi]
mov rcx, rsi
sub r9, r8
lea rdx, [rsi + 0x110]
call fcn.140029540
mov ebx, eax
test eax, eax
jne 0x140037ad5
lea rdx, [rsi + 0x110]
mov rcx, rsi
call fcn.14002e710
mov ebx, eax
mov qword [rdi], rbp
test ebx, ebx
jne 0x140037aea
cmp qword [rdi], rbp
je 0x14003794a
mov ebx, 0xffffc49a
mov rax, qword [r14]
test rax, rax
je 0x140037af9
mov rcx, qword [r14 + 8]
call qword [rax + 0x50]
mov rax, qword [fcn.14004d760]
xor edx, edx
mov rcx, r14
lea r8d, [rdx + 0x10]
call rax
jmp 0x14003794a
mov eax, 0xffffc180
jmp 0x14003794c