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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1f8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x160], xmm6
mov qword [rbp + 0x158], 0xfffffffffffffffe
mov rdi, rdx
mov qword [rbp + 0x108], rcx
lea rax, [rdx + 0xd4]
mov qword [rbp + 0x18], rax
lea rax, [rdx + 0x10]
mov qword [rbp + 0x58], rax
lea rax, [rdx + 0xf0]
mov qword [rbp + 0x88], rax
lea rax, [rdx + 0x80]
mov qword [rbp + 0x10], rax
xorps xmm6, xmm6
movzx eax, byte [rdi + 0xd0]
test eax, eax
jne 0x1400ed11a
mov qword [rbp + 0x128], rbx
movzx ebx, byte [rdi + 0xd1]
movzx eax, byte [rdi + 0xd2]
movzx r14d, byte [rdi + 0xd3]
movzx r13d, byte [rdi + 0xd4]
mov rdx, qword [rdi + 0x90]
mov r15, qword [rdi + 0x98]
cmp r15, rdx
jne 0x1400ec280
test bl, bl
mov rsi, qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
je 0x1400ec270
cmp qword [rdi + 0x38], 0
je 0x1400ed304
cmp byte [rdi + 0xd0], 0
je 0x1400ec331
or r13b, r14b
jne 0x1400ec34a
jmp 0x1400ec33d
mov r12d, r14d
mov r14d, eax
xor esi, esi
nop dword [rax + rax]
mov rax, rdx
sub rax, r15
jb 0x1400ed31c
mov r8, qword [rdi + 0x38]
test r8, r8
je 0x1400ed304
mov r9, qword [rdi + 0x88]
add r9, r15
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0xd0]
mov rdx, qword [rbp + 0x58]
call fcn.1401738a0
mov rcx, qword [rbp + 0xd0]
cmp rcx, 2
je 0x1400ed0e4
mov rax, qword [rbp + 0xd8]
test rcx, rcx
jne 0x1400ed0ee
add rsi, rax
add r15, rax
mov qword [rdi + 0x98], r15
mov rdx, qword [rdi + 0x90]
cmp r15, rdx
jne 0x1400ec290
test rsi, rsi
mov eax, r14d
mov r14d, r12d
je 0x1400ec24d
cmp byte [rdi + 0xd0], 0
mov rsi, qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
jne 0x1400ec258
mov byte [rdi + 0xd1], 1
jmp 0x1400ec258
mov byte [rdi + 0xd1], 0
or r13b, r14b
jne 0x1400ec34a
cmp byte [rdi + 0x122], 0
je 0x1400ec89b
test al, al
je 0x1400ecc38
cmp qword [rdi + 0x110], 0
mov rbx, qword [rbp + 0x128]
je 0x1400ec38e
lea rcx, [rbp + 0xd0]
mov rdx, rdi
call fcn.1400edb10
cmp qword [rbp + 0xd0], 0
jne 0x1400ed14e
cmp qword [rbp + 0xd8], 0
je 0x1400ed157
mov rsi, qword [rdi + 0x78]
movzx eax, byte [0x140262330]
mov edx, 0x20
xor ecx, ecx
call fcn.140162ad0
test rax, rax
je 0x1400ed343
mov r12, rax
mov rdx, qword [rdi + 0x70]
cmp rsi, rdx
ja 0x1400ed32b
mov rax, qword [rdi + 0x68]
mov dword [r12], esi
mov dword [r12 + 4], 2
mov qword [r12 + 8], rax
movups xmmword [r12 + 0x10], xmm6
mov qword [rbp + 0xb0], 2
mov qword [rbp + 0xb8], r12
mov qword [rbp + 0xc0], 2
mov r13d, 2
movabs rax, 0x8000000000000000
cmp qword [rdi + 0xb8], rax
je 0x1400ec4b0
mov rdx, qword [rdi + 0xc0]
mov r8, qword [rdi + 0xc8]
mov qword [rbp], 2
lea rcx, [rbp + 0xd0]
call fcn.140153670
mov r14, qword [rbp + 0xd0]
mov rbx, qword [rbp + 0xe0]
test r14, r14
je 0x1400ec4b0
mov rsi, qword [rbp + 0xd8]
mov qword [rbp + 0x140], r14
mov qword [rbp + 0x138], rbx
mov edx, 2
lea rcx, [rbp + 0xb0]
call fcn.140172460
mov r12, qword [rbp + 0xb8]
mov r13, qword [rbp + 0xc0]
mov rax, r13
shl rax, 4
mov dword [r12 + rax], esi
mov dword [r12 + rax + 4], 0x12
mov qword [r12 + rax + 8], rbx
inc r13
mov qword [rbp + 0xc0], r13
jmp 0x1400ec4b3
xor r14d, r14d
mov dword [rbp - 0x10], 0
mov dword [rbp - 0xc], r13d
mov qword [rbp - 8], r12
movabs rax, 0x200000000
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], 0
movabs rax, 0x1100000000
mov qword [rbp + 0xe0], rax
lea rax, [rbp + 0xe8]
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
movabs rax, 0x300000000
mov qword [rbp + 0x48], rax
lea rax, [rbp + 0xd0]
mov qword [rbp + 0x50], rax
mov dword [rbp + 0x9c], 0
cmp byte [rdi + 0x122], 0
je 0x1400ec5b0
cmp byte [rdi + 0x123], 0
mov edx, 0
mov rcx, qword [rbp + 0x88]
cmove rdx, rcx
mov rax, qword [rdi + 0xe8]
movups xmm0, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x140], r14
mov qword [rbp + 0x138], rbx
lea rax, [rbp + 0x9c]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x48]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x20], 0
lea rcx, [rbp + 0x60]
lea r8, [rbp - 0x10]
mov r9d, 0x1011c
call qword [sym.imp.secur32.dll_AcceptSecurityContext]
jmp 0x1400ec65c
cmp byte [rdi + 0x120], 0
mov r8d, 0
je 0x1400ec5c6
mov r8, qword [rdi + 0xa8]
movabs rax, 0x8000000000000000
cmp qword [rdi + 0xa0], rax
mov eax, 0
cmove r8, rax
mov rax, qword [rdi + 0xe8]
movups xmm0, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x140], r14
mov qword [rbp + 0x138], rbx
lea rax, [rbp + 0x9c]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x48]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x88]
mov r9d, 0x9819c
call qword [sym.imp.secur32.dll_InitializeSecurityContextW]
mov r15d, eax
mov esi, 0x10
nop word cs:[rax + rax]
cmp rsi, 0x30
je 0x1400ec6a0
mov rcx, qword [rbp + rsi + 0xd8]
add rsi, 0x10
test rcx, rcx
je 0x1400ec670
mov qword [rbp + 0x140], r14
mov qword [rbp + 0x138], rbx
call qword [sym.imp.secur32.dll_FreeContextBuffer]
jmp 0x1400ec670
cmp r15d, 0x80090318
je 0x1400ec7ee
test r15d, r15d
mov qword [rbp + 0x128], rbx
mov qword [rbp + 0x148], r14
je 0x1400ec757
cmp r15d, 0x90312
jne 0x1400ed1db
mov byte [rdi + 0x123], 0
cmp r13, 1
jbe 0x1400ed2b6
cmp dword [r12 + 0x14], 5
jne 0x1400ec871
mov r13, qword [rdi + 0x78]
mov eax, dword [r12 + 0x10]
mov r15, r13
mov rsi, qword [rbp + 0xd8]
sub r15, rax
jb 0x1400ed352
mov ebx, dword [rbp + 0xd0]
test eax, eax
je 0x1400ec903
mov rdx, qword [rdi + 0x70]
mov r14, rdx
sub r14, r15
jb 0x1400ed3a5
mov qword [rdi + 0x70], 0
test r15, r15
je 0x1400ec9f2
cmp rdx, r15
je 0x1400ec9fb
mov rcx, qword [rdi + 0x68]
lea rdx, [rcx + r15]
mov r8, r14
call sub.VCRUNTIME140.dll_memmove
jmp 0x1400ec9f7
cmp r13, 1
jbe 0x1400ed28f
cmp dword [r12 + 0x14], 5
jne 0x1400ec81a
mov rbx, qword [rbp + 0xd8]
test rbx, rbx
sete cl
je 0x1400ec78e
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x130], rbx
mov r13, qword [rdi + 0x78]
mov r14d, dword [r12 + 0x10]
mov r15, r13
sub r15, r14
cmp r13, r15
jb 0x1400ed370
mov r12d, ecx
je 0x1400ecaa0
mov rdx, qword [rdi + 0x70]
mov rsi, rdx
sub rsi, r15
jb 0x1400ed3ba
mov qword [rdi + 0x70], 0
test r15, r15
je 0x1400eca97
cmp rdx, r15
je 0x1400ecaa0
mov rcx, qword [rdi + 0x68]
lea rdx, [rcx + r15]
mov r8, rsi
call sub.VCRUNTIME140.dll_memmove
jmp 0x1400ecb6b
cmp r13, 1
jbe 0x1400ed2dd
mov eax, 1
cmp dword [r12 + 0x14], 4
jne 0x1400ec88f
mov eax, dword [r12 + 0x10]
mov qword [rdi + 0x110], rax
jmp 0x1400ecbf0
mov rax, qword [rbp + 0xd8]
test rax, rax
sete r12b
mov r13, qword [rbp + 0x130]
je 0x1400ec83f
mov rcx, qword [rbp + 0xd0]
mov qword [rbp + 0x28], rcx
mov r13, rax
mov qword [rdi + 0x78], 0
mov qword [rdi + 0x110], 1
jne 0x1400ecac3
mov qword [rbp + 0x130], r13
cmp byte [rdi + 0xd0], 0
jne 0x1400ecbf0
jmp 0x1400ecbe1
mov r13, qword [rdi + 0x78]
mov ebx, dword [rbp + 0xd0]
mov eax, 1
mov rsi, qword [rbp + 0xd8]
mov r15, r13
jmp 0x1400ec9fd
mov qword [rdi + 0x110], rax
jmp 0x1400ecbf0
mov byte [rbp + 0x152], al
mov qword [rbp + 0xd0], 0
mov rcx, qword [rbp + 0x88]
mov edx, 0x53
lea r8, [rbp + 0xd0]
call qword [sym.imp.secur32.dll_QueryContextAttributesW]
test eax, eax
je 0x1400ec90d
mov r13d, eax
shl r13, 0x20
or r13, 2
cmp byte [rbp + 0x152], 0
je 0x1400ed1c5
mov rcx, r13
call fcn.1400893f0
cmp qword [rdi + 0x110], 0
mov rbx, qword [rbp + 0x128]
jne 0x1400ec363
jmp 0x1400ec38e
mov eax, 1
jmp 0x1400ec9fd
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x90], rax
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x1400eccc3
call qword [sym.imp.crypt32.dll_CertDuplicateStore]
mov qword [rbp + 0x120], rax
mov rax, qword [rdi]
mov qword [rbp + 0xc8], rax
test rax, rax
je 0x1400eccdf
xor r15d, r15d
mov rbx, qword [rbp + 0x20]
nop
mov rcx, qword [rdi + 8]
mov qword [rbp + 0xa8], rbx
mov byte [rbp + 0x157], 1
mov rdx, r15
call qword [sym.imp.crypt32.dll_CertEnumCertificatesInStore]
mov qword [rbp + 0x20], rbx
test rax, rax
je 0x1400eccf0
mov rcx, rax
mov qword [rbp + 0x148], rax
call qword [sym.imp.crypt32.dll_CertDuplicateCertificateContext]
mov qword [rbp + 0x118], rax
mov qword [rbp + 0xd0], 0
mov rcx, qword [rbp + 0x120]
mov rdx, qword [rbp + 0x148]
mov r8d, 3
lea r9, [rbp + 0xd0]
call qword [sym.imp.crypt32.dll_CertAddCertificateContextToStore]
test eax, eax
je 0x1400ed16d
mov rcx, qword [rbp + 0xd0]
call rsi
mov r15, qword [rbp + 0x118]
mov qword [rbp + 0xa8], r15
mov byte [rbp + 0x157], 0
mov rcx, qword [rbp + 0x148]
call rsi
mov rbx, r15
jmp 0x1400ec950
cmp rdx, r15
je 0x1400ec9fb
mov qword [rdi + 0x70], r14
xor eax, eax
sub r13, r15
mov qword [rdi + 0x78], r13
mov qword [rdi + 0x110], rax
test ebx, ebx
mov r15d, ebx
mov r13, rsi
lea rax, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001fwidestring_1.0.2_srcucstring.rs
cmove r13, rax
mov rax, qword [rdi + 0x80]
mov r14, qword [rdi + 0x90]
sub rax, r14
cmp rax, r15
jae 0x1400eca4e
mov qword [rbp + 0x40], rsi
mov rcx, qword [rbp + 0x10]
mov rdx, r14
mov r8, r15
call fcn.14019a530
mov r14, qword [rdi + 0x90]
mov rcx, qword [rdi + 0x88]
add rcx, r14
mov rdx, r13
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add r14, r15
mov qword [rdi + 0x90], r14
mov r14, qword [rbp + 0x148]
mov qword [rbp + 0x140], r14
mov rbx, qword [rbp + 0x128]
mov qword [rbp + 0x138], rbx
mov rcx, rsi
call qword [sym.imp.secur32.dll_FreeContextBuffer]
jmp 0x1400ecbf0
cmp rdx, r15
jne 0x1400ecb6b
xor eax, eax
cmp r13, r15
sete al
mov qword [rdi + 0x78], r14
mov qword [rdi + 0x110], rax
test rbx, rbx
je 0x1400ecb8b
mov r13, qword [rbp + 0x130]
mov r15d, dword [rbp + 0x28]
test r15, r15
mov rsi, r13
lea rax, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001fwidestring_1.0.2_srcucstring.rs
cmove rsi, rax
mov rax, qword [rdi + 0x80]
mov r14, qword [rdi + 0x90]
sub rax, r14
cmp rax, r15
jae 0x1400ecb21
mov byte [rbp + 0x118], r12b
mov qword [rbp + 0x130], r13
mov rcx, qword [rbp + 0x10]
mov rdx, r14
mov r8, r15
call fcn.14019a530
mov r14, qword [rdi + 0x90]
mov r13, qword [rbp + 0x130]
movzx r12d, byte [rbp + 0x118]
mov rcx, qword [rdi + 0x88]
add rcx, r14
mov rdx, rsi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add r14, r15
mov qword [rdi + 0x90], r14
mov byte [rbp + 0x155], r12b
mov qword [rbp + 0xa0], r13
mov byte [rbp + 0x154], 0
mov rcx, r13
call qword [sym.imp.secur32.dll_FreeContextBuffer]
mov r14, qword [rdi + 0x78]
xor eax, eax
test r14, r14
jne 0x1400ecb99
jmp 0x1400ecbc3
xor eax, eax
cmp r13, r15
sete al
mov qword [rdi + 0x70], rsi
mov qword [rdi + 0x78], r14
mov qword [rdi + 0x110], rax
test rbx, rbx
jne 0x1400ecabc
mov al, 1
mov r13, qword [rbp + 0x130]
test r14, r14
je 0x1400ecbc3
mov byte [rbp + 0x155], r12b
mov qword [rbp + 0xa0], r13
mov byte [rbp + 0x154], al
lea rcx, [rbp + 0x60]
mov rdx, rdi
call fcn.1400edd00
cmp byte [rbp + 0x60], 0
jne 0x1400ed1e5
mov rbx, qword [rbp + 0x128]
mov r14, qword [rbp + 0x148]
mov qword [rbp + 0x130], r13
cmp byte [rdi + 0xd0], 0
jne 0x1400ecbf0
mov byte [rdi + 0xd2], 0
nop dword [rax + rax]
test r14, r14
je 0x1400ecc10
mov r8, rbx
cmp r14, 0x11
jb 0x1400ecc02
mov r8, qword [rbx - 8]
mov rcx, qword [0x140262270]
xor edx, edx
call fcn.140195ea0
cmp qword [rbp + 0xb0], 0
je 0x1400ec206
mov r8, qword [rbp + 0xb8]
mov rcx, qword [0x140262270]
xor edx, edx
call fcn.140195ea0
jmp 0x1400ec206
mov al, 2
test r14b, r14b
mov rbx, qword [rbp + 0x128]
jne 0x1400ecc99
movaps xmmword [rbp + 0xd0], xmm6
mov dword [rbp + 0xe0], 0
mov rcx, qword [rbp + 0x88]
mov edx, 4
lea r8, [rbp + 0xd0]
call qword [sym.imp.secur32.dll_QueryContextAttributesW]
test eax, eax
jne 0x1400ed282
mov eax, dword [rbp + 0xd0]
mov dword [rbp + 0x3c], eax
mov rax, qword [rbp + 0xd4]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0xdc]
mov qword [rbp - 0x18], rax
mov al, 1
mov byte [rdi + 0xd0], al
mov eax, dword [rbp + 0x3c]
mov dword [rdi + 0xd4], eax
mov rax, qword [rbp - 0x20]
mov qword [rdi + 0xd8], rax
mov rax, qword [rbp - 0x18]
mov qword [rdi + 0xe0], rax
jmp 0x1400ec206
mov rax, qword [rdi]
mov qword [rbp + 0x120], rax
test rax, rax
je 0x1400eccff
mov rax, qword [rdi + 8]
mov qword [rbp + 0x120], rax
jmp 0x1400eccff
mov rcx, qword [rbp + 0x120]
xor edx, edx
call qword [sym.imp.crypt32.dll_CertCloseStore]
jmp 0x1400eccff
mov rcx, qword [rbp + 0x120]
xor edx, edx
call qword [sym.imp.crypt32.dll_CertCloseStore]
movaps xmmword [rbp + 0xd0], xmm6
mov qword [rbp + 0xe0], 0
mov dword [rbp + 0xd0], 0x20
mov dword [rbp + 0xd8], 1
lea rax, str.1.3.6.1.5.5.7.3.1
mov qword [rbp + 0xb0], rax
lea rax, str.1.3.6.1.4.1.311.10.3.3
mov qword [rbp + 0xb8], rax
lea rax, str.2.16.840.1.113730.4.1
mov qword [rbp + 0xc0], rax
mov dword [rbp + 0xe0], 3
lea rax, [rbp + 0xb0]
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0x60], 0
lea rax, [rbp + 0x60]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0xc0000001
xor ecx, ecx
mov rdx, qword [rbp + 0x90]
xor r8d, r8d
mov r9, qword [rbp + 0x120]
call qword [sym.imp.crypt32.dll_CertGetCertificateChain]
test eax, eax
je 0x1400ed24c
mov rdx, qword [rbp + 0x60]
cmp qword [rdi], 0
mov qword [rbp + 0xc8], rdx
je 0x1400ecf2f
mov byte [rbp + 0x156], 1
lea rcx, [rbp + 0xd0]
call fcn.140153960
mov r13, qword [rbp + 0x110]
cmp qword [rbp + 0xd0], 0
je 0x1400ecf3d
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x120], rax
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x30], rax
xor r13d, r13d
nop
mov rcx, qword [rbp + 0x120]
mov eax, dword [rcx + 0xc]
mov ebx, 0xf00
cmp r13, rax
jae 0x1400ecf44
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400ecf44
mov rax, qword [rax + r13*8]
mov rcx, qword [rax + 8]
mov qword [rbp + 0x148], rcx
call qword [sym.imp.crypt32.dll_CertDuplicateCertificateContext]
mov qword [rbp + 0x118], rax
inc r13
xor r15d, r15d
mov rbx, qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov rax, qword [rbp + 0x110]
nop word cs:[rax + rax]
mov rcx, qword [rdi + 8]
mov byte [rbp + 0x153], 1
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x80], rax
mov rdx, r15
call qword [sym.imp.crypt32.dll_CertEnumCertificatesInStore]
test rax, rax
mov r12, rax
je 0x1400ecf08
mov rcx, r12
mov qword [rbp + 0x148], r12
call qword [sym.imp.crypt32.dll_CertDuplicateCertificateContext]
mov r15, rax
mov rax, qword [rbp + 0x118]
mov r8d, dword [rax + 0x10]
mov r12, qword [rbp + 0x148]
cmp dword [r12 + 0x10], r8d
jne 0x1400ecee0
mov rdx, qword [rax + 8]
mov rcx, qword [r12 + 8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
sete sil
jmp 0x1400ecee2
xor esi, esi
mov byte [rbp + 0x153], 0
mov qword [rbp + 0x80], r15
mov rcx, r12
call rbx
mov rax, r15
test sil, sil
je 0x1400ece70
mov rcx, r15
call rbx
jmp 0x1400ecf0f
mov r15, qword [rbp + 0x110]
mov rcx, qword [rbp + 0x118]
call rbx
mov qword [rbp + 0x110], r15
test r12, r12
je 0x1400ece10
mov ebx, 0xf10
jmp 0x1400ecf4b
mov ebx, 0xf00
mov r13, qword [rbp + 0x110]
jmp 0x1400ecf66
mov ebx, 0xf00
jmp 0x1400ecf5f
mov r15, qword [rbp + 0x110]
mov byte [rbp + 0x156], 1
mov rcx, qword [rbp + 0x30]
call qword [sym.imp.crypt32.dll_CertFreeCertificateChain]
mov r13, r15
mov rdx, qword [rbp + 0xc8]
lea rax, [rbp + 0x68]
movups xmmword [rax], xmm6
movabs rax, 0x200000018
mov qword [rbp + 0x60], rax
movabs rax, 0x8000000000000000
cmp qword [rdi + 0xa0], rax
je 0x1400ecfa2
cmp byte [rdi + 0x121], 0
jne 0x1400ecfa2
mov rax, qword [rdi + 0xa8]
mov qword [rbp + 0x70], rax
mov dword [rbp + 0x48], 0x10
mov dword [rbp + 0x4c], ebx
lea rax, [rbp + 0x60]
mov qword [rbp + 0x50], rax
movaps xmmword [rbp + 0xb0], xmm6
mov qword [rbp + 0xc0], 0
mov dword [rbp + 0xb0], 0x18
mov byte [rbp + 0x156], 1
mov ecx, 4
lea r8, [rbp + 0x48]
lea r9, [rbp + 0xb0]
call qword [sym.imp.crypt32.dll_CertVerifyCertificateChainPolicy]
test eax, eax
je 0x1400ed25a
mov esi, dword [rbp + 0xb4]
mov r15, rsi
shl r15, 0x20
or r15, 2
mov rax, qword [rdi + 0x100]
test rax, rax
mov qword [rbp + 0x110], r13
je 0x1400ed097
test esi, esi
mov rdx, r15
mov ecx, 0
cmove rdx, rcx
mov r8, qword [rdi + 0x108]
mov rcx, qword [r8 + 0x10]
dec rcx
and rcx, 0xfffffffffffffff0
add rcx, rax
add rcx, 0x10
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xd0], rax
mov dword [rbp + 0xd8], esi
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0xdc], rax
mov rax, qword [r8 + 0x28]
mov qword [rbp + 8], rdx
lea rdx, [rbp + 0xd0]
call rax
mov rbx, qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov r13, rax
test esi, esi
je 0x1400ed08d
mov qword [rbp + 8], r13
mov rcx, r15
call fcn.1400893f0
test r13, r13
je 0x1400ed0b3
jmp 0x1400ed1b8
test esi, esi
mov rbx, qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov rcx, qword [rbp + 0xc8]
jne 0x1400ed274
call qword [sym.imp.crypt32.dll_CertFreeCertificateChain]
mov rcx, qword [rbp + 0x90]
call rbx
cmp byte [rdi + 0xd0], 0
je 0x1400ed0d1
movzx eax, byte [rbp + 0x152]
jmp 0x1400ec34a
mov rax, qword [rbp + 0x18]
mov byte [rax], 1
movzx eax, byte [rbp + 0x152]
jmp 0x1400ec34a
movabs rax, 0xd00000003
mov rcx, qword [rbp + 0x108]
mov qword [rcx + 8], rax
mov dword [rcx], 2
movaps xmm6, xmmword [rbp + 0x160]
add rsp, 0x1f8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp eax, 1
jne 0x1400ed13f
mov rcx, qword [rbp + 0x108]
mov dword [rcx], 1
mov rax, qword [rbp + 0x18]
movups xmm0, xmmword [rax]
movups xmmword [rcx + 4], xmm0
mov eax, dword [rax + 0x10]
mov dword [rcx + 0x14], eax
jmp 0x1400ed0ff
mov rax, qword [rbp + 0x108]
mov dword [rax], 0
jmp 0x1400ed0ff
mov rax, qword [rbp + 0xd8]
jmp 0x1400ed0ee
lea rdx, str.unexpected_EOF_during_handshakeassertion_failed:_size___nread
mov r8d, 0x1f
mov cl, 0x25
call fcn.14011e760
jmp 0x1400ed0ee
call qword [sym.imp.kernel32.dll_GetLastError]
mov r13d, eax
mov rsi, qword [rbp + 0x118]
mov qword [rbp + 0xa8], rsi
mov byte [rbp + 0x157], 0
mov rcx, qword [rbp + 0x148]
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov rcx, rsi
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov rcx, qword [rbp + 0x120]
xor edx, edx
call qword [sym.imp.crypt32.dll_CertCloseStore]
shl r13, 0x20
or r13, 2
mov rcx, qword [rbp + 0x90]
call qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov rax, qword [rbp + 0x108]
mov qword [rax + 8], r13
mov dword [rax], 2
jmp 0x1400ed0ff
shl r15, 0x20
or r15, 2
jmp 0x1400ed1f7
mov r15, qword [rbp + 0x68]
mov rbx, qword [rbp + 0x128]
mov r14, qword [rbp + 0x148]
test r14, r14
je 0x1400ed217
cmp r14, 0x11
jb 0x1400ed206
mov rbx, qword [rbx - 8]
mov rcx, qword [0x140262270]
xor edx, edx
mov r8, rbx
call fcn.140195ea0
cmp qword [rbp + 0xb0], 0
je 0x1400ed236
mov r8, qword [rbp + 0xb8]
mov rcx, qword [0x140262270]
xor edx, edx
call fcn.140195ea0
mov rax, qword [rbp + 0x108]
mov qword [rax + 8], r15
mov dword [rax], 2
jmp 0x1400ed0ff
call qword [sym.imp.kernel32.dll_GetLastError]
mov r13d, eax
jmp 0x1400ed1b0
call qword [sym.imp.kernel32.dll_GetLastError]
mov r13d, eax
shl r13, 0x20
or r13, 2
mov rcx, qword [rbp + 0xc8]
jmp 0x1400ed277
mov r13, r15
call qword [sym.imp.crypt32.dll_CertFreeCertificateChain]
jmp 0x1400ed1b8
shl rax, 0x20
or rax, 2
jmp 0x1400ed0ee
mov qword [rbp + 0x140], r14
mov qword [rbp + 0x138], rbx
lea r8, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.23_src_tls_stream.rs
mov ecx, 1
mov rdx, r13
call fcn.1401982a0
jmp 0x1400ed3e5
mov qword [rbp + 0x140], r14
mov qword [rbp + 0x138], rbx
lea r8, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.23_src_tls_stream.rs
mov ecx, 1
mov rdx, r13
call fcn.1401982a0
jmp 0x1400ed3e5
mov qword [rbp + 0x140], r14
mov qword [rbp + 0x138], rbx
lea r8, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.23_src_tls_stream.rs
mov ecx, 1
mov rdx, r13
call fcn.1401982a0
jmp 0x1400ed3e5
lea rcx, str.assertion_failed:__self.context.is_null__
lea r8, [0x1401d6638]
mov edx, 0x29
call fcn.140198330
lea r8, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.23_src_tls_stream.rs
mov rcx, r15
call fcn.140198290
mov qword [rbp + 0x58], r12
lea r8, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.23_src_tls_stream.rs
mov rcx, rsi
call fcn.140198320
jmp 0x1400ed3e5
mov ecx, 8
mov edx, 0x20
call fcn.140197e40
mov qword [rbp + 0x40], rsi
lea rcx, [0x1401d395f]
lea r8, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.23_src_tls_stream.rs
mov edx, 0x1f
call fcn.140198330
jmp 0x1400ed3e5
mov byte [rbp + 0x155], cl
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0xa0], rax
mov byte [rbp + 0x154], 1
lea rcx, [0x1401d395f]
lea r8, str.C:Users_fhnir.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.23_src_tls_stream.rs
mov edx, 0x1f
call fcn.140198330
jmp 0x1400ed3e5
mov qword [rbp + 0x40], rsi
lea r8, str._rustc_6672c16afcd4db8acdf08a6984fd4107bf07632clibrary_alloc_src_vecmod.rs
mov rcx, r15
call fcn.140198320
jmp 0x1400ed3e5
mov byte [rbp + 0x155], r12b
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0xa0], rax
mov byte [rbp + 0x154], 1
lea r8, str._rustc_6672c16afcd4db8acdf08a6984fd4107bf07632clibrary_alloc_src_vecmod.rs
mov rcx, r15
call fcn.140198320
ud2