Function at 0x140091470
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x268
mov r14, qword [rcx + 0x10]
mov rbx, qword [r14 + 0x30]
mov rsi, rcx
mov rbp, rdx
call sym.Curl_ssl_cf_get_primary_config
mov rdx, rbp
mov rcx, rsi
mov rdi, rax
call sym.Curl_ssl_cf_get_config
mov dword [rsp + 0x20], 1
xor r8d, r8d
mov r9d, 2
mov edx, 1
mov ecx, 5
mov r12, rax
mov qword [rsp + 0xb0], 0
call sym.curlx_verify_windows_version
cmp qword [rdi + 8], 0
mov byte [rbx + 0x6b], 0
je 0x140091648
mov dword [rsp + 0x20], 3
xor r8d, r8d
mov r9d, 2
mov edx, 1
mov ecx, 6
call sym.curlx_verify_windows_version
test al, al
je 0x140091960
mov byte [rbx + 0x6c], al
mov qword [rbx], 0
test byte [r12 + 0x6c], 8
jne 0x140091660
mov rcx, rsi
mov rdi, qword [rsi + 0x10]
call sym.Curl_ssl_cf_get_primary_config
mov rdx, rbp
mov rcx, rsi
mov r13, rax
call sym.Curl_ssl_cf_get_config
mov rdi, qword [rdi + 0x30]
movzx edx, byte [r13 + 0x6c]
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0x68], rdi
test dl, 1
jne 0x140091890
mov dword [rsp + 0x70], 0x1808
movzx eax, byte [rax + 0xb0]
mov edi, dword [rsp + 0x70]
mov ecx, edi
or ecx, 4
and edx, 2
cmovne ecx, edi
mov edx, ecx
or edx, 0x10
test al, al
movzx eax, byte [r13 + 0x68]
cmovs edx, ecx
mov dword [rsp + 0x70], edx
cmp al, 3
ja 0x1400919c0
cmp al, 1
ja 0x1400919a0
mov rcx, rsi
call sym.Curl_ssl_cf_get_primary_config
movzx edi, byte [rax + 0x68]
mov eax, dword [rax + 0x64]
mov r15d, eax
sar r15d, 0x10
test eax, 0xfffeffff
je 0x1400919fd
xor r11d, r11d
cmp edi, r15d
jg 0x140091a38
mov qword [rsp + 0x78], rbx
mov ebx, r15d
mov r15d, r11d
jmp 0x140091601
cmp edi, 4
je 0x140091bd0
mov eax, r15d
or ah, 2
cmp edi, 5
cmove r15d, eax
add edi, 1
cmp edi, ebx
jg 0x140091a30
cmp edi, 6
je 0x140091be0
jle 0x1400915e0
cmp edi, 7
jne 0x1400915f6
mov dword [rsp + 0x20], 3
xor edx, edx
mov ecx, 0xa
mov r9d, 2
mov r8d, 0x4f7c
call sym.curlx_verify_windows_version
test al, al
je 0x140091e23
or r15d, 0x2000
jmp 0x1400915f6
cmp qword [rdi + 0x48], 0
jne 0x1400914e2
xor eax, eax
jmp 0x14009150a
mov rcx, rbp
call sym.Curl_ssl_sessionid_lock
xor r9d, r9d
mov rdx, rbp
mov rcx, rsi
lea r8, [rsp + 0xb0]
call sym.Curl_ssl_getsessionid
test al, al
je 0x1400918c0
mov rcx, rbp
call sym.Curl_ssl_sessionid_unlock
cmp qword [rbx], 0
je 0x140091520
mov r10, qword [0x1401869f0]
lea rax, [rsp + 0xe0]
lea rdx, [rsp + 0xc0]
mov qword [rsp + 0xe0], 0
mov ecx, 1
mov qword [rsp + 0x118], rax
mov rax, qword [0x14017c570]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x110], rax
mov qword [rsp + 0xd0], rax
movsx eax, byte [r12 + 0xb0]
mov qword [rsp + 0xd8], rdx
mov edx, 0x18
mov qword [rsp + 0xe8], 0
sar eax, 0x1f
mov qword [rsp + 0xc8], 0
and eax, 0xffffff80
add eax, 0x819c
mov dword [rbx + 0x5c], eax
call qword [r10]
mov qword [rbx + 8], rax
test rax, rax
je 0x140091bf0
mov r12, qword [0x1401878d0]
lea rdi, [rax + 0x10]
lea r11, [rbx + 0x60]
mov rdx, qword [r12]
mov r10, qword [rdx + 0x30]
xor edx, edx
cmp byte [rbx + 0x6b], 0
je 0x14009175e
lea rdx, [rsp + 0x110]
mov rcx, qword [rbx]
mov r9d, dword [rbx + 0x5c]
mov r8, qword [rcx + 0x18]
mov qword [rsp + 0x50], r11
lea r11, [rsp + 0xd0]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x30], rdx
xor edx, edx
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
call r10
mov edi, eax
cmp eax, 0x90312
je 0x1400918d8
mov rax, qword [0x140186a40]
mov rcx, qword [rbx + 8]
call qword [rax]
mov qword [rbx + 8], 0
cmp edi, 0x80090300
je 0x140091820
cmp edi, 0x80090322
je 0x140091858
lea rdx, [rsp + 0x160]
mov r8d, 0x100
mov ecx, edi
call sym.Curl_sspi_strerror
lea rdx, str.schannel:_initial_InitializeSecurityContext_failed:__s
mov rcx, rbp
mov r8, rax
call sym.Curl_failf
mov r15d, 0x23
mov eax, r15d
add rsp, 0x268
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, [rsp + 0x160]
mov r8d, 0x100
mov ecx, 0x80090300
call sym.Curl_sspi_strerror
lea rdx, str.schannel:_initial_InitializeSecurityContext_failed:__s
mov rcx, rbp
mov r8, rax
call sym.Curl_failf
mov r15d, 0x1b
jmp 0x140091806
lea rdx, [rsp + 0x160]
mov r8d, 0x100
mov ecx, 0x80090322
mov r15d, 0x3c
call sym.Curl_sspi_strerror
lea rdx, str.schannel:_SNI_or_certificate_check_failed:__s
mov rcx, rbp
mov r8, rax
call sym.Curl_failf
jmp 0x140091806
mov rdi, qword [rsp + 0x68]
movzx eax, byte [rax + 0xb0]
cmp byte [rdi + 0x6c], 1
sbb ecx, ecx
and ecx, 0x18
add ecx, 8
test al, 8
je 0x1400919e0
or ch, 0x18
mov dword [rsp + 0x70], ecx
jmp 0x14009156c
mov rax, qword [rsp + 0xb0]
mov qword [rbx], rax
add dword [rax + 0x28], 1
jmp 0x140091686
lea rax, [rsp + 0xb8]
mov rcx, qword [rsi + 8]
mov rdx, rbp
mov r9d, dword [rsp + 0xc0]
mov qword [rsp + 0x20], rax
mov r8, qword [rsp + 0xc8]
call sym.Curl_conn_cf_send
mov rcx, qword [rsp + 0xc8]
mov rsi, rax
mov rax, qword [r12]
call qword [rax + pe_nt_image_headers64]
mov r15d, dword [rsp + 0xb8]
mov r9d, dword [rsp + 0xc0]
test r15d, r15d
jne 0x140091980
mov eax, dword [rsp + 0xc0]
mov r9, rax
cmp rax, rsi
jne 0x140091980
xor edx, edx
mov dword [rbx + 0x64], 0
mov word [rbx + 0x68], dx
mov byte [rbx + 0x6a], 0
mov byte [rbx + 0x58], 0
mov dword [r14 + 4], 1
jmp 0x140091806
lea rdx, [0x14017b708]
mov rcx, rbp
mov r15d, 0x4d
call sym.Curl_failf
jmp 0x140091806
mov r8, rsi
lea rdx, str.schannel:_failed_to_send_initial_handshake_data:_sent__zd_of__lu_bytes
mov rcx, rbp
call sym.Curl_failf
jmp 0x140091800
lea rdx, str.SSL_versions_not_supported
mov rcx, rbp
mov r15d, 4
call sym.Curl_failf
jmp 0x140091806
sub eax, 4
cmp al, 3
jbe 0x14009159e
lea rdx, str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
mov rcx, rbp
call sym.Curl_failf
jmp 0x140091800
mov r8d, ecx
or ch, 2
or r8d, 0x1a00
test al, 0x20
cmove r8d, ecx
mov dword [rsp + 0x70], r8d
jmp 0x14009156c
mov dword [rsp + 0x20], 3
mov r9d, 2
mov r8d, 0x4f7c
xor edx, edx
mov ecx, 0xa
call sym.curlx_verify_windows_version
movzx r15d, al
add r15d, 6
jmp 0x1400915bf
mov rbx, qword [rsp + 0x78]
mov r11d, r15d
mov rax, qword [rbp + 0x558]
mov rdi, qword [rbp + 0x530]
mov qword [rsp + 0x78], rax
test rdi, rdi
je 0x140091e10
cmp qword [rsp + 0x78], 0
je 0x140091e86
mov rax, qword [rsp + 0x78]
mov rcx, qword [rbp + 0x5a0]
mov rdi, qword [rax]
mov qword [rsp + 0x88], rdi
mov rdi, qword [rax + 8]
test rcx, rcx
je 0x140091c04
mov qword [rsp + 0x90], 0
mov r15d, 1
mov qword [rsp + 0x80], 0
lea rdx, [0x14017b8bc]
mov dword [rsp + 0x98], r11d
call sym.curl_strequal
mov r11d, dword [rsp + 0x98]
test eax, eax
je 0x14009285c
test r15b, r15b
je 0x140091e63
cmp qword [rsp + 0x80], 0
lea rax, [0x14017b6d1]
mov qword [rsp + 0x98], rax
je 0x140091b06
mov rcx, qword [rsp + 0x80]
mov dword [rsp + 0xa0], r11d
call sym.free
mov r11d, dword [rsp + 0xa0]
cmp qword [rsp + 0x90], 0
je 0x140091c13
mov rcx, qword [rsp + 0x90]
xor edx, edx
mov r8d, 2
mov dword [rsp + 0x80], r11d
call sym.fseek
mov r11d, dword [rsp + 0x80]
test eax, eax
je 0x1400925c2
xor r15d, r15d
xor edi, edi
cmp qword [rsp + 0x88], 0
je 0x140091b89
mov r9, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
mov rdx, rdi
mov r8d, 1
mov dword [rsp + 0x80], r11d
call sym.fread
mov r11d, dword [rsp + 0x80]
cmp eax, 1
je 0x140092b3c
mov rcx, qword [rsp + 0x90]
call sym.fclose
mov r8, qword [rbp + 0x530]
mov rcx, rbp
lea rdx, str.schannel:_Failed_to_read_cert_file__s
call sym.Curl_failf
mov rax, qword [0x140186a40]
mov rcx, qword [rsp + 0x88]
call qword [rax]
nop dword [rax]
mov r15d, 0x3a
jmp 0x140091806
or r15b, 0x80
jmp 0x1400915f6
or r15d, 0x800
jmp 0x1400915f6
lea rdx, str.schannel:_unable_to_allocate_memory
mov rcx, rbp
call sym.Curl_failf
jmp 0x14009184a
lea rax, [0x14017b6d1]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rbp + 0x5c0]
mov dword [rsp + 0x160], edi
mov dword [rsp + 0x80], r11d
mov qword [rsp + 0x168], rax
mov rax, qword [0x140186a50]
mov r15, qword [rax]
test rcx, rcx
je 0x140092446
call sym.strlen
mov rdi, rax
lea rcx, [rax + rax + 2]
call r15
mov r11d, dword [rsp + 0x80]
test rax, rax
mov r15, rax
je 0x140092462
test rdi, rdi
jne 0x1400924fc
xor r8d, r8d
mov word [rax], r8w
xor r8d, r8d
xor edx, edx
mov r9d, 2
mov ecx, 6
mov dword [rsp + 0x20], 3
mov dword [rsp + 0x80], r11d
call sym.curlx_verify_windows_version
mov r11d, dword [rsp + 0x80]
test al, al
je 0x140091e37
lea rcx, [rsp + 0x160]
mov r8d, 0x8000
mov rdx, r15
call qword [sym.imp.CRYPT32.dll_PFXImportCertStore]
mov r11d, dword [rsp + 0x80]
mov rdi, rax
mov rax, qword [0x140186a40]
mov dword [rsp + 0x80], r11d
mov rcx, r15
call qword [rax]
cmp qword [rsp + 0x78], 0
mov r11d, dword [rsp + 0x80]
je 0x1400925a2
test rdi, rdi
je 0x14009246e
mov dword [rsp + 0x78], r11d
xor r9d, r9d
xor r8d, r8d
mov edx, 0x10001
mov qword [rsp + 0x28], 0
mov rcx, rdi
mov qword [rsp + 0x20], 0
call qword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov r11d, dword [rsp + 0x78]
test rax, rax
mov qword [rsp + 0xb8], rax
je 0x140092b86
mov r10, qword [0x1401869f0]
mov ecx, 1
mov edx, 0x30
mov dword [rsp + 0x80], r11d
mov qword [rsp + 0x78], r10
call qword [r10]
mov rcx, qword [rsp + 0x68]
mov r10, qword [rsp + 0x78]
test rax, rax
mov r11d, dword [rsp + 0x80]
mov qword [rcx], rax
je 0x140092bd6
mov r15, qword [r13 + 0x20]
mov dword [rax + 0x28], 1
mov qword [rax + 0x20], rdi
test r15, r15
je 0x14009262f
mov eax, dword [rsp + 0x70]
pxor xmm0, xmm0
mov dword [rsp + 0x110], 4
movups xmmword [rsp + 0x144], xmm0
movups xmmword [rsp + 0x150], xmm0
mov dword [rsp + 0x148], r11d
mov dword [rsp + 0x158], eax
movups xmmword [rsp + 0x114], xmm0
movups xmmword [rsp + 0x124], xmm0
movups xmmword [rsp + 0x134], xmm0
cmp qword [r13 + 0x28], 0
je 0x1400921db
lea rdx, str.schannel:_This_version_of_Schannel_does_not_support_setting_an_algorithm_cipher_list_and_TLS_1.3_cipher_list_at_the_same_time
mov rcx, rbp
call sym.Curl_failf
mov r15d, 0x3b
jmp 0x140091806
xor edi, edi
cmp qword [rsp + 0x78], 0
jne 0x140091a60
jmp 0x140091d49
lea rdx, str.schannel:_TLS_1.3_not_supported_on_Windows_prior_to_11
mov rcx, rbp
call sym.Curl_failf
jmp 0x140091800
mov dword [rsp + 0x80], r11d
lea rcx, [rsp + 0x160]
xor r8d, r8d
mov rdx, r15
call qword [sym.imp.CRYPT32.dll_PFXImportCertStore]
mov r11d, dword [rsp + 0x80]
mov rdi, rax
jmp 0x140091cd7
cmp qword [rsp + 0x80], 0
mov rax, qword [rbp + 0x530]
mov qword [rsp + 0x98], rax
jne 0x140091ae9
jmp 0x140091b15
mov rcx, rdi
mov dword [rsp + 0x88], r11d
call sym.strdup
mov qword [rsp + 0x80], rax
mov r15, rax
test rax, rax
je 0x14009184a
mov edx, 0x5c
mov rcx, rax
call sym.strchr
mov r11d, dword [rsp + 0x88]
test rax, rax
mov qword [rsp + 0x90], rax
je 0x140092899
mov rcx, rax
mov r8d, 0xc
mov rax, r15
sub rcx, r15
lea rdx, str.CurrentUser
cmp rcx, r8
mov r15, rcx
cmovbe r8, rcx
mov rcx, rax
call sym.strncmp
mov r11d, dword [rsp + 0x88]
test eax, eax
je 0x1400928cc
mov r8d, 0xd
mov rcx, qword [rsp + 0x80]
lea rdx, str.LocalMachine
cmp r15, r8
cmovbe r8, r15
call sym.strncmp
mov r11d, dword [rsp + 0x88]
test eax, eax
je 0x140092bc6
mov r8d, 0xf
mov rcx, qword [rsp + 0x80]
lea rdx, str.CurrentService
cmp r15, r8
cmovbe r8, r15
call sym.strncmp
mov r11d, dword [rsp + 0x88]
test eax, eax
je 0x140092d34
mov r8d, 9
mov rcx, qword [rsp + 0x80]
lea rdx, str.Services
cmp r15, r8
cmovbe r8, r15
call sym.strncmp
mov r11d, dword [rsp + 0x88]
test eax, eax
je 0x140092f06
mov r8d, 6
mov rcx, qword [rsp + 0x80]
lea rdx, str.Users
cmp r15, r8
cmovbe r8, r15
call sym.strncmp
mov r11d, dword [rsp + 0x88]
test eax, eax
je 0x140092f1d
mov r8d, 0x17
mov rcx, qword [rsp + 0x80]
lea rdx, str.CurrentUserGroupPolicy
cmp r15, r8
cmovbe r8, r15
call sym.strncmp
mov r11d, dword [rsp + 0x88]
test eax, eax
je 0x140092fc5
mov r8d, 0x18
mov rcx, qword [rsp + 0x80]
lea rdx, str.LocalMachineGroupPolicy
cmp r15, r8
cmovbe r8, r15
call sym.strncmp
mov r11d, dword [rsp + 0x88]
test eax, eax
je 0x140093033
mov r8d, 0x17
mov rcx, qword [rsp + 0x80]
lea rdx, str.LocalMachineEnterprise
cmp r15, r8
cmovbe r8, r15
call sym.strncmp
mov r11d, dword [rsp + 0x88]
test eax, eax
jne 0x140092899
mov dword [rsp + 0x88], 0x90000
mov r15, qword [rsp + 0x90]
mov edx, 0x5c
mov dword [rsp + 0x98], r11d
add r15, 1
mov rcx, r15
call sym.strchr
mov r11d, dword [rsp + 0x98]
test rax, rax
mov rdx, rax
je 0x140092899
lea rax, [rax + 1]
mov qword [rsp + 0xa0], rdx
mov rcx, rax
mov qword [rsp + 0x90], rax
call sym.strlen
mov r11d, dword [rsp + 0x98]
cmp rax, 0x28
jne 0x140092899
mov rdx, qword [rsp + 0xa0]
mov rax, qword [0x140186a70]
mov dword [rsp + 0xa8], r11d
mov rcx, r15
mov byte [rdx], 0
mov qword [rsp + 0x98], rdx
call qword [rax]
mov rdx, qword [rsp + 0x98]
mov r11d, dword [rsp + 0xa8]
test rax, rax
mov r15, rax
mov byte [rdx], 0x5c
je 0x140092ef4
mov dword [rsp + 0x78], r11d
xor r8d, r8d
xor edx, edx
mov ecx, 9
mov r9d, dword [rsp + 0x88]
mov qword [rsp + 0x20], rax
or r9d, 0x4000
call qword [sym.imp.CRYPT32.dll_CertOpenStore]
mov r11d, dword [rsp + 0x78]
test rax, rax
mov rdi, rax
je 0x140092c96
mov rax, qword [0x140186a40]
mov dword [rsp + 0x78], r11d
mov rcx, r15
lea r15, [rsp + 0x110]
call qword [rax]
lea r9, [rsp + 0x160]
mov qword [rsp + 0x20], r15
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x118], r9
mov r8d, 4
mov edx, 0x28
mov dword [rsp + 0x110], 0x14
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
mov r11d, dword [rsp + 0x78]
test eax, eax
jne 0x14009249c
mov rcx, qword [rsp + 0x80]
call sym.free
xor edx, edx
mov rcx, rdi
call qword [sym.imp.CRYPT32.dll_CertCloseStore]
jmp 0x140091bc0
xor edi, edi
cmp byte [r15], 0
je 0x1400922ea
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x2b0], rsi
mov qword [rsp + 0x2b8], rbp
mov qword [rsp + 0x78], r10
nop dword [rax]
xor r8d, r8d
xor edx, edx
mov rcx, r15
call sym.strtol
mov ebx, eax
test eax, eax
jne 0x14009229e
mov edx, 0x3a
mov rcx, r15
call sym.strchr
mov r13, rax
test rax, rax
je 0x140092436
sub r13, r15
lea rbp, str.CALG_MD4
mov eax, 8
lea rsi, str.CALG_MD2
jmp 0x14009226c
mov rsi, qword [rbp]
add rbp, 0x10
add ebx, 1
test rsi, rsi
je 0x1400923f0
mov rcx, rsi
call sym.strlen
cmp r13, rax
jne 0x140092250
mov r8, r13
mov rdx, r15
mov rcx, rsi
call sym.strncmp
test eax, eax
jne 0x140092250
movsxd r8, ebx
lea rax, str.CALG_MD2
shl r8, 4
mov ebx, dword [rax + r8 + 8]
test ebx, ebx
je 0x1400923f0
movsxd rax, edi
add edi, 1
mov dword [rsp + rax*4 + 0x160], ebx
mov edx, 0x3a
mov rcx, r15
call sym.strchr
test rax, rax
je 0x1400922d0
cmp byte [rax + 1], 0
lea r15, [rax + 1]
je 0x1400922d0
cmp edi, 0x2f
jne 0x140092208
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x2b0]
mov rbp, qword [rsp + 0x2b8]
mov r10, qword [rsp + 0x78]
lea rax, [rsp + 0x160]
mov dword [rsp + 0x138], edi
mov qword [rsp + 0x140], rax
cmp qword [rsp + 0xb8], 0
je 0x140092327
lea rax, [rsp + 0xb8]
mov dword [rsp + 0x114], 1
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x70], r10
xor ecx, ecx
xor r9d, r9d
mov rdx, qword [0x1401878d0]
mov r8d, 2
mov rax, qword [rax]
mov r11, qword [rdx]
mov qword [rsp + 0x30], 0
lea rdx, [rax + 0x10]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x40], rdx
lea rdx, str.Microsoft_Unified_Security_Protocol_Provider
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rax
call qword [r11 + 0x18]
mov rcx, qword [rsp + 0xb8]
mov r10, qword [rsp + 0x70]
mov edi, eax
test rcx, rcx
je 0x1400923a5
mov qword [rsp + 0x70], r10
call qword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
mov r10, qword [rsp + 0x70]
test edi, edi
jne 0x140092549
mov dword [rsp + 0xb8], 0
mov rcx, qword [r14 + 0x18]
test rcx, rcx
je 0x1400923e8
mov qword [rsp + 0x68], r10
mov rdi, qword [rbx]
call sym.strdup
mov r10, qword [rsp + 0x68]
test rax, rax
mov qword [rdi + 0x18], rax
jne 0x14009169f
jmp 0x14009184a
mov rcx, qword [r14 + 8]
jmp 0x1400923c1
mov r8d, 0x11
lea rdx, str.USE_STRONG_CRYPTO
mov rcx, r15
call sym.strncmp
test eax, eax
je 0x140092426
mov r8d, 0x15
lea rdx, str.SCH_USE_STRONG_CRYPTO
mov rcx, r15
call sym.strncmp
test eax, eax
jne 0x140092c11
or dword [rsp + 0x158], 0x400000
jmp 0x1400922ab
mov rcx, r15
call sym.strlen
mov r13, rax
jmp 0x14009223b
mov ecx, 2
call r15
mov r11d, dword [rsp + 0x80]
test rax, rax
mov r15, rax
jne 0x140091c79
cmp qword [rsp + 0x78], 0
je 0x140092b70
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, qword [rsp + 0x98]
mov r9d, eax
cmp eax, 0x56
je 0x140092c2d
lea rdx, str.schannel:_Failed_to_import_cert_file__s__last_error_is_0x_lx
mov rcx, rbp
call sym.Curl_failf
jmp 0x140091bc0
mov dword [rsp + 0x78], r11d
xor r8d, r8d
mov edx, 0x10001
mov rcx, rdi
mov qword [rsp + 0x20], r15
mov r9d, 0x10000
mov qword [rsp + 0x28], 0
call qword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov rcx, qword [rsp + 0x80]
mov r15, rax
mov qword [rsp + 0xb8], rax
call sym.free
test r15, r15
mov r11d, dword [rsp + 0x78]
jne 0x140091d49
xor edx, edx
mov rcx, rdi
call qword [sym.imp.CRYPT32.dll_CertCloseStore]
jmp 0x140091bc0
lea eax, [rdi + 1]
mov qword [rsp + 0x20], r15
mov r9d, edi
mov edx, 8
mov dword [rsp + 0x80], r11d
mov ecx, 0xfde9
mov dword [rsp + 0x28], eax
mov r8, qword [rbp + 0x5c0]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r11d, dword [rsp + 0x80]
test eax, eax
js 0x14009253e
cmp edi, eax
jge 0x140092d4b
xor ecx, ecx
mov word [r15], cx
jmp 0x140091c80
lea rdx, [rsp + 0x160]
mov r8d, 0x100
mov ecx, edi
xor r15d, r15d
call sym.Curl_sspi_strerror
lea rdx, str.schannel:_AcquireCredentialsHandle_failed:__s
mov rcx, rbp
mov r8, rax
call sym.Curl_failf
mov rsi, qword [rsp + 0x68]
mov rax, qword [0x140186a40]
mov rcx, qword [rsi]
call qword [rax]
cmp edi, 0x80090300
mov qword [rsi], 0
setne r15b
lea r15d, [r15*8 + 0x1b]
jmp 0x140091806
mov rax, qword [0x140186a40]
mov dword [rsp + 0x78], r11d
mov rcx, qword [rsp + 0x88]
call qword [rax]
mov r11d, dword [rsp + 0x78]
jmp 0x140091cff
mov rcx, qword [rsp + 0x90]
xor r15d, r15d
call sym.ftell
mov r11d, dword [rsp + 0x80]
test eax, eax
js 0x140091b47
mov rcx, qword [rsp + 0x90]
xor r8d, r8d
xor edx, edx
movsxd rdi, eax
call sym.fseek
mov r11d, dword [rsp + 0x80]
test eax, eax
jne 0x140091b47
mov rax, qword [0x140186a50]
lea rcx, [rdi + 1]
mov r15d, 1
call qword [rax]
mov r11d, dword [rsp + 0x80]
mov qword [rsp + 0x88], rax
jmp 0x140091b47
mov dword [rsp + 0x20], 3
xor edx, edx
mov ecx, 0xa
mov r9d, 2
mov r8d, 0x4563
mov qword [rsp + 0x80], r10
mov dword [rsp + 0x78], r11d
call sym.curlx_verify_windows_version
mov r11d, dword [rsp + 0x78]
mov r10, qword [rsp + 0x80]
test al, al
mov edx, eax
je 0x1400927f0
mov rax, r15
mov r15, qword [r13 + 0x28]
pxor xmm0, xmm0
lea rdi, [rsp + 0x160]
mov ecx, 0x18
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x150], 0
rep stosq qword [rdi], rax
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 0
movups xmmword [rsp + 0x110], xmm0
movups xmmword [rsp + 0x120], xmm0
movups xmmword [rsp + 0x130], xmm0
movups xmmword [rsp + 0x140], xmm0
movups xmmword [rsp + 0xe0], xmm0
movups xmmword [rsp + 0xf0], xmm0
test r15, r15
je 0x140092d44
cmp byte [r15], 0
je 0x140092fdc
mov byte [rsp + 0x78], dl
mov edi, edx
mov r13d, edx
mov qword [rsp + 0x98], r12
mov dword [rsp + 0xa0], r11d
mov qword [rsp + 0x2b8], rbp
mov qword [rsp + 0xa8], r10
mov qword [rsp + 0x88], r14
mov r14d, edx
mov qword [rsp + 0x90], rbx
mov ebx, edx
mov qword [rsp + 0x2b0], rsi
mov esi, ecx
mov edx, 0x3a
mov rcx, r15
call sym.strchr
mov rbp, rax
test rax, rax
je 0x140092bb6
mov r12, rax
sub r12, r15
test bl, bl
je 0x1400928dc
cmp r12, 0x16
je 0x140092d00
cmp r12, 0x1c
sete al
test byte [rsp + 0x78], al
jne 0x140092e8e
cmp r12, 0x18
jne 0x1400927ba
test dil, dil
jne 0x140092ec5
test r13b, r13b
je 0x1400927c9
cmp r12, 0x16
je 0x140092920
mov rbp, qword [rsp + 0x2b8]
mov rdi, r12
mov r9, r15
mov r8d, edi
lea rdx, str.schannel:_Unknown_TLS_1.3_cipher:__.s
mov rcx, rbp
call sym.Curl_failf
jmp 0x140091e04
mov r15, qword [r13 + 0x20]
mov eax, dword [rsp + 0x70]
pxor xmm0, xmm0
mov dword [rsp + 0x110], 4
movups xmmword [rsp + 0x144], xmm0
movups xmmword [rsp + 0x114], xmm0
movups xmmword [rsp + 0x150], xmm0
mov dword [rsp + 0x148], r11d
mov dword [rsp + 0x158], eax
movups xmmword [rsp + 0x124], xmm0
movups xmmword [rsp + 0x134], xmm0
test r15, r15
jne 0x140091dea
mov eax, dword [rsp + 0x70]
or eax, 0x400000
mov dword [rsp + 0x158], eax
jmp 0x140092301
lea r8, [0x14017b6d1]
test r15b, r15b
je 0x140092cf4
lea rdx, str.schannel:_certificate_format_compatibility_error__for__s
mov rcx, rbp
call sym.Curl_failf
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x140091bc0
mov rcx, rax
call sym.free
jmp 0x140091bc0
mov r15d, 0x3a
cmp byte [rdi], 0
jne 0x140092c41
mov rcx, rbp
mov r8, rdi
lea rdx, str.schannel:_Failed_to_get_certificate_location_or_file_for__s
call sym.Curl_failf
mov rcx, qword [rsp + 0x80]
call sym.free
jmp 0x140091806
mov dword [rsp + 0x88], 0x10000
jmp 0x14009206a
cmp r12, 0x16
jne 0x14009279a
test r14b, r14b
je 0x14009279a
mov r8d, 0x16
mov rdx, r15
lea rcx, str.TLS_AES_128_GCM_SHA256
call sym.strncmp
test eax, eax
je 0x140092ebd
cmp byte [rsp + 0x78], 0
jne 0x140092d26
test r13b, r13b
je 0x140092f39
mov r8d, 0x16
mov rdx, r15
lea rcx, str.TLS_AES_128_CCM_SHA256
call sym.strncmp
test eax, eax
jne 0x140092f39
xor r13d, r13d
test rbp, rbp
je 0x14009295b
add esi, 1
cmp byte [rbp + 1], 0
lea r15, [rbp + 1]
je 0x14009295b
cmp esi, 5
jne 0x140092769
mov edx, ebx
mov r8d, r14d
mov r12, qword [rsp + 0x98]
mov r9d, edi
mov rbx, qword [rsp + 0x90]
mov r14, qword [rsp + 0x88]
mov eax, r13d
mov r11d, dword [rsp + 0xa0]
mov rsi, qword [rsp + 0x2b0]
mov rbp, qword [rsp + 0x2b8]
mov r10, qword [rsp + 0xa8]
test dl, dl
je 0x140092e76
test r8b, r8b
je 0x140092e76
cmp byte [rsp + 0x78], 0
je 0x140092d58
test dil, dil
je 0x140092d58
test r13b, r13b
jne 0x140092fdc
lea rax, str.ChainingModeCCM
mov edx, dword [0x14017c594]
lea rdi, str.ChainingModeGCM
mov ecx, dword [str.___b_b]
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x180], rax
lea rax, [0x14017baf0]
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x1a0], rax
lea rax, [rsp + 0xd0]
mov dword [rsp + 0x160], 2
mov dword [rsp + 0x178], 1
mov dword [rsp + 0x168], edx
mov dword [rsp + 0x188], pe_nt_image_headers64
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0x190], 2
mov dword [rsp + 0x198], edx
mov qword [rsp + 0x1b0], rax
mov dword [rsp + 0x1a8], 1
mov dword [rsp + 0xc0], ecx
mov dword [rsp + 0xd0], ecx
mov ecx, 2
movsxd rax, ecx
lea rdi, str.CHACHA20_POLY1305
add ecx, 1
imul rax, rax, 0x30
mov dword [rsp + rax + 0x160], 2
mov dword [rsp + rax + 0x168], 0x240024
mov qword [rsp + rax + 0x170], rdi
mov rax, qword [rsp + 0x80]
mov dword [rsp + 0xf4], ecx
mov dword [rsp + 0x148], 1
mov qword [rsp + 0xf8], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x150], rax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x110], 5
or eax, 0x400000
cmp qword [rsp + 0xb8], 0
mov dword [rsp + 0x144], eax
mov eax, r11d
not eax
mov dword [rsp + 0xf0], eax
je 0x140092327
lea rax, [rsp + 0xb8]
mov dword [rsp + 0x118], 1
mov qword [rsp + 0x120], rax
jmp 0x140092327
mov rcx, qword [rsp + 0x90]
mov dword [rsp + 0x80], r11d
call sym.fclose
test r15b, r15b
mov r11d, dword [rsp + 0x80]
jne 0x140091c13
jmp 0x140091b96
mov rax, qword [0x140186a40]
mov rcx, qword [rsp + 0x88]
call qword [rax]
jmp 0x14009246e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, qword [rsp + 0x98]
mov rcx, rbp
lea rdx, str.schannel:_Failed_to_get_certificate_from_file__s__last_error_is_0x_lx
mov r9d, eax
call sym.Curl_failf
xor edx, edx
mov rcx, rdi
call qword [sym.imp.CRYPT32.dll_CertCloseStore]
jmp 0x140091bc0
mov rcx, r15
call sym.strlen
mov r12, rax
jmp 0x140092788
mov dword [rsp + 0x88], 0x20000
jmp 0x14009206a
mov rcx, rbp
lea rdx, str.schannel:_unable_to_allocate_memory
call sym.Curl_failf
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x140092bf8
call qword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
test rdi, rdi
je 0x14009184a
xor edx, edx
mov rcx, rdi
call qword [sym.imp.CRYPT32.dll_CertCloseStore]
jmp 0x14009184a
mov rbp, qword [rsp + 0x2b8]
lea rdx, str.schannel:_Failed_setting_algorithm_cipher_list
mov rcx, rbp
call sym.Curl_failf
jmp 0x140091e04
lea rdx, str.schannel:_Failed_to_import_cert_file__s__password_is_bad
mov rcx, rbp
call sym.Curl_failf
jmp 0x140091bc0
lea rdx, [0x14017b87a]
mov rcx, rdi
mov dword [rsp + 0x88], r11d
call sym.curlx_win32_fopen
mov r11d, dword [rsp + 0x88]
test rax, rax
mov qword [rsp + 0x90], rax
je 0x140092f2d
mov rcx, qword [rbp + 0x5a0]
test rcx, rcx
je 0x140093043
xor r9d, r9d
xor edi, edi
xor r15d, r15d
mov qword [rsp + 0x88], r9
jmp 0x140091aa2
mov rcx, r15
call sym.strdup
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test rbx, rbx
je 0x140092ff0
mov dword [rsp + 0x20], eax
mov r9, rbx
mov rcx, rbp
mov r8d, dword [rsp + 0x88]
lea rdx, str.schannel:_Failed_to_open_cert_store__lx__s__last_error_is_0x_lx
call sym.Curl_failf
mov rax, qword [0x140186a40]
mov rcx, r15
call qword [rax]
mov rcx, rbx
call sym.free
mov rcx, qword [rsp + 0x80]
call sym.free
jmp 0x140091bc0
mov r8, qword [rbp + 0x530]
jmp 0x14009286c
mov r8d, 0x16
mov rdx, r15
lea rcx, str.TLS_AES_256_GCM_SHA384
call sym.strncmp
test eax, eax
je 0x140092f16
test r14b, r14b
jne 0x1400928ef
test r13b, r13b
jne 0x140092920
jmp 0x1400927c9
mov dword [rsp + 0x88], 0x40000
jmp 0x14009206a
xor ecx, ecx
jmp 0x140092ab4
cdqe
add rax, rax
add rax, r15
jmp 0x140091c79
mov edx, r9d
or dl, al
je 0x140092f6e
mov r8d, edx
lea rdi, str.ChainingModeCCM
lea rcx, [rsp + 0xc0]
mov dword [rsp + 0xc0], 0x200020
mov qword [rsp + 0xc8], rdi
lea rdi, [0x14017baf0]
mov dword [rsp + 0x160], 2
mov qword [rsp + 0x180], rcx
mov dword [rsp + 0x178], 1
mov dword [rsp + 0x168], 0x80008
mov qword [rsp + 0x170], rdi
cmp r9b, al
jne 0x140092f55
mov ecx, 1
test dl, dl
jne 0x140092de7
test r8b, r8b
jne 0x140092de7
cmp byte [rsp + 0x78], 0
jne 0x140092a85
jmp 0x140092ab4
lea rax, str.ChainingModeGCM
mov dword [rsp + 0xd0], 0x200020
mov qword [rsp + 0xd8], rax
cmp dl, r8b
je 0x140092f8a
movsxd rax, ecx
imul r8, rax, 0x30
mov r9, rax
neg r9
and r9d, 0x30
test dl, dl
lea rdx, str.SHA256
mov dword [rsp + r8 + 0x160], 3
mov dword [rsp + r9 + 0x168], 0x80008
lea r9, str.SHA384
cmovne rdx, r9
mov qword [rsp + r8 + 0x170], rdx
imul rax, rax, 0x30
lea rdx, [rsp + 0xd0]
add ecx, 1
mov qword [rsp + rax + 0x180], rdx
mov dword [rsp + rax + 0x178], 1
jmp 0x140092dd7
test r9b, r9b
jne 0x140092d66
test al, al
jne 0x140092d66
xor ecx, ecx
jmp 0x140092dce
mov r8d, 0x1c
mov rdx, r15
lea rcx, str.TLS_CHACHA20_POLY1305_SHA256
call sym.strncmp
test eax, eax
je 0x140092f4b
mov rbp, qword [rsp + 0x2b8]
mov edi, 0x1c
jmp 0x1400927d4
xor r14d, r14d
jmp 0x140092940
mov r8d, 0x18
mov rdx, r15
lea rcx, str.TLS_AES_128_CCM_8_SHA256
call sym.strncmp
test eax, eax
je 0x140092fd5
mov rbp, qword [rsp + 0x2b8]
mov edi, 0x18
jmp 0x1400927d4
mov rdi, qword [rbp + 0x530]
mov r15d, 0x1b
jmp 0x14009289f
mov dword [rsp + 0x88], 0x50000
jmp 0x14009206a
xor ebx, ebx
jmp 0x140092940
mov dword [rsp + 0x88], 0x60000
jmp 0x14009206a
mov rdi, qword [rbp + 0x530]
jmp 0x1400928a8
mov rbp, qword [rsp + 0x2b8]
mov edi, 0x16
jmp 0x1400927d4
mov byte [rsp + 0x78], 0
jmp 0x140092940
test r9b, r9b
jne 0x140093023
mov dword [rsp + 0x18c], 0x40
jmp 0x140092dc9
lea rax, str.ChainingModeGCM
xor ecx, ecx
mov dword [rsp + 0xd0], 0x200020
mov qword [rsp + 0xd8], rax
movsxd rax, ecx
lea rdi, [0x14017baf0]
imul r8, rax, 0x30
mov rdx, rax
neg rdx
and edx, 0x30
mov dword [rsp + r8 + 0x160], 2
mov dword [rsp + rdx + 0x168], 0x80008
mov qword [rsp + r8 + 0x170], rdi
jmp 0x140092e4f
mov dword [rsp + 0x88], 0x70000
jmp 0x14009206a
xor edi, edi
jmp 0x140092940
lea rdx, str.schannel:_All_available_TLS_1.3_ciphers_were_disabled
mov rcx, rbp
call sym.Curl_failf
jmp 0x140091e04
mov dword [rsp + 0x20], eax
mov r8d, dword [rsp + 0x88]
mov rcx, rbp
lea r9, str._unknown_
lea rdx, str.schannel:_Failed_to_open_cert_store__lx__s__last_error_is_0x_lx
call sym.Curl_failf
mov rax, qword [0x140186a40]
mov rcx, r15
call qword [rax]
jmp 0x140092ce2
mov dword [rsp + 0x188], pe_nt_image_headers64
jmp 0x140092dc9
mov dword [rsp + 0x88], 0x80000
jmp 0x14009206a
mov rax, qword [rbp + 0x530]
xor edi, edi
mov qword [rsp + 0x98], rax
xor eax, eax
mov qword [rsp + 0x88], rax
jmp 0x140091ae9