Function at 0x14014b2c0
Capabilities:
Get file size
Read file on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x418
mov rax, qword [0x1401af0e8]
xor rax, rsp
mov qword [rsp + 0x400], rax
mov rax, qword [rsp + 0x430]
mov rax, qword [rax]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0xa0], 0xffffffffffffffff
mov qword [rsp + 0x88], 0
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0x90], 0
mov dword [rsp + 0x68], 0
mov byte [rsp + 0x60], 0
mov dword [rsp + 0x78], 0
mov rax, qword [rsp + 0x428]
mov qword [rsp + 0xb8], rax
cmp qword [rsp + 0xb8], 0
jne 0x14014b3a8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x80
lea rdx, [rsp + 0x100]
mov ecx, eax
call fcn.14010c9c8
mov r9, rax
mov r8, qword [rsp + 0x428]
lea rdx, str.schannel:_invalid_path_name_for_CA_file__s:__s
mov rcx, qword [rsp + 0x70]
call fcn.1400ddbc8
mov dword [rsp + 0x64], Ordinal_79
jmp 0x14014b947
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0xa0], rax
cmp qword [rsp + 0xa0], 0xffffffffffffffff
jne 0x14014b431
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x80
lea rdx, [rsp + 0x180]
mov ecx, eax
call fcn.14010c9c8
mov r9, rax
mov r8, qword [rsp + 0x428]
lea rdx, str.schannel:_failed_to_open_CA_file__s:__s
mov rcx, qword [rsp + 0x70]
call fcn.1400ddbc8
mov dword [rsp + 0x64], Ordinal_79
jmp 0x14014b947
lea rdx, [rsp + 0xd0]
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x14014b48f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x80
lea rdx, [rsp + 0x200]
mov ecx, eax
call fcn.14010c9c8
mov r9, rax
mov r8, qword [rsp + 0x428]
lea rdx, str.schannel:_failed_to_determine_size_of_CA_file__s:__s
mov rcx, qword [rsp + 0x70]
call fcn.1400ddbc8
mov dword [rsp + 0x64], Ordinal_79
jmp 0x14014b947
cmp qword [rsp + 0xd0], 0x100000
jle 0x14014b4c1
mov r8d, 0x100000
lea rdx, str.schannel:_CA_file_exceeds_max_size_of__u_bytes
mov rcx, qword [rsp + 0x70]
call fcn.1400ddbc8
mov dword [rsp + 0x64], Ordinal_79
jmp 0x14014b947
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
inc rax
mov rcx, rax
call qword [fcn.14008ac9c]
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
jne 0x14014b505
mov dword [rsp + 0x64], reloc.WLDAP32.dll_Ordinal_27
jmp 0x14014b947
mov dword [rsp + 0x64], 0
mov eax, dword [rsp + 0x68]
cmp rax, qword [rsp + 0x90]
jae 0x14014b5eb
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x90]
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0x7c], 0
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x7c]
mov r8d, dword [rsp + 0xc0]
mov rdx, rax
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14014b5c1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x80
lea rdx, [rsp + 0x280]
mov ecx, eax
call fcn.14010c9c8
mov r9, rax
mov r8, qword [rsp + 0x428]
lea rdx, str.schannel:_failed_to_read_from_CA_file__s:__s
mov rcx, qword [rsp + 0x70]
call fcn.1400ddbc8
mov dword [rsp + 0x64], Ordinal_79
jmp 0x14014b947
cmp dword [rsp + 0x7c], 0
jne 0x14014b5d6
mov eax, dword [rsp + 0x68]
mov qword [rsp + 0x90], rax
jmp 0x14014b5e6
mov eax, dword [rsp + 0x7c]
mov ecx, dword [rsp + 0x68]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x68], eax
jmp 0x14014b50d
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
mov byte [rax], 0
cmp dword [rsp + 0x64], 0
je 0x14014b610
jmp 0x14014b947
lea rcx, str._n_____END_CERTIFICATE_____
call fcn.14008d570
mov qword [rsp + 0xe0], rax
mov byte [rsp + 0x60], 1
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xb0], rax
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x14014b900
mov rax, qword [rsp + 0xb0]
movsx eax, byte [rax]
test eax, eax
je 0x14014b900
lea rdx, str._____BEGIN_CERTIFICATE_____
mov rcx, qword [rsp + 0xb0]
call fcn.14006e2a0
mov qword [rsp + 0x98], rax
cmp qword [rsp + 0x98], 0
je 0x14014b6a0
lea rcx, [0x1401bc448]
call fcn.14008d570
mov rcx, qword [rsp + 0x98]
mov cl, byte [rcx + rax]
call fcn.14014b9b4
test eax, eax
jne 0x14014b6aa
mov byte [rsp + 0x60], 0
jmp 0x14014b8fb
lea rdx, [0x1401bc428]
mov rcx, qword [rsp + 0x98]
call fcn.14006e2a0
mov qword [rsp + 0xd8], rax
cmp qword [rsp + 0xd8], 0
jne 0x14014b6fc
mov r8, qword [rsp + 0x428]
lea rdx, str.schannel:_CA_file__s_is_not_correctly_formatted
mov rcx, qword [rsp + 0x70]
call fcn.1400ddbc8
mov dword [rsp + 0x64], Ordinal_79
mov byte [rsp + 0x60], 0
jmp 0x14014b8fb
mov qword [rsp + 0xc8], 0
mov dword [rsp + 0xac], 0
mov dword [rsp + 0x80], 0
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xd8]
add rcx, rax
mov rax, rcx
sub rax, qword [rsp + 0x98]
mov dword [rsp + 0xa8], eax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xf0], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0xe8], eax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x80]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, reloc.WS2_32.dll_ntohl
mov r8d, 2
lea rdx, [rsp + 0xe8]
mov ecx, 2
call qword [sym.imp.CRYPT32.dll_CryptQueryObject]
test eax, eax
jne 0x14014b813
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x80
lea rdx, [rsp + 0x300]
mov ecx, eax
call fcn.14010c9c8
mov r9, rax
mov r8, qword [rsp + 0x428]
lea rdx, str.schannel:_failed_to_extract_certificate_from_CA_file__s:__s
mov rcx, qword [rsp + 0x70]
call fcn.1400ddbc8
mov dword [rsp + 0x64], Ordinal_79
mov byte [rsp + 0x60], 0
jmp 0x14014b8fb
mov eax, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb0], rax
cmp dword [rsp + 0x80], 1
je 0x14014b86d
mov r9, qword [rsp + 0x428]
mov r8d, dword [rsp + 0x80]
lea rdx, str.schannel:_unexpected_content_type__d_when_extracting_certificate_from_CA_file__s
mov rcx, qword [rsp + 0x70]
call fcn.1400ddbc8
mov dword [rsp + 0x64], Ordinal_79
mov byte [rsp + 0x60], 0
jmp 0x14014b8fb
xor r9d, r9d
mov r8d, 4
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x420]
call qword [sym.imp.CRYPT32.dll_CertAddCertificateContextToStore]
mov dword [rsp + 0xac], eax
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
cmp dword [rsp + 0xac], 0
jne 0x14014b8f1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x80
lea rdx, [rsp + 0x380]
mov ecx, eax
call fcn.14010c9c8
mov r9, rax
mov r8, qword [rsp + 0x428]
lea rdx, str.schannel:_failed_to_add_certificate_from_CA_file__s_to_certificate_store:__s
mov rcx, qword [rsp + 0x70]
call fcn.1400ddbc8
mov dword [rsp + 0x64], Ordinal_79
mov byte [rsp + 0x60], 0
jmp 0x14014b8fb
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
jmp 0x14014b639
cmp dword [rsp + 0x64], 0
jne 0x14014b947
cmp dword [rsp + 0x78], 0
jne 0x14014b929
mov r8, qword [rsp + 0x428]
lea rdx, str.schannel:_did_not_add_any_certificates_from_CA_file__s_n
mov rcx, qword [rsp + 0x70]
call fcn.1400dd610
jmp 0x14014b947
mov r9, qword [rsp + 0x428]
mov r8d, dword [rsp + 0x78]
lea rdx, str.schannel:_added__d_certificate_s__from_CA_file__s_n
mov rcx, qword [rsp + 0x70]
call fcn.1400dd610
cmp qword [rsp + 0xa0], 0xffffffffffffffff
je 0x14014b960
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x88]
call qword [fcn.140088928]
mov qword [rsp + 0x88], 0
xor eax, eax
test eax, eax
jne 0x14014b960
mov qword [rsp + 0xb8], 0
xor eax, eax
test eax, eax
jne 0x14014b980
mov eax, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x400]
xor rcx, rsp
call fcn.14006ba30
add rsp, 0x418
ret