Function at 0x140103e50
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x288
xor edi, edi
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax + 0x20]
mov qword [rsp + 0x2d0], rcx
mov qword [rsp + 0x2d8], rdx
mov qword [rsp + 0x88], rax
call fcn.1400e6760
mov rdx, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x2d0]
mov rsi, rax
call fcn.1400e6740
xor r8d, r8d
mov r9d, 2
mov edx, 1
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x88]
mov ecx, 5
mov qword [rsp + 0xb0], rdi
mov rax, qword [rax + 8]
mov dword [rsp + 0x20], 1
mov qword [rsp + 0x90], rax
call fcn.1400f6360
test al, al
je 0x140103efe
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_Windows_version_is_old_and_may_not_be_able_to_connect_to_some_servers_due_to_lack_of_SNI__algorithms__etc.
call fcn.1400ddc00
cmp qword [rsi + 8], 0
mov byte [rbx + 0x6b], 0
jne 0x140103f10
cmp qword [rsi + 0x48], 0
je 0x140103f53
mov dword [rsp + 0x20], 3
xor r8d, r8d
mov r9d, 2
mov edx, 1
mov ecx, 6
call fcn.1400f6360
test al, al
jne 0x140103f55
mov rcx, qword [rsp + 0x2d8]
lea rdx, [0x140133ccf]
mov r14d, 0x4d
call fcn.1400d5c80
jmp 0x1401053b0
xor eax, eax
mov byte [rbx + 0x6c], al
mov rax, qword [rsp + 0x98]
xor r11d, r11d
mov qword [rbx], r11
test byte [rax + 0x6c], 8
jne 0x140103fcf
mov rax, qword [rsp + 0x2d0]
mov rcx, rax
mov rsi, qword [rax + 0x10]
call fcn.1400e6760
mov rcx, qword [rsp + 0x2d0]
mov rdx, qword [rsp + 0x2d8]
mov qword [rsp + 0x78], rax
call fcn.1400e6740
mov rsi, qword [rsi + 0x20]
xor r10d, r10d
mov qword [rsp + 0xb8], r10
mov qword [rsp + 0x80], rsi
mov rsi, qword [rsp + 0x78]
mov cl, byte [rsi + 0x6c]
test cl, 1
jne 0x14010404c
mov dword [rsp + 0x6c], 0x1808
jmp 0x14010408b
mov rcx, qword [rsp + 0x2d8]
call fcn.1400e6ff0
mov rdx, qword [rsp + 0x2d8]
xor r9d, r9d
mov rcx, qword [rsp + 0x2d0]
lea r8, [rsp + 0xb0]
call fcn.1400e6c40
test al, al
jne 0x14010400e
mov rax, qword [rsp + 0xb0]
mov qword [rbx], rax
inc dword [rax + 0x28]
mov rcx, qword [rsp + 0x2d8]
call fcn.1400e7020
cmp qword [rbx], 0
je 0x140103f6c
mov rdx, qword [rsp + 0x90]
lea r8, [rsp + 0xac]
mov ecx, 2
call fcn.1400dda30
test eax, eax
jne 0x14010510c
jmp 0x1401050ee
mov rsi, qword [rsp + 0x80]
mov r8b, byte [rax + 0xb0]
cmp byte [rsi + 0x6c], 1
sbb edx, edx
and edx, 0x18
add edx, 8
test r8b, 8
je 0x140104072
or dh, 0x18
jmp 0x140104087
mov esi, edx
or esi, 0x200
and r8b, 0x20
mov dword [rsp + 0x6c], esi
je 0x14010408b
or dh, 0x1a
mov dword [rsp + 0x6c], edx
and cl, 2
jne 0x140104095
or dword [rsp + 0x6c], 4
cmp byte [rax + 0xb0], 0
lea rdx, str.schannel:_enabled_automatic_use_of_client_certificate
js 0x1401040b1
or dword [rsp + 0x6c], 0x10
lea rdx, str.schannel:_disabled_automatic_use_of_client_certificate
mov rcx, qword [rsp + 0x2d8]
call fcn.1400ddc00
mov rax, qword [rsp + 0x78]
mov al, byte [rax + 0x68]
cmp al, 3
ja 0x1401040d3
cmp al, 1
jbe 0x1401040de
jmp 0x1401041fa
sub eax, 4
cmp al, 3
ja 0x140104219
mov rcx, qword [rsp + 0x2d0]
call fcn.1400e6760
movzx edi, byte [rax + 0x68]
mov eax, dword [rax + 0x64]
test eax, 0xfffeffff
jne 0x140104125
mov dword [rsp + 0x20], 3
xor edx, edx
mov ecx, 0xa
mov r9d, 2
mov r8d, 0x4f7c
call fcn.1400f6360
cmp al, 1
sbb eax, eax
xor ax, ax
add eax, 0x70000
sar eax, 0x10
xor r9d, r9d
mov dword [rsp + 0x60], r9d
mov esi, eax
cmp edi, eax
jg 0x1401041dd
cmp edi, 6
je 0x140104171
cmp edi, 6
jg 0x140104150
cmp edi, 4
je 0x140104157
cmp edi, 5
je 0x140104164
jmp 0x1401041c7
cmp edi, 7
je 0x140104180
jmp 0x1401041d3
or dword [rsp + 0x60], 0x80
cmp esi, 4
jle 0x1401041dd
or dword [rsp + 0x60], 0x200
cmp esi, 5
jle 0x1401041dd
or dword [rsp + 0x60], 0x800
mov edi, 6
jmp 0x1401041d3
mov dword [rsp + 0x20], 3
xor edx, edx
mov ecx, 0xa
mov r9d, 2
mov r8d, 0x4f7c
call fcn.1400f6360
test al, al
je 0x1401041ae
or dword [rsp + 0x60], 0x2000
jmp 0x1401041d3
lea rdx, str.schannel:_TLS_1.3_not_supported_on_Windows_prior_to_11
mov rcx, qword [rsp + 0x2d8]
call fcn.1400d5c80
jmp 0x1401052f8
inc edi
cmp esi, edi
jge 0x14010413f
jmp 0x1401041dd
inc edi
cmp edi, esi
jle 0x14010413f
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rax + 0x538]
mov rbp, qword [rax + 0x560]
test rcx, rcx
jne 0x14010422c
jmp 0x140104222
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.SSL_versions_not_supported
mov r14d, 4
call fcn.1400d5c80
jmp 0x1401053b0
lea rdx, str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
jmp 0x1401041b5
test rbp, rbp
jne 0x140104231
jmp 0x1401048dc
test rbp, rbp
je 0x140104250
xor r8d, r8d
mov r14, qword [rbp]
mov r15, qword [rbp + 8]
xor r13d, r13d
mov qword [rsp + 0x70], r8
xor r12d, r12d
xor esi, esi
xor edi, edi
jmp 0x1401044a4
call sub.msvcrt.dll__strdup
mov r14d, 0x1b
mov rsi, rax
test rax, rax
je 0x1401053b0
mov edx, 0x5c
mov rcx, rax
call sub.msvcrt.dll_strchr
mov r13, rax
test rax, rax
je 0x14010442f
mov rdi, rax
mov r8d, 0xc
lea rdx, str.CurrentUser
mov rcx, rsi
sub rdi, rsi
cmp rdi, r8
cmovbe r8, rdi
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x1401043a5
mov r8d, 0xd
lea rdx, str.LocalMachine
mov rcx, rsi
cmp rdi, r8
cmovbe r8, rdi
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x1401043ad
mov r8d, 0xf
lea rdx, str.CurrentService
mov rcx, rsi
cmp rdi, r8
cmovbe r8, rdi
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x1401043b5
mov r8d, 9
lea rdx, str.Services
mov rcx, rsi
cmp rdi, r8
cmovbe r8, rdi
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x1401043bd
mov r8d, 6
lea rdx, str.Users
mov rcx, rsi
cmp rdi, r8
cmovbe r8, rdi
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x1401043c5
mov r8d, 0x17
lea rdx, str.CurrentUserGroupPolicy
mov rcx, rsi
cmp rdi, r8
cmovbe r8, rdi
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x1401043cd
mov r8d, 0x18
lea rdx, str.LocalMachineGroupPolicy
mov rcx, rsi
cmp rdi, r8
cmovbe r8, rdi
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x1401043d5
mov r8d, 0x17
lea rdx, str.LocalMachineEnterprise
mov rcx, rsi
mov r12d, 0x90000
cmp rdi, r8
cmovbe r8, rdi
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x1401043db
jmp 0x14010442c
mov r12d, 0x10000
jmp 0x1401043db
mov r12d, 0x20000
jmp 0x1401043db
mov r12d, 0x40000
jmp 0x1401043db
mov r12d, 0x50000
jmp 0x1401043db
mov r12d, 0x60000
jmp 0x1401043db
mov r12d, 0x70000
jmp 0x1401043db
mov r12d, 0x80000
lea rdi, [r13 + 1]
mov edx, 0x5c
mov rcx, rdi
call sub.msvcrt.dll_strchr
mov r15, rax
test rax, rax
je 0x140104434
lea r13, [rax + 1]
mov rcx, r13
call sub.msvcrt.dll_strlen
cmp rax, 0x28
jne 0x140104437
mov rax, qword [0x14013af00]
mov byte [r15], 0
mov rcx, rdi
mov r14d, 0x1b
call qword [rax]
mov byte [r15], 0x5c
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x14010449c
jmp 0x14010443d
xor r13d, r13d
xor r12d, r12d
jmp 0x140104437
xor r13d, r13d
mov r14d, 0x3a
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rax + 0x538]
cmp byte [rcx], 0
jne 0x14010447c
mov rax, qword [rsp + 0x2d8]
lea rdx, str.schannel:_Failed_to_get_certificate_location_or_file_for__s
mov r8, qword [rax + 0x538]
mov rcx, rax
call fcn.1400d5c80
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x1401053b0
lea rdx, [0x140133ee1]
call fcn.1400f6560
mov rdi, rax
test rax, rax
je 0x140104451
xor ecx, ecx
xor r14d, r14d
mov qword [rsp + 0x70], rcx
jmp 0x1401044a1
xor r14d, r14d
xor edi, edi
xor r15d, r15d
mov rax, rdi
or rax, rbp
je 0x14010450c
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rax + 0x5a8]
test rcx, rcx
je 0x140104576
lea rdx, [0x140133ee4]
call fcn.1400f4cc0
test eax, eax
jne 0x140104576
lea r8, [0x140133c30]
test rbp, rbp
jne 0x1401044f3
mov rax, qword [rsp + 0x2d8]
mov r8, qword [rax + 0x538]
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_certificate_format_compatibility_error__for__s
call fcn.1400d5c80
jmp 0x140104806
mov rax, qword [rsp + 0x70]
mov r9d, r12d
xor r8d, r8d
xor edx, edx
or r9d, 0x4000
mov ecx, 9
mov qword [rsp + 0x20], rax
call qword [sym.imp.CRYPT32.dll_CertOpenStore]
mov rbp, qword [0x14013aeb0]
test rax, rax
mov rdi, rax
jne 0x14010481c
call qword [sym.imp.kernel32.dll_GetLastError]
mov rcx, qword [rsp + 0x2d8]
mov r8d, r12d
mov r9, qword [rsp + 0x70]
mov dword [rsp + 0x20], eax
lea rdx, str.schannel:_Failed_to_open_cert_store__x__s__last_error_is_0x_x
call fcn.1400d5c80
mov rcx, qword [rsp + 0x70]
call qword [rbp]
jmp 0x140104806
test rbp, rbp
jne 0x140104591
mov rax, qword [rsp + 0x2d8]
mov r12, qword [rax + 0x538]
test rsi, rsi
jne 0x14010459d
jmp 0x1401045ae
lea r12, [0x140133c30]
test rsi, rsi
je 0x1401045a5
mov rcx, rsi
call sub.msvcrt.dll_free
test rdi, rdi
je 0x140104661
xor edx, edx
mov r8d, 2
mov rcx, rdi
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x1401045f9
mov rcx, rdi
xor esi, esi
call sub.msvcrt.dll_ftell
test eax, eax
js 0x1401045fe
xor r8d, r8d
xor edx, edx
mov rcx, rdi
movsxd r15, eax
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x1401045fe
mov rax, qword [0x14013aec0]
lea rcx, [r15 + 1]
mov sil, 1
call qword [rax]
mov r14, rax
jmp 0x1401045fe
xor esi, esi
xor r15d, r15d
mov rcx, rdi
test r14, r14
je 0x140104621
mov rcx, r14
mov r9, rdi
mov r8d, 1
mov rdx, r15
call sub.msvcrt.dll_fread
mov rcx, rdi
dec eax
je 0x140104628
call sub.msvcrt.dll_fclose
jmp 0x140104632
call sub.msvcrt.dll_fclose
test sil, sil
jne 0x140104661
mov rax, qword [rsp + 0x2d8]
lea rdx, str.schannel:_Failed_to_read_cert_file__s
mov r8, qword [rax + 0x538]
mov rcx, rax
call fcn.1400d5c80
mov rax, qword [0x14013aeb0]
mov rcx, r14
call qword [rax]
jmp 0x1401048d1
mov rax, qword [rsp + 0x2d8]
mov qword [rsp + 0x188], r14
xor edi, edi
mov dword [rsp + 0x180], r15d
mov rcx, qword [rax + 0x5c8]
test rcx, rcx
je 0x14010468f
call sub.msvcrt.dll_strlen
mov rdi, rax
mov rax, qword [0x14013aec0]
lea rcx, [rdi + 1]
add rcx, rcx
call qword [rax]
mov rsi, rax
test rax, rax
jne 0x1401046c1
test rbp, rbp
jne 0x14010476d
mov rax, qword [0x14013aeb0]
mov rcx, r14
call qword [rax]
jmp 0x14010476d
xor eax, eax
test rdi, rdi
je 0x1401046fe
lea eax, [rdi + 1]
mov qword [rsp + 0x20], rsi
mov r9d, edi
mov edx, 8
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x2d8]
mov ecx, 0xfde9
mov r8, qword [rax + 0x5c8]
call qword [sym.imp.kernel32.dll_MultiByteToWideChar]
test eax, eax
js 0x140104708
cmp edi, eax
jl 0x140104708
cdqe
mov word [rsi + rax*2], 0
jmp 0x14010470d
mov word [rsi], 0
xor r8d, r8d
xor edx, edx
mov ecx, 6
mov r9d, 2
mov dword [rsp + 0x20], 3
call fcn.1400f6360
lea rcx, [rsp + 0x180]
mov r8d, 0x8000
test al, al
mov rax, qword [sym.imp.CRYPT32.dll_PFXImportCertStore]
jne 0x140104746
xor r8d, r8d
mov rdx, rsi
call rax
mov r13, qword [0x14013aeb0]
mov rcx, rsi
mov rdi, rax
call qword [r13]
test rbp, rbp
jne 0x140104768
mov rcx, r14
call qword [r13]
test rdi, rdi
jne 0x1401047b0
call qword [sym.imp.kernel32.dll_GetLastError]
mov r8, r12
mov r9d, eax
cmp eax, 0x56
jne 0x140104797
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_Failed_to_import_cert_file__s__password_is_bad
call fcn.1400d5c80
jmp 0x1401048d1
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_Failed_to_import_cert_file__s__last_error_is_0x_x
call fcn.1400d5c80
jmp 0x1401048d1
xor edx, edx
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rdx
mov edx, 0x10001
call qword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov qword [rsp + 0xb8], rax
test rax, rax
jne 0x1401048cc
call qword [sym.imp.kernel32.dll_GetLastError]
mov rcx, qword [rsp + 0x2d8]
mov r8, r12
lea rdx, str.schannel:_Failed_to_get_certificate_from_file__s__last_error_is_0x_x
mov r9d, eax
call fcn.1400d5c80
jmp 0x1401048bf
test rsi, rsi
je 0x1401048d1
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x1401048d1
mov rcx, qword [rsp + 0x70]
call qword [rbp]
xor eax, eax
lea r9, [rsp + 0x180]
mov rcx, r13
mov qword [rsp + 0x30], rax
mov r8d, 4
mov edx, 0x28
lea rbp, [rsp + 0x130]
mov qword [rsp + 0x138], r9
mov dword [rsp + 0x130], 0x14
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbp
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
jne 0x14010487f
test rsi, rsi
je 0x1401048bf
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x1401048bf
xor eax, eax
mov qword [rsp + 0x20], rbp
mov r9d, 0x10000
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov edx, 0x10001
mov rcx, rdi
call qword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov qword [rsp + 0xb8], rax
mov rbp, rax
test rsi, rsi
je 0x1401048ba
mov rcx, rsi
call sub.msvcrt.dll_free
test rbp, rbp
jne 0x1401048cc
xor edx, edx
mov rcx, rdi
call qword [sym.imp.CRYPT32.dll_CertCloseStore]
jmp 0x1401048d1
mov rbp, rdi
jmp 0x1401048dc
mov r14d, 0x3a
jmp 0x1401053b0
mov rax, qword [0x14013aea0]
mov edx, 0x30
mov ecx, 1
call qword [rax]
mov rsi, qword [rsp + 0x80]
mov qword [rsi], rax
test rax, rax
jne 0x14010493f
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_unable_to_allocate_memory
call fcn.1400d5c80
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x140104926
call qword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
test rbp, rbp
je 0x1401052c9
xor edx, edx
mov rcx, rbp
call qword [sym.imp.CRYPT32.dll_CertCloseStore]
jmp 0x1401052c9
mov qword [rax + 0x20], rbp
mov dword [rax + 0x28], 1
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0x20], 0
jne 0x140104dd7
mov dword [rsp + 0x20], 3
mov r9d, 2
mov r8d, 0x4563
xor edx, edx
mov ecx, 0xa
call fcn.1400f6360
mov r15d, eax
test al, al
je 0x140104dd7
xor eax, eax
lea rdi, [rsp + 0x130]
mov ecx, 0x12
rep stosd dword [rdi], eax
lea rdi, [rsp + 0x108]
mov ecx, 0xa
rep stosd dword [rdi], eax
lea rdi, [rsp + 0x180]
mov ecx, 0x30
rep stosd dword [rdi], eax
xor eax, eax
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x78]
mov r14, qword [rax + 0x28]
test r14, r14
je 0x140104d4c
xor eax, eax
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rax
cmp byte [r14], 0
je 0x140104b8c
xor eax, eax
mov ebp, r15d
mov esi, r15d
mov r13d, r15d
mov dword [rsp + 0x70], eax
mov edi, r15d
mov edx, 0x3a
mov rcx, r14
call sub.msvcrt.dll_strchr
mov r12, rax
test rax, rax
je 0x140104a43
mov r8, rax
sub r8, r14
jmp 0x140104a4e
mov rcx, r14
call sub.msvcrt.dll_strlen
mov r8, rax
cmp r8, 0x1f
jbe 0x140104a60
lea rdx, str.schannel:_Cipher_name_too_long__not_checked
jmp 0x140104f75
lea r10, [rsp + 0xe8]
mov rdx, r14
mov qword [rsp + 0x78], r8
mov rcx, r10
call sub.msvcrt.dll_strncpy
mov r8, qword [rsp + 0x78]
mov byte [rsp + r8 + 0xe8], 0
test r15b, r15b
je 0x140104aa2
mov rdx, rax
lea rcx, str.TLS_AES_256_GCM_SHA384
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140104b40
test dil, dil
je 0x140104ac3
lea rdx, [rsp + 0xe8]
lea rcx, str.TLS_AES_128_GCM_SHA256
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140104b45
test r13b, r13b
je 0x140104ae0
lea rdx, [rsp + 0xe8]
lea rcx, str.TLS_CHACHA20_POLY1305_SHA256
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140104b49
test sil, sil
je 0x140104afd
lea rdx, [rsp + 0xe8]
lea rcx, str.TLS_AES_128_CCM_8_SHA256
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140104b4e
test bpl, bpl
lea r8, [rsp + 0xe8]
je 0x140104b27
mov rdx, r8
lea rcx, str.TLS_AES_128_CCM_SHA256
mov qword [rsp + 0x78], r8
call sub.msvcrt.dll_strcmp
mov r8, qword [rsp + 0x78]
test eax, eax
je 0x140104b52
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_Unknown_TLS_1.3_cipher:__s
call fcn.1400d5c80
jmp 0x140105027
xor r15d, r15d
jmp 0x140104b54
xor edi, edi
jmp 0x140104b54
xor r13d, r13d
jmp 0x140104b54
xor esi, esi
jmp 0x140104b54
xor ebp, ebp
test r12, r12
je 0x140104b75
inc dword [rsp + 0x70]
cmp byte [r12 + 1], 0
lea r14, [r12 + 1]
je 0x140104b75
cmp dword [rsp + 0x70], 5
jne 0x140104a26
test r15b, r15b
je 0x140104bc1
test dil, dil
je 0x140104bc1
mov r15d, r13d
and r15b, sil
je 0x140104b98
test bpl, bpl
je 0x140104bd2
lea rdx, str.schannel:_All_available_TLS_1.3_ciphers_were_disabled
jmp 0x140104f75
mov r15d, esi
or r15b, bpl
jne 0x140104bd8
lea rax, str.ChainingModeGCM
mov dword [rsp + 0xd0], 0x200020
mov qword [rsp + 0xd8], rax
xor eax, eax
jmp 0x140104cc7
test sil, sil
jne 0x140104bdb
xor eax, eax
test bpl, bpl
jne 0x140104bdb
jmp 0x140104c5e
mov esi, r15d
mov r13d, r15d
mov edi, r15d
lea rax, str.ChainingModeCCM
mov dword [rsp + 0xc0], 0x200020
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x1a0], rax
lea rax, [0x1401341a6]
mov dword [rsp + 0x180], 2
mov dword [rsp + 0x198], 1
mov dword [rsp + 0x188], 0x80008
mov qword [rsp + 0x190], rax
cmp sil, bpl
je 0x140104c4a
test sil, sil
je 0x140104c51
mov dword [rsp + 0x1a8], pe_nt_image_headers64
mov eax, 1
jmp 0x140104c5e
mov dword [rsp + 0x1ac], 0x40
jmp 0x140104c4a
test r15b, r15b
jne 0x140104c6c
test dil, dil
je 0x140104d17
lea rsi, str.ChainingModeGCM
mov dword [rsp + 0xd0], 0x200020
mov qword [rsp + 0xd8], rsi
cmp r15b, dil
je 0x140104cc7
movsxd rdx, eax
lea rcx, str.SHA256
lea r8, str.SHA384
imul rdx, rdx, 0x30
test r15b, r15b
cmovne rcx, r8
mov dword [rsp + rdx + 0x180], 3
mov dword [rsp + rdx + 0x188], 0x80008
mov qword [rsp + rdx + 0x190], rcx
jmp 0x140104cf3
movsxd rdx, eax
lea rdi, [0x1401341a6]
imul rdx, rdx, 0x30
mov dword [rsp + rdx + 0x180], 2
mov dword [rsp + rdx + 0x188], 0x80008
mov qword [rsp + rdx + 0x190], rdi
movsxd rdx, eax
lea rcx, [rsp + 0xd0]
inc eax
imul rdx, rdx, 0x30
mov qword [rsp + rdx + 0x1a0], rcx
mov dword [rsp + rdx + 0x198], 1
test r13b, r13b
je 0x140104d4e
movsxd rdx, eax
lea rdi, str.CHACHA20_POLY1305
inc eax
imul rdx, rdx, 0x30
mov dword [rsp + rdx + 0x180], 2
mov dword [rsp + rdx + 0x188], 0x240024
mov qword [rsp + rdx + 0x190], rdi
jmp 0x140104d4e
xor eax, eax
mov dword [rsp + 0x11c], eax
lea rax, [rsp + 0x108]
lea rdx, [rsp + 0x180]
mov qword [rsp + 0x170], rax
mov eax, dword [rsp + 0x6c]
mov qword [rsp + 0x120], rdx
mov dword [rsp + 0x168], 1
or eax, 0x400000
cmp qword [rsp + 0xb8], 0
mov dword [rsp + 0x164], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x130], 5
not eax
mov dword [rsp + 0x118], eax
je 0x140104fbd
lea rax, [rsp + 0xb8]
mov dword [rsp + 0x138], 1
mov qword [rsp + 0x140], rax
jmp 0x140104fbd
mov rax, qword [rsp + 0x78]
lea rdi, [rsp + 0x134]
mov ecx, 0x13
mov rsi, qword [rax + 0x20]
xor eax, eax
rep stosd dword [rdi], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x130], 4
mov dword [rsp + 0x178], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x168], eax
test rsi, rsi
je 0x140104f87
bt eax, 0xd
jae 0x140104e35
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_WARNING:_This_version_of_Schannel_may_negotiate_a_less_secure_TLS_version_than_TLS_1.3_because_the_user_set_an_algorithm_cipher_list.
call fcn.1400ddc00
mov rax, qword [rsp + 0x78]
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
cmp qword [rax + 0x28], 0
jne 0x140104f75
xor r12d, r12d
lea r14, str.SCH_USE_STRONG_CRYPTO
cmp byte [rsi], 0
je 0x140104f54
cmp r12d, 0x2f
je 0x140104f54
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call sub.msvcrt.dll_strtol
mov edi, eax
test eax, eax
jne 0x140104ef1
mov edx, 0x3a
mov rcx, rsi
call sub.msvcrt.dll_strchr
mov rbp, rax
test rax, rax
je 0x140104e96
sub rbp, rsi
jmp 0x140104ea1
mov rcx, rsi
call sub.msvcrt.dll_strlen
mov rbp, rax
lea r13, str.CALG_MD2
mov r15, r13
mov rcx, qword [r13]
test rcx, rcx
je 0x140104f00
mov qword [rsp + 0x60], rcx
call sub.msvcrt.dll_strlen
mov rcx, qword [rsp + 0x60]
cmp rax, rbp
jne 0x140104ee9
mov r8, rbp
mov rdx, rsi
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x140104ee9
movsxd rdi, edi
shl rdi, 4
mov edi, dword [r15 + rdi + 8]
test edi, edi
jne 0x140104ef1
jmp 0x140104f00
inc edi
add r13, 0x10
jmp 0x140104eab
movsxd rax, r12d
inc r12d
mov dword [rsp + rax*4 + 0x180], edi
jmp 0x140104f39
mov r8d, 0x11
lea rdx, str.USE_STRONG_CRYPTO
mov rcx, rsi
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x140104f2e
mov r8d, 0x15
mov rdx, r14
mov rcx, rsi
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x140104f6e
or dword [rsp + 0x178], 0x400000
mov edx, 0x3a
mov rcx, rsi
call sub.msvcrt.dll_strchr
test rax, rax
je 0x140104f54
lea rsi, [rax + 1]
jmp 0x140104e56
lea rax, [rsp + 0x180]
mov dword [rsp + 0x158], r12d
mov qword [rsp + 0x160], rax
jmp 0x140104f97
lea rdx, str.schannel:_Failed_setting_algorithm_cipher_list
mov rcx, qword [rsp + 0x2d8]
call fcn.1400d5c80
jmp 0x140105027
mov eax, dword [rsp + 0x6c]
or eax, 0x400000
mov dword [rsp + 0x178], eax
cmp qword [rsp + 0xb8], 0
je 0x140104fbd
lea rax, [rsp + 0xb8]
mov dword [rsp + 0x134], 1
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x80]
xor r14d, r14d
xor ecx, ecx
xor r9d, r9d
mov rdx, qword [0x14013b210]
mov r8d, 2
mov rax, qword [rax]
mov r10, qword [rdx]
mov qword [rsp + 0x30], r14
lea rdx, [rax + 0x10]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x40], rdx
lea rdx, str.Microsoft_Unified_Security_Protocol_Provider
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call qword [r10 + 0x18]
mov rcx, qword [rsp + 0xb8]
mov esi, eax
test rcx, rcx
je 0x140105032
call qword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
jmp 0x140105032
mov r14d, 0x3b
jmp 0x1401053b0
test esi, esi
je 0x14010509e
lea rdx, [rsp + 0x180]
mov ecx, esi
xor r13d, r13d
xor r14d, r14d
mov r8d, 0x100
call fcn.1400e7200
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_AcquireCredentialsHandle_failed:__s
mov r8, rax
call fcn.1400d5c80
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax]
mov rax, qword [0x14013aeb0]
call qword [rax]
mov rax, qword [rsp + 0x80]
cmp esi, 0x80090300
setne r14b
mov qword [rax], r13
lea r14d, [r14*8 + 0x1b]
jmp 0x1401053b0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x2d8]
xor r12d, r12d
xor r8d, r8d
mov dword [rsp + 0xb8], r12d
call fcn.1400e7060
lea rdx, str.Failed_to_set_SNI
mov rcx, rax
test rax, rax
je 0x1401041b5
mov rsi, qword [rbx]
call sub.msvcrt.dll__strdup
mov qword [rsi + 0x18], rax
test rax, rax
jne 0x140104025
jmp 0x1401052c9
mov rdx, qword [rsp + 0x90]
lea r8, [rsp + 0xc0]
mov ecx, 0x17
call fcn.1400dda30
test eax, eax
je 0x140105120
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_using_IP_address__SNI_is_not_supported_by_OS.
call fcn.1400ddc00
lea rax, [rsp + 0x108]
xor edi, edi
xor ebp, ebp
mov ecx, 1
mov qword [rsp + 0x138], rax
mov eax, 1
lea rdx, [rsp + 0xd0]
shl rax, 0x20
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0x130], rax
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xd0], rbp
movsx eax, byte [rax + 0xb0]
mov qword [rsp + 0xf0], rdx
mov edx, 0x18
mov qword [rsp + 0x110], rdi
sar eax, 0x1f
mov qword [rsp + 0xd8], rbp
and eax, 0xffffff80
add eax, 0x819c
mov dword [rbx + 0x5c], eax
mov rax, qword [0x14013aea0]
call qword [rax]
mov qword [rbx + 8], rax
test rax, rax
jne 0x1401051cf
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_unable_to_allocate_memory
call fcn.1400d5c80
jmp 0x1401052c9
mov rdi, qword [0x14013b210]
lea rsi, [rax + 0x10]
lea r11, [rbx + 0x60]
mov rdx, qword [rdi]
mov r10, qword [rdx + 0x30]
xor edx, edx
cmp byte [rbx + 0x6b], 0
je 0x1401051f5
lea rdx, [rsp + 0x130]
mov rcx, qword [rbx]
mov r9d, dword [rbx + 0x5c]
mov r8, qword [rcx + 0x18]
mov qword [rsp + 0x50], r11
lea r11, [rsp + 0xe8]
mov qword [rsp + 0x58], rsi
xor esi, esi
mov qword [rsp + 0x48], r11
xor r11d, r11d
mov qword [rsp + 0x30], rdx
xor edx, edx
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], r11d
call r10
mov esi, eax
cmp eax, 0x90312
je 0x140105303
mov rax, qword [0x14013aeb0]
mov rcx, qword [rbx + 8]
call qword [rax]
xor edx, edx
cmp esi, 0x80090300
mov qword [rbx + 8], rdx
lea rdx, [rsp + 0x180]
je 0x1401052a2
cmp esi, 0x80090322
jne 0x1401052d4
mov r8d, 0x100
mov ecx, 0x80090322
mov r14d, 0x3c
call fcn.1400e7200
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_SNI_or_certificate_check_failed:__s
mov r8, rax
call fcn.1400d5c80
jmp 0x1401053b0
mov r8d, 0x100
mov ecx, 0x80090300
call fcn.1400e7200
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_initial_InitializeSecurityContext_failed:__s
mov r8, rax
call fcn.1400d5c80
mov r14d, 0x1b
jmp 0x1401053b0
mov r8d, 0x100
mov ecx, esi
call fcn.1400e7200
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_initial_InitializeSecurityContext_failed:__s
mov r8, rax
call fcn.1400d5c80
mov r14d, 0x23
jmp 0x1401053b0
mov rax, qword [rsp + 0x2d0]
mov r8, qword [rsp + 0xd8]
mov r9d, dword [rsp + 0xd0]
mov rdx, qword [rsp + 0x2d8]
mov rcx, qword [rax + 8]
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
call fcn.1400ce180
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x60], rax
mov rax, qword [rdi]
call qword [rax + pe_nt_image_headers64]
mov r14d, dword [rsp + 0xb8]
mov r8, qword [rsp + 0x60]
test r14d, r14d
jne 0x14010536d
mov eax, dword [rsp + 0xd0]
cmp rax, r8
je 0x14010538e
mov r9d, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_failed_to_send_initial_handshake_data:_sent__zd_of__lu_bytes
call fcn.1400d5c80
jmp 0x1401052f8
xor eax, eax
mov word [rbx + 0x68], 0
mov dword [rbx + 0x64], eax
mov rax, qword [rsp + 0x88]
mov byte [rbx + 0x6a], 0
mov byte [rbx + 0x58], 0
mov dword [rax + 4], 1
mov eax, r14d
add rsp, 0x288
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret