Function at 0x46b700
Capabilities:
Check for time delay via gettickcount
Check http status code
Get http content length
Query remote server for available data
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e7ffe
mov eax, dword fs:[0]
push eax
sub esp, 0x5a4
mov eax, dword [0x66c488]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 0x18], 0
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x54c], esi
je 0x46b748
cmp dword [edi + 0x1c], 0
jne 0x46b7aa
push dword [edi + 0x30]
push dword [edi + 0x2c]
push dword [edi + 0x24]
push dword [edi + 0x20]
call fcn.0046b4a0
test eax, eax
jne 0x46b7aa
lea eax, [ebp - 0x544]
mov dword [ebp - method.std::exception.virtual_0], vtable.std::exception.0
xorps xmm0, xmm0
mov dword [ebp - 0x558], str.disconnected
push eax
movq qword [ebp - 0x544], xmm0
lea eax, [ebp - 0x558]
mov byte [ebp - 0x554], 1
push eax
call fcn.005b50e6
add esp, 8
push 0x656c04
lea eax, [ebp - 0x548]
push eax
call fcn.005b3814
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x270], eax
call fcn.0046d771
mov ecx, eax
test ecx, ecx
jne 0x46b7cb
push 0x80004005
call fcn.0040aa40
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x570], eax
push 0
lea eax, [ebp - 0x570]
mov dword [ebp - 4], 0
push eax
push dword [ebx]
call fcn.00409900
mov eax, dword [ebp - 0x570]
add esp, 0xc
cmp dword [eax - 0xc], 0
je 0x46b844
push eax
call fcn.00469990
add esp, 4
test eax, eax
jne 0x46b844
lea eax, [ebp - 0x544]
mov dword [ebp - method.std::exception.virtual_0], vtable.std::exception.0
xorps xmm0, xmm0
mov dword [ebp - 0x550], str.creation_dir_failed
push eax
movq qword [ebp - 0x544], xmm0
lea eax, [ebp - 0x550]
mov byte [ebp - 0x54c], 1
jmp 0x46b790
push 0x400
lea eax, [ebp - 0x410]
push 0
push eax
call fcn.005b41e0
push dword [esi]
lea eax, [ebp - 0x410]
push eax
call fcn.0046c520
push dword [esi]
lea eax, [ebp - 0x56c]
push dword [edi + 0x28]
push eax
call fcn.004094f0
add esp, 0x20
push 0
push 0x84000100
push 0
push 0
push 0
push dword [ebp - 0x56c]
push 0x608180
push dword [edi + 0x1c]
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov esi, eax
mov dword [ebp - 0x564], esi
mov byte [ebp - 4], 2
test esi, esi
jne 0x46b90f
lea eax, [ebp - 0x54c]
push eax
call fcn.0046c490
push eax
lea eax, [ebp - 0x53c]
mov byte [ebp - 4], 3
push str.HttpOpenReq_failed
push eax
call fcn.0040bcb0
mov eax, dword [eax]
xorps xmm0, xmm0
mov dword [ebp - 0x558], eax
lea eax, [ebp - 0x544]
push eax
lea eax, [ebp - 0x558]
mov byte [ebp - 4], 4
push eax
mov dword [ebp - method.std::exception.virtual_0], vtable.std::exception.0
movq qword [ebp - 0x544], xmm0
mov byte [ebp - 0x554], 1
call fcn.005b50e6
add esp, 0x18
jmp 0x46b799
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x46ba56
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
push 0
mov ebx, eax
lea eax, [ebp - 0x554]
push eax
push 0x400
push ebx
push 0
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push dword [ebp - 0x554]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
call edi
push str.Called_Process_Fail
mov esi, eax
call edi
add esi, 0x64
add eax, esi
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
lea eax, [ebp - 0x410]
push eax
push dword [ebp - 0x554]
push ebx
push str.Called_Process
push str._s_failed_with_error__d:__s__s_
push edi
call dword [sym.imp.KERNEL32.dll_LocalSize]
push eax
push edi
call fcn.00423700
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
add esp, 0x1c
push dword [ebp - 0x554]
call esi
push edi
call esi
call fcn.0046d771
mov ecx, eax
test ecx, ecx
jne 0x46b9c2
push 0x80004005
call fcn.0040aa40
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x53c], eax
lea eax, [ebp - 0x54c]
mov byte [ebp - 4], 5
push eax
call fcn.0046c490
push dword [eax]
lea eax, [ebp - 0x53c]
mov byte [ebp - 4], 6
push str.HttpSendReq_failed_:__s
push eax
call fcn.0040a290
mov edx, dword [ebp - 0x54c]
add esp, 0x10
mov byte [ebp - 4], 5
add edx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x46ba1c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x53c]
xorps xmm0, xmm0
mov dword [ebp - 0x550], eax
lea eax, [ebp - 0x544]
push eax
mov dword [ebp - method.std::exception.virtual_0], vtable.std::exception.0
lea eax, [ebp - 0x550]
movq qword [ebp - 0x544], xmm0
mov byte [ebp - 0x54c], 1
jmp 0x46b790
cmp dword [edi + 0x274], 0xffffffff
je 0x46badb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x270]
cmp eax, dword [edi + 0x274]
jbe 0x46badb
lea ecx, [ebp - 0x53c]
call fcn.0040a2b0
push 0x1a4
lea eax, [ebp - 0x53c]
mov byte [ebp - 4], 7
push str.time_out___line:_d
push eax
call fcn.0040a290
mov eax, dword [ebp - 0x53c]
xorps xmm0, xmm0
mov dword [ebp - 0x550], eax
lea eax, [ebp - 0x544]
push eax
lea eax, [ebp - 0x550]
mov dword [ebp - method.std::exception.virtual_0], vtable.std::exception.0
push eax
movq qword [ebp - 0x544], xmm0
mov byte [ebp - 0x54c], 1
call fcn.005b50e6
add esp, 0x14
jmp 0x46b799
push 0
lea eax, [ebp - 0x578]
mov dword [ebp - 0x574], 0
push eax
lea eax, [ebp - 0x574]
mov dword [ebp - 0x578], 4
push eax
push 0x20000013
push esi
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
jne 0x46bb4f
lea ecx, [ebp - 0x53c]
call fcn.0040a2b0
mov byte [ebp - 4], 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.HttpQueryInfo_failed_:__d
lea eax, [ebp - 0x53c]
push eax
call fcn.0040a290
add esp, 0xc
lea ecx, [ebp - 0x548]
push dword [ebp - 0x53c]
call fcn.0046b170
jmp 0x46b799
cmp dword [ebp - 0x574], 0x194
jne 0x46bb79
lea ecx, [ebp - 0x53c]
call fcn.0040a2b0
mov eax, dword [ebp - 0x54c]
mov byte [ebp - 4], 9
push dword [eax]
push str.not_found_file_:__s
jmp 0x46bb2a
mov ecx, edi
call fcn.0046c0b0
test eax, eax
je 0x46bb9f
lea ecx, [ebp - 0x53c]
call fcn.0040a2b0
push 0x1bf
mov byte [ebp - 4], 0xa
push str.time_out___line:_d
jmp 0x46bb2a
push 0
lea eax, [ebp - 0x57c]
mov dword [ebp - 0x55c], 0
push eax
lea eax, [ebp - 0x55c]
mov dword [ebp - 0x57c], 4
push eax
push 0x20000005
push esi
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
jne 0x46bbe8
push str.HttpQueryInfo_get_content_length_failed
lea ecx, [ebp - 0x548]
call fcn.0046b170
jmp 0x46b799
mov eax, dword [ebp - 0x55c]
mov ecx, edi
mov dword [edi + 0x268], eax
mov dword [edi + 0x26c], 0
call fcn.0046c0b0
test eax, eax
je 0x46bc27
lea ecx, [ebp - 0x53c]
call fcn.0040a2b0
push 0x1d3
mov byte [ebp - 4], 0xb
push str.time_out_line:_d
jmp 0x46bb2a
lea ecx, [ebp - 0x590]
call fcn.00479771
push 0
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x5b0]
mov byte [ebp - 4], 0xc
call fcn.0040ff70
lea eax, [ebp - 0x5b0]
mov byte [ebp - 4], 0xd
push eax
push 0x3001
push dword [ebx]
lea ecx, [ebp - 0x590]
call fcn.00479ced
test eax, eax
jne 0x46bc83
lea ecx, [ebp - 0x53c]
call fcn.0040a2b0
push dword [ebx]
mov byte [ebp - 4], 0xe
push str.open_file_failed_in_local_drive____s
jmp 0x46bb2a
lea ecx, [ebp - 0x538]
call fcn.0040b8a0
lea eax, [ebp - 0x538]
push eax
lea ecx, [ebp - 0x590]
call fcn.0047d934
test eax, eax
je 0x46beb4
mov edx, dword [ebp - 0x55c]
mov eax, dword [ebp - 0x520]
mov ecx, dword [ebp - 0x51c]
cmp eax, edx
jne 0x46bccd
test ecx, ecx
jne 0x46bccf
mov dword [edi + 0x26c], eax
jmp 0x46beb4
test ecx, ecx
jb 0x46bd19
ja 0x46bcd7
cmp eax, edx
jbe 0x46bd19
lea ecx, [ebp - 0x590]
call fcn.00479a2c
push 0
push 0x1001
push dword [ebx]
lea ecx, [ebp - 0x590]
call fcn.00479ced
test eax, eax
jne 0x46beb4
lea ecx, [ebp - 0x53c]
call fcn.0040a2b0
push dword [ebx]
mov byte [ebp - 4], 0xf
push str.open_file_failed_in_local_drive_2____s
jmp 0x46bb2a
test ecx, ecx
jne 0x46bd25
test eax, eax
je 0x46beb4
lea ecx, [ebp - 0x564]
call fcn.0046b350
mov ecx, edi
call fcn.0046b6d0
push dword [edi + 0x30]
mov ecx, edi
push dword [edi + 0x2c]
push dword [edi + 0x24]
push dword [edi + 0x20]
call fcn.0046b4a0
test eax, eax
jne 0x46bd89
lea eax, [ebp - 0x54c]
push eax
call fcn.0046c490
push eax
lea eax, [ebp - 0x53c]
mov byte [ebp - 4], 0x10
push str.Http_connect_failed
push eax
call fcn.0040bcb0
add esp, 0x10
push dword [eax]
lea ecx, [ebp - 0x548]
mov byte [ebp - 4], 0x11
call fcn.0046b170
jmp 0x46b799
push 0
push 0x100
push 0
push 0
push 0
push dword [ebp - 0x56c]
push 0x608180
push dword [edi + 0x1c]
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
push eax
lea ecx, [ebp - 0x564]
call fcn.0046b2f0
mov esi, dword [ebp - 0x564]
test esi, esi
jne 0x46bdfb
lea eax, [ebp - 0x54c]
push eax
call fcn.0046c490
push eax
lea eax, [ebp - 0x53c]
mov byte [ebp - 4], 0x12
push str.HttpOpenReq_2_failed
push eax
call fcn.0040bcb0
add esp, 0x10
push dword [eax]
lea ecx, [ebp - 0x548]
mov byte [ebp - 4], 0x13
call fcn.0046b170
jmp 0x46b799
lea ecx, [ebp - 0x554]
call fcn.0040a2b0
push dword [ebp - 0x520]
lea eax, [ebp - 0x554]
mov byte [ebp - 4], 0x14
push str.Range:bytes_d_
push eax
call fcn.0040a290
mov eax, dword [ebp - 0x554]
add esp, 0xc
push 0
push 0
push dword [eax - 0xc]
push eax
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x46be78
lea eax, [ebp - 0x54c]
push eax
call fcn.0046c490
push eax
lea eax, [ebp - 0x53c]
mov byte [ebp - 4], 0x15
push str.HttpSpenReq_2_failed
push eax
call fcn.0040bcb0
add esp, 0x10
push dword [eax]
lea ecx, [ebp - 0x548]
mov byte [ebp - 4], 0x16
call fcn.0046b170
jmp 0x46b799
mov eax, dword [ebp - 0x55c]
lea ecx, [ebp - 0x590]
mov dword [edi + 0x268], eax
mov eax, dword [ebp - 0x520]
push 2
mov dword [edi + 0x26c], eax
mov eax, dword [ebp - 0x590]
push 0
push 0
call dword [eax + 0x2c]
lea ecx, [ebp - 0x554]
mov byte [ebp - 4], 0xd
call fcn.0040a3e0
mov eax, dword [edi + 0x26c]
mov dword [ebp - 0x568], 0
mov dword [ebp - 0x560], 0
cmp eax, dword [edi + 0x268]
jae 0x46bfbd
mov ebx, 0xfffe
nop
mov ecx, edi
call fcn.0046c0b0
test eax, eax
jne 0x46c063
push eax
push eax
lea eax, [ebp - 0x568]
push eax
push esi
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
jne 0x46bf22
lea eax, [ebp - 0x54c]
push eax
call fcn.0046c490
add esp, 4
lea ecx, [ebp - 0x54c]
call fcn.0040a3e0
jmp 0x46bfab
mov eax, dword [ebp - 0x568]
test eax, eax
je 0x46bfbd
cmp eax, 0xfffe
mov ecx, eax
cmova ecx, ebx
xor ebx, ebx
mov dword [ebp - 0x53c], ecx
mov dword [ebp - 0x560], ebx
test eax, eax
je 0x46bfa0
nop dword [eax]
lea eax, [ebp - 0x560]
push eax
push ecx
push dword [edi + 0x280]
push esi
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x46c01d
push dword [ebp - 0x560]
lea ecx, [ebp - 0x590]
push dword [edi + 0x280]
call fcn.0047a096
mov eax, dword [ebp - 0x560]
add ebx, eax
add dword [edi + 0x26c], eax
mov ecx, dword [ebp - 0x53c]
cmp dword [ebp - 0x568], ebx
ja 0x46bf50
cmp dword [edi + 0x14], 0
je 0x46bfbd
mov ebx, 0xfffe
mov eax, dword [edi + 0x26c]
cmp eax, dword [edi + 0x268]
jb 0x46bee0
lea ecx, [ebp - 0x590]
call fcn.00479a2c
lea ecx, [ebp - 0x5b0]
call fcn.0040fe00
lea ecx, [ebp - 0x590]
call fcn.004797a2
lea ecx, [ebp - 0x564]
call fcn.0046b350
lea ecx, [ebp - 0x56c]
call fcn.0040a3e0
lea ecx, [ebp - 0x570]
call fcn.0040a3e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005b07f1
mov esp, ebp
pop ebp
ret 8
lea eax, [ebp - 0x54c]
push eax
call fcn.0046c490
push eax
lea eax, [ebp - 0x53c]
mov byte [ebp - 4], 0x18
push 0x60831c
push eax
call fcn.0040bcb0
add esp, 0x10
push dword [eax]
lea ecx, [ebp - 0x59c]
mov byte [ebp - 4], 0x19
call fcn.0046b170
push 0x656c04
lea eax, [ebp - 0x59c]
jmp 0x46b7a4
lea ecx, [ebp - 0x53c]
call fcn.0040a2b0
push 0x222
lea eax, [ebp - 0x53c]
mov byte [ebp - 4], 0x17
push str.time_out_line:_d
push eax
call fcn.0040a290
add esp, 0xc
lea ecx, [ebp - 0x59c]
push dword [ebp - 0x53c]
call fcn.0046b170
push 0x656c04
lea eax, [ebp - 0x59c]
jmp 0x46b7a4