Function at 0x1400164a8
Capabilities:
Get client handle via schannel
Get outbound credentials handle via credssp

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x848
movaps xmmword [rsp + 0x830], xmm6
mov r12, rdx
mov rbx, rcx
mov rax, qword [rdx + 0x10]
lea rdx, [rsp + 0x650]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [r12]
movaps xmmword [rdx], xmm0
lea rdi, [rsp + 0x340]
mov rcx, rdi
call fcn.140010a82
cmp qword [rdi], 0
je 0x14001652e
mov rax, qword [rsp + 0x358]
mov qword [rsp + 0x270], rax
movups xmm0, xmmword [rsp + 0x348]
movaps xmmword [rsp + 0x260], xmm0
mov qword [rbx + 0x10], rax
movups xmmword [rbx], xmm0
mov qword [rbx + 0xa8], 2
jmp 0x1400176e0
mov rax, qword [rsp + 0x358]
mov qword [rsp + 0x270], rax
movups xmm0, xmmword [rsp + 0x348]
movaps xmmword [rsp + 0x260], xmm0
mov qword [r12 + 0x10], rax
movups xmmword [r12], xmm0
lea rcx, [rsp + 0x1f0]
mov rdx, r12
call fcn.140010b2c
mov qword [rsp + 0x20], 0
mov ecx, 2
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.crypt32.dll_CertOpenStore]
test rax, rax
je 0x1400166cd
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x160], rax
mov dword [rsp + 0x168], 0x10501
mov word [rsp + 0x16c], 0
lea rdi, [rsp + 0x340]
mov rcx, rdi
mov rdx, r12
call fcn.140011000
mov rax, qword [rdi]
cmp rax, 0x14
jne 0x140016724
mov rax, qword [rsp + 0x348]
mov qword [rsp + 0xb0], rax
mov r15, qword [r12]
mov r14, qword [r12 + 0x10]
xorps xmm6, xmm6
movups xmmword [rsp + 0x248], xmm6
xor eax, eax
mov qword [rsp + 0x210], rax
mov qword [rsp + 0x228], rax
mov qword [rsp + 0x240], 8
mov esi, 3
mov ecx, 3
mov edx, 1
call fcn.140003ac0
test rax, rax
je 0x140017984
mov byte [rax + 2], 3
mov word [rax], 0x201
mov qword [rsp + 0x228], rax
mov qword [rsp + 0x230], rsi
mov qword [rsp + 0x238], rsi
movaps xmmword [rsp + 0x260], xmm6
movups xmmword [rsp + 0x380], xmm6
movups xmmword [rsp + 0x370], xmm6
movups xmmword [rsp + 0x360], xmm6
movups xmmword [rsp + 0x350], xmm6
mov dword [rsp + 0x340], 4
mov dword [rsp + 0x388], 0x400010
mov qword [rsp + 0x68], rbx
je 0x140016746
mov rcx, qword [rsp + 0x238]
test rcx, rcx
je 0x140016738
xor esi, esi
lea rbp, [0x140053d58]
xor edx, edx
movzx ebx, byte [rax + rsi]
or edx, dword [rbp + rbx*4]
inc rsi
cmp rcx, rsi
jne 0x1400166bb
jmp 0x14001673a
call qword [sym.imp.kernel32.dll_GetLastError]
mov edi, eax
mov ecx, 8
mov edx, 8
call fcn.140003ac0
test rax, rax
je 0x14001797d
shl rdi, 0x20
or rdi, 2
mov qword [rax], rdi
lea r8, vtable.H_H_a.0
mov cl, 0x27
mov rdx, rax
call fcn.14002c2a0
mov qword [rbx], 1
mov qword [rbx + 8], rax
mov qword [rbx + 0xa8], 2
jmp 0x1400176a3
movups xmm0, xmmword [rsp + 0x348]
mov qword [rbx], rax
movups xmmword [rbx + 8], xmm0
jmp 0x14001768b
xor edx, edx
mov dword [rsp + 0x378], edx
mov rbx, qword [rsp + 0x68]
mov dword [rsp + 0x344], 0
mov qword [rsp + 0x348], 8
lea rax, [0x140061b30]
mov qword [rsp + 0x118], rax
mov rax, qword [0x140061b48]
cmp rax, 3
jne 0x140016971
mov rax, qword [rsp + 0x118]
mov rdx, qword [rax]
lea rax, [rsp + 0x260]
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x40], 0
xor ecx, ecx
mov r8d, 2
xor r9d, r9d
call qword [sym.imp.secur32.dll_AcquireCredentialsHandleA]
test eax, eax
je 0x14001681b
mov r13d, eax
shl r13, 0x20
or r13, 2
lea rcx, [rsp + 0x210]
call fcn.14000d7e2
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.ws2_32.dll_closesocket]
movups xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x170], xmm0
lea rcx, [rsp + 0x570]
lea rdx, [rsp + 0x490]
mov r8d, 0xe0
call fcn.1400356d0
mov ebp, 2
jmp 0x1400175fc
mov rsi, qword [rsp + 0x260]
mov rdi, qword [rsp + 0x268]
mov ecx, 0x20
mov edx, 8
call fcn.140003ac0
test rax, rax
je 0x140017997
mov ebx, 1
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rsp + 0xa8], rax
mov qword [rax + 0x18], rdi
xor eax, eax
mov qword [rsp + 0xc0], rax
mov word [rsp + 0x110], 1
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xf8], rax
mov rcx, qword [rsp + 0x160]
call qword [sym.imp.crypt32.dll_CertDuplicateStore]
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xf0], rax
lea rax, [r15 + r14]
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x118], rax
mov word [rsp + 0x70], 0
test r14, r14
mov qword [rsp + 0xa0], r12
je 0x14001695a
lea rsi, [r15 + 1]
mov qword [rsp + 0x80], rsi
mov cl, byte [r15]
movzx edi, cl
test dil, dil
jns 0x1400169f3
mov edx, edi
and edx, 0x1f
lea rsi, [r15 + 2]
mov qword [rsp + 0x80], rsi
movzx ebp, byte [r15 + 1]
and ebp, 0x3f
cmp dil, 0xdf
jbe 0x1400169b5
lea rsi, [r15 + 3]
mov qword [rsp + 0x80], rsi
movzx r8d, byte [r15 + 2]
shl ebp, 6
and r8d, 0x3f
or r8d, ebp
cmp cl, 0xf0
jb 0x1400169be
lea rsi, [r15 + 4]
mov qword [rsp + 0x80], rsi
movzx edi, byte [r15 + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and edi, 0x3f
or edi, r8d
or edi, edx
cmp edi, 0x110000
jne 0x1400169c7
mov qword [rsp + 0x80], 0
xor edi, edi
xor ebp, ebp
xor eax, eax
jmp 0x140016a05
lea rax, [rsp + 0x118]
lea rcx, [rsp + 0x80]
mov qword [rcx], rax
lea r8, [rsp + 0xc0]
mov qword [r8], rcx
lea rax, [0x140050828]
mov qword [rsp + 0x20], rax
lea rcx, [0x140061b48]
lea r9, [0x140050908]
xor edx, edx
call fcn.140043b10
jmp 0x14001677d
shl edx, 6
or edx, ebp
mov edi, edx
jmp 0x1400169f3
shl edx, 0xc
or r8d, edx
mov edi, r8d
cmp edi, 0xffff
jbe 0x1400169f3
add edi, 0xffff0000
mov ecx, edi
shr ecx, 0xa
or ecx, 0xd800
and edi, 0x3ff
or edi, 0xdc00
mov word [rsp + 0x70], di
mov edi, ecx
sub rax, rsi
add rax, 3
shr rax, 2
inc rax
mov bp, 1
cmp rax, 4
mov ecx, 3
cmovae rcx, rax
inc rcx
call fcn.140022012
mov r12, rax
mov word [rax], di
lea rax, [rsp + 0x348]
mov qword [rax - 8], r12
mov qword [rax], rdx
mov qword [rax + 8], 1
mov r15, qword [rsp + 0x80]
mov qword [rsp + 0x260], r15
mov r9, qword [rsp + 0x118]
movzx r14d, word [rsp + 0x70]
mov edi, 1
lea rsi, [rsp + 0x260]
mov qword [rsp + 0xb8], r9
test r15, r15
cmovne r15, rsi
je 0x140016b0c
test r14w, r14w
je 0x140016a85
xor r13d, r13d
jmp 0x140016b4b
mov rdx, qword [r15]
cmp rdx, r9
je 0x140016b00
lea rax, [rdx + 1]
mov qword [r15], rax
mov bl, byte [rdx]
movzx eax, bl
test al, al
jns 0x140016b45
mov r8, rbp
mov ecx, eax
and ecx, 0x1f
lea rbp, [rdx + 2]
mov qword [r15], rbp
movzx ebp, byte [rdx + 1]
and ebp, 0x3f
cmp al, 0xdf
jbe 0x140016b20
lea rax, [rdx + 3]
mov qword [r15], rax
movzx esi, byte [rdx + 2]
shl ebp, 6
and esi, 0x3f
or esi, ebp
cmp bl, 0xf0
jb 0x140016b2c
lea rax, [rdx + 4]
mov qword [r15], rax
movzx eax, byte [rdx + 3]
and ecx, 7
shl ecx, 0x12
shl esi, 6
and eax, 0x3f
or eax, esi
or eax, ecx
cmp eax, 0x110000
lea rsi, [rsp + 0x260]
mov rbp, r8
jne 0x140016b3e
mov qword [rsp + 0x260], 0
cmp bp, 1
jne 0x140016bd9
xor ebp, ebp
mov r13d, r14d
xor r14d, r14d
jmp 0x140016b4b
shl ecx, 6
or ecx, ebp
mov eax, ecx
mov rbp, r8
jmp 0x140016b45
shl ecx, 0xc
or esi, ecx
mov eax, esi
lea rsi, [rsp + 0x260]
mov rbp, r8
cmp eax, 0xffff
ja 0x140016bb4
xor r13d, r13d
mov r14d, eax
mov r15, qword [rsp + 0x260]
cmp rdi, qword [rsp + 0x348]
je 0x140016b75
mov word [r12 + rdi*2], r14w
inc rdi
mov qword [rsp + 0x350], rdi
mov r14d, r13d
jmp 0x140016a6a
movzx r8d, bp
test r15, r15
je 0x140016b8f
mov rax, r9
sub rax, r15
add rax, 3
shr rax, 2
add r8, rax
inc r8
lea rcx, [rsp + 0x340]
mov rdx, rdi
call fcn.1400447f3
mov r12, qword [rsp + 0x340]
mov r9, qword [rsp + 0xb8]
jmp 0x140016b5d
add eax, 0xffff0000
mov r14d, eax
shr r14d, 0xa
or r14d, 0xd800
and eax, 0x3ff
or eax, 0xdc00
mov r13d, eax
jmp 0x140016b4b
lea rax, [rsp + 0x348]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x260], xmm0
mov r8, qword [rsp + 0xc0]
test r8, r8
je 0x140016c13
cmp qword [rsp + 0xc8], 0
je 0x140016c13
mov rcx, qword [0x140061c40]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0xc0], r12
movaps xmm0, xmmword [rsp + 0x260]
movups xmmword [rsp + 0xc8], xmm0
movzx eax, word [rsp + 0x16a]
mov word [rsp + 0x110], ax
cmp byte [rsp + 0x16c], 0
je 0x140016c8f
mov ecx, 0x10
mov edx, 8
call fcn.140003ac0
test rax, rax
je 0x14001799e
mov rdi, rax
mov eax, 1
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x140016d0a
lock dec qword [rax]
lea rbx, [0x14004ef28]
je 0x140016cf3
jmp 0x140016d1a
cmp byte [rsp + 0x16d], 0
je 0x140016d2a
mov rcx, qword [rsp + 0x160]
call qword [sym.imp.crypt32.dll_CertDuplicateStore]
mov rbx, rax
mov ecx, 0x18
mov edx, 8
call fcn.140003ac0
test rax, rax
je 0x1400179a9
mov rdi, rax
mov eax, 1
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rbx
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x140016d13
lock dec qword [rax]
lea rbx, [0x14004ef58]
jne 0x140016d1a
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe0]
call fcn.14000d8aa
jmp 0x140016d1a
lea rbx, [0x14004ef28]
jmp 0x140016d1a
lea rbx, [0x14004ef58]
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], rbx
xor ebp, ebp
cmp byte [rsp + 0x110], 0
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xf8]
mov ebx, 0
cmovne rbx, rax
test rax, rax
cmove rbx, rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1a0], xmm0
mov qword [rsp + 0x260], 8
movups xmmword [rsp + 0x268], xmm0
test rdx, rdx
je 0x140016de6
mov r8, qword [rsp + 0x108]
lea rdi, [rsp + 0x340]
mov rcx, rdi
call fcn.140022a49
mov r12, qword [rdi + 8]
test r12, r12
je 0x140016e02
mov r13, qword [rsp + 0x350]
mov esi, dword [rsp + 0x340]
xor r15d, r15d
lea rdi, [rsp + 0x260]
mov rcx, rdi
xor edx, edx
call fcn.1400227f0
mov r14, qword [rdi]
mov rbp, qword [rdi + 0x10]
mov rax, rbp
shl rax, 4
mov dword [r14 + rax], esi
mov dword [r14 + rax + 4], 0x12
mov qword [r14 + rax + 8], r13
inc rbp
mov qword [rdi + 0x10], rbp
jmp 0x140016e0e
mov qword [rsp + 0x348], 0
mov r14d, 8
xor r12d, r12d
mov r15b, 1
xor ebp, ebp
jmp 0x140016e0e
mov r14d, 8
mov r15b, 1
xor r12d, r12d
xor eax, eax
lea rdx, [rsp + 0x480]
mov dword [rdx], eax
mov dword [rdx + 4], ebp
mov qword [rdx + 8], r14
xorps xmm0, xmm0
lea rcx, [rsp + 0x70]
movaps xmmword [rcx], xmm0
movabs rbp, 0x100000000
lea rdi, [rsp + 0x118]
mov qword [rdi], rbp
mov qword [rdi + 8], rcx
lea rbp, [rsp + 0x20c]
mov dword [rbp], eax
mov rcx, qword [rsp + 0xa8]
movups xmm0, xmmword [rcx + 0x10]
lea rcx, [rsp + 0x80]
movups xmmword [rcx], xmm0
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], rdi
lea rbp, [rsp + 0x1a0]
mov qword [rsp + 0x40], rbp
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x58], 0
xor edx, edx
mov r8, rbx
mov r9d, 0x9819c
call qword [sym.imp.secur32.dll_InitializeSecurityContextW]
mov ebx, eax
cmp eax, 0x90312
jne 0x140016ed5
mov r13, qword [rsp + 0x1a0]
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0x1e0], rax
mov ebp, dword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
jmp 0x140016ee0
mov r13, rbx
shl r13, 0x20
or r13, 2
test r15b, r15b
jne 0x140016f06
mov r8, qword [rsp + 0x350]
cmp r12, 0x11
jb 0x140016ef7
mov r8, qword [r8 - 8]
mov rcx, qword [0x140061c40]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x268], 0
je 0x140016f23
mov rcx, qword [0x140061c40]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
cmp ebx, 0x90312
mov r12, qword [rsp + 0xa0]
jne 0x140016f57
cmp qword [rsp + 0xe8], 0
je 0x140016f81
mov rcx, qword [rsp + 0xf0]
call qword [sym.imp.crypt32.dll_CertDuplicateStore]
mov r14, rax
mov r15d, 1
jmp 0x140016f84
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.ws2_32.dll_closesocket]
mov rcx, qword [rsp + 0xa8]
lock dec qword [rcx]
jne 0x1400173f6
call fcn.14000db58
jmp 0x1400173f6
xor r15d, r15d
mov rdi, qword [rsp + 0xc0]
test rdi, rdi
je 0x140016fc2
mov rbx, qword [rsp + 0xd0]
mov rcx, rbx
call fcn.140022012
mov qword [rsp + 0x1b8], rdx
lea r8, [rbx + rbx]
mov rcx, rax
mov qword [rsp + 0x148], rax
mov rdx, rdi
call fcn.1400356d0
jmp 0x140016fcc
xor eax, eax
mov qword [rsp + 0x148], rax
mov al, byte [rsp + 0x110]
mov cl, byte [rsp + 0x111]
mov rdi, qword [rsp + 0xd8]
test rdi, rdi
mov byte [rsp + 0x67], al
mov byte [rsp + 0x66], cl
je 0x14001700b
lock inc qword [rdi]
jle 0x1400179a5
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x1b0], rax
jmp 0x14001700b
mov ebp, ebp
mov rcx, rbp
call fcn.14001b800
mov qword [rsp + 0x1c0], rdx
mov qword [rsp + 0x1d0], rax
mov rcx, rax
mov rdx, rsi
mov qword [rsp + 0x1c8], rbp
mov r8, rbp
call fcn.1400356d0
mov rcx, rsi
call qword [sym.imp.secur32.dll_FreeContextBuffer]
mov rbp, qword [rsp + 0xf8]
test rbp, rbp
mov qword [rsp + 0x1d8], rdi
je 0x1400170ae
mov rcx, qword [rsp + 0x108]
test rcx, rcx
je 0x1400170b5
movabs rax, 0x555555555555556
xor edi, edi
cmp rcx, rax
setb al
jae 0x1400179ba
mov qword [rsp + 0x98], rcx
lea rcx, [rcx*8]
mov dil, al
shl rdi, 3
lea rsi, [rcx + rcx*2]
test rsi, rsi
je 0x1400170bf
mov rcx, rsi
mov rdx, rdi
call fcn.140003ac0
mov rdx, rax
jmp 0x1400170c2
xor edx, edx
jmp 0x140017180
mov edx, 8
jmp 0x140017180
mov rdx, rdi
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0x138], r15
mov qword [rsp + 0x140], r14
test rdx, rdx
je 0x1400179c1
xor r15d, r15d
mov r12, qword [rsp + 0x98]
mov qword [rsp + 0x1e8], r13
cmp rsi, r15
je 0x140017158
lea rax, [rbp + 0x18]
mov qword [rsp + 0xb8], rax
mov rdi, qword [rbp]
mov rbp, qword [rbp + 0x10]
mov rcx, rbp
mov rbx, rdx
call fcn.14001b800
mov r14, rax
mov r13, rdx
mov rcx, rax
mov rdx, rdi
mov r8, rbp
call fcn.1400356d0
mov rdx, rbx
mov qword [rbx + r15], r14
mov qword [rbx + r15 + 8], r13
mov qword [rbx + r15 + 0x10], rbp
add r15, 0x18
mov rbp, qword [rsp + 0xb8]
mov r13, qword [rsp + 0x1e8]
dec r12
jne 0x1400170f6
mov r12, qword [rsp + 0xa0]
mov r14, qword [rsp + 0x140]
mov r15, qword [rsp + 0x138]
mov rbx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x98]
xorps xmm0, xmm0
lea rdi, [rsp + 0x360]
movups xmmword [rdi + 0x48], xmm0
movups xmmword [rdi + 0x68], xmm0
mov rax, qword [rsp + 0x1c0]
mov qword [rdi + 0x88], rax
mov rax, qword [rsp + 0x1c8]
mov qword [rdi + 0x90], rax
mov qword [rdi + 0xa8], rdx
mov qword [rdi + 0xb0], rcx
mov qword [rdi + 0xb8], rcx
movups xmm1, xmmword [rsp + 0x118]
movups xmmword [rdi + 0xc5], xmm1
mov eax, dword [rsp + 0x127]
mov dword [rdi + 0xd4], eax
mov rax, qword [rsp + 0xa8]
mov qword [rdi - 0x20], rax
mov qword [rdi - 0x18], r13
mov rax, qword [rsp + 0x1e0]
mov qword [rdi - 0x10], rax
mov qword [rdi - 8], r15
mov qword [rdi], r14
mov rax, qword [rsp + 0x148]
mov qword [rdi + 8], rax
mov rax, qword [rsp + 0x1b8]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rbx
mov rax, qword [rsp + 0x1d8]
mov qword [rdi + 0x20], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rdi + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov qword [rdi + 0x30], rax
mov eax, 1
mov qword [rdi + 0x38], rax
mov qword [rdi + 0x40], rax
xor ecx, ecx
mov qword [rdi + 0x58], rcx
mov qword [rdi + 0x60], rax
mov qword [rdi + 0x78], rcx
mov rax, qword [rsp + 0x1d0]
mov qword [rdi + 0x80], rax
movups xmmword [rdi + 0x98], xmm0
mov dword [rdi + 0xc0], 0x10000
mov byte [rdi + 0xc4], 0
mov al, byte [rsp + 0x67]
mov byte [rdi + 0xd8], al
mov al, byte [rsp + 0x66]
mov byte [rdi + 0xd9], al
mov word [rdi + 0xda], 0x100
lea rbx, [rsp + 0x80]
lea rdx, [rsp + 0x340]
mov rcx, rbx
call fcn.14000db96
cmp dword [rbx], 2
jne case.default.0x1400172dd
mov r13, qword [rsp + 0x88]
mov eax, r13d
and eax, 3
lea rcx, [0x1400179cc]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov al, byte [r13 + 0x10]
jmp 0x14001735b
mov r13, qword [rsp + 0x340]
mov rbp, qword [rsp + 0x358]
lea rax, [rsp + 0x348]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x70], xmm0
lea rbx, [rsp + 0x260]
mov r8d, 0xe0
mov rcx, rbx
mov rdx, rdi
call fcn.1400356d0
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x180], xmm0
lea rcx, [rsp + 0x490]
mov r8d, 0xe0
mov rdx, rbx
call fcn.1400356d0
mov dil, 1
jmp 0x140017428
mov al, byte [r13 + 0xf]
jmp 0x14001735b
mov rcx, r13
shr rcx, 0x20
call fcn.140024680
cmp al, 0xd
jne 0x1400173e9
lea rbx, [rsp + 0x88]
mov r13, qword [rsp + 0x340]
mov rbp, qword [rsp + 0x358]
lea rax, [rsp + 0x348]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x260]
mov r8d, 0xe0
mov rdx, rdi
call fcn.1400356d0
mov rcx, rbx
call fcn.14000e8b8
cmp rbp, 2
je 0x1400173fb
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x340]
lea rdx, [rsp + 0x260]
mov r8d, 0xe0
call fcn.1400356d0
jmp 0x1400173fb
lea rcx, [rsp + 0x340]
call fcn.14000e922
mov ebp, 2
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x180], xmm0
lea rcx, [rsp + 0x490]
lea rdx, [rsp + 0x340]
mov r8d, 0xe0
call fcn.1400356d0
xor edi, edi
mov r8, qword [rsp + 0xc0]
test r8, r8
je 0x14001744f
cmp qword [rsp + 0xc8], 0
je 0x14001744f
mov rcx, qword [0x140061c40]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x140017477
lock dec qword [rax]
jne 0x140017477
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe0]
call fcn.14000d8aa
cmp qword [rsp + 0xe8], 0
je 0x140017492
mov rcx, qword [rsp + 0xf0]
xor edx, edx
call qword [sym.imp.crypt32.dll_CertCloseStore]
lea rcx, [rsp + 0xf8]
call fcn.14000d925
lea rcx, [rsp + 0x210]
call fcn.14000d7e2
test dil, dil
je 0x14001759b
movaps xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x170], xmm0
lea rdi, [rsp + 0x570]
lea rdx, [rsp + 0x490]
mov r8d, 0xe0
mov rcx, rdi
call fcn.1400356d0
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x190], xmm0
lea rbx, [rsp + 0x750]
mov r8d, 0xe0
mov rcx, rbx
mov rdx, rdi
call fcn.1400356d0
lea rcx, [rsp + 0x670]
mov qword [rcx - 0x20], r13
movaps xmm0, xmmword [rsp + 0x190]
movups xmmword [rcx - 0x18], xmm0
mov qword [rcx - 8], rbp
mov r8d, 0xe0
mov rdx, rbx
call fcn.1400356d0
mov rax, qword [r12 + 0x138]
lea rdx, [rsp + 0x340]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [r12 + 0x128]
movaps xmmword [rdx], xmm0
lea rdi, [rsp + 0x260]
mov rcx, rdi
call fcn.140019120
mov rax, qword [rdi]
cmp rax, 2
jne 0x14001774f
mov rax, qword [rsp + 0x268]
mov rcx, qword [rsp + 0x68]
mov qword [rcx], 1
mov qword [rcx + 8], rax
mov qword [rcx + 0xa8], 2
jmp 0x1400177cd
movaps xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x170], xmm0
lea rcx, [rsp + 0x570]
lea rdx, [rsp + 0x490]
mov r8d, 0xe0
call fcn.1400356d0
cmp rbp, 2
je 0x1400175f7
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x260], xmm0
lea rcx, [rsp + 0x340]
lea rdx, [rsp + 0x570]
mov r8d, 0xe0
call fcn.1400356d0
mov rbx, qword [rsp + 0x68]
movaps xmm0, xmmword [rsp + 0x260]
movaps xmmword [rsp + 0x190], xmm0
lea rcx, [rsp + 0x750]
lea rdx, [rsp + 0x340]
mov r8d, 0xe0
call fcn.1400356d0
mov ecx, 0x100
mov edx, 8
call fcn.140003ac0
test rax, rax
je 0x140017990
mov rdi, rax
mov qword [rax], r13
movaps xmm0, xmmword [rsp + 0x190]
movups xmmword [rax + 8], xmm0
mov qword [rax + 0x18], rbp
mov rcx, rax
add rcx, 0x20
lea rdx, [rsp + 0x750]
mov r8d, 0xe0
call fcn.1400356d0
lea r8, [0x14004db38]
mov cl, 0x27
mov rdx, rdi
call fcn.14002c2a0
mov qword [rbx], 1
mov qword [rbx + 8], rax
mov qword [rbx + 0xa8], 2
lea rcx, [rsp + 0x150]
call fcn.140017b43
cmp qword [rsp + 0x1f8], 0
je 0x1400176c5
mov r8, qword [rsp + 0x1f0]
mov rcx, qword [0x140061c40]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [r12 + 8], 0
je 0x1400176e0
mov r8, qword [r12]
mov rcx, qword [0x140061c40]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [r12 + 0x20], 0
je 0x1400176fc
mov r8, qword [r12 + 0x18]
mov rcx, qword [0x140061c40]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [r12 + 0x30]
mov rdx, qword [r12 + 0x40]
call fcn.1400139cf
cmp qword [r12 + 0x38], 0
je 0x140017727
mov r8, qword [r12 + 0x30]
mov rcx, qword [0x140061c40]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
add r12, 0x48
mov rcx, r12
call fcn.140013a31
movaps xmm6, xmmword [rsp + 0x830]
add rsp, 0x848
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movups xmm0, xmmword [rsp + 0x268]
lea rdx, [rsp + 0x490]
mov qword [rdx], rax
movups xmmword [rdx + 8], xmm0
mov rcx, qword [rsp + 0x6a0]
call fcn.14002fd80
mov qword [rsp + 0x570], rax
test rax, rax
mov rsi, qword [rsp + 0x68]
je 0x140017792
lea rcx, [rsp + 0x570]
call fcn.14000e8b8
mov rdi, qword [rsp + 0x1f0]
mov r8, qword [rsp + 0x200]
lea rcx, [rsp + 0x650]
mov rdx, rdi
call fcn.140017b70
test rax, rax
je 0x1400177df
mov qword [rsi], 1
mov qword [rsi + 8], rax
mov qword [rsi + 0xa8], 2
lea rcx, [rsp + 0x650]
call fcn.14000e922
jmp 0x140017696
lea rsi, [r12 + 0x128]
lea rbx, [rsp + 0x340]
lea rdx, [rsp + 0x650]
mov r8d, 0x100
mov rcx, rbx
call fcn.1400356d0
mov rax, qword [rsi + 0x10]
lea r8, [rsp + 0xc0]
mov qword [r8 + 0x10], rax
movups xmm0, xmmword [rsi]
movaps xmmword [r8], xmm0
lea rbp, [rsp + 0x750]
mov rcx, rbp
mov rdx, rbx
call fcn.140017eb4
mov r8, qword [r12 + 0xf0]
mov r9, qword [r12 + 0xf8]
movups xmm0, xmmword [r12 + 0x100]
movups xmmword [rsp + 0x20], xmm0
lea rbx, [rsp + 0x260]
mov rcx, rbx
mov rdx, rbp
call fcn.14001217a
mov rbx, qword [rbx + 0xa8]
cmp rbx, 2
jne 0x1400178a9
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x4a0], rax
movups xmm0, xmmword [rsp + 0x260]
movaps xmmword [rsp + 0x490], xmm0
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x10], rax
movups xmmword [rcx], xmm0
mov qword [rcx + 0xa8], 2
jmp 0x140017696
lea r14, [rsp + 0x490]
lea rbp, [rsp + 0x260]
mov r8d, 0xa8
mov rcx, r14
mov rdx, rbp
call fcn.1400356d0
movups xmm0, xmmword [rbp + 0xb0]
movaps xmmword [rsp + 0x210], xmm0
lea rbp, [rsp + 0x570]
mov r8d, 0xa8
mov rcx, rbp
mov rdx, r14
call fcn.1400356d0
lea r14, [rsp + 0x340]
mov r8d, 0x140
mov rcx, r14
mov rdx, r12
call fcn.1400356d0
lea rsi, [rsp + 0x260]
mov r8d, 0xa8
mov rcx, rsi
mov rdx, rbp
call fcn.1400356d0
mov qword [rsi + 0xa8], rbx
movaps xmm0, xmmword [rsp + 0x210]
movups xmmword [rsi + 0xb0], xmm0
mov rcx, qword [rsp + 0x68]
mov rdx, r14
mov r8, rsi
call fcn.140012d50
lea rcx, [rsp + 0x150]
call fcn.140017b43
cmp qword [rsp + 0x1f8], 0
je 0x140017733
mov rcx, qword [0x140061c40]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x140017733
mov ecx, 8
jmp 0x1400179ae
mov ecx, 3
mov edx, 1
jmp 0x1400179b3
mov ecx, 0x100
jmp 0x1400179ae
mov ecx, 0x20
jmp 0x1400179ae
mov ecx, 0x10
jmp 0x1400179ae
ud2
mov ecx, 0x18
mov edx, 8
call fcn.140042f60
ud2
call fcn.140003b60
ud2
mov rcx, rsi
mov rdx, rdi
jmp 0x1400179b3