Function at 0x1400808a0
Capabilities:
Check internet connectivity via wininet

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x138
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov rax, qword [0x1401620c0]
xor rax, rsp
mov qword [rsp + 0x128], rax
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x24], r8d
mov r12, rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x30], rcx
cmp dword [0x1401667f0], 0
jne 0x140080908
lea rcx, [0x14007bfa0]
call fcn.1400c77d0
mov dword [0x1401667f0], 1
mov dword [rsp + 0x20], 1
mov edx, 0xf
mov qword [rsp + 0xa8], rdx
xor r13d, r13d
mov r8, r13
mov qword [rsp + 0xa0], r13
mov byte [rsp + 0x90], r8b
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasb al, byte [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
cmp rcx, 0xfffffffffffffffe
jbe 0x140080963
call fcn.1400e18f0
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xa0]
cmp rdx, rdi
jae 0x140080982
mov rdx, rdi
lea rcx, [rsp + 0x88]
call fcn.140020b50
mov rdx, qword [rsp + 0xa8]
jmp 0x1400809a9
test rdi, rdi
jne 0x1400809a9
mov qword [rsp + 0xa0], r13
lea rax, [rsp + 0x90]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x90]
mov byte [rax], r13b
jmp 0x1400809f4
test rdi, rdi
je 0x1400809f4
lea rcx, [rsp + 0x90]
cmp rdx, 0x10
cmovae rcx, qword [rsp + 0x90]
mov r9, rdi
mov r8, r12
call fcn.1400c71b0
mov qword [rsp + 0xa0], rdi
lea rax, [rsp + 0x90]
cmp qword [rsp + 0xa8], 0x10
cmovae rax, qword [rsp + 0x90]
mov byte [rax + rdi], r13b
lea rdx, [rsp + 0x88]
lea rcx, [0x1401667c0]
call fcn.140080520
mov qword [rsp + SafeArrayGetElement8], 0xf
mov qword [rsp + 0xf0], r13
mov byte [rsp + 0xe0], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0xd8]
call fcn.140020f10
nop
lea rbx, [rsp + 0xe0]
cmp qword [rsp + 0xf8], 0x10
cmovae rbx, qword [rsp + 0xe0]
mov qword [rsp + 0x38], r13
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
cmp rcx, 1
jne 0x140080d38
mov dword [rsp + 0x20], r13d
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasb al, byte [rdi]
not rcx
call fcn.1400c7310
mov rbp, rax
mov rcx, r12
mov rdx, rax
sub rdx, r12
nop
nop
nop
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
add rcx, 1
test al, al
jne 0x140080aa0
mov edx, 0x3e
mov rcx, rbp
call fcn.1400c7e50
mov rsi, rax
test rax, rax
je 0x140080d30
mov byte [rax], 0
mov edx, 0xf
mov qword [rsp + 0xd0], rdx
mov r8, r13
mov qword [rsp + 0xc8], r13
mov byte [rsp + 0xb8], r8b
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasb al, byte [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
cmp rcx, 0xfffffffffffffffe
jbe 0x140080b1a
call fcn.1400e18f0
mov rdx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xc8]
cmp rdx, rdi
jae 0x140080b39
mov rdx, rdi
lea rcx, [rsp + 0xb0]
call fcn.140020b50
mov rdx, qword [rsp + 0xd0]
jmp 0x140080b60
test rdi, rdi
jne 0x140080b60
mov qword [rsp + 0xc8], r13
lea rax, [rsp + 0xb8]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0xb8]
mov byte [rax], dil
jmp 0x140080bab
test rdi, rdi
je 0x140080bab
lea rcx, [rsp + 0xb8]
cmp rdx, 0x10
cmovae rcx, qword [rsp + 0xb8]
mov r9, rdi
mov r8, rbp
call fcn.1400c71b0
mov qword [rsp + 0xc8], rdi
lea rax, [rsp + 0xb8]
cmp qword [rsp + 0xd0], 0x10
cmovae rax, qword [rsp + 0xb8]
mov byte [rax + rdi], 0
lea rdx, [rsp + 0xb0]
lea rcx, [0x1401667c0]
call fcn.140080520
mov qword [rsp + 0x120], SafeArrayGetElement
mov qword [rsp + 0x118], r13
mov byte [rsp + 0x108], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x100]
call fcn.140020f10
nop
lea rbx, [rsp + 0x108]
cmp qword [rsp + 0x120], 0x10
cmovae rbx, qword [rsp + 0x108]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
cmp rcx, 1
je 0x140080cc8
mov dword [rsp + 0x20], 1
lea edx, [rax + 0x3e]
mov rcx, rbx
call fcn.1400c7e50
test rax, rax
jne 0x140080cc8
or rcx, 0xffffffffffffffff
lea rdi, [rsi + 1]
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
sub rcx, 1
add ecx, edx
add ecx, 2
call fcn.1400c7310
mov r13, rax
mov qword [rsp + 0x38], rax
mov rcx, rax
sub rcx, rbx
nop
nop
movzx eax, byte [rbx]
mov byte [rcx + rbx], al
add rbx, 1
test al, al
jne 0x140080c80
mov rdi, r13
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
movzx eax, word [0x1400eefdc]
mov word [rdi - 1], ax
mov rdi, r13
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
movzx eax, byte [rsi + rcx + 1]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x140080cb1
mov rbx, r13
xor r13d, r13d
cmp qword [rsp + 0x120], 0x10
jb 0x140080ce0
mov rcx, qword [rsp + 0x108]
call fcn.14008c4f0
mov qword [rsp + 0x120], SafeArrayGetElement
mov qword [rsp + 0x118], r13
mov byte [rsp + 0x108], 0
cmp qword [rsp + 0xd0], 0x10
jb 0x140080d14
mov rcx, qword [rsp + 0xb8]
call fcn.14008c4f0
mov qword [rsp + 0xd0], SafeArrayGetElement
mov qword [rsp + 0xc8], r13
mov byte [rsp + 0xb8], 0
mov rcx, rbp
call fcn.14002d0b0
mov rcx, r12
call fcn.14007c3b0
lea r13, [0x1401667d8]
test eax, eax
je 0x140080de9
xor edx, edx
lea rcx, [rsp + 0x2c]
call qword [sym.imp.WININET.dll_InternetGetConnectedState]
test eax, eax
je 0x140080dd4
test byte [rsp + 0x2c], 1
jne 0x140080dd4
mov rcx, r12
call fcn.140006a20
test eax, eax
je 0x140080de9
mov rsi, qword [0x1401667b0]
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x40]
lea rbp, [0x1401667a8]
mov rcx, rbp
call fcn.14007d980
mov rdi, rax
mov rcx, qword [rax]
test rcx, rcx
je 0x140080da6
cmp rcx, rbp
je 0x140080dab
call fcn.1400c7520
cmp qword [rdi + 8], rsi
jne 0x140080de9
mov rcx, r12
call fcn.14007c200
mov edi, eax
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x40]
mov rcx, rbp
call fcn.14007f4f0
test edi, edi
jne 0x140080de9
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.14007f4f0
mov r13, qword [0x1401667e0]
mov rdi, qword [r13 + 8]
mov r12, r13
mov r14, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x90]
cmp byte [rdi + 0x41], 0
jne 0x140080e85
nop
nop
nop
lea rdx, [rsp + 0x90]
cmp r14, 0x10
cmovae rdx, r15
mov rsi, qword [rdi + 0x30]
cmp rsi, rsi
cmovb rsi, rsi
cmp qword [rdi + 0x38], 0x10
jb 0x140080e48
mov rcx, qword [rdi + 0x20]
jmp 0x140080e4c
lea rcx, [rdi + 0x20]
mov r8, rbp
cmp rsi, rbp
cmovb r8, rsi
call fcn.1400c3e90
movsxd rcx, eax
test eax, eax
jne 0x140080e6f
cmp rsi, rbp
jb 0x140080e7b
cmp rsi, rbp
setne al
mov ecx, eax
test ecx, ecx
js 0x140080e7b
mov r12, rdi
mov rdi, qword [rdi]
jmp 0x140080e7f
mov rdi, qword [rdi + 0x10]
cmp byte [rdi + 0x41], 0
je 0x140080e20
mov qword [rsp + 0x68], r12
lea rsi, [0x1401667d8]
mov qword [rsp + 0x60], rsi
cmp r12, r13
je 0x140080ef2
mov rdi, qword [r12 + 0x30]
cmp qword [r12 + 0x38], 0x10
jb 0x140080eaf
mov rdx, qword [r12 + 0x20]
jmp 0x140080eb4
lea rdx, [r12 + 0x20]
lea rcx, [rsp + 0x90]
cmp r14, 0x10
cmovae rcx, r15
mov r8, rdi
cmp rbp, rdi
cmovb r8, rbp
call fcn.1400c3e90
movsxd rcx, eax
test eax, eax
jne 0x140080ee7
cmp rbp, rdi
jb 0x140080ef2
cmp rbp, rdi
setne al
mov ecx, eax
test ecx, ecx
js 0x140080ef2
lea rcx, [rsp + 0x60]
jmp 0x140080f01
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x70], rsi
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x40]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140080f23
cmp rax, rsi
je 0x140080f28
call fcn.1400c7520
cmp qword [rsp + 0x48], r13
jne 0x140080fe9
mov esi, dword [rsp + 0x28]
mov r9d, esi
mov edi, dword [rsp + 0x24]
mov r8d, edi
mov rdx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x30]
mov rcx, rbp
call fcn.14007dc80
test eax, eax
jne 0x140080f75
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x40]
lea rcx, [0x1401667d8]
call fcn.14007f4f0
jmp 0x140080ff6
cmp qword [rsp + 0xf8], 0x10
jb 0x140080f8d
mov rcx, qword [rsp + 0xe0]
call fcn.14008c4f0
mov qword [rsp + SafeArrayGetElement8], 0xf
xor edi, edi
mov qword [rsp + 0xf0], rdi
mov byte [rsp + 0xe0], dil
cmp qword [rsp + 0xa8], 0x10
jb 0x140080fc3
mov rcx, qword [rsp + 0x90]
call fcn.14008c4f0
mov qword [rsp + 0xa8], SafeArrayGetElement
mov qword [rsp + 0xa0], rdi
mov byte [rsp + 0x90], 0
mov eax, 1
jmp 0x1400810a8
mov edi, dword [rsp + 0x24]
mov esi, dword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
cmp dword [rsp + 0x20], 0
je 0x140081021
mov edx, esi
mov rcx, rbx
call fcn.14007cb50
test eax, eax
cmovne edi, eax
mov r9d, esi
mov r8d, edi
mov rdx, rbx
mov rcx, rbp
call fcn.14007dc80
mov edi, eax
jmp 0x140081023
xor edi, edi
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140081036
mov rcx, rax
call fcn.14002d0b0
nop
cmp qword [rsp + 0xf8], 0x10
jb 0x14008104e
mov rcx, qword [rsp + 0xe0]
call fcn.14008c4f0
mov qword [rsp + SafeArrayGetElement8], 0xf
mov qword [rsp + 0xf0], 0
mov byte [rsp + 0xe0], 0
cmp qword [rsp + 0xa8], 0x10
jb 0x140081086
mov rcx, qword [rsp + 0x90]
call fcn.14008c4f0
mov qword [rsp + 0xa8], SafeArrayGetElement
mov qword [rsp + 0xa0], 0
mov byte [rsp + 0x90], 0
mov eax, edi
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.1400c2a20
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret