Function at 0x4f47f0
Capabilities:
Check internet connectivity via wininet

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x4d
push 0
push 0
dec ecx
jne 0x4f47f8
push ebx
push esi
push edi
mov dword [ebp - 0x20], edx
mov dword [ebp - 4], eax
lea eax, [ebp - 0x200]
mov edx, dword [0x4f47c0]
call fcn.004050ac
xor eax, eax
push ebp
push 0x4f5058
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [0x50a5d5], 0
cmp byte [0x50a5d4], 0
je 0x4f4846
mov eax, dword [0x50a5c0]
call fcn.0046cd50
jmp 0x4f5001
cmp byte [0x50a5d1], 0
je 0x4f5001
cmp byte [0x50a5d1], 1
jne 0x4f4863
mov byte [0x50a5d1], 0
mov ecx, dword [0x4fc81c]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x4e88ec]
call fcn.00467d74
mov edx, dword [0x4fca24]
mov dword [edx], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x36e], 1
add dword [0x50a5e4], 1
jno 0x4f4897
call fcn.004037ac
mov dword [ebp - 0x18], 0xffffffff
xor eax, eax
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x214]
mov eax, dword [0x4fc81c]
mov eax, dword [eax]
call fcn.00471698
mov eax, dword [ebp - 0x214]
lea edx, [ebp - 0xc]
call fcn.00409b88
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x43af48]
call fcn.0043e618
mov dword [ebp - 0x10], eax
xor edx, edx
mov eax, dword [ebp - 0x10]
call fcn.00449cd4
mov edx, dword [0x50a5c0]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x43af48]
call fcn.0043e618
mov dword [ebp - 0x14], eax
xor edx, edx
mov eax, dword [ebp - 0x14]
call fcn.00449cd4
mov edx, dword [0x50a5c0]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x68]
lea eax, [ebp - 0x218]
mov ecx, 0x4f5070
mov edx, dword [ebp - 0xc]
call fcn.00404980
mov edx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x218]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [0x4fc81c]
mov eax, dword [eax]
call fcn.00470df4
cmp dword [ebp - 0x1c], 0
jne 0x4f4968
add dword [ebp - 0x18], 1
jno 0x4f495b
call fcn.004037ac
add dword [ebp - 0x1c], 1
jno 0x4f4966
call fcn.004037ac
jmp 0x4f496d
xor eax, eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x220]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x218]
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0x220]
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.004f2e80
mov edx, dword [ebp - 0x21c]
lea eax, [ebp - 0x200]
call fcn.00404714
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x228]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x218]
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0x228]
mov edx, 3
mov eax, dword [ebp - 4]
call fcn.004f2e80
mov eax, dword [ebp - 0x224]
call fcn.004093f8
mov dword [ebp - 0x1fc], eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x230]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x218]
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0x230]
mov edx, 4
mov eax, dword [ebp - 4]
call fcn.004f2e80
mov eax, dword [ebp - 0x22c]
call fcn.004093f8
mov dword [ebp - 0x1f8], eax
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x238]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x218]
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0x238]
mov edx, 5
mov eax, dword [ebp - 4]
call fcn.004f2e80
mov edx, dword [ebp - 0x234]
lea eax, [ebp - 0x1f4]
call fcn.00404714
lea eax, [ebp - 0x1f0]
call fcn.0040467c
lea edx, [ebp - 0x240]
xor eax, eax
call fcn.0040933c
mov ecx, dword [ebp - 0x240]
lea eax, [ebp - 0x23c]
mov edx, 0x4f5084
call fcn.00404980
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0047849c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov edx, dword [ebp - 0x200]
mov ecx, dword [eax]
call dword [ecx + 0x88]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov edx, dword [ebp - 0x1fc]
mov ecx, dword [eax]
call dword [ecx + 0x8c]
cmp byte [0x50a5d2], 1
je 0x4f5001
mov eax, dword [ebp - 4]
add eax, 0x370
mov edx, dword [ebp - 0x200]
call fcn.004046d0
push 0
push 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x370]
call fcn.00404b2c
push eax
call sub.wininet.dll_InternetCheckConnectionA
test eax, eax
jne 0x4f4b39
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0xc4]
sub eax, 1
jno 0x4f4b32
call fcn.004037ac
cmp eax, dword [ebp - 0x18]
je 0x4f4bb4
jmp 0x4f4b71
xor eax, eax
push ebp
push 0x4f4b67
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x384]
mov edx, 0x4f50a0
mov eax, dword [ebp - 4]
call fcn.004f6c7c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4f4b71
mov eax, dword [ebp - 4]
cmp dword [eax + 0x374], 1
je 0x4f4bb4
lea ecx, [ebp - 0x244]
mov edx, dword [ebp - 0x18]
add edx, 1
jno 0x4f4b90
call fcn.004037ac
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x218]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x244]
mov edx, 0x4f50b4
call fcn.00404a78
jne 0x4f493e
mov eax, dword [ebp - 4]
cmp dword [eax + 0x374], 0
je 0x4f5001
mov eax, dword [ebp - 0x10]
call fcn.0040386c
mov byte [0x50a5d3], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x348]
xor edx, edx
call fcn.00479520
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
mov edx, 0x4f50c0
call fcn.00449ec8
mov eax, 0x4f50cc
call fcn.004f154c
lea eax, [ebp - 0x248]
mov ecx, 0x4f50cc
mov edx, dword [ebp - 0xc]
call fcn.00404980
mov eax, dword [ebp - 0x248]
call fcn.004098e0
test al, al
jne 0x4f4c80
lea eax, [ebp - 0x24c]
mov ecx, 0x4f50cc
mov edx, dword [ebp - 0xc]
call fcn.00404980
mov edx, dword [ebp - 0x24c]
lea eax, [ebp - 0x1ec]
call fcn.00402eb0
lea eax, [ebp - 0x1ec]
call fcn.00402c4c
call fcn.00402924
mov edx, 0x4f50e0
lea eax, [ebp - 0x1ec]
call fcn.00404d48
call fcn.0040331c
call fcn.00402924
lea eax, [ebp - 0x1ec]
call fcn.00402f78
call fcn.00402924
mov eax, dword [ebp - 4]
call fcn.004f276c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x380], 0
jne 0x4f4cdd
mov al, byte [0x50a5e0]
sub al, 0x6e
je 0x4f4cc3
sub al, 5
je 0x4f4cb4
dec al
jne 0x4f4cd0
lea eax, [ebp - 8]
mov edx, 0x4f50f0
call fcn.00404714
jmp 0x4f4cd0
lea edx, [ebp - 8]
mov eax, 0x4f50f0
call fcn.0048d9f0
jmp 0x4f4cd0
lea eax, [ebp - 8]
mov edx, 0x4f5110
call fcn.00404714
mov eax, dword [ebp - 8]
call fcn.00442904
jmp 0x4f5001
lea edx, [ebp - 0x250]
mov eax, dword [0x4fc81c]
mov eax, dword [eax]
call fcn.00471698
mov eax, dword [ebp - 0x250]
lea edx, [ebp - 8]
call fcn.00409b88
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x384]
mov edx, 0x4f5140
mov eax, dword [ebp - 4]
call fcn.004f6c7c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x378], 0
je 0x4f4d7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x384]
call fcn.00422784
cmp edx, 0
jne 0x4f4d35
cmp eax, 0
je 0x4f4d7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x384]
call fcn.00422784
push eax
sar eax, 0x1f
cmp eax, edx
pop eax
je 0x4f4d53
call fcn.004037a4
push eax
lea eax, [ebp - 0x254]
mov ecx, 0x4f5154
mov edx, dword [ebp - 8]
call fcn.00404980
mov eax, dword [ebp - 0x254]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x384]
mov edx, dword [edx + 4]
pop ecx
call fcn.004f134c
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x384]
mov edx, 0x4f516c
mov eax, dword [ebp - 4]
call fcn.004f6c7c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x378], 0
je 0x4f4e01
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x384]
call fcn.00422784
cmp edx, 0
jne 0x4f4db7
cmp eax, 0
je 0x4f4e01
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x384]
call fcn.00422784
push eax
sar eax, 0x1f
cmp eax, edx
pop eax
je 0x4f4dd5
call fcn.004037a4
push eax
lea eax, [ebp - 0x258]
mov ecx, 0x4f516c
mov edx, dword [ebp - 8]
call fcn.00404980
mov eax, dword [ebp - 0x258]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x384]
mov edx, dword [edx + 4]
pop ecx
call fcn.004f134c
lea eax, [ebp - 0x260]
mov ecx, 0x4f516c
mov edx, dword [ebp - 8]
call fcn.00404980
mov edx, dword [ebp - 0x260]
lea eax, [ebp - 0x25c]
call fcn.00404eec
mov edx, dword [ebp - 0x25c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x31c]
call fcn.004c8774
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x384]
mov edx, 0x4f5184
mov eax, dword [ebp - 4]
call fcn.004f6c7c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x378], 0
je 0x4f4ec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x384]
call fcn.00422784
cmp edx, 0
jne 0x4f4e71
cmp eax, 0
je 0x4f4ebb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x384]
call fcn.00422784
push eax
sar eax, 0x1f
cmp eax, edx
pop eax
je 0x4f4e8f
call fcn.004037a4
push eax
lea eax, [ebp - 0x264]
mov ecx, 0x4f5184
mov edx, dword [ebp - 8]
call fcn.00404980
mov eax, dword [ebp - 0x264]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x384]
mov edx, dword [edx + 4]
pop ecx
call fcn.004f134c
mov eax, dword [ebp - 4]
call fcn.004f81e0
mov eax, dword [ebp - 4]
call fcn.004f8354
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov eax, dword [eax + 0x218]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jg 0x4f4fd3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x328]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
xor edx, edx
call fcn.00449ec8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x348]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x348]
add edx, dword [eax + 0x48]
jno 0x4f4f26
call fcn.004037ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
sub edx, dword [eax + 0x48]
jno 0x4f4f39
call fcn.004037ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00449288
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x348]
call fcn.00479294
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x348]
call fcn.00479520
lea eax, [ebp - 0x268]
mov ecx, 0x4f5198
mov edx, dword [0x50a5dc]
call fcn.00404980
mov edx, dword [ebp - 0x268]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
xor ecx, ecx
call fcn.004f7394
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
xor edx, edx
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 4]
add eax, 0x364
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x360]
call fcn.004046d0
mov eax, dword [ebp - 4]
call fcn.004f8354
mov eax, dword [ebp - 4]
mov dword [eax + 0x374], 2
mov byte [0x50a5fd], 1
jmp 0x4f5001
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x328]
mov dl, 1
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x36e], 0
je 0x4f5001
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x328]
mov si, 0xffeb
call fcn.00403a68
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f505f
lea eax, [ebp - 0x268]
mov edx, 3
call fcn.004046a0
lea eax, [ebp - 0x25c]
call fcn.00404da0
lea eax, [ebp - 0x258]
mov edx, 0x13
call fcn.004046a0
lea eax, [ebp - 0x200]
mov edx, dword [0x4f47c0]
call fcn.0040517c
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004046a0
ret