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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x840
lea rdi, [rsp + 0x60]
mov ecx, 0x1f8
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x850]
mov rax, qword [0x1400dad40]
xor rax, rsp
mov qword [rsp + 0x830], rax
mov rax, qword [rsp + 0x860]
mov rax, qword [rax]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 0xffffffffffffffff
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
mov dword [rsp + 0xb8], 0
mov byte [rsp + 0xbc], 0
mov dword [rsp + 0xc0], 0
mov rax, qword [rsp + 0x858]
mov qword [rsp + 0xa8], rax
cmp qword [rsp + 0xa8], 0
jne 0x14009e328
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x100
lea rdx, [rsp + 0xe0]
mov ecx, eax
call fcn.14001c760
mov r9, rax
mov r8, qword [rsp + 0x858]
lea rdx, str.schannel:_invalid_path_name_for_CA_file__s:__s
mov rcx, qword [rsp + 0x68]
call fcn.140042340
mov dword [rsp + 0x60], Ordinal_79
jmp 0x14009e8fe
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 1
mov edx, 0x80000000
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x70], 0xffffffffffffffff
jne 0x14009e3ae
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x100
lea rdx, [rsp + 0x200]
mov ecx, eax
call fcn.14001c760
mov r9, rax
mov r8, qword [rsp + 0x858]
lea rdx, str.schannel:_failed_to_open_CA_file__s:__s
mov rcx, qword [rsp + 0x68]
call fcn.140042340
mov dword [rsp + 0x60], Ordinal_79
jmp 0x14009e8fe
lea rdx, [rsp + 0x88]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x14009e409
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x100
lea rdx, [rsp + 0x320]
mov ecx, eax
call fcn.14001c760
mov r9, rax
mov r8, qword [rsp + 0x858]
lea rdx, str.schannel:_failed_to_determine_size_of_CA_file__s:__s
mov rcx, qword [rsp + 0x68]
call fcn.140042340
mov dword [rsp + 0x60], Ordinal_79
jmp 0x14009e8fe
cmp qword [rsp + 0x88], 0x100000
jle 0x14009e43b
mov r8d, 0x100000
lea rdx, str.schannel:_CA_file_exceeds_max_size_of__u_bytes
mov rcx, qword [rsp + 0x68]
call fcn.140042340
mov dword [rsp + 0x60], Ordinal_79
jmp 0x14009e8fe
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
inc rax
mov rcx, rax
call qword [section..data]
mov qword [rsp + 0x98], rax
cmp qword [rsp + 0x98], 0
jne 0x14009e47f
mov dword [rsp + 0x60], reloc.WLDAP32.dll_Ordinal_27
jmp 0x14009e8fe
mov dword [rsp + 0x60], 0
mov eax, dword [rsp + 0xb8]
cmp rax, qword [rsp + 0xb0]
jae 0x14009e580
mov eax, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x424], eax
mov dword [rsp + 0x434], 0
mov eax, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x434]
mov r8d, dword [rsp + 0x424]
mov rdx, rax
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14009e547
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x100
lea rdx, [rsp + 0x460]
mov ecx, eax
call fcn.14001c760
mov r9, rax
mov r8, qword [rsp + 0x858]
lea rdx, str.schannel:_failed_to_read_from_CA_file__s:__s
mov rcx, qword [rsp + 0x68]
call fcn.140042340
mov dword [rsp + 0x60], Ordinal_79
jmp 0x14009e8fe
cmp dword [rsp + 0x434], 0
jne 0x14009e562
mov eax, dword [rsp + 0xb8]
mov qword [rsp + 0xb0], rax
jmp 0x14009e57b
mov eax, dword [rsp + 0x434]
mov ecx, dword [rsp + 0xb8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xb8], eax
jmp 0x14009e487
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov byte [rax], 0
cmp dword [rsp + 0x60], 0
je 0x14009e5a5
jmp 0x14009e8fe
lea rcx, [0x1400d9750]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov qword [rsp + 0xc8], rax
mov byte [rsp + 0xbc], 1
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xa0], rax
movzx eax, byte [rsp + 0xbc]
test eax, eax
je 0x14009e8b1
mov rax, qword [rsp + 0xa0]
movsx eax, byte [rax]
test eax, eax
je 0x14009e8b1
lea rdx, [0x1400d9770]
mov rcx, qword [rsp + 0xa0]
call sub.VCRUNTIME140.dll_strstr
mov qword [rsp + 0x568], rax
cmp qword [rsp + 0x568], 0
je 0x14009e63c
lea rcx, [0x1400d9790]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, qword [rsp + 0x568]
movzx ecx, byte [rcx + rax]
call fcn.14009e1e0
test eax, eax
jne 0x14009e649
mov byte [rsp + 0xbc], 0
jmp 0x14009e8ac
lea rdx, str._n_____END_CERTIFICATE_____
mov rcx, qword [rsp + 0x568]
call sub.VCRUNTIME140.dll_strstr
mov qword [rsp + 0x570], rax
cmp qword [rsp + 0x570], 0
jne 0x14009e69e
mov r8, qword [rsp + 0x858]
lea rdx, str.schannel:_CA_file__s_is_not_correctly_formatted
mov rcx, qword [rsp + 0x68]
call fcn.140042340
mov dword [rsp + 0x60], Ordinal_79
mov byte [rsp + 0xbc], 0
jmp 0x14009e8ac
mov qword [rsp + 0x5b8], 0
mov dword [rsp + 0x5c4], 0
mov dword [rsp + 0x5d4], 0
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x570]
add rcx, rax
mov rax, rcx
sub rax, qword [rsp + 0x568]
mov dword [rsp + 0x5e4], eax
mov rax, qword [rsp + 0x568]
mov qword [rsp + 0x590], rax
mov eax, dword [rsp + 0x5e4]
mov dword [rsp + 0x588], eax
lea rax, [rsp + 0x5b8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x5d4]
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 + 0x588]
mov ecx, 2
call qword [sym.imp.CRYPT32.dll_CryptQueryObject]
test eax, eax
jne 0x14009e7b8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x100
lea rdx, [rsp + 0x600]
mov ecx, eax
call fcn.14001c760
mov r9, rax
mov r8, qword [rsp + 0x858]
lea rdx, str.schannel:_failed_to_extract_certificate_from_CA_file__s:__s
mov rcx, qword [rsp + 0x68]
call fcn.140042340
mov dword [rsp + 0x60], Ordinal_79
mov byte [rsp + 0xbc], 0
jmp 0x14009e8ac
mov eax, dword [rsp + 0x5e4]
mov rcx, qword [rsp + 0x568]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
cmp dword [rsp + 0x5d4], 1
je 0x14009e815
mov r9, qword [rsp + 0x858]
mov r8d, dword [rsp + 0x5d4]
lea rdx, str.schannel:_unexpected_content_type__d_when_extracting_certificate_from_CA_file__s
mov rcx, qword [rsp + 0x68]
call fcn.140042340
mov dword [rsp + 0x60], Ordinal_79
mov byte [rsp + 0xbc], 0
jmp 0x14009e8ac
xor r9d, r9d
mov r8d, 4
mov rdx, qword [rsp + 0x5b8]
mov rcx, qword [rsp + 0x850]
call qword [sym.imp.CRYPT32.dll_CertAddCertificateContextToStore]
mov dword [rsp + 0x5c4], eax
mov rcx, qword [rsp + 0x5b8]
call qword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
cmp dword [rsp + 0x5c4], 0
jne 0x14009e89c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x100
lea rdx, [rsp + 0x720]
mov ecx, eax
call fcn.14001c760
mov r9, rax
mov r8, qword [rsp + 0x858]
lea rdx, str.schannel:_failed_to_add_certificate_from_CA_file__s_to_certificate_store:__s
mov rcx, qword [rsp + 0x68]
call fcn.140042340
mov dword [rsp + 0x60], Ordinal_79
mov byte [rsp + 0xbc], 0
jmp 0x14009e8ac
mov eax, dword [rsp + 0xc0]
inc eax
mov dword [rsp + 0xc0], eax
jmp 0x14009e5d1
cmp dword [rsp + 0x60], 0
jne 0x14009e8fe
cmp dword [rsp + 0xc0], 0
jne 0x14009e8dd
mov r8, qword [rsp + 0x858]
lea rdx, str.schannel:_did_not_add_any_certificates_from_CA_file__s_n
mov rcx, qword [rsp + 0x68]
call fcn.1400421c0
jmp 0x14009e8fe
mov r9, qword [rsp + 0x858]
mov r8d, dword [rsp + 0xc0]
lea rdx, str.schannel:_added__d_certificate_s__from_CA_file__s_n
mov rcx, qword [rsp + 0x68]
call fcn.1400421c0
cmp qword [rsp + 0x70], 0xffffffffffffffff
je 0x14009e911
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x98]
call qword [0x1400ce008]
mov qword [rsp + 0x98], 0
xor eax, eax
test eax, eax
jne 0x14009e911
mov qword [rsp + 0xa8], 0
xor eax, eax
test eax, eax
jne 0x14009e931
mov eax, dword [rsp + 0x60]
mov edi, eax
mov rcx, rsp
lea rdx, [0x1400be6d8]
call fcn.1400abe64
mov eax, edi
mov rcx, qword [rsp + 0x830]
xor rcx, rsp
call fcn.1400ab680
add rsp, 0x840
pop rdi
ret