Function at 0x46a5d0
Capabilities:
Check for time delay via gettickcount
Check http status code
Connect to http server
Create http request
Get http content length
Read data from internet
Receive data
Reference http user-agent string
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x32
push 0
push 0
dec ecx
jne 0x46a5d9
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x10]
call fcn.00405300
mov eax, dword [ebp + 0x1c]
call fcn.00405300
mov eax, dword [ebp + 0x18]
call fcn.00405300
mov eax, dword [ebp + 0x14]
call fcn.00405300
mov eax, dword [ebp + 0x10]
call fcn.00405300
xor eax, eax
push ebp
push 0x46aced
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 0xc], eax
mov byte [ebp - 0x3d], 0
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov dword [eax], edx
lea eax, [ebp - 0x20]
mov edx, 0x46ad0c
call fcn.00404f18
call sub.kernel32.dll_GetTickCount_1
xor edx, edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
xor edx, edx
push ebp
push 0x46ac8f
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x7a]
push eax
lea ecx, [ebp - 0x14]
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 0x10]
call fcn.00469a90
push 0
push 0
push 0
push 0
push 0
call sub.wininet.dll_InternetOpenA
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x64], 0x1388
push 4
lea eax, [ebp - 0x64]
push eax
push 2
mov eax, dword [ebp - 0xc]
push eax
call sub.wininet.dll_InternetSetOptionA
push 4
lea eax, [ebp - 0x64]
push eax
push 8
mov eax, dword [ebp - 0xc]
push eax
call sub.wininet.dll_InternetSetOptionA
push 4
lea eax, [ebp - 0x64]
push eax
push 7
mov eax, dword [ebp - 0xc]
push eax
call sub.wininet.dll_InternetSetOptionA
push 0
push 0
push 3
mov eax, dword [ebp + 0x10]
call fcn.00405310
push eax
mov eax, dword [ebp + 0x14]
call fcn.00405310
push eax
movzx eax, word [ebp - 0x7a]
push eax
mov eax, dword [ebp - 0x14]
call fcn.00405310
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.wininet.dll_InternetConnectA
mov dword [ebp - 8], eax
push 4
lea eax, [ebp - 0x64]
push eax
push 8
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetSetOptionA
push 4
lea eax, [ebp - 0x64]
push eax
push 7
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetSetOptionA
call sub.kernel32.dll_GetLastError
cmp byte [ebp + 0x24], 0
je 0x46a732
mov edi, 0x46ad5c
jmp 0x46a737
mov edi, 0x46ad64
cmp byte [ebp + 0xc], 0
je 0x46a741
xor esi, esi
jmp 0x46a746
mov esi, 0x80000000
cmp dword [ebp - 0x54], 4
jne 0x46a752
or esi, 0x800000
lea eax, [ebp - 0x1c]
mov edx, dword [ebp + 0x18]
call fcn.00404f18
push 2
lea eax, [ebp - 0x30]
mov ecx, 1
mov edx, dword [0x46a580]
call fcn.0040668c
add esp, 4
mov eax, dword [ebp - 0x1c]
call fcn.00405310
mov edx, dword [ebp - 0x30]
mov dword [edx], eax
mov eax, dword [ebp - 0x30]
xor edx, edx
mov dword [eax + 4], edx
push 0
push esi
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp + 0x1c]
call fcn.00405310
push eax
push 0x46ad68
mov eax, dword [ebp - 0x18]
call fcn.00405310
push eax
push edi
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_HttpOpenRequestA
mov dword [ebp - 4], eax
call sub.kernel32.dll_GetLastError
cmp byte [ebp + 0x24], 0
je 0x46a9ae
test ebx, ebx
je 0x46a8b8
mov ecx, 0x46ad7c
mov edx, 0x46ada0
mov eax, ebx
call fcn.0041d8cc
mov ecx, 0x46adb8
mov edx, 0x46ae00
mov eax, ebx
call fcn.0041d8cc
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
mov edi, eax
dec edi
test edi, edi
jl 0x46a8b8
inc edi
xor esi, esi
lea ecx, [ebp - 0x28]
mov edx, esi
mov eax, ebx
call fcn.0041cf9c
lea ecx, [ebp - 0x2c]
mov edx, esi
mov eax, ebx
call fcn.0041dd14
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x46a827
sub eax, 4
mov eax, dword [eax]
test eax, eax
jne 0x46a866
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18c], eax
mov byte [ebp - 0x188], 0xb
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x184], eax
mov byte [ebp - 0x180], 0xb
lea edx, [ebp - 0x18c]
mov ecx, 1
mov eax, 0x46ae10
call fcn.0040abd0
jmp 0x46a8b0
lea eax, [ebp - 0x190]
push eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18c], eax
mov byte [ebp - 0x188], 0xb
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x184], eax
mov byte [ebp - 0x180], 0xb
lea edx, [ebp - 0x18c]
mov ecx, 1
mov eax, 0x46ae10
call fcn.0040abd0
mov edx, dword [ebp - 0x190]
lea eax, [ebp - 0x24]
call fcn.0040514c
inc esi
dec edi
jne 0x46a803
cmp dword [ebp - 0x38], 0
je 0x46a977
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
call dword [edx]
cmp edx, 0
jne 0x46a8d1
cmp eax, 0
je 0x46a977
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
call dword [edx]
cmp edx, 0
jne 0x46a8ea
cmp eax, 0
jbe 0x46a92a
jmp 0x46a8ec
jle 0x46a92a
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
call dword [edx]
push eax
lea eax, [ebp - 0x34]
mov ecx, 1
mov edx, dword [0x408794]
call fcn.0040668c
add esp, 4
push 0
push 0
mov eax, dword [ebp - 0x38]
call fcn.0041e4b0
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
call dword [edx]
mov ecx, eax
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
call fcn.0041e6bc
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x46a936
sub ebx, 4
mov ebx, dword [ebx]
mov eax, dword [ebp - 0x34]
call fcn.004064d0
push eax
mov eax, dword [ebp - 0x34]
push eax
push ebx
mov eax, dword [ebp - 0x24]
call fcn.00405310
push eax
mov eax, dword [ebp - 4]
push eax
call sub.wininet.dll_HttpSendRequestA
test eax, eax
jne 0x46aaf9
call sub.kernel32.dll_GetLastError
test eax, eax
je 0x46aaf9
push 0
call sub.kernel32.dll_Sleep_2
jmp 0x46aaf9
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x46a983
sub ebx, 4
mov ebx, dword [ebx]
push 0
push 0
push ebx
mov eax, dword [ebp - 0x24]
call fcn.00405310
push eax
mov eax, dword [ebp - 4]
push eax
call sub.wininet.dll_HttpSendRequestA
test eax, eax
jne 0x46aaf9
push 0
call sub.kernel32.dll_Sleep_2
jmp 0x46aaf9
test ebx, ebx
je 0x46aaa2
mov ecx, 0x46ad7c
mov edx, 0x46ada0
mov eax, ebx
call fcn.0041d8cc
mov ecx, 0x46adb8
mov edx, 0x46ae00
mov eax, ebx
call fcn.0041d8cc
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
mov edi, eax
dec edi
test edi, edi
jl 0x46aaa2
inc edi
xor esi, esi
lea ecx, [ebp - 0x28]
mov edx, esi
mov eax, ebx
call fcn.0041cf9c
lea ecx, [ebp - 0x2c]
mov edx, esi
mov eax, ebx
call fcn.0041dd14
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x46aa11
sub eax, 4
mov eax, dword [eax]
test eax, eax
jne 0x46aa50
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18c], eax
mov byte [ebp - 0x188], 0xb
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x184], eax
mov byte [ebp - 0x180], 0xb
lea edx, [ebp - 0x18c]
mov ecx, 1
mov eax, 0x46ae10
call fcn.0040abd0
jmp 0x46aa9a
lea eax, [ebp - 0x194]
push eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18c], eax
mov byte [ebp - 0x188], 0xb
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x184], eax
mov byte [ebp - 0x180], 0xb
lea edx, [ebp - 0x18c]
mov ecx, 1
mov eax, 0x46ae10
call fcn.0040abd0
mov edx, dword [ebp - 0x194]
lea eax, [ebp - 0x24]
call fcn.0040514c
inc esi
dec edi
jne 0x46a9ed
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x46aaae
sub ebx, 4
mov ebx, dword [ebx]
push 0
push 0
push ebx
mov eax, dword [ebp - 0x24]
call fcn.00405310
push eax
mov eax, dword [ebp - 4]
push eax
call sub.wininet.dll_HttpSendRequestA
test eax, eax
jne 0x46aaf9
call sub.kernel32.dll_GetLastError
test eax, eax
je 0x46aae1
test eax, eax
jne 0x46aae1
sub eax, 0xfffff
push eax
call sub.kernel32.dll_Sleep_2
push ebp
call fcn.0046a5a4
pop ecx
mov byte [ebp - 0x3d], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46ac99
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], 4
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x44]
push eax
push 0x20000013
mov eax, dword [ebp - 4]
push eax
call sub.wininet.dll_HttpQueryInfoA
test eax, eax
je 0x46ab2c
cmp dword [ebp - 0x44], 0xc8
je 0x46ab4c
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x44]
mov dword [eax], edx
push ebp
call fcn.0046a5a4
pop ecx
mov byte [ebp - 0x3d], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46ac99
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x44]
mov dword [eax], edx
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], 4
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x48]
push eax
push 0x20000005
mov eax, dword [ebp - 4]
push eax
call sub.wininet.dll_HttpQueryInfoA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
jne 0x46ab99
mov dword [ebp - 0x70], 0xffffffff
mov dword [ebp - 0x6c], 0x7fffffff
jmp 0x46aba4
mov eax, dword [ebp - 0x48]
xor edx, edx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
cmp dword [ebp - 0x38], 0
jne 0x46abc8
cmp dword [ebp - 0x44], 0xc8
sete byte [ebp - 0x3d]
jmp 0x46ac7e
push 0
push 0
mov eax, dword [ebp - 0x38]
call fcn.0041e514
cmp dword [ebp + 8], 0
jle 0x46ac18
call sub.kernel32.dll_GetTickCount_1
xor edx, edx
sub eax, dword [ebp - 0x60]
sbb edx, dword [ebp - 0x5c]
push edx
push eax
mov eax, dword [ebp + 8]
cdq
cmp edx, dword [esp + 4]
jne 0x46abfc
cmp eax, dword [esp]
pop edx
pop eax
jae 0x46ac18
jmp 0x46ac00
pop edx
pop eax
jge 0x46ac18
push ebp
call fcn.0046a5a4
pop ecx
mov byte [ebp - 0x3d], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46ac99
lea eax, [ebp - 0x58]
push eax
push 0x101
lea eax, [ebp - 0x17b]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.wininet.dll_InternetReadFile
test eax, eax
je 0x46ac7e
cmp dword [ebp - 0x58], 0
jne 0x46ac41
mov byte [ebp - 0x3d], 1
jmp 0x46ac7e
lea edx, [ebp - 0x17b]
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x38]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 0x58]
xor edx, edx
add dword [ebp - 0x78], eax
adc dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
call dword [edx]
cmp edx, dword [ebp - 0x6c]
jne 0x46ac74
cmp eax, dword [ebp - 0x70]
jb 0x46abd4
jmp 0x46ac7a
jl 0x46abd4
mov byte [ebp - 0x3d], 1
push ebp
call fcn.0046a5a4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46ac99
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46acf4
lea eax, [ebp - 0x194]
mov edx, 2
call fcn.00404ea4
lea eax, [ebp - 0x34]
mov edx, dword [0x408794]
call fcn.004067ac
lea eax, [ebp - 0x30]
mov edx, dword [0x46a580]
call fcn.004067ac
lea eax, [ebp - 0x2c]
mov edx, 8
call fcn.00404ea4
lea eax, [ebp + 0x10]
mov edx, 4
call fcn.00404ea4
ret