Function at 0x140003950
Capabilities:
Check if file exists
Check internet connectivity via wininet
Parse url

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x140
mov rax, qword [0x140043008]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov r15, r9
mov r13, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x88], 0
xor r12b, r12b
test r9, r9
je 0x14001019f
mov qword [r9], 0
test rdx, rdx
je 0x14001019f
mov rcx, rdx
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x14001019f
lfence
lea r14, [rdi + 0xb0]
mov rdx, rbx
mov rcx, r14
call fcn.140003d20
lfence
mov rdx, rbx
lea rcx, [rsp + 0x110]
call fcn.140006850
cmp qword [rax + 0x18], 8
jb 0x1400039ec
mov rax, qword [rax]
lea rcx, [rdi + 0xb8]
mov rdx, rax
call fcn.140003d20
lea rcx, [rsp + 0x110]
call fcn.14000704c
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rsp + 0xa0]
call sub.VCRUNTIME140.dll_memset
mov dword [rsp + 0xa0], 0x68
mov dword [rsp + 0xc0], 0x824
mov dword [rsp + 0xf0], 0x824
mov rcx, qword [r14]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
lea r9, [rsp + 0xa0]
xor r8d, r8d
mov edx, eax
mov rcx, qword [r14]
call qword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x140003ab1
lea rcx, [rdi + 0xd0]
mov r8d, dword [rsp + 0xc0]
add r8d, r8d
mov rdx, qword [rsp + 0xb8]
call fcn.140001680
mov esi, eax
test eax, eax
js 0x140003c61
mov eax, dword [rsp + 0xc0]
mov dword [rdi + 0xdc], eax
mov eax, dword [rsp + 0xb4]
cmp eax, 0xb
je 0x14000ffd7
cmp eax, 5
je 0x14000ffd7
xor r12b, r12b
cmp qword [rdi + 0x70], 0
je 0x14000ffdf
cmp qword [rdi + 0x68], 0
je 0x14000ffe9
mov al, 1
test al, al
je 0x14000ffdf
xor esi, esi
cmp qword [r14], rsi
je 0x140003c3c
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x68]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
cmp dword [rdi + 0x188], esi
je 0x14000fff0
nop dword [rax]
xor r12d, r12d
mov eax, 3
mov word [rsp + 0x68], ax
mov dword [rsp + 0x70], 0x402
cmp dword [rdi + 0x1a8], 5
je 0x1400100b4
lea rcx, [rdi - 0x28]
lea r8, [rsp + 0x50]
mov rdx, qword [r14]
call fcn.140001f58
mov esi, eax
test eax, eax
js 0x140010099
mov rcx, r13
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jne 0x1400100c1
lfence
mov byte [rdi + 0x16a], 0
cmp dword [rdi + 0x188], 0
je 0x14001018c
mov r8d, 1
mov edx, 2
lea ecx, [rdx + 7]
call qword [sym.imp.urlmon.dll_CoInternetSetFeatureEnabled]
mov ecx, 0x2bd8
call fcn.1400050cc
lea rcx, [rsp + 0x80]
call fcn.140003d70
mov rbx, qword [rsp + 0x80]
mov qword [rdi + 0x258], rbx
mov rcx, qword [rdi + 0x68]
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rsp + 0x68]
mov rdx, qword [r14]
mov rax, qword [rax + 0x58]
call qword [case.0x140007cca.0]
mov esi, eax
test eax, eax
js 0x140010099
lea rcx, [rsp + 0x90]
call fcn.140003d70
mov rcx, qword [rax]
sub rcx, rbx
movabs rax, 0x20c49ba5e353f7cf
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [r15], rdx
lea rcx, [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
lea rcx, [rsp + 0x68]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov eax, esi
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.14000ac50
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
jmp 0x140003c3c
mov r12b, 1
jmp 0x140003ab1
mov esi, 0x8000ffff
jmp 0x140003c3c
xor al, al
jmp 0x140003ac9
cmp qword [rdi + 0x38], 0
jne 0x140003b20
test r12b, r12b
jne 0x140003b20
xor r12d, r12d
mov dword [rsp + 0x40], r12d
xor edx, edx
lea rcx, [rsp + 0x40]
call qword [sym.imp.WININET.dll_InternetGetConnectedState]
cmp eax, 1
jne 0x140010094
mov eax, dword [rsp + 0x40]
test al, 0x42
setne cl
test al, 0x20
setne al
test al, cl
jne 0x140010094
mov rax, qword [rdi]
xor r9d, r9d
lea r8d, [r12 + 1]
mov rdx, qword [r14]
mov rcx, rdi
mov rax, qword [rax + 0x110]
call qword [case.0x140007cca.0]
test eax, eax
jns 0x140010082
lfence
mov rcx, qword [r14]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x140010082
mov esi, 0x800432b7
lea rcx, [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
lea rcx, [rsp + 0x68]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x140003c3c
lea rcx, [0x1400229b0]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
jmp 0x140003b23
mov esi, 0x800c0004
lea rcx, [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
lea rcx, [rsp + 0x68]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x140003c3c
mov dword [rsp + 0x70], 0x40e
jmp 0x140003b42
mov qword [rsp + 0x48], r12
cmp word [rsp + 0x50], 8
jne 0x140010138
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x48]
call fcn.140016db0
lea rdx, [0x1400376a0]
mov rbx, 0xffffffffffffffff
mov rax, rbx
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400100ee
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.140002340
mov esi, eax
test eax, eax
js 0x140010112
mov qword [rsp + 0x58], r12
jmp 0x14001013f
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rcx, [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
lea rcx, [rsp + 0x68]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x140003c3c
mov rbx, 0xffffffffffffffff
test r13, r13
jne 0x140010149
mov ebx, r12d
jmp 0x140010155
inc rbx
cmp word [r13 + rbx*2], 0
jne 0x140010149
mov r8d, ebx
mov rdx, r13
lea rcx, [rsp + 0x48]
call fcn.140002340
mov esi, eax
test eax, eax
js 0x140010112
mov eax, 8
mov word [rsp + 0x50], ax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x58], rax
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140003b6e
cmp qword [rdi + 0x38], 0
jne 0x140003b85
xor r8d, r8d
jmp 0x140003b8b
mov esi, 0x80070057
jmp 0x140003c3c