Function at 0x18014d690
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x40
mov rsi, rdx
xor r14d, r14d
lea rdx, [0x1801e882c]
mov dword [rsp + 0x68], r14d
mov rcx, qword [rsi + 0x10]
call fcn.18016f820
mov rbp, rax
test rax, rax
jne 0x18014d6e0
mov r9, qword [rsi + 0x10]
lea r8, str.Couldnt_open_file__s
lea rdx, str.stream_secure_channel
xor ecx, ecx
call fcn.1800f0e30
xor al, al
add rsp, 0x40
pop r14
pop rsi
pop rbp
ret
xor edx, edx
mov qword [rsp + 0x60], rbx
mov rcx, rbp
lea r8d, [rdx + 2]
call fcn.180168bf0
mov rcx, rbp
call fcn.18016f060
xor r8d, r8d
movsxd rbx, eax
xor edx, edx
mov rcx, rbp
call fcn.180168bf0
cmp ebx, 1
jge 0x18014d73c
mov r9, qword [rsi + 0x10]
lea r8, str.Couldnt_determine_file_size_of__s
lea rdx, str.stream_secure_channel
mov ecx, 2
call fcn.1800f0e30
mov rbx, qword [rsp + 0x60]
xor al, al
add rsp, 0x40
pop r14
pop rsi
pop rbp
ret
mov rcx, rbx
mov qword [rsp + 0x70], rdi
call fcn.180084f90
mov r9, rbp
mov r8, rbx
mov edx, 1
mov rcx, rax
mov rdi, rax
call fcn.180168820
mov rcx, rbp
call fcn.180167954
lea rdx, str._____BEGIN_CERTIFICATE_____
mov rcx, rdi
call fcn.180161d3c
mov rdi, rax
test rax, rax
jne 0x18014d79d
mov r9, qword [rsi + 0x10]
lea r8, str.Couldnt_find_certificate_in__s
lea rdx, str.stream_secure_channel
lea ecx, [rax + 2]
call fcn.1800f0e30
jmp 0x18014d8e3
mov qword [rsp + 0x30], r14
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], r14
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, rdi
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
jne 0x18014d7e9
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.Failed_to_convert_BASE64_public_key._Error_0x_.8X
xor ecx, ecx
mov r9d, eax
lea rdx, str.stream_secure_channel
call fcn.1800f0e30
jmp 0x18014d8e3
mov edx, dword [rsp + 0x68]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov qword [rsp + 0x30], r14
xor r8d, r8d
mov rbx, rax
mov qword [rsp + 0x28], r14
lea rax, [rsp + 0x68]
mov r9, rbx
xor edx, edx
mov qword [rsp + 0x20], rax
mov rcx, rdi
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
je 0x18014d7c6
mov r8d, dword [rsp + 0x68]
mov rdx, rbx
mov ecx, 1
call qword [sym.imp.CRYPT32.dll_CertCreateCertificateContext]
mov rdi, rax
test rax, rax
jne 0x18014d857
lea r8, str.Could_not_convert_certificate
lea rdx, str.stream_secure_channel
lea ecx, [rax + 2]
call fcn.1800f0e30
jmp 0x18014d8e3
xor r8d, r8d
lea rax, str.Root
mov r9d, 0x20000
mov qword [rsp + 0x20], rax
mov edx, 0x10001
lea ecx, [r8 + 0xa]
call qword [sym.imp.CRYPT32.dll_CertOpenStore]
mov rbx, rax
test rax, rax
jne 0x18014d89a
lea r8, str.Error_opening_certificate_store
xor ecx, ecx
lea rdx, str.stream_secure_channel
call fcn.1800f0e30
jmp 0x18014d8e3
xor r9d, r9d
mov rdx, rdi
mov rcx, rbx
lea r8d, [r9 + 2]
call qword [sym.imp.CRYPT32.dll_CertAddCertificateContextToStore]
test eax, eax
je 0x18014d8c0
xor edx, edx
mov rcx, rbx
call qword [sym.imp.CRYPT32.dll_CertCloseStore]
mov al, 1
jmp 0x18014d8e5
lea r8, str.Failed_adding_the_cert
mov ecx, 2
lea rdx, str.stream_secure_channel
call fcn.1800f0e30
xor edx, edx
mov rcx, rbx
call qword [sym.imp.CRYPT32.dll_CertCloseStore]
xor al, al
mov rdi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop r14
pop rsi
pop rbp
ret