Function at 0x4a2060
Capabilities:
Connect to http server
Create http request
Initialize winsock library
Query or enumerate registry value
Read data from internet
Receive data
Receive data on socket
Send data
Send http request
Send http request with host header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x556598
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3f0
push ebx
push esi
push edi
xor esi, esi
mov ebx, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 4], esi
call fcn.004a27d0
mov ecx, ebx
call fcn.004a2790
mov ecx, ebx
call fcn.004a2510
lea eax, [ebx + 0x200]
push eax
call fcn.0042a530
add esp, 4
test al, al
je 0x4a212e
lea eax, [ebx + 0x1ce]
push eax
call fcn.0042a810
add esp, 4
test al, al
je 0x4a212e
mov ecx, 0x80
xor eax, eax
lea edi, [ebp - 0x26c]
mov dword [ebp - 0x28], esi
rep stosd dword es:[edi], eax
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x14], esi
cmp ecx, esi
je 0x4a2149
push 1
call fcn.0041c710
cmp eax, esi
jne 0x4a2149
cmp dword [ebx + 8], esi
jne 0x4a2106
mov eax, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x20]
call fcn.00483f50
mov ecx, dword [ebx + 4]
mov byte [ebp - 4], 1
push ecx
lea ecx, [ebp - 0x20]
call fcn.00483f90
cmp eax, esi
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
je 0x4a2144
call fcn.00483f80
mov eax, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00483f80
lea edx, [ebp - 0x24]
push edx
push 0xf003f
push esi
push str.SoftwareDownloadManager_
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4a2285
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x14]
push eax
push ecx
push esi
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push str.UseHttpProxy
push edx
mov dword [ebp - 0x18], 4
call esi
test eax, eax
jne 0x4a2285
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4a2290
lea eax, [ebp - 0x3fc]
push eax
push 0x101
call sub.WSOCK32.dll_WSAStartup
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, ebx
call fcn.004a28d0
test eax, eax
je 0x4a2279
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x4c]
lea edx, [ebp - 0x18]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x6c]
push edx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x24]
stosw word es:[edi], ax
lea eax, [ebp - 0x4c]
mov edi, 0x1e
push eax
push 0
push 0
push str.HttpUserName
push ecx
mov dword [ebp - 0x18], edi
call esi
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], edi
lea eax, [ebp - 0x6c]
push edx
xor edi, edi
push eax
push edi
push edi
push str.HttpPasword
push ecx
call esi
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x6c]
lea eax, [ebp - 0x4c]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.004a2ba0
cmp eax, edi
je 0x4a2348
mov edx, dword [ebp - 0x1c]
push 0xb4
push edx
mov ecx, ebx
call fcn.004a2d70
cmp eax, edi
je 0x4a2348
mov eax, dword [ebp - 0x1c]
mov ecx, ebx
push eax
call fcn.004a2e60
cmp eax, edi
je 0x4a2348
mov edx, dword [ebp - 0x1c]
push edi
lea ecx, [ebp - 0x26c]
push 0x200
push ecx
push edx
call sub.WSOCK32.dll_recv
test eax, eax
jg 0x4a2280
mov dword [ebp - 0x14], 0
call sub.WSOCK32.dll_WSACleanup
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4a237b
push 0
push 0x5ba440
push 0x5ba440
push 1
push str.IDMan_4.1
call dword [sym.imp.WININET.dll_InternetOpenA]
push 0
push 0
push 3
push str.azcfgped
push str.tcidm
push 0x50
push str.www.internetdownloadmanager.com
push eax
mov dword [ebx + 0x29c], eax
call dword [sym.imp.WININET.dll_InternetConnectA]
push 0
push 0x84000000
push 0
push 0x5ba440
push 0x5ba440
push str._data_395012712_register.cgi
push str.POST
push eax
mov dword [ebx + 0x2a0], eax
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov edx, eax
mov edi, str.Host:_www.internetdownloadmanager.com_r_nAccept:___r_nContent_Type:_text_html_r_nAuthorization:_Basic_dGNpZG06YXpjZmdwZWQ
or ecx, 0xffffffff
xor eax, eax
mov dword [ebx + 0x2a4], edx
push 0xa1000000
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.Host:_www.internetdownloadmanager.com_r_nAccept:___r_nContent_Type:_text_html_r_nAuthorization:_Basic_dGNpZG06YXpjZmdwZWQ
push edx
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
mov ecx, dword [ebx + 0x2a4]
lea eax, [ebx + 0xc]
push 0x190
push eax
push 0
push 0
push ecx
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x4a2350
mov esi, 4
jmp 0x4a24a5
mov dword [ebp - 0x14], edi
jmp 0x4a2280
mov ecx, dword [ebx + 0x2a4]
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x26c]
push 0x200
push eax
push ecx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x4a237b
mov esi, 4
jmp 0x4a24a5
mov edi, str.58BE20ast4si5ls2D13
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x26c]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.58BE20ast4si5ls2D13
push 0x200
push edx
lea ecx, [ebx + 0x298]
call fcn.0049d2e0
lea esi, [ebx + 0x1ce]
lea eax, [ebp - 0x26c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4a23d7
test cl, cl
je 0x4a23d3
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4a23d7
add eax, 2
add esi, 2
test cl, cl
jne 0x4a23b3
xor eax, eax
jmp 0x4a23dc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4a23e7
xor esi, esi
jmp 0x4a24a5
mov esi, str.tygh12Ggb45_t4_gr5
lea eax, [ebp - 0x26c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4a2416
test cl, cl
je 0x4a2412
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4a2416
add eax, 2
add esi, 2
test cl, cl
jne 0x4a23f2
xor eax, eax
jmp 0x4a241b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4a2426
mov esi, 1
jmp 0x4a24a5
mov esi, str.4gh_hf4dg7_6d8s
lea eax, [ebp - 0x26c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4a2455
test cl, cl
je 0x4a2451
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4a2455
add eax, 2
add esi, 2
test cl, cl
jne 0x4a2431
xor eax, eax
jmp 0x4a245a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4a2465
mov esi, 2
jmp 0x4a24a5
mov esi, str.5tresg778Xgf8BN78_4g
lea eax, [ebp - 0x26c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4a2494
test cl, cl
je 0x4a2490
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4a2494
add eax, 2
add esi, 2
test cl, cl
jne 0x4a2470
xor eax, eax
jmp 0x4a2499
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
setne cl
add ecx, 3
mov esi, ecx
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4a24f6
mov edx, dword [ebx + 0x2a4]
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push edx
call edi
mov eax, dword [ebx + 0x2a0]
push eax
call edi
mov ecx, dword [ebx + 0x29c]
push ecx
call edi
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret