Function at 0x1404387d0
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.140334ad0
mov rdx, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x2d0]
mov rsi, rax
call fcn.140334ab0
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.1403d2e80
test al, al
je 0x14043887e
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.14032c350
cmp qword [rsi + 8], 0
mov byte [rbx + 0x6b], 0
jne 0x140438890
cmp qword [rsi + 0x48], 0
je 0x1404388d3
mov dword [rsp + 0x20], 3
xor r8d, r8d
mov r9d, 2
mov edx, 1
mov ecx, 6
call fcn.1403d2e80
test al, al
jne 0x1404388d5
mov rcx, qword [rsp + 0x2d8]
lea rdx, [0x14060daef]
mov r14d, 0x4d
call fcn.140324010
jmp 0x140439d30
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 0x14043894f
mov rax, qword [rsp + 0x2d0]
mov rcx, rax
mov rsi, qword [rax + 0x10]
call fcn.140334ad0
mov rcx, qword [rsp + 0x2d0]
mov rdx, qword [rsp + 0x2d8]
mov qword [rsp + 0x78], rax
call fcn.140334ab0
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 0x1404389cc
mov dword [rsp + 0x6c], 0x1808
jmp 0x140438a0b
mov rcx, qword [rsp + 0x2d8]
call fcn.140335360
mov rdx, qword [rsp + 0x2d8]
xor r9d, r9d
mov rcx, qword [rsp + 0x2d0]
lea r8, [rsp + 0xb0]
call fcn.140334fb0
test al, al
jne 0x14043898e
mov rax, qword [rsp + 0xb0]
mov qword [rbx], rax
inc dword [rax + 0x28]
mov rcx, qword [rsp + 0x2d8]
call fcn.140335390
cmp qword [rbx], 0
je 0x1404388ec
mov rdx, qword [rsp + 0x90]
lea r8, [rsp + 0xac]
mov ecx, 2
call fcn.14032c180
test eax, eax
jne 0x140439a8c
jmp 0x140439a6e
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 0x1404389f2
or dh, 0x18
jmp 0x140438a07
mov esi, edx
or esi, 0x200
and r8b, 0x20
mov dword [rsp + 0x6c], esi
je 0x140438a0b
or dh, 0x1a
mov dword [rsp + 0x6c], edx
and cl, 2
jne 0x140438a15
or dword [rsp + 0x6c], 4
cmp byte [rax + 0xb0], 0
lea rdx, str.schannel:_enabled_automatic_use_of_client_certificate
js 0x140438a31
or dword [rsp + 0x6c], 0x10
lea rdx, str.schannel:_disabled_automatic_use_of_client_certificate
mov rcx, qword [rsp + 0x2d8]
call fcn.14032c350
mov rax, qword [rsp + 0x78]
mov al, byte [rax + 0x68]
cmp al, 3
ja 0x140438a53
cmp al, 1
jbe 0x140438a5e
jmp 0x140438b7a
sub eax, 4
cmp al, 3
ja 0x140438b99
mov rcx, qword [rsp + 0x2d0]
call fcn.140334ad0
movzx edi, byte [rax + 0x68]
mov eax, dword [rax + 0x64]
test eax, 0xfffeffff
jne 0x140438aa5
mov dword [rsp + 0x20], 3
xor edx, edx
mov ecx, 0xa
mov r9d, 2
mov r8d, 0x4f7c
call fcn.1403d2e80
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 0x140438b5d
cmp edi, 6
je 0x140438af1
cmp edi, 6
jg 0x140438ad0
cmp edi, 4
je 0x140438ad7
cmp edi, 5
je 0x140438ae4
jmp 0x140438b47
cmp edi, 7
je 0x140438b00
jmp 0x140438b53
or dword [rsp + 0x60], 0x80
cmp esi, 4
jle 0x140438b5d
or dword [rsp + 0x60], 0x200
cmp esi, 5
jle 0x140438b5d
or dword [rsp + 0x60], 0x800
mov edi, 6
jmp 0x140438b53
mov dword [rsp + 0x20], 3
xor edx, edx
mov ecx, 0xa
mov r9d, 2
mov r8d, 0x4f7c
call fcn.1403d2e80
test al, al
je 0x140438b2e
or dword [rsp + 0x60], 0x2000
jmp 0x140438b53
lea rdx, str.schannel:_TLS_1.3_not_supported_on_Windows_prior_to_11
mov rcx, qword [rsp + 0x2d8]
call fcn.140324010
jmp 0x140439c78
inc edi
cmp esi, edi
jge 0x140438abf
jmp 0x140438b5d
inc edi
cmp edi, esi
jle 0x140438abf
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rax + 0x538]
mov rbp, qword [rax + 0x560]
test rcx, rcx
jne 0x140438bac
jmp 0x140438ba2
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.SSL_versions_not_supported
mov r14d, 4
call fcn.140324010
jmp 0x140439d30
lea rdx, str.Unrecognized_parameter_passed_via_CURLOPT_SSLVERSION
jmp 0x140438b35
test rbp, rbp
jne 0x140438bb1
jmp 0x14043925c
test rbp, rbp
je 0x140438bd0
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 0x140438e24
call sub.msvcrt.dll__strdup
mov r14d, 0x1b
mov rsi, rax
test rax, rax
je 0x140439d30
mov edx, 0x5c
mov rcx, rax
call sub.msvcrt.dll_strchr
mov r13, rax
test rax, rax
je 0x140438daf
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 0x140438d25
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 0x140438d2d
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 0x140438d35
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 0x140438d3d
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 0x140438d45
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 0x140438d4d
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 0x140438d55
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 0x140438d5b
jmp 0x140438dac
mov r12d, 0x10000
jmp 0x140438d5b
mov r12d, 0x20000
jmp 0x140438d5b
mov r12d, 0x40000
jmp 0x140438d5b
mov r12d, 0x50000
jmp 0x140438d5b
mov r12d, 0x60000
jmp 0x140438d5b
mov r12d, 0x70000
jmp 0x140438d5b
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 0x140438db4
lea r13, [rax + 1]
mov rcx, r13
call sub.msvcrt.dll_strlen
cmp rax, 0x28
jne 0x140438db7
mov rax, qword [0x140626cc0]
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 0x140438e1c
jmp 0x140438dbd
xor r13d, r13d
xor r12d, r12d
jmp 0x140438db7
xor r13d, r13d
mov r14d, 0x3a
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rax + 0x538]
cmp byte [rcx], 0
jne 0x140438dfc
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.140324010
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x140439d30
lea rdx, [0x14060dd01]
call fcn.1403d3080
mov rdi, rax
test rax, rax
je 0x140438dd1
xor ecx, ecx
xor r14d, r14d
mov qword [rsp + 0x70], rcx
jmp 0x140438e21
xor r14d, r14d
xor edi, edi
xor r15d, r15d
mov rax, rdi
or rax, rbp
je 0x140438e8c
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rax + 0x5a8]
test rcx, rcx
je 0x140438ef6
lea rdx, [0x14060dd04]
call fcn.1403d1640
test eax, eax
jne 0x140438ef6
lea r8, [0x14060da50]
test rbp, rbp
jne 0x140438e73
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.140324010
jmp 0x140439186
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 [str.0ZJ_]
test rax, rax
mov rdi, rax
jne 0x14043919c
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.140324010
mov rcx, qword [rsp + 0x70]
call qword [rbp]
jmp 0x140439186
test rbp, rbp
jne 0x140438f11
mov rax, qword [rsp + 0x2d8]
mov r12, qword [rax + 0x538]
test rsi, rsi
jne 0x140438f1d
jmp 0x140438f2e
lea r12, [0x14060da50]
test rsi, rsi
je 0x140438f25
mov rcx, rsi
call sub.msvcrt.dll_free
test rdi, rdi
je 0x140438fe1
xor edx, edx
mov r8d, 2
mov rcx, rdi
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x140438f79
mov rcx, rdi
xor esi, esi
call sub.msvcrt.dll_ftell
test eax, eax
js 0x140438f7e
xor r8d, r8d
xor edx, edx
mov rcx, rdi
movsxd r15, eax
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x140438f7e
mov rax, qword [0x140626c80]
lea rcx, [r15 + 1]
mov sil, 1
call qword [rax]
mov r14, rax
jmp 0x140438f7e
xor esi, esi
xor r15d, r15d
mov rcx, rdi
test r14, r14
je 0x140438fa1
mov rcx, r14
mov r9, rdi
mov r8d, 1
mov rdx, r15
call sub.msvcrt.dll_fread
mov rcx, rdi
dec eax
je 0x140438fa8
call sub.msvcrt.dll_fclose
jmp 0x140438fb2
call sub.msvcrt.dll_fclose
test sil, sil
jne 0x140438fe1
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.140324010
mov rax, qword [str.0ZJ_]
mov rcx, r14
call qword [rax]
jmp 0x140439251
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 0x14043900f
call sub.msvcrt.dll_strlen
mov rdi, rax
mov rax, qword [0x140626c80]
lea rcx, [rdi + 1]
add rcx, rcx
call qword [rax]
mov rsi, rax
test rax, rax
jne 0x140439041
test rbp, rbp
jne 0x1404390ed
mov rax, qword [str.0ZJ_]
mov rcx, r14
call qword [rax]
jmp 0x1404390ed
xor eax, eax
test rdi, rdi
je 0x14043907e
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 0x140439088
cmp edi, eax
jl 0x140439088
cdqe
mov word [rsi + rax*2], 0
jmp 0x14043908d
mov word [rsi], 0
xor r8d, r8d
xor edx, edx
mov ecx, 6
mov r9d, 2
mov dword [rsp + 0x20], 3
call fcn.1403d2e80
lea rcx, [rsp + 0x180]
mov r8d, 0x8000
test al, al
mov rax, qword [sym.imp.crypt32.dll_PFXImportCertStore]
jne 0x1404390c6
xor r8d, r8d
mov rdx, rsi
call rax
mov r13, qword [str.0ZJ_]
mov rcx, rsi
mov rdi, rax
call qword [r13]
test rbp, rbp
jne 0x1404390e8
mov rcx, r14
call qword [r13]
test rdi, rdi
jne 0x140439130
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, r12
mov r9d, eax
cmp eax, 0x56
jne 0x140439117
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_Failed_to_import_cert_file__s__password_is_bad
call fcn.140324010
jmp 0x140439251
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_Failed_to_import_cert_file__s__last_error_is_0x_x
call fcn.140324010
jmp 0x140439251
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 0x14043924c
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.140324010
jmp 0x14043923f
test rsi, rsi
je 0x140439251
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x140439251
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 0x1404391ff
test rsi, rsi
je 0x14043923f
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x14043923f
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 0x14043923a
mov rcx, rsi
call sub.msvcrt.dll_free
test rbp, rbp
jne 0x14043924c
xor edx, edx
mov rcx, rdi
call qword [sym.imp.crypt32.dll_CertCloseStore]
jmp 0x140439251
mov rbp, rdi
jmp 0x14043925c
mov r14d, 0x3a
jmp 0x140439d30
mov rax, qword [0x140626c60]
mov edx, 0x30
mov ecx, 1
call qword [rax]
mov rsi, qword [rsp + 0x80]
mov qword [rsi], rax
test rax, rax
jne 0x1404392bf
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_unable_to_allocate_memory
call fcn.140324010
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x1404392a6
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
test rbp, rbp
je 0x140439c49
xor edx, edx
mov rcx, rbp
call qword [sym.imp.crypt32.dll_CertCloseStore]
jmp 0x140439c49
mov qword [rax + 0x20], rbp
mov dword [rax + 0x28], 1
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0x20], 0
jne 0x140439757
mov dword [rsp + 0x20], 3
mov r9d, 2
mov r8d, 0x4563
xor edx, edx
mov ecx, 0xa
call fcn.1403d2e80
mov r15d, eax
test al, al
je 0x140439757
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 0x1404396cc
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 0x14043950c
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 0x1404393c3
mov r8, rax
sub r8, r14
jmp 0x1404393ce
mov rcx, r14
call sub.msvcrt.dll_strlen
mov r8, rax
cmp r8, 0x1f
jbe 0x1404393e0
lea rdx, str.schannel:_Cipher_name_too_long__not_checked
jmp 0x1404398f5
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 0x140439422
mov rdx, rax
lea rcx, str.TLS_AES_256_GCM_SHA384
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1404394c0
test dil, dil
je 0x140439443
lea rdx, [rsp + 0xe8]
lea rcx, str.TLS_AES_128_GCM_SHA256
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1404394c5
test r13b, r13b
je 0x140439460
lea rdx, [rsp + 0xe8]
lea rcx, str.TLS_CHACHA20_POLY1305_SHA256
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1404394c9
test sil, sil
je 0x14043947d
lea rdx, [rsp + 0xe8]
lea rcx, str.TLS_AES_128_CCM_8_SHA256
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1404394ce
test bpl, bpl
lea r8, [rsp + 0xe8]
je 0x1404394a7
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 0x1404394d2
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_Unknown_TLS_1.3_cipher:__s
call fcn.140324010
jmp 0x1404399a7
xor r15d, r15d
jmp 0x1404394d4
xor edi, edi
jmp 0x1404394d4
xor r13d, r13d
jmp 0x1404394d4
xor esi, esi
jmp 0x1404394d4
xor ebp, ebp
test r12, r12
je 0x1404394f5
inc dword [rsp + 0x70]
cmp byte [r12 + 1], 0
lea r14, [r12 + 1]
je 0x1404394f5
cmp dword [rsp + 0x70], 5
jne 0x1404393a6
test r15b, r15b
je 0x140439541
test dil, dil
je 0x140439541
mov r15d, r13d
and r15b, sil
je 0x140439518
test bpl, bpl
je 0x140439552
lea rdx, str.schannel:_All_available_TLS_1.3_ciphers_were_disabled
jmp 0x1404398f5
mov r15d, esi
or r15b, bpl
jne 0x140439558
lea rax, str.ChainingModeGCM
mov dword [rsp + 0xd0], 0x200020
mov qword [rsp + 0xd8], rax
xor eax, eax
jmp 0x140439647
test sil, sil
jne 0x14043955b
xor eax, eax
test bpl, bpl
jne 0x14043955b
jmp 0x1404395de
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, [0x14060dfc6]
mov dword [rsp + 0x180], 2
mov dword [rsp + 0x198], 1
mov dword [rsp + 0x188], 0x80008
mov qword [rsp + 0x190], rax
cmp sil, bpl
je 0x1404395ca
test sil, sil
je 0x1404395d1
mov dword [rsp + 0x1a8], pe_nt_image_headers64
mov eax, 1
jmp 0x1404395de
mov dword [rsp + 0x1ac], 0x40
jmp 0x1404395ca
test r15b, r15b
jne 0x1404395ec
test dil, dil
je 0x140439697
lea rsi, str.ChainingModeGCM
mov dword [rsp + 0xd0], 0x200020
mov qword [rsp + 0xd8], rsi
cmp r15b, dil
je 0x140439647
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 0x140439673
movsxd rdx, eax
lea rdi, [0x14060dfc6]
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 0x1404396ce
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 0x1404396ce
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 0x14043993d
lea rax, [rsp + 0xb8]
mov dword [rsp + 0x138], 1
mov qword [rsp + 0x140], rax
jmp 0x14043993d
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 0x140439907
bt eax, 0xd
jae 0x1404397b5
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.14032c350
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 0x1404398f5
xor r12d, r12d
lea r14, str.SCH_USE_STRONG_CRYPTO
cmp byte [rsi], 0
je 0x1404398d4
cmp r12d, 0x2f
je 0x1404398d4
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call sub.msvcrt.dll_strtol
mov edi, eax
test eax, eax
jne 0x140439871
mov edx, 0x3a
mov rcx, rsi
call sub.msvcrt.dll_strchr
mov rbp, rax
test rax, rax
je 0x140439816
sub rbp, rsi
jmp 0x140439821
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 0x140439880
mov qword [rsp + 0x60], rcx
call sub.msvcrt.dll_strlen
mov rcx, qword [rsp + 0x60]
cmp rax, rbp
jne 0x140439869
mov r8, rbp
mov rdx, rsi
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x140439869
movsxd rdi, edi
shl rdi, 4
mov edi, dword [r15 + rdi + 8]
test edi, edi
jne 0x140439871
jmp 0x140439880
inc edi
add r13, 0x10
jmp 0x14043982b
movsxd rax, r12d
inc r12d
mov dword [rsp + rax*4 + 0x180], edi
jmp 0x1404398b9
mov r8d, 0x11
lea rdx, str.USE_STRONG_CRYPTO
mov rcx, rsi
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x1404398ae
mov r8d, 0x15
mov rdx, r14
mov rcx, rsi
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x1404398ee
or dword [rsp + 0x178], 0x400000
mov edx, 0x3a
mov rcx, rsi
call sub.msvcrt.dll_strchr
test rax, rax
je 0x1404398d4
lea rsi, [rax + 1]
jmp 0x1404397d6
lea rax, [rsp + 0x180]
mov dword [rsp + 0x158], r12d
mov qword [rsp + 0x160], rax
jmp 0x140439917
lea rdx, str.schannel:_Failed_setting_algorithm_cipher_list
mov rcx, qword [rsp + 0x2d8]
call fcn.140324010
jmp 0x1404399a7
mov eax, dword [rsp + 0x6c]
or eax, 0x400000
mov dword [rsp + 0x178], eax
cmp qword [rsp + 0xb8], 0
je 0x14043993d
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 [0x140626fe0]
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 0x1404399b2
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
jmp 0x1404399b2
mov r14d, 0x3b
jmp 0x140439d30
test esi, esi
je 0x140439a1e
lea rdx, [rsp + 0x180]
mov ecx, esi
xor r13d, r13d
xor r14d, r14d
mov r8d, 0x100
call fcn.140335570
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_AcquireCredentialsHandle_failed:__s
mov r8, rax
call fcn.140324010
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax]
mov rax, qword [str.0ZJ_]
call qword [rax]
mov rax, qword [rsp + 0x80]
cmp esi, 0x80090300
setne r14b
mov qword [rax], r13
lea r14d, [r14*8 + 0x1b]
jmp 0x140439d30
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x2d8]
xor r12d, r12d
xor r8d, r8d
mov dword [rsp + 0xb8], r12d
call fcn.1403353d0
lea rdx, str.Failed_to_set_SNI
mov rcx, rax
test rax, rax
je 0x140438b35
mov rsi, qword [rbx]
call sub.msvcrt.dll__strdup
mov qword [rsi + 0x18], rax
test rax, rax
jne 0x1404389a5
jmp 0x140439c49
mov rdx, qword [rsp + 0x90]
lea r8, [rsp + 0xc0]
mov ecx, 0x17
call fcn.14032c180
test eax, eax
je 0x140439aa0
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_using_IP_address__SNI_is_not_supported_by_OS.
call fcn.14032c350
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 [0x140626c60]
call qword [rax]
mov qword [rbx + 8], rax
test rax, rax
jne 0x140439b4f
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_unable_to_allocate_memory
call fcn.140324010
jmp 0x140439c49
mov rdi, qword [0x140626fe0]
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 0x140439b75
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 0x140439c83
mov rax, qword [str.0ZJ_]
mov rcx, qword [rbx + 8]
call qword [rax]
xor edx, edx
cmp esi, 0x80090300
mov qword [rbx + 8], rdx
lea rdx, [rsp + 0x180]
je 0x140439c22
cmp esi, 0x80090322
jne 0x140439c54
mov r8d, 0x100
mov ecx, 0x80090322
mov r14d, 0x3c
call fcn.140335570
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_SNI_or_certificate_check_failed:__s
mov r8, rax
call fcn.140324010
jmp 0x140439d30
mov r8d, 0x100
mov ecx, 0x80090300
call fcn.140335570
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_initial_InitializeSecurityContext_failed:__s
mov r8, rax
call fcn.140324010
mov r14d, 0x1b
jmp 0x140439d30
mov r8d, 0x100
mov ecx, esi
call fcn.140335570
mov rcx, qword [rsp + 0x2d8]
lea rdx, str.schannel:_initial_InitializeSecurityContext_failed:__s
mov r8, rax
call fcn.140324010
mov r14d, 0x23
jmp 0x140439d30
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.14031c500
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 0x140439ced
mov eax, dword [rsp + 0xd0]
cmp rax, r8
je 0x140439d0e
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.140324010
jmp 0x140439c78
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