Function at 0x4046d1
Capabilities:
Check for time delay via gettickcount
Check internet connectivity via wininet
Connect to http server
Create http request
Query remote server for available data
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], esp
mov ebx, dword [ebp + 8]
push dword [ebx]
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntry]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x404775
push 6
call fcn.00406e77
add esp, 4
push 0
mov ebx, 0x308
call sub.KERNEL32.DLL_GetTickCount
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp + 0x24], 0
mov eax, 0
sete al
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jne 0x4047ea
push 0x80000004
push 0
mov ebx, dword [ebp + 0x20]
mov eax, dword [ebx]
test eax, eax
jne 0x4047b8
mov eax, 0x40b22c
push eax
push 1
mov ebx, 0x150
call fcn.00408040
add esp, 0x10
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp + 0x20]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4047e4
push ebx
call fcn.00406e71
add esp, 4
pop eax
mov ebx, dword [ebp + 0x20]
mov dword [ebx], eax
cmp dword [ebp + 0x34], 0
jne 0x404813
mov eax, 0x40b5d8
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40480a
push ebx
call fcn.00406e71
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x4048f1
push 0x40b42a
mov ebx, dword [ebp + 0x30]
push dword [ebx]
mov ecx, 2
call fcn.0040107b
add esp, 8
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], 0
push 0
push dword [ebp - 0x4c]
push 1
push 1
mov dword [ebp - 0x50], 0
push 0
push dword [ebp - 0x50]
mov eax, 0x40b42a
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x54]
push eax
mov eax, str.User_Agent:
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00403887
mov dword [ebp - 0x5c], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x404880
push ebx
call fcn.00406e71
add esp, 4
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x404890
push ebx
call fcn.00406e71
add esp, 4
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x4048a0
push ebx
call fcn.00406e71
add esp, 4
push 0x80000004
push 0
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x4048b3
mov eax, 0x40b22c
push eax
push 1
mov ebx, 0x174
call fcn.004080c0
add esp, 0x10
mov dword [ebp - 0x60], eax
mov ebx, dword [ebp - 0x5c]
test ebx, ebx
je 0x4048d9
push ebx
call fcn.00406e71
add esp, 4
mov eax, dword [ebp - 0x60]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4048ed
push ebx
call fcn.00406e71
add esp, 4
pop eax
mov dword [ebp - 8], eax
push 0x40b22c
push dword [ebp - 8]
call fcn.00401194
add esp, 8
cmp eax, 0
jne 0x404924
mov eax, 0x40b5d8
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x404920
push ebx
call fcn.00406e71
add esp, 4
pop eax
mov dword [ebp - 8], eax
cmp dword [ebp + 0x3c], 0
jne 0x404935
mov dword [ebp + 0x38], 1
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp + 8]
call fcn.00403b2b
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jne 0x404964
mov eax, 0
jmp 0x40527d
mov dword [ebp - 0x48], esp
push 0
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.WININET.dll_InternetGetConnectedState]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x40498c
push 6
call fcn.00406e77
add esp, 4
mov dword [ebp - 0x48], esp
push 0
push 0
push 0
push 1
push dword [ebp - 8]
call dword [sym.imp.WININET.dll_InternetOpenA]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x4049c2
push 6
call fcn.00406e77
add esp, 4
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x4049d9
mov eax, 0xffffffff
jmp 0x40527d
push 0x80000101
push 0
push 0
push 1
mov ebx, 0x140
call fcn.00408410
add esp, 0x10
mov dword [ebp - 0x48], eax
push 0x80000101
push 0
push 0
push 1
mov ebx, 0x140
call fcn.00408410
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], esp
push 0
push 0
push 3
push dword [ebp - 0x4c]
push dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
cwde
push eax
push dword [ebp - 0x10]
push dword [ebp - 0x20]
call dword [sym.imp.WININET.dll_InternetConnectA]
nop
nop
nop
nop
cmp dword [ebp - 0x50], esp
je 0x404a5a
push 6
call fcn.00406e77
add esp, 4
mov dword [ebp - 0x54], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x404a6d
push ebx
call fcn.00406e71
add esp, 4
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x404a7d
push ebx
call fcn.00406e71
add esp, 4
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x404ab9
mov dword [ebp - 0x48], esp
push dword [ebp - 0x20]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x404aaf
push 6
call fcn.00406e77
add esp, 4
mov eax, 0xfffffffe
jmp 0x40527d
mov dword [ebp - 0x28], 0xc4080100
cmp dword [ebp - 0xc], 2
jne 0x404ad1
mov dword [ebp - 0x28], 0x800000
mov dword [ebp - 0x48], esp
push 0
push dword [ebp - 0x28]
push 0
push 0
push 0
push dword [ebp - 0x18]
mov ebx, dword [ebp + 0x20]
push dword [ebx]
push dword [ebp - 0x24]
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x404b12
push 6
call fcn.00406e77
add esp, 4
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x404b6d
mov dword [ebp - 0x48], esp
push dword [ebp - 0x20]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x404b41
push 6
call fcn.00406e77
add esp, 4
mov dword [ebp - 0x48], esp
push dword [ebp - 0x24]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x404b63
push 6
call fcn.00406e77
add esp, 4
mov eax, 0xfffffffd
jmp 0x40527d
mov dword [ebp - 0x48], esp
push 4
mov eax, 0x1f380
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
push 0x1f
push dword [ebp - 0x2c]
call dword [sym.imp.WININET.dll_InternetSetOptionA]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x404ba5
push 6
call fcn.00406e77
add esp, 4
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jne 0x404c22
mov dword [ebp - 0x48], esp
push dword [ebp - 0x2c]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x404bd4
push 6
call fcn.00406e77
add esp, 4
mov dword [ebp - 0x48], esp
push dword [ebp - 0x24]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x404bf6
push 6
call fcn.00406e77
add esp, 4
mov dword [ebp - 0x48], esp
push dword [ebp - 0x20]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x404c18
push 6
call fcn.00406e77
add esp, 4
mov eax, 0xffffffe1
jmp 0x40527d
cmp dword [ebp + 0x38], 0
je 0x404f10
push 0x80000002
push 0
push 1
push 0x80000301
push 0
push 1
push 0x80000004
push 0
push str.Accept:
push 0x80000004
push 0
mov ebx, dword [ebp + 0x30]
mov eax, dword [ebx]
test eax, eax
jne 0x404c65
mov eax, 0x40b22c
push eax
push 4
mov ebx, 0x148
call fcn.00408150
add esp, 0x34
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xffffffff
jne 0x404cbb
push str.Accept:_image_gif__image_x_xbitmap__image_jpeg__image_pjpeg__application_x_shockwave_flash__application_vnd.ms_excel__application_vnd.ms_powerpoint__application_msword____r_n
mov ebx, dword [ebp + 0x30]
push dword [ebx]
mov ecx, 2
call fcn.0040107b
add esp, 8
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp + 0x30]
mov ebx, dword [ebx]
test ebx, ebx
je 0x404cb5
push ebx
call fcn.00406e71
add esp, 4
pop eax
mov ebx, dword [ebp + 0x30]
mov dword [ebx], eax
push 0x80000002
push 0
push 1
push 0x80000301
push 0
push 1
push 0x80000004
push 0
push str.Referer:
push 0x80000004
push 0
mov ebx, dword [ebp + 0x30]
mov eax, dword [ebx]
test eax, eax
jne 0x404cf4
mov eax, 0x40b22c
push eax
push 4
mov ebx, 0x148
call fcn.00408150
add esp, 0x34
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xffffffff
jne 0x404d54
push 0x40b42a
mov ebx, dword [ebp + 8]
push dword [ebx]
push str.Referer:
mov ebx, dword [ebp + 0x30]
push dword [ebx]
mov ecx, 4
call fcn.0040107b
add esp, 0x10
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp + 0x30]
mov ebx, dword [ebx]
test ebx, ebx
je 0x404d4e
push ebx
call fcn.00406e71
add esp, 4
pop eax
mov ebx, dword [ebp + 0x30]
mov dword [ebx], eax
push 0x80000002
push 0
push 1
push 0x80000301
push 0
push 1
push 0x80000004
push 0
push str.Accept_Language:
push 0x80000004
push 0
mov ebx, dword [ebp + 0x30]
mov eax, dword [ebx]
test eax, eax
jne 0x404d8d
mov eax, 0x40b22c
push eax
push 4
mov ebx, 0x148
call fcn.00408150
add esp, 0x34
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xffffffff
jne 0x404de3
push str.Accept_Language:_zh_cn_r_n
mov ebx, dword [ebp + 0x30]
push dword [ebx]
mov ecx, 2
call fcn.0040107b
add esp, 8
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp + 0x30]
mov ebx, dword [ebx]
test ebx, ebx
je 0x404ddd
push ebx
call fcn.00406e71
add esp, 4
pop eax
mov ebx, dword [ebp + 0x30]
mov dword [ebx], eax
push str.POST
mov ebx, dword [ebp + 0x20]
push dword [ebx]
call fcn.00401194
add esp, 8
cmp eax, 0
jne 0x404e87
push 0x80000002
push 0
push 1
push 0
push 0
push 0
push 0x80000004
push 0
push str.Content_Type:
push 0x80000004
push 0
mov ebx, dword [ebp + 0x30]
mov eax, dword [ebx]
test eax, eax
jne 0x404e31
mov eax, 0x40b22c
push eax
push 4
mov ebx, 0x148
call fcn.00408150
add esp, 0x34
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xffffffff
jne 0x404e87
push str.Content_Type:_application_x_www_form_urlencoded_r_n
mov ebx, dword [ebp + 0x30]
push dword [ebx]
mov ecx, 2
call fcn.0040107b
add esp, 8
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp + 0x30]
mov ebx, dword [ebx]
test ebx, ebx
je 0x404e81
push ebx
call fcn.00406e71
add esp, 4
pop eax
mov ebx, dword [ebp + 0x30]
mov dword [ebx], eax
push 0x80000002
push 0
push 1
push 0
push 0
push 0
push 0x80000004
push 0
push str.Cache_Control:
push 0x80000004
push 0
mov ebx, dword [ebp + 0x30]
mov eax, dword [ebx]
test eax, eax
jne 0x404eba
mov eax, 0x40b22c
push eax
push 4
mov ebx, 0x148
call fcn.00408150
add esp, 0x34
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xffffffff
jne 0x404f10
push str.Cache_Control:_no_cache_r_n
mov ebx, dword [ebp + 0x30]
push dword [ebx]
mov ecx, 2
call fcn.0040107b
add esp, 8
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp + 0x30]
mov ebx, dword [ebx]
test ebx, ebx
je 0x404f0a
push ebx
call fcn.00406e71
add esp, 4
pop eax
mov ebx, dword [ebp + 0x30]
mov dword [ebx], eax
push 0x80000004
push 0
mov ebx, dword [ebp + 0x30]
mov eax, dword [ebx]
test eax, eax
jne 0x404f25
mov eax, 0x40b22c
push eax
push 1
mov ebx, 0x130
call fcn.00407c20
add esp, 0x10
mov dword [ebp - 0x48], eax
cmp dword [ebp + 0x2c], 0
mov eax, 0
sete al
mov dword [ebp - 0x4c], eax
push 0x80000101
push 0
push 0
push 1
mov ebx, 0x140
call fcn.00408410
add esp, 0x10
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x4c], 0
je 0x404f96
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x404f91
push eax
mov ebx, eax
call fcn.00401010
inc eax
push eax
call fcn.00406e89
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x404fb4
mov ebx, dword [ebp + 0x28]
mov eax, dword [ebx]
test eax, eax
je 0x404fb4
push eax
mov ebx, eax
call fcn.00401010
inc eax
push eax
call fcn.00406e89
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x54], eax
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x404fc7
push ebx
call fcn.00406e71
add esp, 4
cmp dword [ebp + 0x2c], 0
mov eax, 0
sete al
mov dword [ebp - 0x58], eax
push 0x80000004
push 0
mov ebx, dword [ebp + 0x28]
mov eax, dword [ebx]
test eax, eax
jne 0x404feb
mov eax, 0x40b22c
push eax
push 1
mov ebx, 0x130
call fcn.00407c20
add esp, 0x10
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x58], 0
je 0x405015
mov eax, 0
jmp 0x405018
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x64], esp
push dword [ebp - 0x60]
push dword [ebp - 0x54]
push dword [ebp - 0x48]
mov ebx, dword [ebp + 0x30]
push dword [ebx]
push dword [ebp - 0x2c]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
nop
nop
nop
nop
cmp dword [ebp - 0x64], esp
je 0x40504b
push 6
call fcn.00406e77
add esp, 4
mov dword [ebp - 0x68], eax
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x40505e
push ebx
call fcn.00406e71
add esp, 4
cmp dword [ebp - 0x68], 0
jne 0x4050d8
mov dword [ebp - 0x48], esp
push dword [ebp - 0x2c]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x40508a
push 6
call fcn.00406e77
add esp, 4
mov dword [ebp - 0x48], esp
push dword [ebp - 0x24]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x4050ac
push 6
call fcn.00406e77
add esp, 4
mov dword [ebp - 0x48], esp
push dword [ebp - 0x20]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x4050ce
push 6
call fcn.00406e77
add esp, 4
mov eax, 0xffffffe0
jmp 0x40527d
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x48], esp
push 0
push 0
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 0x2c]
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x40511c
push 6
call fcn.00406e77
add esp, 4
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
je 0x4051c4
cmp dword [ebp - 0x3c], 0
je 0x40518a
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call fcn.004046ac
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], esp
lea eax, [ebp - 0x40]
push eax
push 0x200
push dword [ebp - 0x4c]
push dword [ebp - 0x2c]
call dword [sym.imp.WININET.dll_InternetReadFile]
nop
nop
nop
nop
cmp dword [ebp - 0x50], esp
je 0x40516f
push 6
call fcn.00406e77
add esp, 4
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x40518a
cmp dword [ebp - 0x40], 0
je 0x40518a
xor eax, eax
jmp 0x40518f
mov eax, 1
test eax, eax
je 0x40519c
jmp 0x4051c4
push dword [ebp - 0x40]
push dword [ebp - 0x34]
call fcn.004046ac
mov dword [ebp - 0x34], eax
push 0
mov ebx, 0x308
call sub.KERNEL32.DLL_GetTickCount
add esp, 4
mov dword [ebp - 0x44], eax
jmp 0x4050ec
mov dword [ebp - 0x48], esp
mov ebx, dword [ebp + 8]
push dword [ebx]
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntry]
nop
nop
nop
nop
cmp dword [ebp - 0x48], esp
je 0x4051e8
push 6
call fcn.00406e77
add esp, 4
cmp dword [ebp + 0x14], 0
mov eax, 0
sete al
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jne 0x405238
push 0
mov ebx, 0x308
call sub.KERNEL32.DLL_GetTickCount
add esp, 4
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
fild dword [ebp - 4]
fstp qword [ebp - 0x54]
fsub qword [ebp - 0x54]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
call fcn.00402b5b
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
cmp dword [ebp + 0x1c], 0
mov eax, 0
sete al
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jne 0x40525f
mov eax, dword [ebp - 0x30]
mov ebx, dword [ebp + 0x18]
mov dword [ebx], eax
cmp dword [ebp - 0x3c], 0
je 0x405273
mov eax, 0xfffffffc
jmp 0x40527d
mov eax, 1
jmp 0x40527d
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40528e
push ebx
call fcn.00406e71
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40529e
push ebx
call fcn.00406e71
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4052ae
push ebx
call fcn.00406e71
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x38