Function at 0x4f5fa0
Capabilities:
Check internet connectivity via wininet

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54ba20
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x5bc684]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0xa4], edi
call fcn.004dc610
add esp, 4
test al, al
je 0x4f6003
mov eax, dword [ebp + 0x14]
push 0
push 0
push eax
push esi
call fcn.004dc3e0
add esp, 0x10
jmp 0x4f6507
xor ebx, ebx
mov dword [ebp - 0x90], ebx
mov dword [0x5c2c34], esi
cmp esi, 0xffffffff
jne 0x4f601c
mov dword [ebp - 0x94], ebx
cmp dword [0x5c2cf4], ebx
jne 0x4f603b
push 0x4dba60
call fcn.0050120f
add esp, 4
mov dword [0x5c2cf4], 1
mov esi, 0xf
mov eax, edi
mov dword [ebp - 0x98], 1
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4f6058
sub eax, ecx
push eax
push edi
lea ecx, [ebp - 0x2c]
call fcn.00411f80
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, 0x5c2c70
call fcn.004f58c0
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], 0
call fcn.00411e40
mov byte [ebp - 4], 1
cmp dword [ebp - 0x34], 0x10
mov eax, dword [ebp - 0x48]
jae 0x4f60a2
lea eax, [ebp - 0x48]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0xa8], ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4f60b1
sub eax, edx
jne 0x4f62b3
mov eax, edi
mov dword [ebp - 0x98], ebx
lea edx, [eax + 1]
jmp 0x4f60d0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4f60d0
sub eax, edx
inc eax
push eax
call fcn.004fc6be
mov esi, eax
mov edx, esi
add esp, 4
mov dword [ebp - 0x88], esi
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4f60f1
push 0x3e
push esi
call fcn.005056ca
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4f62a8
mov byte [ebx], 0
inc ebx
xor edi, edi
mov eax, esi
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x6c], 0xf
mov dword [ebp - 0x70], edi
mov byte [ebp - 0x80], 0
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4f6130
sub eax, ecx
push eax
push esi
lea ecx, [ebp - 0x80]
call fcn.00411f80
mov byte [ebp - 4], 2
lea edx, [ebp - 0x80]
push edx
mov ecx, 0x5c2c70
call fcn.004f58c0
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0xf
mov dword [ebp - 0x54], edi
mov byte [ebp - 0x64], 0
call fcn.00411e40
mov byte [ebp - 4], 3
cmp dword [ebp - 0x50], 0x10
mov edi, dword [ebp - 0x64]
jae 0x4f617f
lea edi, [ebp - 0x64]
mov eax, edi
mov dword [ebp - 0x84], edi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4f6190
sub eax, edx
je 0x4f6252
push 0x3e
push edi
mov dword [ebp - 0x98], 1
call fcn.005056ca
add esp, 8
test eax, eax
jne 0x4f6252
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4f61c1
sub eax, edx
mov edx, eax
mov eax, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4f61d1
sub eax, esi
lea eax, [eax + edx + 2]
push eax
call fcn.004fc6be
mov ebx, eax
mov edx, ebx
add esp, 4
mov dword [ebp - 0xa8], ebx
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4f61f5
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4f6202
mov cx, word [0x5501f0]
mov eax, dword [ebp - 0x8c]
mov word [edi], cx
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4f6220
sub eax, ecx
mov esi, ecx
lea edi, [ebx - 1]
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4f6230
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x88]
mov dword [ebp - 0x84], ebx
mov byte [ebp - 4], 2
cmp dword [ebp - 0x50], 0x10
jb 0x4f6268
mov edx, dword [ebp - 0x64]
push edx
call fcn.004808a0
add esp, 4
mov dword [ebp - 0x50], 0xf
mov dword [ebp - 0x54], 0
mov byte [ebp - 0x64], 0
mov byte [ebp - 4], 1
cmp dword [ebp - 0x6c], 0x10
jb 0x4f6290
mov eax, dword [ebp - 0x80]
push eax
call fcn.004808a0
add esp, 4
mov edi, dword [ebp - 0xa4]
mov dword [ebp - 0x6c], 0xf
mov dword [ebp - 0x70], 0
mov byte [ebp - 0x80], 0
push esi
call fcn.004fedfc
add esp, 4
xor ebx, ebx
push 7
push str.http:__
push edi
call fcn.005069fd
add esp, 0xc
test eax, eax
je 0x4f62df
push 8
push str.https:__
push edi
call fcn.005069fd
add esp, 0xc
test eax, eax
jne 0x4f6385
push ebx
lea ecx, [ebp - 0x88]
push ecx
call dword [sym.imp.WININET.dll_InternetGetConnectedState]
test eax, eax
je 0x4f6354
test byte [ebp - 0x88], 1
jne 0x4f6354
mov esi, edi
call fcn.004dd7e0
test eax, eax
je 0x4f6377
mov esi, dword [0x5c2cb4]
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x9c]
push eax
mov ecx, 0x5c2cb0
call fcn.004ef620
cmp dword [eax], esi
jne 0x4f6377
push edi
call fcn.004dc040
add esp, 4
push ebx
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, 0x5c2cb0
mov esi, eax
call fcn.004f11b0
push eax
lea edx, [ebp - 0xa0]
push edx
mov ecx, 0x5c2cb0
call fcn.004f0b40
cmp esi, ebx
jne 0x4f6377
push ebx
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x5c2ca0
call fcn.004f11b0
push eax
lea ecx, [ebp - 0xa0]
push ecx
mov ecx, 0x5c2ca0
call fcn.004f0b40
jmp 0x4f6385
lea edx, [ebp - 0x2c]
push edx
mov ecx, 0x5c2ca0
call fcn.004f3b10
mov eax, dword [0x5c2ca4]
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, 0x5c2ca0
mov dword [ebp - 0x9c], eax
call fcn.004e5120
mov dword [ebp - 0x88], eax
cmp eax, dword [0x5c2ca4]
je 0x4f6404
mov esi, dword [eax + 0x1c]
add eax, 0xc
mov edx, 0x10
cmp dword [eax + 0x14], edx
jb 0x4f63be
mov eax, dword [eax]
mov edi, dword [ebp - 0x1c]
mov ecx, edi
cmp edi, esi
jb 0x4f63c9
mov ecx, esi
cmp dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x2c]
jae 0x4f63d4
lea edx, [ebp - 0x2c]
push ecx
push eax
push edx
call fcn.004db9c0
add esp, 0xc
cmp eax, ebx
jne 0x4f63f5
cmp edi, esi
jae 0x4f63ec
or eax, 0xffffffff
jmp 0x4f63f3
xor eax, eax
cmp edi, esi
setne al
cmp eax, ebx
setl al
test al, al
jne 0x4f6404
lea eax, [ebp - 0x88]
jmp 0x4f6416
mov edx, dword [0x5c2ca4]
mov dword [ebp - 0x8c], edx
lea eax, [ebp - 0x8c]
mov ecx, dword [ebp - 0x9c]
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x10]
cmp dword [eax], ecx
jne 0x4f6466
mov edx, dword [ebp - 0x94]
mov esi, dword [ebp - 0xa4]
push edi
push ebx
push edx
call fcn.004f5ea0
add esp, 0xc
test eax, eax
jne 0x4f6523
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x5c2ca0
call fcn.004f11b0
push eax
lea ecx, [ebp - 0xa0]
push ecx
mov ecx, 0x5c2ca0
call fcn.004f0b40
cmp dword [ebp - 0x98], 0
je 0x4f64a1
mov esi, dword [ebp - 0x84]
push edi
call fcn.004e0020
add esp, 4
test eax, eax
je 0x4f6484
mov ebx, eax
mov edx, dword [ebp - 0x94]
mov esi, dword [ebp - 0x84]
push edi
push ebx
push edx
call fcn.004f5ea0
add esp, 0xc
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x4f64b4
push eax
call fcn.004fedfc
add esp, 4
mov byte [ebp - 4], 0
mov ebx, 0x10
cmp dword [ebp - 0x34], ebx
jb 0x4f64ce
mov eax, dword [ebp - 0x48]
push eax
call fcn.004808a0
add esp, 4
mov esi, 0xf
xor edi, edi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], edi
mov byte [ebp - 0x48], 0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x18], ebx
jb 0x4f64f7
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.004808a0
add esp, 4
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004fe1f5
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x90], 1
jmp 0x4f64a1