Function at 0x140069270
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, 0x178
movaps xmmword [rsp + 0x160], xmm6
mov r13, rdx
mov qword [rsp + 0x68], rcx
lea rax, [rdx + 0xe4]
mov qword [rsp + 0x138], rax
lea r12, [rdx + 0x60]
lea rax, [rdx + 0x80]
mov qword [rsp + 0x130], rax
lea rax, [rdx + 0x88]
mov qword [rsp + 0x108], rax
lea rax, [rdx + 0x48]
mov qword [rsp + 0x140], rax
xorps xmm6, xmm6
mov r14, qword [sym.imp.secur32.dll_FreeContextBuffer]
mov qword [rsp + 0xe8], r12
movzx eax, byte [r13 + 0xe0]
test rax, rax
jne 0x140069dcb
mov qword [rsp + 0x110], rdi
mov sil, byte [r13 + 0xe1]
mov r15b, byte [r13 + 0xe2]
mov dil, byte [r13 + 0xe3]
mov bl, byte [r13 + 0xe4]
lea rcx, [rsp + 0x90]
mov rdx, r13
call fcn.140069f7e
cmp qword [rsp + 0x90], 0
jne 0x140069df1
cmp qword [rsp + 0x98], 0
jne 0x140069346
test sil, sil
je 0x140069358
cmp byte [r13 + 0xe0], 0
jne 0x140069358
mov byte [r13 + 0xe1], 0
or bl, dil
jne 0x1400693e6
cmp byte [r13 + 0xfa], 0
jne 0x1400693cb
and qword [rsp + 0x70], 0
mov rcx, r12
mov edx, 0x53
lea r8, [rsp + 0x70]
call qword [sym.imp.secur32.dll_QueryContextAttributesW]
mov rbp, rax
shl rbp, 0x20
or rbp, 2
test eax, eax
jne 0x140069398
mov rbp, qword [rsp + 0x70]
je 0x1400698c4
xor ecx, ecx
test eax, eax
setne cl
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rbp
test r15b, r15b
je 0x140069ebd
lea rcx, [rsp + 0x98]
call fcn.140003b28
xor eax, eax
test al, al
je 0x1400693e6
cmp byte [r13 + 0xe0], 0
jne 0x1400693e6
mov rax, qword [rsp + 0x138]
mov byte [rax], 1
test r15b, r15b
je 0x1400698ef
cmp qword [r13 + 0xa8], 0
je 0x140069427
lea rcx, [rsp + 0x90]
mov rdx, r13
call fcn.14006a02c
cmp qword [rsp + 0x90], 0
jne 0x140069df1
cmp qword [rsp + 0x98], 0
je 0x140069e04
mov rsi, qword [r13 + 0x20]
mov ecx, 0x20
mov edx, 8
call fcn.14002f21f
mov rbp, rax
mov rcx, qword [r13 + 0x30]
mov rdx, qword [r13 + 0x38]
mov r8, rsi
lea r9, [0x140101788]
call fcn.14006a128
test rax, rax
mov ecx, 0
cmove edx, ecx
mov dword [rbp], edx
mov dword [rbp + 4], 2
mov qword [rbp + 8], rax
movups xmmword [rbp + 0x10], xmm6
mov eax, 2
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rbp
mov qword [rsp + 0xe0], rax
mov rdx, qword [r13 + 0xc0]
test rdx, rdx
je 0x140069508
mov r8, qword [r13 + 0xc8]
lea rcx, [rsp + 0x70]
call fcn.1400aae10
mov r15, qword [rsp + 0x78]
test r15, r15
je 0x14006950e
mov rdi, qword [rsp + 0x80]
mov ebx, dword [rsp + 0x70]
mov edx, 2
lea rcx, [rsp + 0xd0]
call fcn.14001ebda
mov rbp, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xe0]
mov rax, rsi
shl rax, 4
mov dword [rbp + rax], ebx
mov dword [rbp + rax + 4], 0x12
mov qword [rbp + rax + 8], rdi
inc rsi
mov qword [rsp + 0xe0], rsi
jmp 0x140069516
and qword [rsp + 0x78], 0
mov esi, 2
xor r15d, r15d
and dword [rsp + 0x118], 0
mov dword [rsp + 0x11c], esi
mov qword [rsp + 0x120], rbp
movabs rax, 0x200000000
mov qword [rsp + 0x90], rax
and qword [rsp + 0x98], 0
movabs rax, 0x1100000000
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0x98]
and qword [rax + 0x20], 0
movups xmmword [rax + 0x10], xmm6
and dword [rsp + 0xf0], 0
movabs rax, 0x300000000
mov qword [rsp + 0xf8], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x100], rax
cmp byte [r13 + 0xfa], 0
je 0x14006960e
cmp byte [r13 + 0xfb], 0
mov edx, 0
cmove rdx, r12
mov rax, qword [r13 + 0xd0]
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rsp + 0xc0], xmm0
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x30], rax
and qword [rsp + 0x40], 0
mov qword [rsp + 0x28], r12
and dword [rsp + 0x20], 0
lea rcx, [rsp + 0xc0]
lea r8, [rsp + 0x118]
mov r9d, 0x1011c
call qword [sym.imp.secur32.dll_AcceptSecurityContext]
jmp 0x14006969a
cmp byte [r13 + 0xf8], 0
mov rax, qword [r13 + 0x98]
mov r8d, 0
cmovne r8, rax
test rax, rax
cmove r8, rax
mov rax, qword [r13 + 0xd0]
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rsp + 0xc0], xmm0
and qword [rsp + 0x58], 0
and qword [rsp + 0x40], 0
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x50], rax
and dword [rsp + 0x38], 0
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x48], rax
and dword [rsp + 0x28], 0
lea rax, [rsp + 0x118]
mov qword [rsp + 0x30], rax
and dword [rsp + 0x20], 0
lea rcx, [rsp + 0xc0]
mov rdx, r12
mov r9d, 0x9819c
call qword [sym.imp.secur32.dll_InitializeSecurityContextW]
mov ebx, eax
mov edi, 0x18
cmp rdi, 0x38
je 0x1400696bd
mov rcx, qword [rsp + rdi + 0x90]
test rcx, rcx
je 0x1400696b7
call r14
add rdi, 0x10
jmp 0x1400696a1
cmp ebx, 0x80090318
je 0x14006977f
test ebx, ebx
mov rdi, qword [rsp + 0x110]
je 0x1400697c4
cmp ebx, 0x90312
jne 0x140069e7d
mov byte [r13 + 0xfb], 0
mov rcx, rbp
mov rdx, rsi
lea r8, [0x1401017d0]
call fcn.14006a139
cmp dword [rax + 4], 5
mov r12, qword [r13 + 0x20]
jne 0x140069720
mov rcx, rbp
mov rdx, rsi
lea r8, [0x1401017e8]
call fcn.14006a139
mov eax, dword [rax]
sub r12, rax
mov esi, dword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
mov rcx, r13
mov rdx, r12
call fcn.14006a165
xor eax, eax
cmp qword [r13 + 0x20], 0
sete al
test rsi, rsi
mov qword [r13 + 0xa8], rax
mov rdx, rbx
lea rax, str._rustc_2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74librarycore_src_slicemod.rs
cmove rdx, rax
mov rcx, qword [rsp + 0x140]
mov r8, rsi
call fcn.14002a8fb
mov rcx, rbx
call r14
mov r12, qword [rsp + 0xe8]
jmp 0x14006989f
mov rcx, rbp
mov rdx, rsi
lea r8, [0x1401017a0]
call fcn.14006a139
mov ecx, 1
cmp dword [rax + 4], 4
mov rdi, qword [rsp + 0x110]
jne 0x1400697b8
mov rcx, rbp
mov rdx, rsi
lea r8, [0x1401017b8]
call fcn.14006a139
mov ecx, dword [rax]
mov qword [r13 + 0xa8], rcx
jmp 0x14006989f
mov rcx, rbp
mov rdx, rsi
lea r8, [0x140101800]
call fcn.14006a139
cmp dword [rax + 4], 5
mov rbx, qword [r13 + 0x20]
jne 0x1400697f7
mov rcx, rbp
mov rdx, rsi
lea r8, [0x140101818]
call fcn.14006a139
mov eax, dword [rax]
sub rbx, rax
mov rsi, qword [rsp + 0x98]
test rsi, rsi
je 0x140069812
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x12c], eax
mov rcx, r13
mov rdx, rbx
call fcn.14006a165
mov rax, qword [r13 + 0x20]
xor ecx, ecx
test rax, rax
sete cl
mov qword [r13 + 0xa8], rcx
test rsi, rsi
cmovne rdi, rsi
je 0x14006986a
mov eax, dword [rsp + 0x12c]
test eax, eax
mov r8d, eax
mov rdx, rdi
lea rax, str._rustc_2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74librarycore_src_slicemod.rs
cmove rdx, rax
mov rcx, qword [rsp + 0x140]
call fcn.14002a8fb
mov rcx, rdi
call r14
mov rax, qword [r13 + 0x20]
test rax, rax
je 0x14006988d
lea rcx, [rsp + 0xc0]
mov rdx, r13
call fcn.14006a1bc
cmp byte [rsp + 0xc0], 0
jne 0x140069e87
cmp byte [r13 + 0xe0], 0
jne 0x14006989f
mov byte [r13 + 0xe2], 0
mov rdx, qword [rsp + 0x80]
mov rcx, r15
call fcn.14006a15b
mov rcx, qword [rsp + 0xd0]
mov rdx, rbp
call fcn.14003365d
jmp 0x1400692e2
mov qword [rsp + 0x88], rbp
mov rsi, qword [rbp + 0x20]
test rsi, rsi
je 0x140069994
mov rcx, rsi
call qword [sym.imp.crypt32.dll_CertDuplicateStore]
mov rbx, rax
mov eax, 1
jmp 0x140069996
mov al, 2
test dil, dil
mov rdi, qword [rsp + 0x110]
jne 0x14006995c
movaps xmmword [rsp + 0x90], xmm6
and dword [rsp + 0xa0], 0
mov rcx, r12
mov edx, 4
lea r8, [rsp + 0x90]
call qword [sym.imp.secur32.dll_QueryContextAttributesW]
test eax, eax
jne 0x140069ee1
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x128], eax
mov rax, qword [rsp + 0x94]
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x9c]
mov qword [rsp + 0x148], rax
mov al, 1
mov byte [r13 + 0xe0], al
mov eax, dword [rsp + 0x128]
mov dword [r13 + 0xe4], eax
mov rax, qword [rsp + 0x150]
mov qword [r13 + 0xe8], rax
mov rax, qword [rsp + 0x148]
mov qword [r13 + 0xf0], rax
jmp 0x1400692e2
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rbx
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x80], rax
mov rbp, qword [rax]
test rsi, rsi
je 0x140069a12
test rbp, rbp
je 0x140069a2c
and qword [rsp + 0x90], 0
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xa0], rax
lea rcx, [rsp + 0x90]
call fcn.1400aad7b
test rax, rax
je 0x140069a31
mov r12, rdx
mov rcx, rbx
call fcn.1400aad3e
mov rbp, rdx
test rax, rax
jne 0x140069e44
mov rcx, rbp
mov rbp, qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
call rbp
mov rcx, r12
call rbp
jmp 0x1400699d6
test rbp, rbp
mov rdx, qword [rsp + 0x88]
je 0x140069a69
mov rax, qword [rsp + 0x108]
mov rbp, qword [rax]
jmp 0x140069a69
mov rbp, rbx
jmp 0x140069a59
lea rcx, [rsp + 0x90]
call fcn.140069216
mov rbp, qword [rsp + 0x78]
test rsi, rsi
je 0x140069dbe
mov rbx, qword [rsp + 0x78]
mov r12, qword [rsp + 0xe8]
mov rcx, rbx
call fcn.1400aad35
mov rdx, qword [rsp + 0x88]
and qword [rsp + 0xa0], 0
movaps xmmword [rsp + 0x90], xmm6
mov dword [rsp + 0x90], 0x20
mov dword [rsp + 0x98], 1
lea rax, str.1.3.6.1.5.5.7.3.1
mov qword [rsp + 0x70], rax
lea rax, str.1.3.6.1.4.1.311.10.3.3
mov qword [rsp + 0x78], rax
lea rax, str.2.16.840.1.113730.4.1
mov qword [rsp + 0x80], rax
mov dword [rsp + 0xa0], 3
lea rax, [rsp + 0x70]
mov qword [rsp + 0xa8], rax
and qword [rsp + 0xd0], 0
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
and qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0xc0000001
xor ecx, ecx
xor r8d, r8d
mov r9, rbp
call qword [sym.imp.crypt32.dll_CertGetCertificateChain]
test eax, eax
je 0x140069ec4
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x158], rax
mov qword [rsp + 0xf0], rax
mov esi, 0xf00
mov rax, qword [rsp + 0x130]
cmp dword [rax], 1
jne 0x140069c7b
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0xf0]
call fcn.1400aac05
mov esi, 0xf00
cmp dword [rsp + 0x70], 1
jne 0x140069c7b
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rsp + 0x118], xmm0
and qword [rsp + 0xf8], 0
lea rax, [rsp + 0x118]
mov qword [rsp + 0x100], rax
lea rcx, [rsp + 0xf8]
call fcn.1400aacc8
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rdx
cmp rax, 1
jne 0x140069c5b
mov rsi, rdx
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xa0], rax
and qword [rsp + 0x90], 0
lea rcx, [rsp + 0x90]
call fcn.1400aad7b
mov rbp, rax
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rdx
cmp rax, 1
jne 0x140069c1f
mov rbx, rdx
mov rcx, qword [rdx + 8]
mov edx, dword [rdx + 0x10]
mov r8, qword [rsi + 8]
mov r9d, dword [rsi + 0x10]
call fcn.1400aad2b
mov r12d, eax
mov rcx, rbx
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
test r12b, r12b
je 0x140069bcf
jmp 0x140069c2c
lea rcx, [rsp + 0xd0]
call fcn.140069216
lea rcx, [rsp + 0x90]
call fcn.140069216
mov rcx, rsi
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
cmp rbp, 1
mov r12, qword [rsp + 0xe8]
jne 0x140069b8c
mov esi, 0xf10
jmp 0x140069c6d
lea rcx, [rsp + 0xc0]
call fcn.140069216
mov esi, 0xf00
mov rcx, qword [rsp + 0x120]
call qword [sym.imp.crypt32.dll_CertFreeCertificateChain]
lea rax, [rsp + 0xd8]
movups xmmword [rax], xmm6
movabs rax, 0x200000018
mov qword [rsp + 0xd0], rax
mov rax, qword [r13 + 0x98]
test rax, rax
je 0x140069cb6
cmp byte [r13 + 0xf9], 0
jne 0x140069cb6
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0xc0], 0x10
mov dword [rsp + 0xc4], esi
lea rax, [rsp + 0xd0]
mov qword [rsp + 0xc8], rax
movaps xmmword [rsp + 0x70], xmm6
and qword [rsp + 0x80], 0
mov dword [rsp + 0x70], 0x18
mov ecx, 4
mov rsi, qword [rsp + 0x158]
mov rdx, rsi
lea r8, [rsp + 0xc0]
lea r9, [rsp + 0x70]
call qword [sym.imp.crypt32.dll_CertVerifyCertificateChainPolicy]
test eax, eax
je 0x140069ece
mov eax, dword [rsp + 0x74]
mov rcx, rax
shl rcx, 0x20
or rcx, 2
test eax, eax
mov ebp, 0
cmovne rbp, rcx
mov qword [rsp + 0xf8], rbp
mov rcx, qword [r13 + 0x70]
test rcx, rcx
je 0x140069d98
mov rbp, qword [r13 + 0x78]
mov rdx, qword [rbp + 0x10]
add rdx, 0xf
and rdx, 0xfffffffffffffff0
add rcx, rdx
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x90], rsi
mov dword [rsp + 0x98], eax
mov qword [rsp + 0x9c], rdx
lea rdx, [rsp + 0x90]
call qword [rbp + 0x28]
mov rbp, rax
lea rcx, [rsp + 0xf8]
call fcn.14000442a
test rbp, rbp
je 0x140069da9
jmp 0x140069e64
test eax, eax
jne 0x140069ed6
mov rcx, rsi
call qword [sym.imp.crypt32.dll_CertFreeCertificateChain]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov al, 1
jmp 0x1400693cd
mov r12, qword [rsp + 0xe8]
jmp 0x140069a61
cmp eax, 1
jne 0x140069dfb
mov rcx, qword [rsp + 0x138]
mov eax, dword [rcx + 0x10]
mov rsi, qword [rsp + 0x68]
mov dword [rsi + 0x14], eax
movups xmm0, xmmword [rcx]
movups xmmword [rsi + 4], xmm0
mov eax, 1
jmp 0x140069e26
mov rax, qword [rsp + 0x98]
jmp 0x140069e18
xor eax, eax
mov rsi, qword [rsp + 0x68]
jmp 0x140069e26
lea rdx, str.unexpected_EOF_during_handshakeassertion_failed:_size___nread
mov r8d, 0x1f
mov cl, 0x25
call fcn.1400aa950
mov rsi, qword [rsp + 0x68]
mov qword [rsi + 8], rax
mov eax, 2
mov dword [rsi], eax
movaps xmm6, xmmword [rsp + 0x160]
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r12
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
lea rcx, [rsp + 0x90]
call fcn.140069216
lea rcx, [rsp + 0x70]
call fcn.140068fe5
mov rsi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov qword [rsi + 8], rbp
jmp 0x140069e21
shl rbx, 0x20
or rbx, 2
jmp 0x140069e8f
mov rbx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x80]
mov rcx, r15
call fcn.14006a15b
mov rcx, qword [rsp + 0xd0]
mov rdx, rbp
call fcn.14003365d
mov rsi, qword [rsp + 0x68]
mov qword [rsi + 8], rbx
jmp 0x140069e21
mov rsi, qword [rsp + 0x68]
jmp 0x140069e77
call fcn.1400aad14
mov rbp, rax
jmp 0x140069e64
call fcn.1400aad14
mov rbp, rax
mov rcx, rsi
call qword [sym.imp.crypt32.dll_CertFreeCertificateChain]
jmp 0x140069e64
shl rax, 0x20
or rax, 2
jmp 0x140069e18