Function at 0x14015d9e0
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, 0x188
movaps xmmword [rsp + 0x170], xmm6
mov rdi, rdx
mov qword [rsp + 0x68], rcx
lea rax, [rdx + 0x1d4]
mov qword [rsp + 0x130], rax
lea rbx, [rdx + 0x10]
lea rax, [rdx + 0x1f0]
mov qword [rsp + 0x100], rax
lea r12, [rdx + 0x18]
xorps xmm6, xmm6
mov qword [rsp + 0xb8], r12
movzx eax, byte [rdi + 0x1d0]
test eax, eax
jne 0x14015ea30
movzx ebp, byte [rdi + 0x1d1]
movzx r15d, byte [rdi + 0x1d2]
movzx r14d, byte [rdi + 0x1d3]
movzx esi, byte [rdi + 0x1d4]
mov rdx, qword [rdi + 0x190]
mov r13, qword [rdi + 0x198]
cmp r13, rdx
jne 0x14015da90
test bpl, bpl
jne 0x14015db40
jmp 0x14015db78
mov byte [rsp + 0x67], r15b
mov r15d, r14d
xor r14d, r14d
nop dword [rax + rax]
mov r9, rdx
sub r9, r13
jb 0x14015eb62
mov rdx, qword [rdi + 0x138]
test rdx, rdx
je 0x14015eb4a
mov r8, qword [rdi + 0x188]
add r8, r13
cmp dword [rbx], 2
jne 0x14015dae0
mov rcx, r12
call fcn.1401e02b0
jmp 0x14015dae8
mov rcx, rbx
call fcn.14019c900
cmp rax, 2
movabs rcx, 0xd00000003
cmove rdx, rcx
test rax, rax
jne 0x14015ea92
add r14, rdx
add r13, rdx
mov qword [rdi + 0x198], r13
mov rdx, qword [rdi + 0x190]
cmp r13, rdx
jne 0x14015daa0
test r14, r14
mov r14d, r15d
movzx r15d, byte [rsp + 0x67]
je 0x14015da74
cmp byte [rdi + 0x1d0], 0
jne 0x14015db40
mov byte [rdi + 0x1d1], 1
nop
mov rdx, qword [rdi + 0x138]
test rdx, rdx
je 0x14015eb4a
cmp dword [rbx], 2
je 0x14015db6f
mov rcx, rbx
call fcn.14019c6d0
test rax, rax
jne 0x14015ea88
test rdx, rdx
jne 0x14015ea92
cmp byte [rdi + 0x1d0], 0
je 0x14015dbc0
or sil, r14b
jne 0x14015e060
cmp byte [rdi + 0x222], 0
jne 0x14015e060
mov qword [rsp + 0x70], 0
mov rcx, qword [rsp + 0x100]
mov edx, 0x53
lea r8, [rsp + 0x70]
call sub.secur32.dll_QueryContextAttributesW
test eax, eax
je 0x14015dbd1
test r15b, r15b
jne 0x14015e069
jmp 0x14015eaed
mov byte [rdi + 0x1d1], 0
or sil, r14b
je 0x14015db81
jmp 0x14015e060
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x14015dc64
call sub.crypt32.dll_CertDuplicateStore
mov r13, rax
test byte [rdi], 1
je 0x14015dc58
mov rcx, qword [rdi + 8]
xor edx, edx
call sub.crypt32.dll_CertEnumCertificatesInStore
test rax, rax
je 0x14015dc58
mov rbp, rax
mov rcx, rax
call sub.crypt32.dll_CertDuplicateCertificateContext
mov r12, rax
mov qword [rsp + 0x70], 0
mov rcx, r13
mov rdx, rbp
mov r8d, 3
lea r9, [rsp + 0x70]
call sub.crypt32.dll_CertAddCertificateContextToStore
test eax, eax
je 0x14015eabe
mov rcx, qword [rsp + 0x70]
call sub.crypt32.dll_CertFreeCertificateContext
mov rcx, rbp
call sub.crypt32.dll_CertFreeCertificateContext
mov rcx, qword [rdi + 8]
mov rdx, r12
call sub.crypt32.dll_CertEnumCertificatesInStore
test rax, rax
jne 0x14015dc00
mov rcx, r13
xor edx, edx
call sub.crypt32.dll_CertCloseStore
jmp 0x14015dc72
cmp byte [rdi], 0
je 0x14015dc6f
mov r13, qword [rdi + 8]
jmp 0x14015dc72
xor r13d, r13d
movaps xmmword [rsp + 0x70], xmm6
mov qword [rsp + 0x80], 0
mov dword [rsp + 0x70], 0x20
mov dword [rsp + 0x78], 1
lea rax, [0x1402d521e]
mov qword [rsp + 0xa0], rax
lea rax, str.1.3.6.1.4.1.311.10.3.3
mov qword [rsp + 0xa8], rax
lea rax, str.2.16.840.1.113730.4.1
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0x80], 3
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0xc8], 0
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0xc0000001
xor ecx, ecx
mov rdx, rsi
xor r8d, r8d
mov r9, r13
call sub.crypt32.dll_CertGetCertificateChain
test eax, eax
je 0x14015eafc
mov r12, qword [rsp + 0xc8]
mov ebp, 0xf00
cmp dword [rdi], 1
jne 0x14015df3e
mov eax, dword [r12 + 0xc]
test eax, eax
je 0x14015df3e
mov dword [rsp + 0x108], eax
mov qword [rsp + 0x110], rsi
mov byte [rsp + 0x67], r14b
mov rax, qword [r12 + 0x10]
mov r13, qword [rax]
mov rcx, r12
call sub.crypt32.dll_CertDuplicateCertificateChain
mov rcx, r12
mov r12, rax
mov qword [rsp + 0xf8], rcx
cmp dword [rcx + 0xc], 2
jb 0x14015ddbb
mov r14d, 1
mov rbp, qword [rsp + 0xf8]
mov rax, qword [rbp + 0x10]
mov r13, qword [rax + r14*8]
mov rcx, rbp
call sub.crypt32.dll_CertDuplicateCertificateChain
mov rsi, rax
mov rcx, r12
call sub.crypt32.dll_CertFreeCertificateChain
mov eax, dword [rbp + 0xc]
inc r14
mov r12, rsi
cmp r14, rax
jb 0x14015dd90
jmp 0x14015ddc6
mov rsi, r12
mov rbp, qword [rsp + 0xf8]
mov rcx, rbp
call sub.crypt32.dll_CertDuplicateCertificateChain
mov qword [rsp + 0x158], rax
mov rcx, rsi
call sub.crypt32.dll_CertFreeCertificateChain
cmp dword [rsp + 0x108], 0
movzx r14d, byte [rsp + 0x67]
mov rsi, qword [rsp + 0x110]
mov r12, rbp
mov ebp, 0xf00
je 0x14015df3e
xor ecx, ecx
jmp 0x14015de2c
mov rsi, qword [rsp + 0x108]
inc rsi
mov rcx, rbp
call sub.crypt32.dll_CertFreeCertificateContext
mov rcx, rsi
mov rsi, qword [rsp + 0x110]
mov r12, qword [rsp + 0xf8]
mov eax, dword [r13 + 0xc]
cmp rcx, rax
jae 0x14015ea26
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x108], rcx
mov rax, qword [rax + rcx*8]
mov rcx, qword [rax + 8]
call sub.crypt32.dll_CertDuplicateCertificateContext
mov rbp, rax
mov rcx, qword [rdi + 8]
xor edx, edx
call sub.crypt32.dll_CertEnumCertificatesInStore
test rax, rax
je 0x14015de06
mov rsi, rax
mov rcx, rax
call sub.crypt32.dll_CertDuplicateCertificateContext
mov r12, rax
mov r8d, dword [rbp + 0x10]
cmp dword [rsi + 0x10], r8d
jne 0x14015df02
mov rdx, qword [rbp + 8]
mov rcx, qword [rsi + 8]
call sub.msvcrt.dll_memcmp
mov dword [rsp + 0x120], eax
mov rcx, rsi
call sub.crypt32.dll_CertFreeCertificateContext
cmp dword [rsp + 0x120], 0
je 0x14015df0c
nop word [rax + rax]
mov rcx, qword [rdi + 8]
mov rdx, r12
call sub.crypt32.dll_CertEnumCertificatesInStore
test rax, rax
je 0x14015de06
mov rsi, rax
mov rcx, rax
call sub.crypt32.dll_CertDuplicateCertificateContext
mov r12, rax
mov r8d, dword [rbp + 0x10]
cmp dword [rsi + 0x10], r8d
jne 0x14015df02
mov rdx, qword [rbp + 8]
mov rcx, qword [rsi + 8]
call sub.msvcrt.dll_memcmp
mov r14d, eax
mov rcx, rsi
call sub.crypt32.dll_CertFreeCertificateContext
test r14d, r14d
movzx r14d, byte [rsp + 0x67]
jne 0x14015deb0
jmp 0x14015df0c
mov rcx, rsi
call sub.crypt32.dll_CertFreeCertificateContext
jmp 0x14015deb0
mov rcx, r12
call sub.crypt32.dll_CertFreeCertificateContext
mov rcx, rbp
call sub.crypt32.dll_CertFreeCertificateContext
mov ebp, 0xf10
mov rsi, qword [rsp + 0x110]
mov r12, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x158]
call sub.crypt32.dll_CertFreeCertificateChain
lea rax, [rsp + 0xd0]
movups xmmword [rax], xmm6
movabs rax, 0x200000018
mov qword [rsp + 0xc8], rax
movabs rax, 0x8000000000000000
cmp qword [rdi + 0x1a0], rax
je 0x14015df86
cmp byte [rdi + 0x221], 1
je 0x14015df86
mov rax, qword [rdi + 0x1a8]
mov qword [rsp + 0xd8], rax
mov dword [rsp + 0xe0], 0x10
mov dword [rsp + 0xe4], ebp
lea rax, [rsp + 0xc8]
mov qword [rsp + 0xe8], rax
movaps xmmword [rsp + 0xa0], xmm6
mov qword [rsp + 0xb0], 0
mov dword [rsp + 0xa0], 0x18
mov ecx, 4
mov rdx, r12
lea r8, [rsp + 0xe0]
lea r9, [rsp + 0xa0]
call sub.crypt32.dll_CertVerifyCertificateChainPolicy
test eax, eax
je 0x14015eb0e
mov eax, dword [rsp + 0xa4]
mov rcx, qword [rdi + 0x200]
test rcx, rcx
je 0x14015e6e5
mov r8, qword [rdi + 0x208]
mov rdx, qword [r8 + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rcx, rdx
add rcx, 0x10
mov qword [rsp + 0x70], r12
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x7c], rax
lea rdx, [rsp + 0x70]
call qword [r8 + 0x28]
test rax, rax
jne 0x14015eb2b
mov rcx, rsi
call sub.crypt32.dll_CertFreeCertificateContext
cmp byte [rdi + 0x1d0], 0
je 0x14015e70a
nop dword [rax]
test r15b, r15b
je 0x14015e71e
mov rbp, qword [rdi + 0x178]
mov r12, qword [rdi + 0x210]
test r12, r12
je 0x14015e1b9
xor esi, esi
nop word cs:[rax + rax]
lea rax, [rbp*2]
cmp rax, r12
cmova r12, rax
cmp r12, 0x401
mov eax, 0x400
cmovb r12, rax
mov r13, qword [rdi + 0x170]
sub r12, r13
jbe 0x14015e104
mov rax, qword [rdi + 0x160]
sub rax, r13
cmp rax, r12
jb 0x14015e166
mov r14, qword [rdi + 0x168]
lea rcx, [r14 + r13]
cmp r12, 2
jb 0x14015e0f7
lea r8, [r12 - 1]
xor edx, edx
call sub.msvcrt.dll_memset
add r13, r12
dec r13
add r14, r13
mov rcx, r14
mov byte [rcx], 0
inc r13
mov qword [rdi + 0x170], r13
mov r8, r13
sub r8, rbp
jb 0x14015eb71
mov rdx, qword [rdi + 0x168]
add rdx, rbp
mov rcx, rbx
call fcn.14019dd60
test rax, rax
jne 0x14015ea92
add rbp, rdx
mov qword [rdi + 0x178], rbp
mov rax, qword [rdi + 0x210]
mov rcx, rax
sub rcx, rdx
mov r12d, 0
cmovae r12, rcx
mov qword [rdi + 0x210], r12
test rdx, rdx
je 0x14015e1b0
add rsi, rdx
cmp rax, rdx
ja 0x14015e090
jmp 0x14015e1b0
lea rcx, [rdi + 0x160]
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rdx, r13
mov r8, r12
call fcn.1401fa9a0
mov r13, qword [rdi + 0x170]
mov r14, qword [rdi + 0x168]
lea rcx, [r14 + r13]
cmp r12, 2
jae 0x14015e0df
jmp 0x14015e0f7
test rsi, rsi
je 0x14015ea6a
movzx eax, byte [0x14031a2c8]
mov edx, 0x20
xor ecx, ecx
call fcn.1401dbaa0
test rax, rax
je 0x14015eb92
mov rdx, qword [rdi + 0x170]
cmp rbp, rdx
mov r12, qword [rsp + 0xb8]
ja 0x14015eb83
mov r13, rax
mov rax, qword [rdi + 0x168]
mov dword [r13], ebp
mov dword [r13 + 4], 2
mov qword [r13 + 8], rax
movups xmmword [r13 + 0x10], xmm6
mov qword [rsp + 0xc8], 2
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0xd8], 2
movabs rax, 0x8000000000000000
cmp qword [rdi + 0x1b8], rax
jne 0x14015e250
mov qword [rsp + 0xa0], 0
jmp 0x14015e2c0
mov rdx, qword [rdi + 0x1c0]
mov r8, qword [rdi + 0x1c8]
lea rcx, [rsp + 0xa0]
call fcn.1401b15b0
mov r14, qword [rsp + 0xa0]
test r14, r14
je 0x14015e2c0
mov rsi, qword [rsp + 0xb0]
mov ebp, dword [rsp + 0xa8]
lea rcx, [rsp + 0xc8]
call fcn.1401b1180
mov r13, qword [rsp + 0xd0]
mov dword [r13 + 0x20], ebp
mov dword [r13 + 0x24], 0x12
mov qword [r13 + 0x28], rsi
mov qword [rsp + 0xd8], 3
mov eax, 3
jmp 0x14015e2c8
mov eax, 2
xor r14d, r14d
mov dword [rsp + 0x138], 0
mov dword [rsp + 0x13c], eax
mov qword [rsp + 0x140], r13
movabs rax, 0x200000000
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0
movabs rax, 0x1100000000
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x88]
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
movabs rax, 0x300000000
mov qword [rsp + 0x160], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x168], rax
mov dword [rsp + 0xc4], 0
cmp byte [rdi + 0x222], 0
je 0x14015e3f0
cmp byte [rdi + 0x223], 0
mov rcx, qword [rsp + 0x100]
mov rdx, rcx
mov eax, 0
cmovne rdx, rax
mov rax, qword [rdi + 0x1e8]
movups xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0xe0], xmm0
lea rax, [rsp + 0xc4]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x160]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x20], 0
lea rcx, [rsp + 0xe0]
lea r8, [rsp + 0x138]
mov r9d, 0x1011c
call sub.secur32.dll_AcceptSecurityContext
mov ebp, eax
mov rcx, qword [rsp + 0x88]
test rcx, rcx
jne 0x14015e4ae
jmp 0x14015e4b3
test byte [rdi + 0x220], 1
mov r8d, 0
je 0x14015e406
mov r8, qword [rdi + 0x1a8]
movabs rax, 0x8000000000000000
cmp qword [rdi + 0x1a0], rax
mov eax, 0
cmove r8, rax
mov rax, qword [rdi + 0x1e8]
movups xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0xe0], xmm0
lea rax, [rsp + 0xc4]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x160]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x138]
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, [rsp + 0xe0]
mov rdx, qword [rsp + 0x100]
mov r9d, 0x9819c
call sub.secur32.dll_InitializeSecurityContextW
mov ebp, eax
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14015e4b3
call sub.secur32.dll_FreeContextBuffer
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14015e4c5
call sub.secur32.dll_FreeContextBuffer
cmp ebp, 0x80090318
je 0x14015e5fa
test ebp, ebp
je 0x14015e568
cmp ebp, 0x90312
jne 0x14015e623
mov byte [rdi + 0x223], 0
cmp dword [r13 + 0x14], 5
jne 0x14015e6bd
mov r12, qword [rdi + 0x178]
mov eax, dword [r13 + 0x10]
mov rbp, r12
sub rbp, rax
jb 0x14015eba1
mov r13d, dword [rsp + 0x70]
mov r15, qword [rsp + 0x78]
test eax, eax
je 0x14015e6db
mov rdx, qword [rdi + 0x170]
mov rsi, rdx
sub rsi, rbp
jb 0x14015eb83
mov qword [rdi + 0x170], 0
test rbp, rbp
je 0x14015e7b9
cmp rdx, rbp
je 0x14015e7c5
mov rcx, qword [rdi + 0x168]
lea rdx, [rcx + rbp]
mov r8, rsi
call sub.msvcrt.dll_memmove
jmp 0x14015e7be
cmp dword [r13 + 0x14], 5
jne 0x14015e668
mov rbp, qword [rsp + 0x78]
test rbp, rbp
je 0x14015e592
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x118], rbp
mov r14, qword [rdi + 0x178]
mov eax, dword [r13 + 0x10]
mov rsi, r14
sub rsi, rax
cmp r14, rsi
jb 0x14015eba1
je 0x14015e83d
mov rdx, qword [rdi + 0x170]
mov r12, rdx
sub r12, rsi
jb 0x14015ebb9
mov qword [rdi + 0x170], 0
test rsi, rsi
je 0x14015e838
cmp rdx, rsi
je 0x14015e83d
mov rcx, qword [rdi + 0x168]
lea rdx, [rcx + rsi]
mov r8, r12
call sub.msvcrt.dll_memmove
jmp 0x14015e847
mov eax, 1
cmp dword [r13 + 0x14], 4
jne 0x14015e6a8
mov eax, dword [r13 + 0x10]
mov qword [rdi + 0x210], rax
test r14, r14
jne 0x14015e95b
jmp 0x14015e97b
shl rbp, 0x20
or rbp, 2
test r14, r14
je 0x14015e906
mov r8, qword [rsp + 0xb0]
cmp r14, 0x11
jb 0x14015e646
mov r8, qword [r8 - 8]
mov rcx, qword [0x14031a288]
xor edx, edx
call fcn.1401fb9c4
cmp qword [rsp + 0xc8], 0
jne 0x14015e911
jmp 0x14015e930
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x14015e687
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x118], rax
mov qword [rdi + 0x178], 0
mov qword [rdi + 0x210], 1
jne 0x14015e871
jmp 0x14015e93e
mov qword [rdi + 0x210], rax
test r14, r14
jne 0x14015e95b
jmp 0x14015e97b
mov r12, qword [rdi + 0x178]
mov r13d, dword [rsp + 0x70]
mov eax, 1
mov r15, qword [rsp + 0x78]
mov rbp, r12
jmp 0x14015e7c7
mov eax, 1
jmp 0x14015e7c7
test eax, eax
jne 0x14015eb13
mov rcx, r12
call sub.crypt32.dll_CertFreeCertificateChain
mov rcx, rsi
call sub.crypt32.dll_CertFreeCertificateContext
cmp byte [rdi + 0x1d0], 0
jne 0x14015e060
mov rax, qword [rsp + 0x130]
mov byte [rax], 1
test r15b, r15b
jne 0x14015e069
mov al, 2
test r14b, r14b
mov r12, qword [rsp + 0xb8]
jne 0x14015e783
movaps xmmword [rsp + 0x70], xmm6
mov dword [rsp + 0x80], 0
mov rcx, qword [rsp + 0x100]
mov edx, 4
lea r8, [rsp + 0x70]
call sub.secur32.dll_QueryContextAttributesW
test eax, eax
jne 0x14015eaed
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x124], eax
mov rax, qword [rsp + 0x74]
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x7c]
mov qword [rsp + 0x148], rax
mov al, 1
mov byte [rdi + 0x1d0], al
mov eax, dword [rsp + 0x124]
mov dword [rdi + 0x1d4], eax
mov rax, qword [rsp + 0x150]
mov qword [rdi + 0x1d8], rax
mov rax, qword [rsp + 0x148]
mov qword [rdi + 0x1e0], rax
jmp 0x14015da34
cmp rdx, rbp
je 0x14015e7c5
mov qword [rdi + 0x170], rsi
xor eax, eax
sub r12, rbp
mov qword [rdi + 0x178], r12
mov qword [rdi + 0x210], rax
test r13d, r13d
mov esi, r13d
mov rdx, r15
mov eax, 1
cmove rdx, rax
mov rax, qword [rdi + 0x180]
mov rcx, qword [rdi + 0x190]
sub rax, rcx
cmp rax, rsi
jb 0x14015e9ac
add rcx, qword [rdi + 0x188]
mov r8, rsi
call sub.msvcrt.dll_memcpy
add qword [rdi + 0x190], rsi
mov rcx, r15
call sub.secur32.dll_FreeContextBuffer
mov r12, qword [rsp + 0xb8]
test r14, r14
jne 0x14015e95b
jmp 0x14015e97b
cmp rdx, rsi
jne 0x14015e847
xor eax, eax
sub r14, rsi
sete al
jmp 0x14015e856
xor eax, eax
sub r14, rsi
sete al
mov qword [rdi + 0x170], r12
mov qword [rdi + 0x178], r14
mov qword [rdi + 0x210], rax
test rbp, rbp
mov r12, qword [rsp + 0xb8]
je 0x14015e8ce
mov esi, dword [rsp + 0x128]
test rsi, rsi
mov r14, qword [rsp + 0x118]
mov rdx, r14
mov eax, 1
cmove rdx, rax
mov rax, qword [rdi + 0x180]
mov rcx, qword [rdi + 0x190]
sub rax, rcx
cmp rax, rsi
jb 0x14015e9e5
add rcx, qword [rdi + 0x188]
mov r8, rsi
call sub.msvcrt.dll_memcpy
add qword [rdi + 0x190], rsi
mov rcx, r14
call sub.secur32.dll_FreeContextBuffer
mov r14, qword [rdi + 0x178]
test r14, r14
je 0x14015e93e
lea rcx, [rsp + 0xe0]
mov rdx, rdi
call fcn.14015ebd0
cmp byte [rsp + 0xe0], 0
je 0x14015e93e
mov rbp, qword [rsp + 0xe8]
mov r14, qword [rsp + 0xa0]
test r14, r14
jne 0x14015e634
cmp qword [rsp + 0xc8], 0
je 0x14015e930
mov r8, qword [rsp + 0xd0]
mov rcx, qword [0x14031a288]
xor edx, edx
call fcn.1401fb9c4
nop word [rax + rax]
test rbp, rbp
je 0x14015da34
jmp 0x14015ea5f
cmp byte [rdi + 0x1d0], 0
jne 0x14015e94e
mov byte [rdi + 0x1d2], 0
mov r14, qword [rsp + 0xa0]
test r14, r14
je 0x14015e97b
mov r8, qword [rsp + 0xb0]
cmp r14, 0x11
jb 0x14015e96d
mov r8, qword [r8 - 8]
mov rcx, qword [0x14031a288]
xor edx, edx
call fcn.1401fb9c4
cmp qword [rsp + 0xc8], 0
je 0x14015e99c
mov r8, qword [rsp + 0xd0]
mov rcx, qword [0x14031a288]
xor edx, edx
call fcn.1401fb9c4
xor ebp, ebp
test rbp, rbp
je 0x14015da34
jmp 0x14015ea5f
lea rax, [rdi + 0x180]
mov qword [rsp + 0x20], 1
mov r9d, 1
mov r8, rcx
mov rcx, rax
mov r12, rdx
mov rdx, r8
mov r8, rsi
call fcn.1401fa9a0
mov rdx, r12
mov rcx, qword [rdi + 0x190]
jmp 0x14015e804
lea rax, [rdi + 0x180]
mov qword [rsp + 0x20], 1
mov r9d, 1
mov r8, rcx
mov rcx, rax
mov r14, rdx
mov rdx, r8
mov r8, rsi
call fcn.1401fa9a0
mov rdx, r14
mov r14, qword [rsp + 0x118]
mov rcx, qword [rdi + 0x190]
jmp 0x14015e8a9
mov ebp, 0xf00
jmp 0x14015df31
cmp eax, 1
jne 0x14015ea56
mov rcx, qword [rsp + 0x130]
mov eax, dword [rcx + 0x10]
mov rdi, qword [rsp + 0x68]
mov dword [rdi + 0x14], eax
movups xmm0, xmmword [rcx]
movups xmmword [rdi + 4], xmm0
mov eax, 1
jmp 0x14015eaa0
xor eax, eax
mov rdi, qword [rsp + 0x68]
jmp 0x14015eaa0
mov rdi, qword [rsp + 0x68]
mov qword [rdi + 8], rbp
jmp 0x14015ea9b
lea rdx, [0x1402d51e0]
mov r8d, 0x1f
mov cl, 0x25
call fcn.140178900
mov rdi, qword [rsp + 0x68]
jmp 0x14015eb41
movabs rdx, 0xd00000003
mov rdi, qword [rsp + 0x68]
mov qword [rdi + 8], rdx
mov eax, 2
mov dword [rdi], eax
movaps xmm6, xmmword [rsp + 0x170]
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbx, rsi
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rsi, rax
mov rcx, rbp
call sub.crypt32.dll_CertFreeCertificateContext
mov rcx, r12
call sub.crypt32.dll_CertFreeCertificateContext
mov rcx, r13
xor edx, edx
call sub.crypt32.dll_CertCloseStore
jmp 0x14015eb31
shl rax, 0x20
or rax, 2
mov rdi, qword [rsp + 0x68]
jmp 0x14015eb41
mov rbx, rsi
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
jmp 0x14015eb2e
call sub.kernel32.dll_GetLastError
mov rbx, rsi
shl rax, 0x20
or rax, 2
mov rsi, rax
mov rcx, r12
call sub.crypt32.dll_CertFreeCertificateChain
jmp 0x14015eb31
mov rbx, rsi
mov rsi, rax
mov rdi, qword [rsp + 0x68]
mov rcx, rbx
call sub.crypt32.dll_CertFreeCertificateContext
mov rax, rsi
mov qword [rdi + 8], rax
jmp 0x14015ea9b
lea rcx, str.assertion_failed:__self.context.is_null__InvalidUriassertion_failed:_buf.len_____u32::MAX_as_usize
lea r8, str._redacted_
mov edx, 0x29
call fcn.1400576c0
lea r8, str._redacted_
mov rcx, r13
call fcn.1400567f0
lea r8, str._redacted_
mov rcx, rbp
mov rdx, r13
call fcn.1400567f0
lea r8, str._redacted_
mov rcx, rbp
call fcn.140057200
mov ecx, 8
mov edx, 0x20
call fcn.140033f80
lea rcx, [0x1402d51ff]
lea r8, str._redacted_
mov edx, 0x1f
call fcn.1400576c0
lea r8, str._redacted_
mov rcx, rsi
call fcn.140057200
int3