Function at 0x42c487
Capabilities:
Create http request
Read data from internet
Receive data

Disassembly:
push 0x60
mov eax, 0x46783d
call fcn.004358b3
mov ebx, ecx
xor esi, esi
push 0x485444
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
call fcn.004061f3
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
push eax
lea eax, [ebp - 0x38]
push str.http:__dat.ruanmei.com_pcmaster_router.xml_r_d
push eax
call fcn.0040cdc8
add esp, 0xc
push esi
push esi
push esi
push esi
push esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x40], esi
mov byte [ebp - 4], 1
mov dword [ebp - 0x44], esi
call dword [sym.imp.WININET.dll_InternetOpenW]
mov edi, eax
mov dword [ebp - 0x4c], edi
cmp edi, esi
je 0x42c69b
push 4
lea eax, [ebp - 0x54]
push eax
push 2
push edi
mov dword [ebp - 0x54], 0xbb8
call dword [sym.imp.WININET.dll_InternetSetOptionW]
push esi
push 0x102
push esi
push esi
push dword [ebp - 0x38]
push edi
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov dword [ebp - 0x34], eax
cmp eax, esi
je 0x42c692
xor eax, eax
mov word [ebp - 0x24], ax
lea edi, [ebp - 0x22]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
push esi
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x24]
push eax
push 0x4000000b
push dword [ebp - 0x34]
xor edi, edi
inc edi
mov dword [ebp - 0x50], 0x10
mov dword [ebp - 0x28], edi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x42c600
lea eax, [ebx + 0x74]
push eax
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov byte [ebx + 0x70], 1
lea esi, [ebx + 4]
lea edi, [ebp - 0x64]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebx + 0x74]
movsd dword es:[edi], dword [esi]
push eax
mov byte [ebx + 0x70], 0
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
push 0xffffffffffffffff
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 2
call fcn.0041f1f1
push 0xffffffffffffffff
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x5c]
call fcn.0041f1f1
push dword [ebp - 0x58]
lea ecx, [ebp - 0x6c]
push dword [ebp - 0x5c]
call fcn.0041f249
test al, al
je 0x42c5b6
and dword [ebp - 0x28], 0
mov dword [ebp - 4], 1
jmp 0x42c5cf
lea eax, [ebx + 0x74]
push eax
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov byte [ebx + 0x70], 1
lea edi, [ebx + 4]
lea esi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebx + 0x74]
movsd dword es:[edi], dword [esi]
push eax
mov byte [ebx + 0x70], 0
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov dword [ebp - 0x3c], 1
xor esi, esi
jmp 0x42c603
mov dword [ebp - 0x28], edi
cmp dword [ebp - 0x28], esi
je 0x42c682
mov edi, 0x100000
push edi
call fcn.004376a2
pop ecx
push edi
push esi
push eax
mov dword [ebp - 0x28], eax
call fcn.004374f0
add esp, 0xc
lea eax, [ebp - 0x44]
push eax
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x34]
call dword [sym.imp.WININET.dll_InternetReadFile]
mov edi, dword [ebp - 0x44]
cmp edi, esi
jbe 0x42c661
mov dword [ebp - 0x40], edi
inc edi
push edi
call fcn.004376a2
pop ecx
push edi
push esi
push eax
mov dword [ebp - 0x2c], eax
call fcn.004374f0
push dword [ebp - 0x40]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.004350c0
add esp, 0x18
cmp dword [ebp - 0x28], esi
je 0x42c689
push dword [ebp - 0x28]
call fcn.00437697
pop ecx
jmp 0x42c689
mov dword [ebp - 0x30], 1
push dword [ebp - 0x34]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push dword [ebp - 0x4c]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 4], esi
cmp dword [ebp - 0x2c], esi
je 0x42c6c8
push dword [ebp - 0x40]
mov ecx, ebx
push dword [ebp - 0x2c]
call fcn.0042bcf2
push dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
call fcn.00437697
pop ecx
cmp dword [ebp - 0x30], esi
je 0x42c6c8
mov dword [ebp - 0x3c], 1
cmp dword [ebp - 0x3c], esi
je 0x42c6f7
lea esi, [ebx + 0x74]
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
lea eax, [ebx + 0x14]
push eax
mov byte [ebx + 0x70], 1
call dword [sym.imp.KERNEL32.DLL_GetLocalTime]
push esi
mov byte [ebx + 0x70], 0
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov ecx, ebx
call fcn.0042b4af
mov ecx, dword [ebp - 0x38]
add ecx, 0xfffffff0
call fcn.00405c12
mov eax, dword [ebp - 0x30]
call fcn.0043590f
ret