Function at 0x410cc0
Capabilities:
Create http request
Query remote server for available data
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50fe54
mov eax, dword fs:[0]
push eax
mov eax, 0x824c
call fcn.0050c2d0
mov eax, dword [0x551aa8]
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 eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
push str.URLDownload_Start
mov ebx, ecx
mov edi, edx
mov dword [ebp - 0x8228], eax
call fcn.004172c0
add esp, 4
push str.Open_Internet_Session
call fcn.004172c0
add esp, 4
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebp - 0x8220], eax
test eax, eax
jne 0x410d4d
push str.Internet_Session_Open_Failed_
xor esi, esi
call fcn.00417260
add esp, 4
lea eax, [esi + 1]
jmp 0x4111d3
lea ecx, [ebx + 0x28]
push edi
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator]
mov ecx, dword [ebp - 0x8228]
push esi
push ecx
lea edi, [ebx + 0x30]
push 0x543be8
push edi
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
mov edx, dword [edi]
push edx
lea eax, [ebx + 0x2c]
push str._s.tmp
push eax
mov dword [ebp - 0x8228], eax
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
add esp, 0x1c
lea ecx, [ebp - 0x824c]
call dword [sym.imp.mfc100u.dll_CFile::CFile_1]
push esi
mov esi, dword [ebp - 0x8220]
push esi
lea ecx, [ebp - 0x821c]
lea edi, [ebp - 0x824c]
mov edx, ebx
mov dword [ebp - 4], 0
call fcn.00411200
cmp eax, 2
je 0x4111be
test eax, eax
je 0x410e67
mov eax, dword [ebx + 0x18]
cmp eax, dword [ebp - 0x821c]
jae 0x4110f0
push str.Open_Http_Connection
call fcn.004172c0
add esp, 4
lea ecx, [ebp - 0x8224]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [ebp - 4], 1
mov ecx, dword [ebx + 0x18]
push ecx
lea edx, [ebp - 0x8224]
push str.Range:bytes_d__nCache_Control:no_cache_nPragma:no_cache
push edx
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
mov eax, dword [ebp - 0x8224]
mov ecx, dword [eax - 0xc]
mov edx, dword [ebx + 0x28]
add esp, 0xc
push 0
push 0x84000000
push ecx
push eax
push edx
push esi
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov edi, eax
mov dword [ebx + 0x14], edi
test edi, edi
jne 0x410e84
push str.Http_Connection_Open_Failed_
xor esi, esi
call fcn.00417260
add esp, 4
lea ecx, [ebp - 0x824c]
call dword [sym.imp.mfc100u.dll_CFile::Close]
mov eax, dword [ebp - 0x8220]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
lea ecx, [ebp - 0x8224]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x824c]
mov dword [ebp - 4], 0xffffffff
call dword [0x511864]
mov eax, 1
jmp 0x4111d3
xor ecx, ecx
push 0x206
push ecx
lea edx, [ebp - 0x216]
push edx
mov word [ebp - 0x218], cx
call sub.MSVCR100.dll_memset
add esp, 0xc
lea eax, [ebp - 0x8250]
push eax
lea ecx, [ebp - 0x8258]
push ecx
lea edx, [ebp - 0x218]
push edx
push 5
push edi
mov dword [ebp - 0x8258], 0x104
mov dword [ebp - 0x8250], 0
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x410ef3
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.MSVCR100.dll__wtoi]
mov ecx, dword [ebx + 0x18]
add esp, 4
add ecx, eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], ecx
mov edx, dword [ebx + 0x1c]
push edx
push str.DownLoad_Left_File_Size_:__d
call fcn.004172c0
add esp, 8
cmp dword [ebx + 0x1c], 0
jbe 0x4110a5
push str.Download_File_Start
call fcn.004172c0
mov eax, dword [ebx + 0x18]
add esp, 4
mov dword [ebx + 0x24], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov dword [ebp - 0x821c], 0
cmp dword [ebx + 0x48], 0
jne 0x4110c3
mov edx, dword [ebx + 0x14]
push 0
push 0
lea ecx, [ebp - 0x8254]
push ecx
push edx
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
je 0x411063
mov ecx, dword [ebp - 0x8254]
lea eax, [ebp - 0x822c]
push eax
mov eax, dword [ebx + 0x14]
push ecx
lea edx, [ebp - 0x8218]
push edx
push eax
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x41106a
cmp dword [ebp - 0x822c], 0
je 0x411083
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x822c]
push ecx
lea edx, [ebp - 0x8218]
push edx
lea ecx, [ebp - 0x824c]
mov edi, eax
call dword [sym.imp.mfc100u.dll_CFile::Write]
mov ecx, dword [ebp - 0x822c]
add dword [ebx + 0x24], ecx
mov eax, dword [ebx + 0x24]
cmp edi, esi
jbe 0x411036
sub edi, esi
mov dword [ebp - 0x8230], edi
fild dword [ebp - 0x8230]
jns 0x410fd6
fadd dword [0x546df0]
fld qword [0x546e10]
mov edx, eax
fdiv st(1), st(0)
mov dword [ebp - 0x8238], edx
fxch st(1)
fstp dword [ebp - 0x8230]
fild dword [ebp - 0x8238]
test edx, edx
jns 0x410ffe
fadd dword [0x546df0]
fstp dword [ebp - 0x8238]
mov edx, dword [ebx + 0x20]
fld dword [ebp - 0x8238]
fld st(0)
fdivrp st(2)
fld dword [ebp - 0x8230]
fdivp st(2)
fxch st(1)
fstp dword [ebx + 0x38]
fild dword [ebx + 0x20]
test edx, edx
jns 0x41102b
fadd dword [0x546df0]
fdivp st(1)
fmul qword [0x546e18]
fstp dword [ebx + 0x3c]
mov dword [0x55c558], eax
xor eax, eax
mov dword [0x55c55c], eax
mov edx, dword [ebx + 0x20]
mov dword [0x55c560], edx
mov dword [0x55c564], eax
fld dword [ebx + 0x38]
fstp dword [0x55c570]
cmp ecx, eax
jne 0x410f33
jmp 0x411083
push str.InternetQueryDataAvailable_:_data_not_available_
jmp 0x41106f
push str.InternetReadFile_:_reading_file_fail_
xor esi, esi
call fcn.00417260
mov dword [ebp - 0x821c], 1
add esp, 4
cmp dword [ebx + 0x48], 0
jne 0x4110c3
cmp dword [ebp - 0x821c], 0
jne 0x4110c3
push str.Download_File_Success
call fcn.004172c0
mov esi, dword [ebp - 0x8220]
add esp, 4
mov edx, dword [ebx + 0x14]
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push edx
call edi
lea ecx, [ebp - 0x8224]
mov byte [ebp - 4], 0
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
jmp 0x4110f6
lea ecx, [ebp - 0x824c]
call dword [sym.imp.mfc100u.dll_CFile::Close]
mov eax, dword [ebx + 0x14]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push eax
call esi
mov ecx, dword [ebp - 0x8220]
push ecx
call esi
mov dword [ebx + 0x14], 0
jmp 0x410e5b
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
lea ecx, [ebp - 0x824c]
call dword [sym.imp.mfc100u.dll_CFile::Close]
push str.MD5_Check_Start
call fcn.004172c0
add esp, 4
mov ecx, ebx
call fcn.00411580
test eax, eax
jne 0x411161
push str.MD5_Check_Failed_
xor esi, esi
call fcn.00417260
mov dword [ebx + 0x40], 6
mov ebx, dword [ebx + 0x44]
add esp, 4
test ebx, ebx
je 0x411146
push esi
push 6
push 0x8065
push ebx
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 0x8228]
mov ecx, dword [eax]
call fcn.004145f0
mov ecx, dword [ebp - 0x8220]
push ecx
call edi
jmp 0x410e67
push str.MD5_Check_Success
call fcn.004172c0
mov ebx, dword [ebp - 0x8228]
mov edx, dword [ebx]
mov eax, dword [edx - 0xc]
add esp, 4
add eax, 0xfffffffc
push eax
lea eax, [ebp - 0x8234]
push eax
mov ecx, ebx
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Left]
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x8234]
mov ebx, dword [ebx]
push 0
push ecx
push ebx
call dword [sym.imp.mfc100u.dll_CFile::Rename]
push esi
call edi
push str.URLDownload_End
call fcn.004172c0
add esp, 4
lea ecx, [ebp - 0x8234]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0x824c]
mov dword [ebp - 4], 0xffffffff
call dword [0x511864]
xor eax, eax
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.0050bf32
mov esp, ebp
pop ebp
ret 8