Function at 0x4cf450
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5884b0
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push esi
push edi
mov eax, dword [0x5e95e0]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x14], edi
cmp dword [edi + 0xb0], 0
jne 0x4cf94f
mov dword [edi + 0xb0], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0xf4], eax
mov eax, dword [0x5f2620]
test eax, eax
je 0x4cf8d3
cmp dword [edi + 0xa8], 0
jne 0x4cf8d3
mov ecx, dword [0x5f2610]
or ecx, dword [0x5f2614]
jne 0x4cf8d3
cmp dword [eax + 0x568c], 0
je 0x4cf8d3
call fcn.004678b0
mov edx, dword [edi + 0xa4]
mov eax, dword [edx - 0xc]
test eax, eax
lea esi, [edi + 0xa4]
mov dword [esp + 0x14], esi
jne 0x4cf59c
push str.HomeURL
mov ebx, 0x5f2b28
call fcn.00472e00
mov ebx, eax
test ebx, ebx
jl 0x4cf59c
xor esi, esi
lea esp, [esp]
cmp ebx, dword [0x5f2b34]
jge 0x4cf593
lea eax, [ebx + ebx*2]
shl eax, 4
add eax, dword [0x5f2b30]
cmp esi, dword [eax + 0x10]
jge 0x4cf598
mov eax, ebx
mov ecx, 0x5f2b2c
call fcn.0040ddc0
mov edi, dword [eax + 0x10]
add eax, 8
mov eax, ebx
mov ecx, 0x5f2b2c
call fcn.0040ddc0
mov ecx, eax
add ecx, 0x1c
mov eax, esi
call fcn.00439be0
mov edx, dword [eax]
mov eax, dword [0x5f2620]
push 0
xor ecx, ecx
push 0
add edi, 0xffffffff
push 0xffffffffffffffff
cmp esi, edi
sete cl
push 1
push ecx
mov ecx, dword [eax + 0x568c]
push 0
push 0
push edx
push ecx
call fcn.004d7180
add esi, 1
jmp 0x4cf520
call fcn.00530cad
mov esi, dword [esp + 0x14]
mov edx, dword [0x5f2aac]
cmp dword [edx - 0xc], 0
je 0x4cf681
cmp dword [0x5f2270], 0
je 0x4cf681
cmp dword [0x5f2b68], 0
je 0x4cf681
lea ecx, [esp + 0x48]
call fcn.00538d38
mov esi, vtable.CStringArrayEx.0
mov dword [esp + 0x48], esi
lea ecx, [esp + 0x34]
mov dword [esp + 0x68], 0
call fcn.00538d38
mov dword [esp + 0x34], esi
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x4c]
push ecx
push 0x5f2aac
mov byte [esp + 0x74], 1
call fcn.00467970
mov eax, dword [esp + 0x48]
add esp, 0xc
xor esi, esi
test eax, eax
jle 0x4cf65e
test esi, esi
jl 0x4cf593
cmp esi, eax
jge 0x4cf593
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + esi*4]
push 0
add eax, 0xffffffff
xor edx, edx
push 0
cmp esi, eax
mov eax, dword [0x5f2620]
push 0xffffffffffffffff
sete dl
push 1
push edx
push 0
push 0
push ecx
mov ecx, dword [eax + 0x568c]
push ecx
call fcn.004d7180
mov eax, dword [esp + 0x3c]
add esi, 1
cmp esi, eax
jl 0x4cf613
lea ecx, [esp + 0x34]
mov byte [esp + 0x68], 0
call fcn.00538dd6
lea ecx, [esp + 0x48]
mov dword [esp + 0x68], 0xffffffff
call fcn.00538dd6
mov esi, dword [esp + 0x14]
cmp dword [0x5f2348], 0
jne 0x4cf866
mov edx, dword [0x5f2adc]
cmp dword [edx - 0xc], 0
je 0x4cf866
cmp dword [0x5f2b6c], 0
je 0x4cf866
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jne 0x4cf866
lea ecx, [esp + 0x10]
call fcn.004026e0
mov ebx, 2
mov dword [esp + 0x68], ebx
mov ecx, dword [0x5f21d0]
mov edx, dword [0x5f2344]
mov eax, dword [0x5f2adc]
push ecx
push edx
push eax
lea ecx, [esp + 0x1c]
push str._s__s_d
push ecx
call fcn.00405480
mov edi, dword [esp + 0x24]
add esp, 0x14
cmp dword [edi - 0xc], 0
jl 0x4cf711
push 0x5984c8
push edi
call fcn.00552eeb
add esp, 8
test eax, eax
je 0x4cf711
sub eax, edi
sar eax, 1
jns 0x4cf769
push 0x5958a8
lea edx, [esp + 0x24]
push 0x5f2878
push edx
call fcn.00401ba0
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push eax
lea edx, [esp + 0x2c]
push edx
mov byte [esp + 0x74], 3
call fcn.00401ae0
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6c], 4
call fcn.00402310
lea ecx, [esp + 0x24]
call fcn.004a4690
lea ecx, [esp + 0x20]
mov byte [esp + 0x68], bl
call fcn.004a4690
mov edi, dword [esp + 0x10]
cmp dword [0x5f2388], 0
jne 0x4cf834
mov eax, dword [0x5f2384]
cmp dword [eax - 0xc], 0
je 0x4cf834
mov ecx, dword [0x5f2620]
mov edx, dword [ecx + 0x568c]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push edi
push 1
push 0
push 0
push edx
call fcn.004d6240
mov ebx, eax
test ebx, ebx
je 0x4cf855
lea eax, [esp + 0x10]
lea ecx, [ebx + 8]
push eax
call fcn.00402310
lea ecx, [esp + 0x10]
lea esi, [ebx + 0xc]
push ecx
mov ecx, esi
call fcn.00402310
mov edx, dword [0x5f2620]
mov ecx, dword [edx + 0x568c]
push 1
push esi
push 0
add ecx, 0x19c
call fcn.0053909d
mov eax, dword [0x5f2620]
mov ecx, dword [eax + 0x568c]
push 1
push esi
push 0
add ecx, 0x1b0
call fcn.0053909d
mov ecx, dword [ebx + 4]
mov dword [ecx + 0xa8], 1
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x44]
push 0
mov esi, edi
mov ecx, 0x5f27f8
call fcn.004d36c0
mov eax, dword [ebx + 4]
call fcn.004c86f0
mov esi, dword [esp + 0x14]
jmp 0x4cf855
mov edx, dword [0x5f2620]
mov eax, dword [edx + 0x568c]
push 0
push 0
push 0xffffffffffffffff
push 1
push 1
push 0
push 0
push edi
push eax
call fcn.004d7180
lea ecx, [esp + 0x10]
mov dword [esp + 0x68], 0xffffffff
call fcn.004a4690
mov ecx, dword [esi]
cmp dword [ecx - 0xc], 0
je 0x4cf8b4
push esi
lea ecx, [esp + 0x18]
call fcn.004020d0
push 0x592720
push 0x5a7eb0
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x74], 5
call fcn.0041cd10
mov eax, dword [0x5f2620]
mov ecx, dword [esp + 0x14]
push eax
call fcn.00481090
lea ecx, [esp + 0x14]
mov dword [esp + 0x68], 0xffffffff
call fcn.004a4690
mov eax, dword [0x5f2620]
mov ecx, dword [eax + 0x568c]
cmp dword [ecx + 0x2ac], 0
jge 0x4cf8d3
lea ecx, [eax + 0x33e4]
call fcn.00537de3
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x1c], 0
call fcn.004615e0
add esp, 8
cmp dword [esp + 0x14], 0
jne 0x4cf8f9
call fcn.0046b970
call fcn.0046b380
mov edx, dword [0x5f2620]
add edx, 0x5d68
call fcn.004bf6d0
cmp dword [0x5f2cc8], 0
je 0x4cf938
mov edi, dword [0x5f2620]
add edi, 0x8048
cmp dword [edi + 0x568], 0
jle 0x4cf938
call fcn.00442970
push edi
call fcn.00440a30
xor eax, eax
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [0x5f2620]
cmp dword [ebx + 0x108], 2
jne 0x4cf963
call fcn.00489ec0
cmp dword [edi + 0xdc], 0
jne 0x4cfa56
mov ecx, dword [0x5f2aac]
cmp dword [ecx - 0xc], 0
je 0x4cfa56
cmp dword [0x5f2270], 0
jne 0x4cfa56
cmp dword [0x5f22c8], 0
je 0x4cfa56
mov dword [edi + 0xdc], 1
mov ecx, dword [0x5f2620]
mov esi, 3
cmp dword [ecx + 0x3f7c], esi
jle 0x4cf593
mov eax, dword [ecx + 0x3f78]
add eax, 0xc
mov eax, dword [eax]
mov edx, dword [eax + 0x2c]
mov dword [esp + 0x28], edx
mov eax, dword [eax + 0x30]
mov dword [esp + 0x2c], eax
cmp dword [ecx + 0x3f7c], esi
jle 0x4cf593
mov eax, dword [ecx + 0x3f78]
mov edx, dword [eax + 0xc]
add eax, 0xc
mov eax, dword [edx + 0x34]
sub eax, dword [edx + 0x2c]
add edx, 0x2c
cdq
sub eax, edx
sar eax, 1
add dword [esp + 0x28], eax
cmp dword [ecx + 0x3f7c], esi
jle 0x4cf593
mov eax, dword [ecx + 0x3f78]
mov edx, dword [eax + 0xc]
add eax, 0xc
mov eax, dword [edx + 0x38]
sub eax, dword [edx + 0x30]
add edx, 0x2c
cdq
sub eax, edx
sar eax, 1
add dword [esp + 0x2c], eax
mov eax, dword [ecx + 0x3834]
lea edx, [esp + 0x28]
push edx
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
mov edx, dword [0x5f2620]
push str._table__tr__td_valignmiddle_
lea ecx, [esp + 0x2c]
push ecx
add edx, 0x386c
push edx
call fcn.00510200
cmp dword [edi + 0xc4], 0
jne 0x4cfcc2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0xf4]
cmp eax, 0x7530
jbe 0x4cfcc2
mov dword [edi + 0xc4], 1
call fcn.00530e1f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4cfa9e
push 0x80004005
call fcn.00401f70
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
mov dword [esp + 0x68], 6
call fcn.00530e1f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4cfad0
push 0x80004005
call fcn.00401f70
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x68], 7
mov edi, dword [0x5f2388]
push ecx
call fcn.00468ee0
add esp, 4
call fcn.00530e1f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4cfb12
push 0x80004005
call fcn.00401f70
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x68], 8
call fcn.0046a1d0
lea edx, [esp + 0x10]
call fcn.0046a170
mov ecx, dword [0x5f2c2c]
test ecx, ecx
je 0x4cfb4b
cmp ecx, eax
jne 0x4cfc4c
lea ecx, [esp + 0x20]
call fcn.004026e0
lea ecx, [esp + 0x1c]
call fcn.004026e0
lea ecx, [esp + 0x18]
call fcn.004026e0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x14]
mov byte [esp + 0x6c], 0xb
call fcn.0046a0a0
mov edx, dword [0x5f2344]
mov edi, dword [esp + 0x20]
mov eax, dword [0x5f234c]
mov ecx, dword [0x5f2348]
add esp, 4
push edx
mov edx, dword [0x5f21d0]
push edi
push eax
push ecx
push edx
lea eax, [esp + 0x2c]
push str._version_dtime0_dtime1_dtime2_sp1_s
push eax
call fcn.00405480
mov esi, dword [esp + 0x34]
mov ecx, dword [0x5f2c34]
add esp, 0x1c
push esi
push ecx
lea edx, [esp + 0x28]
push str.URL:http:___s_tongji.aspx_s_r_nMemorySave:true_r_nRetryTimes:1
push edx
call fcn.00405480
mov ebx, dword [esp + 0x30]
add esp, 0x10
push 0x1e
push 0
push 0x5f3148
mov ecx, ebx
call fcn.0051fce0
test eax, eax
je 0x4cfbe9
call fcn.0051de20
lea eax, [esi - 0x10]
mov byte [esp + 0x68], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4cfc0a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [esp + 0x68], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4cfc2b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [esp + 0x68], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4cfc4c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x68], 7
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4cfc71
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x68], 6
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4cfc96
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x68], 0xffffffff
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4cfcbe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x14]
cmp dword [edi + 0xcc], 0
jne 0x4cfd68
mov dword [edi + 0xcc], 1
call fcn.00530e1f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4cfcf3
push 0x80004005
call fcn.00401f70
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
push str.URL:http:__www.tg1234.com_js_baidu2.js_r_nMemorySave:true_r_nRetryTimes:1
lea ecx, [esp + 0x28]
mov dword [esp + 0x6c], 0xc
call fcn.004021d0
mov ebx, dword [esp + 0x24]
push 0x3b
push 0
push 0x5f3148
mov ecx, ebx
call fcn.0051fce0
test eax, eax
je 0x4cfd44
push eax
mov esi, 0x5f3148
call fcn.00522060
push esi
mov ecx, eax
call fcn.00520ed0
lea eax, [ebx - 0x10]
mov dword [esp + 0x68], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4cfd68
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [edi + 0xc8], 0
jne 0x4cfe7d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0xf4]
cmp eax, 0xafc8
jbe 0x4cfe7d
mov eax, 1
add dword [edi + 0x104], eax
mov dword [edi + 0xc8], eax
call fcn.00530e1f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4cfdb7
push 0x80004005
call fcn.00401f70
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
mov ebx, 0xd
lea ecx, [esp + 0x24]
mov dword [esp + 0x68], ebx
mov edi, dword [0x5f2388]
push ecx
call fcn.00468ee0
add esp, 4
push str.URL:http:__img.tongji.linezing.com_1189076_tongji.gif_r_nMemorySave:true_r_nRetryTimes:1_r_nRefer:http:__www.tgmtv.com_51start.htm_
lea ecx, [esp + 0x14]
call fcn.00402390
mov byte [esp + 0x68], 0xe
mov edi, dword [esp + 0x24]
mov eax, dword [edi - 0xc]
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.004121c0
mov ecx, dword [esp + 0x10]
push 0x1e
push 0
push 0x5f3148
call fcn.0051fce0
test eax, eax
je 0x4cfe31
push eax
mov esi, 0x5f3148
call fcn.00522060
push esi
mov ecx, eax
call fcn.00520ed0
mov byte [esp + 0x68], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4cfe55
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov dword [esp + 0x68], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4cfe79
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x14]
cmp dword [edi + 0xb4], 0
jne 0x4cff3b
mov dword [edi + 0xb4], 1
cmp dword [0x5f2228], 0
je 0x4cff3b
call fcn.00530e1f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4cfebb
push 0x80004005
call fcn.00401f70
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
mov dword [esp + 0x68], 0xf
mov ecx, dword [0x5f21fc]
push ecx
lea edx, [esp + 0x28]
push str.URL:_s_update_114update.txt_r_nMemorySave:true_r_nRetryTimes:1
push edx
call fcn.00405480
mov ebx, dword [esp + 0x30]
add esp, 0xc
push 0x24
push 0
push 0x5f3148
mov ecx, ebx
call fcn.0051fce0
test eax, eax
je 0x4cff17
push eax
mov esi, 0x5f3148
call fcn.00522060
push esi
mov ecx, eax
call fcn.00520ed0
lea eax, [ebx - 0x10]
mov dword [esp + 0x68], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4cff3b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [edi + 0xf4]
cmp eax, 0xbb8
jbe 0x4cff82
cmp dword [edi + 0xe4], 0
jne 0x4cff82
cmp dword [0x5f2374], 0
jne 0x4cff73
mov edx, dword [0x5f2620]
add edx, 0x5d68
call fcn.004bf720
call fcn.0046bae0
mov dword [edi + 0xe4], 0
cmp dword [0x5f2348], 0
jne 0x4cffa3
call esi
sub eax, dword [edi + 0xf4]
cmp eax, 0xea60
jae 0x4cffa3
mov ecx, dword [ebp + 8]
push ecx
jmp 0x4d040e
cmp dword [edi + 0xd0], 0
jne 0x4d0049
mov dword [edi + 0xd0], 1
call fcn.00530e1f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4cffd4
push 0x80004005
call fcn.00401f70
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
push str.URL:http:__www.tgsoso.com_ad300.txt_r_nMemorySave:true_r_nRetryTimes:1
lea ecx, [esp + 0x28]
mov dword [esp + 0x6c], 0x10
call fcn.004021d0
mov ebx, dword [esp + 0x24]
push 0x22
push 0
push 0x5f3148
mov ecx, ebx
call fcn.0051fce0
test eax, eax
je 0x4d0025
push eax
mov esi, 0x5f3148
call fcn.00522060
push esi
mov ecx, eax
call fcn.00520ed0
lea eax, [ebx - 0x10]
mov dword [esp + 0x68], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d0049
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [edi + 0xc0], 0
jne 0x4d009a
cmp dword [0x5f21d8], 0
jle 0x4d009a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0xf4]
cmp eax, 0xdbba0
jbe 0x4d009a
cmp dword [0x5f223c], 0
jne 0x4d009a
push 0
mov dword [edi + 0xc0], 1
mov ecx, dword [0x5f2620]
mov edx, dword [ecx + 0x20]
push 0
push 0x4bf
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [edi + 0xbc], 0
jne 0x4d0380
mov dword [edi + 0xbc], 1
call fcn.00530e1f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4d00cb
push 0x80004005
call fcn.00401f70
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push str.http:__www.languangav.com_tango_
lea ecx, [esp + 0x20]
mov dword [esp + 0x6c], 0x11
call fcn.00402390
push 0x5958a8
lea ecx, [esp + 0x34]
push 0x5f2878
push ecx
mov byte [esp + 0x74], 0x12
call fcn.00401ba0
add esp, 0xc
push 0x5f28cc
push eax
lea edx, [esp + 0x18]
push edx
mov byte [esp + 0x74], 0x13
call fcn.00401ae0
add esp, 0xc
push str..down
push eax
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0x74], 0x14
call fcn.00401ba0
add esp, 0xc
mov esi, eax
push 0x5f28cc
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
mov byte [esp + 0x74], 0x15
call fcn.00401ae0
add esp, 0xc
push 0x59b2e4
push eax
lea eax, [esp + 0x30]
mov bl, 0x16
push eax
mov byte [esp + 0x74], bl
call fcn.00401ba0
add esp, 0xc
mov byte [esp + 0x68], 0x17
mov ecx, dword [esi]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x1c]
push str.URL:_s_r_nLocalFile:_s_r_nRetryTimes:1
push eax
call fcn.00405480
mov byte [esp + 0x78], bl
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
add esp, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d01b5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x68], 0x15
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d01da
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x68], 0x14
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d01ff
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x68], 0x13
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d0224
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x68], 0x12
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d0249
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [esp + 0x14]
push 9
push 0
push 0x5f3148
mov ecx, ebx
call fcn.0051fce0
test eax, eax
je 0x4d0274
push eax
mov esi, 0x5f3148
call fcn.00522060
push esi
mov ecx, eax
call fcn.00520ed0
call fcn.00489d90
push str._bin_shdoclc.dll
lea ecx, [esp + 0x1c]
push 0x5f2878
push ecx
call fcn.00401ba0
add esp, 0xc
mov byte [esp + 0x68], 0x18
mov ecx, dword [esp + 0x18]
call fcn.004600b0
test eax, eax
jne 0x4d0312
push str.SHDOCLC.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
jne 0x4d0312
push str.shdoclc.dll
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x38]
push eax
call fcn.00401ba0
add esp, 0xc
mov byte [esp + 0x68], 0x19
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x1c]
push str.URL:_s_r_nLocalFile:_s_r_nRetryTimes:1
push eax
call fcn.00405480
add esp, 0x10
lea ecx, [esp + 0x30]
mov byte [esp + 0x68], 0x18
call fcn.004a4690
mov ebx, dword [esp + 0x14]
push 4
push 0
push 0x5f3148
mov ecx, ebx
call fcn.0051fce0
test eax, eax
je 0x4d0312
call fcn.0051de20
mov byte [esp + 0x68], 0x12
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d0337
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x68], 0x11
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d035c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov dword [esp + 0x68], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d0380
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [edi + 0xe8], 0
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jne 0x4d03b2
call esi
sub eax, dword [edi + 0xf4]
cmp eax, 0x2932e0
jbe 0x4d03b2
mov ecx, 0x5f29cc
mov dword [edi + 0xe8], 1
call fcn.00456ac0
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x4d040d
cmp dword [0x5f2360], 0
jne 0x4d03cb
cmp dword [0x5f236c], 0
je 0x4d040d
mov ecx, dword [edi + 0xfc]
cmp ecx, dword [0x5f2ab8]
jl 0x4d03e8
call esi
sub eax, dword [edi + 0xf8]
cmp eax, 0x7530
jb 0x4d040d
mov edx, dword [0x5f2ab8]
mov dword [edi + 0xfc], edx
call esi
push 0xffffffffffffffff
push 0xffffffffffffffff
mov dword [edi + 0xf8], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
push ebx
mov ecx, edi
call fcn.005424b6
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4