Function at 0x40e126
Capabilities:
Check internet connectivity via wininet

Disassembly:
mov eax, 0x4bf5ff
call fcn.00483824
sub esp, 0x564
push ebx
push esi
push edi
push 0
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.WININET.dll_InternetGetConnectedState]
test al, al
je 0x40e515
lea ecx, [ebp - 0xc8]
call fcn.00418b00
and dword [ebp - 4], 0
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x294]
test eax, eax
jle 0x40e228
lea eax, [edi + 0x260]
push eax
lea ecx, [ebp - 0xc8]
call fcn.00419630
push str.message
mov ecx, edi
call fcn.00402439
mov esi, eax
mov ecx, esi
call fcn.0043dae8
push 1
push str.globsubmit
lea ecx, [ebp - 0x58]
call fcn.00418c20
push eax
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 1
call fcn.00419c90
pop ecx
pop ecx
push eax
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.0043d488
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 1
call fcn.004190d0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0
call fcn.004190d0
mov ebx, 0x4d4c60
push ebx
mov ecx, edi
call fcn.00402439
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
mov edi, eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x74]
mov ecx, dword [ebp + 8]
sub edi, eax
mov eax, edi
cdq
sub eax, edx
mov edi, eax
push ebx
sar edi, 1
call fcn.00402439
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x78]
cdq
sub eax, edx
mov edx, dword [esi]
sar eax, 1
push eax
push edi
mov ecx, esi
call dword [edx + 0x4c]
mov edi, dword [ebp + 8]
jmp 0x40e275
push 1
push str.GHS_GET
lea ecx, [ebp - 0x90]
call fcn.00418c20
push eax
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 3
call fcn.00419c90
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 4
call fcn.00419630
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
call fcn.004190d0
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0
call fcn.004190d0
push 0xdc
call fcn.00481acb
pop ecx
mov dword [ebp - 0x14], eax
xor ebx, ebx
cmp eax, ebx
mov byte [ebp - 4], 5
je 0x40e2aa
mov eax, dword [ebp - 0x9c]
cmp eax, ebx
jne 0x40e29c
mov eax, 0x4d366e
push eax
push dword [ebp - 0x14]
call fcn.00425b50
mov dword [ebp - 0x18], eax
jmp 0x40e2ad
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.00425fc0
mov esi, eax
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0xd], 0
call fcn.00418b00
cmp esi, ebx
mov byte [ebp - 4], 6
je 0x40e3a2
mov eax, esi
mov dword [esi + 0x2c], 0x2ee0
call fcn.00426610
cmp eax, ebx
mov dword [ebp - 0x14], eax
je 0x40e39b
push 0x30
call fcn.00481acb
pop ecx
mov dword [ebp - 0x20], eax
cmp eax, ebx
mov byte [ebp - 4], 7
je 0x40e313
mov edi, dword [ebp - 0x14]
push eax
call fcn.00426e70
mov edi, dword [ebp + 8]
mov ebx, eax
push 0x470
mov byte [ebp - 4], 6
call fcn.00481acb
pop ecx
mov dword [ebp - 0x20], eax
test eax, eax
mov byte [ebp - 4], 8
je 0x40e33c
push eax
mov edi, ebx
call fcn.00427010
mov edi, dword [ebp + 8]
mov esi, eax
jmp 0x40e33e
xor esi, esi
mov byte [ebp - 4], 6
mov eax, dword [esi]
push 0x3ff
push 0
lea ecx, [ebp - 0x570]
push ecx
mov ecx, esi
call dword [eax + 0x3c]
test eax, eax
jle 0x40e37b
mov byte [ebp + eax - 0x570], 0
lea eax, [ebp - 0x570]
push eax
lea eax, [ebp - 0x100]
mov byte [ebp - 0xd], 1
call fcn.00419440
jmp 0x40e342
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x38]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx]
call dword [eax + 4]
push 0
mov ebx, 0x4d4c78
push ebx
lea ecx, [ebp - 0x170]
call fcn.00418c20
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 9
jne 0x40e483
push str.message
mov ecx, edi
call fcn.00402439
mov esi, eax
mov ecx, esi
call fcn.0043dae8
push 1
push str.hserror
lea ecx, [ebp - 0x138]
call fcn.00418c20
push eax
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 0xa
call fcn.00419c90
pop ecx
pop ecx
push eax
mov ecx, esi
mov byte [ebp - 4], 0xb
call fcn.0043d488
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xa
call fcn.004190d0
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 9
call fcn.004190d0
push str.bretry
mov ecx, edi
call fcn.00402439
mov edx, dword [eax + 0x1a8]
cmp edx, 3
je 0x40e44e
cmp edx, 4
je 0x40e44e
push 1
mov ecx, eax
call fcn.00402f47
push 0
push ebx
lea ecx, [ebp - 0x90]
call fcn.00418c20
lea eax, [ebp - 0x90]
push eax
lea ecx, [edi + 0x2f8]
mov byte [ebp - 4], 0xc
call fcn.0041bf00
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 9
call fcn.004190d0
jmp 0x40e4e3
push 0x4d366e
lea ecx, [edi + 0x260]
call fcn.00419720
push 0x38
call fcn.00481acb
pop ecx
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0xd
je 0x40e4b8
lea ecx, [ebp - 0x100]
push ecx
mov ecx, eax
call fcn.00418b70
mov esi, eax
jmp 0x40e4ba
xor esi, esi
mov dword [ebp + 8], esi
push esi
lea eax, [ebp - 0x170]
push eax
lea ecx, [edi + 0x2f8]
mov byte [ebp - 4], 0xe
call fcn.0041bdf0
test esi, esi
mov byte [ebp - 4], 9
je 0x40e4e3
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 6
call fcn.004190d0
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0
call fcn.004190d0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc8]
call fcn.004190d0
mov al, byte [ebp - 0xd]
jmp 0x40e579
mov ecx, dword [ebp + 8]
push str.message
call fcn.00402439
mov esi, eax
mov ecx, esi
call fcn.0043dae8
push 1
push str.notconnect
lea ecx, [ebp - 0x58]
call fcn.00418c20
push eax
lea eax, [ebp - 0x138]
push eax
mov dword [ebp - 4], 0xf
call fcn.00419c90
pop ecx
pop ecx
push eax
mov ecx, esi
mov byte [ebp - 4], 0x10
call fcn.0043d488
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0xf
call fcn.004190d0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.004190d0
xor al, al
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4