Function at 0x14000d376
Capabilities:
Get remote cert context via schannel

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x198
movaps xmmword [rsp + 0x180], xmm6
mov rdi, rdx
mov qword [rsp + 0x68], rcx
lea rax, [rdx + 0xe4]
mov qword [rsp + 0x140], rax
lea r12, [rdx + 8]
lea rax, [rdx + 0x18]
mov qword [rsp + 0x138], rax
lea rax, [rdx + 0x20]
mov qword [rsp + 0x118], rax
lea rax, [rdx + 0x80]
mov qword [rsp + 0x168], rax
lea rax, [rdx + 0xa0]
mov qword [rsp + 0x148], rax
xorps xmm6, xmm6
lea r15, [rsp + 0xe8]
mov r13, qword [sym.imp.secur32.dll_FreeContextBuffer]
mov qword [rsp + 0x100], r12
movzx eax, byte [rdi + 0xe0]
test rax, rax
jne 0x14000dff6
mov qword [rsp + 0x108], r14
mov sil, byte [rdi + 0xe1]
mov r14b, byte [rdi + 0xe2]
mov bpl, byte [rdi + 0xe3]
mov bl, byte [rdi + 0xe4]
lea rcx, [rsp + 0xb0]
mov rdx, rdi
call fcn.14000e1da
cmp qword [rsp + 0xb0], 0
jne 0x14000e01e
cmp qword [rsp + 0xb8], 0
jne 0x14000d45e
test sil, sil
je 0x14000d46e
cmp byte [rdi + 0xe0], 0
jne 0x14000d46e
mov byte [rdi + 0xe1], 0
or bl, bpl
jne 0x14000d500
cmp byte [rdi + 0xfa], 0
jne 0x14000d4e6
and qword [rsp + 0x80], 0
mov rcx, r12
mov edx, 0x53
lea r8, [rsp + 0x80]
call qword [sym.imp.secur32.dll_QueryContextAttributesW]
mov rsi, rax
shl rsi, 0x20
or rsi, 2
test eax, eax
jne 0x14000d4b6
mov rsi, qword [rsp + 0x80]
je 0x14000d97a
mov qword [rsp + 0xb0], 1
mov qword [rsp + 0xb8], rsi
test r14b, r14b
je 0x14000e0b8
lea rcx, [rsp + 0xb8]
call fcn.140001335
xor eax, eax
test al, al
je 0x14000d500
cmp byte [rdi + 0xe0], 0
jne 0x14000d500
mov rax, qword [rsp + 0x140]
mov byte [rax], 1
test r14b, r14b
je 0x14000d9aa
cmp qword [rdi + 0x58], 0
je 0x14000d53e
lea rcx, [rsp + 0xb0]
mov rdx, rdi
call fcn.14000e277
cmp qword [rsp + 0xb0], 0
jne 0x14000e01e
cmp qword [rsp + 0xb8], 0
je 0x14000e038
mov rbx, qword [rdi + 0x98]
mov ecx, 0x20
mov edx, 8
call fcn.14000d0dd
mov rsi, rax
mov rcx, qword [rsp + 0x168]
mov rdx, rbx
call fcn.14000e35c
test rax, rax
mov ecx, 0
cmove edx, ecx
mov dword [rsi], edx
mov dword [rsi + 4], 2
mov qword [rsi + 8], rax
movups xmmword [rsi + 0x10], xmm6
mov qword [rsp + 0xe8], rsi
mov eax, 2
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rax
mov rdx, qword [rdi + 0xc8]
test rdx, rdx
je 0x14000d61b
mov r8, qword [rdi + 0xd8]
lea rcx, [rsp + 0x80]
call fcn.140020863
cmp qword [rsp + 0x88], 0
je 0x14000d624
mov rbx, qword [rsp + 0x90]
mov ebp, dword [rsp + 0x80]
mov edx, 2
mov rcx, r15
call fcn.14002051d
mov rsi, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf8]
mov rcx, rax
shl rcx, 4
mov dword [rsi + rcx], ebp
mov dword [rsi + rcx + 4], 0x12
mov qword [rsi + rcx + 8], rbx
inc rax
mov qword [rsp + 0xf8], rax
jmp 0x14000d629
and qword [rsp + 0x88], 0
mov eax, 2
mov r14, qword [rsp + 0x108]
and dword [rsp + 0x120], 0
mov dword [rsp + 0x124], eax
mov qword [rsp + 0x128], rsi
movabs rax, 0x200000000
mov qword [rsp + 0xb0], rax
and qword [rsp + 0xb8], 0
movabs rax, 0x1100000000
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0xb8]
and qword [rax + 0x20], 0
movups xmmword [rax + 0x10], xmm6
and dword [rsp + 0x110], 0
movabs rax, 0x300000000
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0xa8], rax
cmp byte [rdi + 0xfa], 0
je 0x14000d71a
cmp byte [rdi + 0xfb], 0
mov edx, 0
cmove rdx, r12
mov rax, qword [rdi]
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm0
lea rax, [rsp + 0x110]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r12
and qword [rsp + 0x40], 0
and dword [rsp + 0x20], 0
lea rcx, [rsp + 0x70]
lea r8, [rsp + 0x120]
mov r9d, 0x1011c
call qword [sym.imp.secur32.dll_AcceptSecurityContext]
jmp 0x14000d798
cmp byte [rdi + 0xf8], 0
mov rax, qword [rdi + 0x28]
mov r8d, 0
cmovne r8, rax
test rax, rax
cmove r8, rax
mov rax, qword [rdi]
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm0
and qword [rsp + 0x58], 0
lea rax, [rsp + 0x110]
mov qword [rsp + 0x50], rax
and qword [rsp + 0x40], 0
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x48], rax
and dword [rsp + 0x38], 0
lea rax, [rsp + 0x120]
mov qword [rsp + 0x30], rax
and dword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
lea rcx, [rsp + 0x70]
mov rdx, r12
mov r9d, 0x9819c
call qword [sym.imp.secur32.dll_InitializeSecurityContextW]
mov esi, eax
mov ebx, 0x20
lea rbp, [rsp + 0xc0]
test rbx, rbx
je 0x14000d7c2
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x14000d7b8
call r13
add rbp, 0x10
add rbx, 0xfffffffffffffff0
jmp 0x14000d7a7
cmp esi, 0x80090318
je 0x14000d865
test esi, esi
je 0x14000d899
cmp esi, 0x90312
jne 0x14000e08f
mov byte [rdi + 0xfb], 0
mov rcx, r15
lea rdx, [0x14004bd30]
call fcn.14000e36e
cmp dword [rax + 4], 5
mov rsi, qword [rdi + 0x98]
jne 0x14000d819
mov rcx, r15
lea rdx, [0x14004bd48]
call fcn.14000e36e
mov eax, dword [rax]
sub rsi, rax
mov ebx, dword [rsp + 0xb0]
mov rbp, qword [rsp + 0xb8]
mov rcx, rdi
mov rdx, rsi
call fcn.14000e3ad
xor eax, eax
cmp qword [rdi + 0x98], 0
sete al
mov qword [rdi + 0x58], rax
add rbx, rbp
mov rcx, qword [rsp + 0x148]
mov rdx, rbp
mov r8, rbx
call fcn.14001fede
mov rcx, rbp
call r13
jmp 0x14000d960
mov rcx, r15
lea rdx, [0x14004bd00]
call fcn.14000e36e
mov ecx, 1
cmp dword [rax + 4], 4
jne 0x14000d890
mov rcx, r15
lea rdx, [0x14004bd18]
call fcn.14000e36e
mov ecx, dword [rax]
mov qword [rdi + 0x58], rcx
jmp 0x14000d960
mov rcx, r15
lea rdx, [0x14004bd60]
call fcn.14000e36e
cmp dword [rax + 4], 5
mov rsi, qword [rdi + 0x98]
jne 0x14000d8c9
mov rcx, r15
lea rdx, [0x14004bd78]
call fcn.14000e36e
mov eax, dword [rax]
sub rsi, rax
mov rbx, qword [rsp + 0xb8]
test rbx, rbx
je 0x14000d8e4
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x134], eax
mov rcx, rdi
mov rdx, rsi
call fcn.14000e3ad
mov rax, qword [rdi + 0x98]
xor ecx, ecx
test rax, rax
sete cl
mov qword [rdi + 0x58], rcx
test rbx, rbx
cmovne r14, rbx
je 0x14000d933
mov r8d, dword [rsp + 0x134]
add r8, r14
mov rcx, qword [rsp + 0x148]
mov rdx, r14
call fcn.14001fede
mov rcx, r14
call r13
mov rax, qword [rdi + 0x98]
test rax, rax
je 0x14000d950
lea rcx, [rsp + 0x70]
mov rdx, rdi
call fcn.14000e443
cmp byte [rsp + 0x70], 0
jne 0x14000e099
cmp byte [rdi + 0xe0], 0
jne 0x14000d960
mov byte [rdi + 0xe2], 0
lea rcx, [rsp + 0x80]
call fcn.14000e397
mov rcx, r15
call fcn.1400205ef
jmp 0x14000d3fc
mov byte [rsp + 0x67], bpl
mov rbp, qword [rsi + 0x20]
test rbp, rbp
mov qword [rsp + 0xe0], rsi
je 0x14000da4d
mov rcx, rbp
call qword [sym.imp.crypt32.dll_CertDuplicateStore]
mov r12, rax
mov eax, 1
jmp 0x14000da4f
mov al, 2
test bpl, bpl
mov r14, qword [rsp + 0x108]
jne 0x14000da17
movaps xmmword [rsp + 0xb0], xmm6
and dword [rsp + 0xc0], 0
mov rcx, r12
mov edx, 4
lea r8, [rsp + 0xb0]
call qword [sym.imp.secur32.dll_QueryContextAttributesW]
test eax, eax
jne 0x14000e113
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x130], eax
mov rax, qword [rsp + 0xb4]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0xbc]
mov qword [rsp + 0x158], rax
mov al, 1
mov byte [rdi + 0xe0], al
mov eax, dword [rsp + 0x130]
mov dword [rdi + 0xe4], eax
mov rax, qword [rsp + 0x160]
mov qword [rdi + 0xe8], rax
mov rax, qword [rsp + 0x158]
mov qword [rdi + 0xf0], rax
jmp 0x14000d3fc
xor eax, eax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], r12
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x90], rax
mov r9, qword [rax]
test rbp, rbp
je 0x14000dadc
test r9, r9
je 0x14000daee
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xb0], rax
and qword [rsp + 0xb8], 0
lea rcx, [rsp + 0xb0]
call fcn.1400207dd
test rax, rax
je 0x14000daf3
mov rbx, rdx
mov qword [rsp + 0xe8], rdx
mov rcx, r12
mov rdx, r15
call fcn.14002079d
mov rsi, rdx
test rax, rax
jne 0x14000e057
mov rcx, rsi
mov rsi, qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
call rsi
mov rcx, rbx
call rsi
jmp 0x14000da95
test r9, r9
je 0x14000db2d
mov rax, qword [rsp + 0x118]
mov r9, qword [rax]
jmp 0x14000db2d
mov rsi, r12
jmp 0x14000db18
lea rcx, [rsp + 0xb8]
call fcn.14000d306
mov r9, qword [rsp + 0x88]
test rbp, rbp
je 0x14000db2d
mov rsi, r9
mov r12, qword [rsp + 0x88]
mov rcx, r12
call fcn.140020794
mov r12, qword [rsp + 0x100]
mov r9, rsi
jmp 0x14000db35
mov r12, qword [rsp + 0x100]
movaps xmmword [rsp + 0xb0], xmm6
and qword [rsp + 0xc0], 0
mov dword [rsp + 0xb0], 0x20
mov dword [rsp + 0xb8], 1
lea rax, [0x14005db90]
mov qword [rsp + 0xa0], rax
mov rax, qword [0x14005dba8]
cmp rax, 3
jne 0x14000df1b
mov rax, qword [rsp + 0xa0]
mov rsi, qword [rax]
lea rax, [0x14005dbb0]
mov qword [rsp + 0xa0], rax
mov rax, qword [0x14005dbc8]
cmp rax, 3
jne 0x14000df64
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rax]
lea rax, [0x14005dbd0]
mov qword [rsp + 0xa0], rax
mov rax, qword [0x14005dbe8]
cmp rax, 3
jne 0x14000dfad
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax]
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x90], rax
mov dword [rsp + 0xc0], 3
lea rax, [rsp + 0x80]
mov qword [rsp + 0xc8], rax
and qword [rsp + 0xe8], 0
mov qword [rsp + 0x38], r15
and qword [rsp + 0x30], 0
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0xc0000001
xor ecx, ecx
mov rdx, qword [rsp + 0xe0]
xor r8d, r8d
call qword [sym.imp.crypt32.dll_CertGetCertificateChain]
test eax, eax
je 0x14000e0e4
mov rdx, qword [rsp + 0xe8]
mov qword [rsp + 0x170], rdx
mov esi, 0xf00
mov rax, qword [rsp + 0x138]
cmp dword [rax], 1
jne 0x14000ddcd
mov qword [rsp + 0x150], rdx
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x170]
call fcn.140020638
mov esi, 0xf00
cmp dword [rsp + 0x80], 1
jne 0x14000ddc5
movups xmm0, xmmword [rsp + 0x88]
movups xmmword [rsp + 0x120], xmm0
lea rax, [rsp + 0x120]
mov qword [rsp + 0xa0], rax
and qword [rsp + 0xa8], 0
lea rcx, [rsp + 0xa0]
call fcn.140020727
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdx
cmp rax, 1
jne 0x14000dda8
mov rsi, rdx
mov qword [rsp + 0x178], rdx
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xb0], rax
and qword [rsp + 0xb8], 0
lea rcx, [rsp + 0xb0]
call fcn.1400207dd
mov rbx, rax
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rdx
cmp rax, 1
jne 0x14000dd71
mov rbp, rdx
mov qword [rsp + 0x110], rdx
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0x178]
call fcn.140020777
mov r12d, eax
mov rcx, rbp
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
test r12b, r12b
je 0x14000dd18
jmp 0x14000dd79
mov rcx, r15
call fcn.14000d306
lea rcx, [rsp + 0xb8]
call fcn.14000d306
mov rcx, rsi
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
cmp rbx, 1
mov r12, qword [rsp + 0x100]
jne 0x14000dcd3
mov esi, 0xf10
jmp 0x14000ddb7
lea rcx, [rsp + 0x70]
call fcn.14000d306
mov esi, 0xf00
mov rcx, qword [rsp + 0x128]
call qword [sym.imp.crypt32.dll_CertFreeCertificateChain]
mov rdx, qword [rsp + 0x150]
lea rax, [rsp + 0xf0]
movups xmmword [rax], xmm6
movabs rax, 0x200000018
mov qword [rsp + 0xe8], rax
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x14000de04
cmp byte [rdi + 0xf9], 0
jne 0x14000de04
mov qword [rsp + 0xf8], rax
mov dword [rsp + 0x70], 0x10
mov dword [rsp + 0x74], esi
mov qword [rsp + 0x78], r15
movaps xmmword [rsp + 0x80], xmm6
and qword [rsp + 0x90], 0
mov dword [rsp + 0x80], 0x18
mov ecx, 4
mov rbx, rdx
lea r8, [rsp + 0x70]
lea r9, [rsp + 0x80]
call qword [sym.imp.crypt32.dll_CertVerifyCertificateChainPolicy]
test eax, eax
je 0x14000e0ee
mov eax, dword [rsp + 0x84]
test rax, rax
je 0x14000de81
mov rsi, rax
shl rsi, 0x20
or rsi, 2
mov qword [rsp + 0xa0], rsi
mov rdx, qword [rdi + 0x40]
test rdx, rdx
jne 0x14000de93
jmp 0x14000e0f6
and qword [rsp + 0xa0], 0
mov rdx, qword [rdi + 0x40]
test rdx, rdx
je 0x14000df03
mov rbp, qword [rdi + 0x48]
mov rcx, qword [rbp + 0x10]
add rcx, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rdx
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0xb0], rbx
mov dword [rsp + 0xb8], eax
mov qword [rsp + 0xbc], rdx
lea rdx, [rsp + 0xb0]
call qword [rbp + 0x28]
mov rsi, rax
lea rcx, [rsp + 0xa0]
call fcn.14000d2fb
test rsi, rsi
mov bpl, byte [rsp + 0x67]
mov rcx, qword [rsp + 0xe0]
jne 0x14000e109
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov al, 1
jmp 0x14000d4e8
mov rcx, rbx
call qword [sym.imp.crypt32.dll_CertFreeCertificateChain]
mov bpl, byte [rsp + 0x67]
mov rcx, qword [rsp + 0xe0]
jmp 0x14000def6
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0xe8], rax
lea rax, str..cargo_registry_srcgithub.com_1ecc6299db9ec823lazy_static_1.4.0_srcinline_lazy.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x14005dba8]
xor edx, edx
mov r8, r15
mov rsi, r9
lea r9, [0x14004d550]
call fcn.1400407e0
mov r9, rsi
jmp 0x14000db7c
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0xe8], rax
lea rax, str..cargo_registry_srcgithub.com_1ecc6299db9ec823lazy_static_1.4.0_srcinline_lazy.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x14005dbc8]
xor edx, edx
mov r8, r15
mov rbx, r9
lea r9, [0x14004d578]
call fcn.1400407e0
mov r9, rbx
jmp 0x14000dba7
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0xe8], rax
lea rax, str..cargo_registry_srcgithub.com_1ecc6299db9ec823lazy_static_1.4.0_srcinline_lazy.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x14005dbe8]
xor edx, edx
mov r8, r15
mov rbp, r9
lea r9, [0x14004d528]
call fcn.1400407e0
mov r9, rbp
jmp 0x14000dbd2
cmp eax, 1
jne 0x14000e028
mov rcx, qword [rsp + 0x140]
mov eax, dword [rcx + 0x10]
mov rdi, qword [rsp + 0x68]
mov dword [rdi + 0x18], eax
movups xmm0, xmmword [rcx]
movups xmmword [rdi + 8], xmm0
mov dword [rdi + 4], 1
jmp 0x14000e031
mov rax, qword [rsp + 0xb8]
jmp 0x14000e04c
mov rdi, qword [rsp + 0x68]
and dword [rdi + 4], 0
xor eax, eax
jmp 0x14000e0c6
lea rdx, str.unexpected_EOF_during_handshakeassertion_failed:_size___nread
mov r8d, 0x1f
mov cl, 0x25
call fcn.14001ff21
mov rdi, qword [rsp + 0x68]
mov qword [rdi + 8], rax
jmp 0x14000e0c1
mov rcx, rbx
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
lea rcx, [rsp + 0xb8]
call fcn.14000d306
lea rcx, [rsp + 0x80]
call fcn.14000d007
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xe0]
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
jmp 0x14000e0bd
shl rsi, 0x20
or rsi, 2
jmp 0x14000e09e
mov rsi, qword [rsp + 0x78]
lea rcx, [rsp + 0x80]
call fcn.14000e397
lea rcx, [rsp + 0xe8]
call fcn.1400205ef
mov rdi, qword [rsp + 0x68]
mov qword [rdi + 8], rsi
mov eax, 1
mov dword [rdi], eax
movaps xmm6, xmmword [rsp + 0x180]
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.14000e6d0
mov rsi, rax
jmp 0x14000e07a
call fcn.14000e6d0
mov rsi, rax
mov rdi, qword [rsp + 0x68]
mov rcx, rbx
call qword [sym.imp.crypt32.dll_CertFreeCertificateChain]
jmp 0x14000e07f
mov rdi, qword [rsp + 0x68]
jmp 0x14000e087
shl rax, 0x20
or rax, 2
jmp 0x14000e04c