Function at 0x1400c3f31
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x398
mov rsi, r9
mov r15, r8
mov r12, rdx
mov rbx, rcx
movzx r14d, byte [r9]
test r14d, r14d
je 0x1400c3f68
cmp r14d, 1
jne 0x1400c3f6a
mov al, byte [rsi + 1]
mov byte [rsp + 0x35], al
jmp 0x1400c3f68
jmp 0x1400c3fa9
call fcn.14006729e
mov r13, rax
mov rax, qword [rsi + 8]
lea rdx, [rax + 0x18]
mov r10, qword [rax]
mov r8, qword [rax + 8]
mov r9, qword [rax + 0x10]
lea rdi, [rsp + 0x58]
mov rcx, rdi
call qword [r10]
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [r13 + 0x10], xmm1
mov qword [rsp + 0xb0], r13
movups xmmword [r13], xmm0
lea rdx, [rsi + 0x28]
mov rax, qword [rsi + 0x10]
mov r8, qword [rsi + 0x18]
mov r9, qword [rsi + 0x20]
lea rcx, [rsp + 0x58]
call qword [rax]
mov r13, qword [r12 + 0xb8]
test r13, r13
je 0x1400c3fd8
lock inc qword [r13]
jle 0x1400c48cd
movups xmm0, xmmword [rsp + 0x58]
movups xmm1, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x2a0], xmm1
movaps xmmword [rsp + 0x290], xmm0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movaps xmmword [rsp + 0x160], xmm2
movaps xmmword [rsp + 0x150], xmm1
movaps xmmword [rsp + 0x140], xmm0
mov rsi, qword [r12 + 0x30]
test rsi, rsi
je 0x1400c4038
lock inc qword [rsi]
jle 0x1400c48cd
mov rax, qword [r12 + 0x38]
mov qword [rsp + 0xc8], rax
jmp 0x1400c4038
mov rdi, qword [r12 + 0xb8]
test rdi, rdi
je 0x1400c404f
lock inc qword [rdi]
jle 0x1400c48cd
mov rbp, qword [r12 + 0x30]
test rbp, rbp
mov qword [rsp + 0x138], r15
je 0x1400c407b
lock inc qword [rbp]
jle 0x1400c48cd
mov rax, qword [r12 + 0x38]
mov qword [rsp + 0xc0], rax
jmp 0x1400c407b
mov al, byte [r12 + 0x42]
mov byte [rsp + 0x43], al
mov cl, byte [r12 + 0x40]
mov r9, qword [r12]
mov r10, qword [r12 + 8]
mov r11, qword [r12 + 0x10]
mov rax, qword [r12 + 0x18]
mov qword [rsp + 0x130], rax
mov dl, byte [r12 + 0x41]
mov r8b, byte [r12 + 0x2c]
mov eax, dword [r12 + 0x20]
mov dword [rsp + 0x54], eax
mov eax, dword [r12 + 0x24]
mov dword [rsp + 0x50], eax
mov eax, dword [r12 + 0x28]
mov dword [rsp + 0x4c], eax
mov al, byte [r12 + 0xc2]
mov r15, qword [r12 + 0x68]
mov qword [rsp + 0x128], r15
lock inc qword [r15]
jle 0x1400c48cd
mov qword [rsp + 0x110], r11
mov qword [rsp + 0x118], r10
mov qword [rsp + 0x120], r9
mov byte [rsp + 0x3f], r8b
mov byte [rsp + 0x40], dl
mov byte [rsp + 0x41], cl
mov byte [rsp + 0x42], al
cmp qword [r12 + 0x48], 0
je 0x1400c4133
mov rcx, qword [r12 + 0x50]
call sub.crypt32.dll_CertDuplicateCertificateContext
mov qword [rsp + 0xb8], rax
mov r15d, 1
jmp 0x1400c4136
xor r15d, r15d
mov rcx, qword [r12 + 0x58]
call sub.crypt32.dll_CertDuplicateStore
mov qword [rsp + 0x100], rax
mov al, byte [r12 + 0x64]
mov byte [rsp + 0x3e], al
mov al, byte [r12 + 0x65]
mov byte [rsp + 0x3d], al
mov al, byte [r12 + 0x60]
mov byte [rsp + 0x3c], al
mov al, byte [r12 + 0x61]
mov byte [rsp + 0x3b], al
mov al, byte [r12 + 0x62]
mov byte [rsp + 0x3a], al
mov al, byte [r12 + 0x63]
mov byte [rsp + 0x39], al
mov rax, qword [r12 + 0xa8]
mov qword [rsp + 0x108], rax
lock inc qword [rax]
jle 0x1400c48cd
mov qword [rsp + 0xe0], rbp
mov qword [rsp + 0xe8], r13
mov al, byte [r12 + 0xb0]
mov byte [rsp + 0x38], al
mov eax, dword [r12 + 0x78]
mov dword [rsp + 0x44], eax
mov rax, qword [r12 + 0x70]
mov qword [rsp + 0xd0], rax
mov al, byte [r12 + 0xb1]
mov byte [rsp + 0x37], al
mov al, 2
cmp byte [r12 + 0xa0], 2
je 0x1400c4212
lea rdx, [r12 + 0x98]
mov rax, qword [r12 + 0x80]
mov r8, qword [r12 + 0x88]
mov r9, qword [r12 + 0x90]
lea rcx, [rsp + 0x58]
call qword [rax]
mov al, byte [r12 + 0xa0]
movups xmm0, xmmword [rsp + 0x58]
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [rsp + 0x260], xmm1
movups xmmword [rsp + 0x250], xmm0
movzx ebp, byte [rsp + 0x140]
test ebp, ebp
mov dword [rsp + 0x48], r14d
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0xd8], r15
mov byte [rsp + 0x36], al
je 0x1400c4298
cmp ebp, 2
jne 0x1400c429a
call fcn.14006729e
mov rsi, rax
mov rax, qword [rsp + 0x148]
lea rdx, [rax + 0x18]
mov r10, qword [rax]
mov r8, qword [rax + 8]
mov r9, qword [rax + 0x10]
lea rdi, [rsp + 0x58]
mov rcx, rdi
call qword [r10]
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
jmp 0x1400c42a1
jmp 0x1400c42a1
mov al, byte [rsp + 0x141]
lea rdi, [rsp + 0x320]
mov byte [rdi - 0x10], bpl
mov byte [rdi - 0xf], al
mov qword [rdi - 8], rsi
lea rdx, [rsp + 0x168]
mov rax, qword [rdx - 0x18]
mov r8, qword [rdx - 0x10]
mov r9, qword [rdx - 8]
mov rcx, rdi
call qword [rax]
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
lea rsi, [rsp + 0x170]
movaps xmmword [rsi + 0x10], xmm1
movaps xmmword [rsi], xmm0
lea rdx, [rsp + 0x58]
mov byte [rdx], 3
xor eax, eax
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x30], rax
lea rdi, [rsp + 0x1b8]
lea r8, [rsp + 0x310]
mov rcx, rdi
call fcn.140065ad7
lea r14, [rsp + 0x2b0]
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call fcn.1400659a3
mov r13b, byte [r14]
mov bpl, byte [r14 + 1]
mov r15b, byte [r14 + 2]
mov al, 4
cmp r13b, 4
je 0x1400c445f
lea rdx, [rsp + 0x2b3]
lea rcx, [rsp + 0x5b]
mov byte [rcx - 3], r13b
mov byte [rcx - 2], bpl
mov byte [rcx - 1], r15b
mov r8d, 0x55
call sub.msvcrt.dll_memcpy
lea rdx, [0x1401be800]
lea rdi, [rsp + 0x170]
mov r8d, 1
mov rcx, rdi
call fcn.14002ad65
lea r14, [rsp + 0x1b8]
mov rcx, r14
mov rdx, rdi
call fcn.140062e4f
mov rsi, qword [r14]
mov r14b, byte [r14 + 8]
test rsi, rsi
je 0x1400c4449
mov cl, byte [rsp + 0x1c1]
movups xmm0, xmmword [rsp + 0x1d0]
movups xmmword [rsp + 0x17e], xmm0
movups xmm0, xmmword [rsp + 0x1c2]
movaps xmmword [rsp + 0x170], xmm0
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x1400c43f8
lea rdi, [rsp + 0xa0]
mov rdx, qword [rdi - 0x10]
mov r8, qword [rdi - 8]
mov ebp, ecx
mov rcx, rdi
call qword [rax + 0x18]
mov ecx, ebp
mov r13b, byte [rdi - 0x48]
mov bpl, byte [rdi - 0x47]
mov r15b, byte [rdi - 0x46]
mov qword [rsp + 0x88], rsi
mov byte [rsp + 0x90], r14b
mov byte [rsp + 0x91], cl
movaps xmm0, xmmword [rsp + 0x170]
movups xmmword [rsp + 0x92], xmm0
movups xmm0, xmmword [rsp + 0x17e]
movups xmmword [rsp + 0xa0], xmm0
lea rcx, [rsp + 0x1b8]
mov r8d, 0x55
lea rdx, [rsp + 0x5b]
call sub.msvcrt.dll_memcpy
jmp 0x1400c445c
lea rcx, [rsp + 0x58]
call fcn.14006594b
mov r13b, 4
mov bpl, 2
mov r15d, r14d
mov eax, r13d
lea rcx, [rsp + 0x5b]
mov byte [rcx - 3], al
mov byte [rcx - 2], bpl
mov byte [rcx - 1], r15b
lea rdx, [rsp + 0x1b8]
mov r8d, 0x55
call sub.msvcrt.dll_memcpy
lea rsi, [rsp + 0x1b8]
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.140062c58
cmp byte [rsi], 3
je 0x1400c48cf
lea rdi, [rsp + 0x58]
lea rax, [rsp + 0x1b8]
mov ecx, 0xb
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
movups xmm0, xmmword [rsp + 0x24c]
movups xmm1, xmmword [rsp + 0x25c]
movaps xmmword [rsp + 0x2b0], xmm0
movaps xmmword [rsp + 0x2c0], xmm1
mov ecx, dword [rsp + 0x26c]
mov dword [rsp + 0x2d0], ecx
movaps xmm0, xmmword [rsp + 0x140]
movaps xmm1, xmmword [rsp + 0x150]
movaps xmm2, xmmword [rsp + 0x160]
movups xmmword [rax + 5], xmm0
movups xmmword [rax + 0x15], xmm1
movups xmmword [rax + 0x25], xmm2
mov r14, qword [r12 + 0x30]
test r14, r14
je 0x1400c452a
lock inc qword [r14]
jle 0x1400c48cd
mov r15, qword [r12 + 0x30]
mov rbp, qword [r12 + 0x38]
jmp 0x1400c452d
xor r15d, r15d
movaps xmm0, xmmword [rsp + 0x290]
movaps xmm1, xmmword [rsp + 0x2a0]
movaps xmmword [rsp + 0x280], xmm1
movaps xmmword [rsp + 0x270], xmm0
movaps xmm0, xmmword [rsp + 0x2b0]
movaps xmm1, xmmword [rsp + 0x2c0]
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x1a0], xmm1
mov eax, dword [rsp + 0x2d0]
mov dword [rsp + 0x1b0], eax
movups xmm0, xmmword [rsp + 0x1b8]
movups xmm1, xmmword [rsp + 0x1c8]
movups xmm2, xmmword [rsp + 0x1d8]
movaps xmmword [rsp + 0x210], xmm0
movaps xmmword [rsp + 0x220], xmm1
movaps xmmword [rsp + 0x230], xmm2
mov rax, qword [rsp + 0x1e5]
mov qword [rsp + 0x23d], rax
lea rdi, [rsp + 0x340]
lea rsi, [rsp + 0x58]
mov ecx, 0xb
rep movsq qword [rdi], qword [rsi]
mov dil, byte [r12 + 0xc1]
test r15, r15
je 0x1400c45ee
lock inc qword [r15]
jle 0x1400c48cd
mov r12, qword [r12 + 0x38]
jmp 0x1400c45ee
xor eax, eax
mov cl, byte [rsp + 0x43]
test cl, cl
setne al
cmp cl, 2
mov esi, 2
cmovne esi, eax
mov r8d, 0x100
mov rcx, rbx
mov rdx, qword [rsp + 0x138]
call sub.msvcrt.dll_memcpy
mov qword [rbx + 0x100], r15
mov qword [rbx + 0x108], r12
mov byte [rbx + 0x110], dil
mov eax, dword [rsp + 0x48]
mov byte [rbx + 0x118], al
mov al, byte [rsp + 0x35]
mov byte [rbx + 0x119], al
mov rax, qword [rsp + 0xb0]
mov qword [rbx + 0x120], rax
movaps xmm0, xmmword [rsp + 0x270]
movaps xmm1, xmmword [rsp + 0x280]
movups xmmword [rbx + 0x128], xmm0
movups xmmword [rbx + 0x138], xmm1
mov rax, qword [rsp + 0xe8]
mov qword [rbx + 0x148], rax
mov qword [rbx + 0x150], 0
mov qword [rbx + 0x158], 6
mov rax, qword [rsp + 0xd8]
mov qword [rbx + 0x160], rax
mov rax, qword [rsp + 0xb8]
mov qword [rbx + 0x168], rax
mov rax, qword [rsp + 0x100]
mov qword [rbx + 0x170], rax
mov al, byte [rsp + 0x3c]
mov byte [rbx + 0x178], al
mov al, byte [rsp + 0x3b]
mov byte [rbx + 0x179], al
mov al, byte [rsp + 0x3a]
mov byte [rbx + 0x17a], al
mov al, byte [rsp + 0x39]
mov byte [rbx + 0x17b], al
mov al, byte [rsp + 0x3e]
mov byte [rbx + 0x17c], al
mov al, byte [rsp + 0x3d]
mov byte [rbx + 0x17d], al
mov rax, qword [rsp + 0x128]
mov qword [rbx + 0x180], rax
mov rax, qword [rsp + 0xd0]
mov qword [rbx + 0x188], rax
mov eax, dword [rsp + 0x44]
mov dword [rbx + 0x190], eax
mov eax, dword [rsp + 0x1b0]
mov dword [rbx + 0x1b4], eax
movaps xmm0, xmmword [rsp + 0x190]
movaps xmm1, xmmword [rsp + 0x1a0]
movups xmmword [rbx + 0x1a4], xmm1
movups xmmword [rbx + 0x194], xmm0
mov al, byte [rsp + 0x36]
mov byte [rbx + 0x1b8], al
mov rax, qword [rsp + 0x108]
mov qword [rbx + 0x1c0], rax
mov al, byte [rsp + 0x38]
mov byte [rbx + 0x1c8], al
mov al, byte [rsp + 0x37]
mov byte [rbx + 0x1c9], al
mov rax, qword [rsp + 0x120]
mov qword [rbx + 0x1d0], rax
mov rax, qword [rsp + 0x118]
mov qword [rbx + 0x1d8], rax
mov rax, qword [rsp + 0x110]
mov qword [rbx + 0x1e0], rax
mov rax, qword [rsp + 0x130]
mov qword [rbx + 0x1e8], rax
mov eax, dword [rsp + 0x54]
mov dword [rbx + 0x1f0], eax
mov eax, dword [rsp + 0x50]
mov dword [rbx + 0x1f4], eax
mov eax, dword [rsp + 0x4c]
mov dword [rbx + 0x1f8], eax
mov al, byte [rsp + 0x3f]
mov byte [rbx + 0x1fc], al
mov rax, qword [rsp + 0xe0]
mov qword [rbx + 0x200], rax
mov rax, qword [rsp + 0xc0]
mov qword [rbx + 0x208], rax
mov al, byte [rsp + 0x41]
mov byte [rbx + 0x210], al
mov al, byte [rsp + 0x40]
mov byte [rbx + 0x211], al
mov byte [rbx + 0x212], sil
mov rax, qword [rsp + 0x23d]
mov qword [rbx + 0x240], rax
movaps xmm0, xmmword [rsp + 0x210]
movaps xmm1, xmmword [rsp + 0x220]
movaps xmm2, xmmword [rsp + 0x230]
movups xmmword [rbx + 0x233], xmm2
movups xmmword [rbx + 0x223], xmm1
movups xmmword [rbx + 0x213], xmm0
lea rdi, [rbx + 0x248]
lea rsi, [rsp + 0x340]
mov ecx, 0xb
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rsp + 0xf0]
mov qword [rbx + 0x2a0], rax
mov rax, qword [rsp + 0xf8]
mov qword [rbx + 0x2a8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rbx + 0x2b0], rax
mov al, byte [rsp + 0x42]
mov byte [rbx + 0x2b8], al
mov byte [rbx + 0x2b9], al
mov qword [rbx + 0x2c0], r14
mov qword [rbx + 0x2c8], rbp
add rsp, 0x398
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
movzx eax, word [rsp + 0x1b9]
lea r8, [rsp + 0x58]
mov word [r8], ax
lea rax, [0x1401796c0]
mov qword [rsp + 0x20], rax
lea rcx, str.domain_is_valid_Uri
lea r9, [0x1401787d0]
mov edx, 0x13
call fcn.14003ead0
int3