Function at 0x4108d0
Capabilities:
Download url
Receive data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x416ca2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x290
mov eax, dword [0x4251a4]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor esi, esi
push esi
push esi
push 1
push esi
push str.unsigned_long___cdecl_SendHttpStatThread_void__
push 0x41c4ac
xor eax, ebp
push str.unsigned_long___cdecl_SendHttpStatThread_void__
lea ecx, [esp + 0x30]
mov dword [esp + 0x2b0], eax
call fcn.00408360
mov dword [esp + 0x2a4], esi
mov word [esp + 0x88], si
xor eax, eax
mov ecx, 0x81
lea edi, [esp + 0x8a]
rep stosd dword es:[edi], eax
push 0xffffffffffffffff
push str.http:__pv.xmp.stat.xunlei.com_UPV_cf1gsxmpconvtt
stosw word es:[edi], ax
call fcn.0040d770
add esp, 8
cmp eax, esi
mov dword [esp + 0x10], eax
jne 0x410966
push 0x8007000e
call fcn.00401130
mov byte [esp + 0x2a4], 1
mov edi, dword [ebx]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push edi
call esi
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.0040c310
test eax, eax
jge 0x41098e
push eax
call fcn.00401130
push 0x418930
call esi
push eax
push 0x418930
lea ecx, [esp + 0x18]
call fcn.0040c310
test eax, eax
jge 0x4109ae
push eax
call fcn.00401130
mov edi, dword [ebx + 4]
push edi
call esi
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.0040c310
test eax, eax
jge 0x4109c9
push eax
call fcn.00401130
push 0x418930
call esi
push eax
push 0x418930
lea ecx, [esp + 0x18]
call fcn.0040c310
test eax, eax
jge 0x4109e9
push eax
call fcn.00401130
lea eax, [esp + 0x2c]
push eax
call fcn.0040da10
add esp, 4
mov byte [esp + 0x2a4], 2
mov ecx, eax
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
mov edi, eax
push edi
call esi
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.0040c310
test eax, eax
jge 0x410a20
push eax
call fcn.00401130
mov byte [esp + 0x2a4], 1
lea ecx, [esp + 0x2c]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push 0x418930
call esi
push eax
push 0x418930
lea ecx, [esp + 0x18]
call fcn.0040c310
test eax, eax
jge 0x410a52
push eax
call fcn.00401130
mov edi, dword [ebx + 8]
push edi
call esi
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.0040c310
test eax, eax
jge 0x410a6d
push eax
call fcn.00401130
push str.ct
call esi
push eax
push str.ct
lea ecx, [esp + 0x18]
call fcn.0040c310
test eax, eax
jge 0x410a8d
push eax
call fcn.00401130
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, eax
mov word [esp + 0x48], 0
xor eax, eax
mov ecx, 0xf
lea edi, [esp + 0x4a]
rep stosd dword es:[edi], eax
push 0xa
lea ecx, [esp + 0x4c]
push ecx
push edx
stosw word es:[edi], ax
call dword [sym.imp.MSVCR71.dll__itow]
add esp, 0xc
lea edx, [esp + 0x48]
push edx
call esi
push eax
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x18]
call fcn.0040c310
xor edi, edi
cmp eax, edi
jge 0x410ade
push eax
call fcn.00401130
mov esi, dword [esp + 0x10]
push edi
push edi
push 0x104
lea ecx, [esp + 0x94]
push ecx
push esi
push edi
call sub.urlmon.dll_URLDownloadToCacheFileW
mov eax, dword [ebx]
cmp eax, edi
je 0x410b09
push eax
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [ebx], edi
mov eax, dword [ebx + 4]
cmp eax, edi
je 0x410b1c
push eax
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [ebx + 4], edi
mov eax, dword [ebx + 8]
cmp eax, edi
je 0x410b2f
push eax
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [ebx + 8], edi
push ebx
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
push 0x41c440
call fcn.00402d00
add esp, 8
test eax, eax
jne 0x410b98
push esi
push str.StatUrl_:
push edi
push 0x41c440
call fcn.00407790
add esp, 8
mov ecx, eax
call fcn.0040f3f0
mov ecx, eax
call fcn.0040d460
push 1
mov esi, eax
push edi
mov dword [0x425bbc], edi
mov edx, dword [esi + 0x240]
push edi
push edx
push 1
mov ecx, esi
mov dword [esi + 0x248], edi
call fcn.00407d80
add esi, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov byte [esp + 0x2a4], 0
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esp + 0x2a4], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.00408660
mov ecx, dword [esp + 0x29c]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x294]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.00414dc9
mov esp, ebp
pop ebp
ret