Function at 0x40b629
Capabilities:
Check http status code
Check internet connectivity via wininet

Disassembly:
push ebp
lea ebp, [esp - 0x790]
sub esp, 0x810
mov eax, dword [0x48e610]
xor eax, ebp
mov dword [ebp + 0x78c], eax
mov eax, dword [ebp + 0x79c]
push ebx
push esi
mov esi, dword [ebp + 0x798]
push edi
xor edi, edi
mov ebx, ecx
mov dword [ebp - 0x80], eax
cmp dword [0x48fc68], edi
jne 0x40b66c
mov eax, 0x8000aaa1
jmp 0x40b72f
push 7
push str.file:__
push esi
call fcn.00461fca
add esp, 0xc
test eax, eax
je 0x40b692
push edi
lea eax, [ebp - 0x7c]
push eax
mov dword [ebp - 0x7c], edi
call dword [sym.imp.WININET.dll_InternetGetConnectedState]
test eax, eax
je 0x40b662
lea ecx, [ebx + 4]
push esi
call fcn.0043f8e0
mov dword [ebp - 0x78], edi
cmp dword [ebx + 0x18], edi
je 0x40b74b
push 4
pop edi
push 0
lea eax, [ebp - 0x78]
push eax
lea esi, [ebx + 0xc]
push esi
push 0x20000013
push dword [ebx]
mov dword [ebp - 0x78], edi
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x40b6df
cmp dword [ebp - 0x78], edi
jne 0x40b662
mov esi, dword [esi]
cmp esi, 0xc8
jb 0x40b662
cmp esi, 0x190
jae 0x40b662
mov esi, str.Last_Modified
lea edi, [ebp - 0x74]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x3f2
lea eax, [ebp - 0x66]
push 0
push eax
mov dword [ebp - 0x78], 0x400
movsw word es:[edi], word [esi]
call fcn.0045f090
add esp, 0xc
push 0
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x74]
push eax
push 0xffff
push dword [ebx]
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x40b72d
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebx + 0x1c]
call fcn.0043f8e0
xor eax, eax
mov ecx, dword [ebp + 0x78c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045f4ee
add ebp, 0x790
leave
ret 8
xor edi, edi
mov ecx, ebx
call fcn.0040b614
lea esi, [ebx + 0x24]
mov ecx, esi
call fcn.00401005
test al, al
je 0x40b797
lea eax, [ebx + 4]
cmp byte [eax + 7], 0xff
jne 0x40b76b
mov eax, dword [eax]
mov ecx, dword [ebp - 0x80]
neg ecx
sbb ecx, ecx
and ecx, 0xffe00000
push edi
add ecx, 0x200000
or ecx, 0x80080000
push ecx
push edi
push edi
push eax
push dword [0x48fc68]
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
jmp 0x40b7e6
cmp byte [esi + 7], 0xff
je 0x40b7a2
mov dword [ebp - 0x7c], esi
jmp 0x40b7a7
mov eax, dword [esi]
mov dword [ebp - 0x7c], eax
cmp byte [ebx + 0xb], 0xff
lea edi, [ebx + 4]
jne 0x40b7b3
mov edi, dword [ebx + 4]
mov eax, dword [ebp - 0x80]
neg eax
sbb eax, eax
and eax, 0xffe00000
add eax, 0x200000
push 0
or eax, 0x80080000
push eax
mov ecx, esi
call fcn.0043f510
push eax
push dword [ebp - 0x7c]
push edi
push dword [0x48fc68]
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
xor edi, edi
mov dword [ebx], eax
cmp eax, edi
je 0x40b860
cmp dword [ebp - 0x80], edi
jne 0x40b6a7
mov esi, str.Location
lea edi, [ebp + 0x38c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x3f7
lea eax, [ebp + 0x395]
push 0
push eax
mov dword [ebp - 0x78], 0x400
movsb byte es:[edi], byte [esi]
call fcn.0045f090
add esp, 0xc
push 0
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x38c]
push eax
push 0xffff
push dword [ebx]
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x40b6a7
lea eax, [ebp + 0x38c]
push eax
lea ecx, [ebx + 4]
call fcn.0043f8e0
cmp dword [ebx + 0x18], 0
je 0x40b749
jmp 0x40b6a7
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub eax, 0x2ee2
neg eax
sbb eax, eax
and eax, 0xfff9a4ed
add eax, 0x800705b4
jmp 0x40b72f