Function at 0x40cb29
Capabilities:
Create thread

Disassembly:
mov eax, 0x41c93a
call fcn.0041b500
sub esp, 0x18
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov ebx, ecx
cmp esi, edi
je 0x40cb49
cmp dword [esi + 0x24], edi
jg 0x40cb50
xor eax, eax
jmp 0x40cd91
mov eax, dword [esi + 0x14]
cmp eax, edi
jle 0x40cb64
push eax
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [esi + 0x14], edi
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CString::CString_4
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], edi
call sub.MFC42.DLL_CString::CString_4
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::CString_4
lea ecx, [ebp + 8]
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString_4
cmp dword [esi + 0x24], edi
mov byte [ebp - 4], 3
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], edi
jle 0x40cc50
mov eax, dword [esi + 0x20]
mov ecx, dword [ebp - 0x14]
mov edi, dword [eax + ecx*4]
test edi, edi
je 0x40cc39
cmp dword [ebp - 0x10], 0
jle 0x40cbd7
push 0x2c
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CString::operator
push 0x2c
lea ecx, [ebp - 0x1c]
call sub.MFC42.DLL_CString::operator
push 0x2c
lea ecx, [ebp - 0x18]
call sub.MFC42.DLL_CString::operator
push dword [edi]
lea eax, [ebp + 8]
push 0x429a60
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea eax, [ebp + 8]
lea ecx, [ebp - 0x20]
push eax
call fcn.0041af2e
push dword [edi + 4]
lea eax, [ebp + 8]
push 0x429a60
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea eax, [ebp + 8]
lea ecx, [ebp - 0x1c]
push eax
call fcn.0041af2e
push dword [edi + 8]
lea eax, [ebp + 8]
push 0x429a60
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea eax, [ebp + 8]
lea ecx, [ebp - 0x18]
push eax
call fcn.0041af2e
inc dword [ebp - 0x10]
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [esi + 0x24]
jl 0x40cba2
cmp dword [ebp - 0x10], 0
jne 0x40cc57
xor edi, edi
xor esi, esi
jmp 0x40cd5f
mov ecx, esi
call fcn.0040c483
mov ecx, esi
call fcn.0040c5c2
lea eax, [esi + 4]
lea ecx, [ebp - 0x24]
push eax
call sub.MFC42.DLL_CString::CString_3
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 4
push eax
call fcn.0040d45f
push 0x34
call sub.MFC42.DLL_operatornew
pop ecx
mov dword [ebp - 0x14], eax
pop ecx
test eax, eax
mov byte [ebp - 4], 5
je 0x40cc9d
mov ecx, eax
call fcn.0040cda2
mov edi, eax
jmp 0x40cc9f
xor edi, edi
mov eax, dword [esi]
mov byte [ebp - 4], 4
mov dword [edi], eax
lea eax, [esi + 0xc]
push eax
lea ecx, [edi + 4]
call sub.MFC42.DLL_CString::operator_2
mov ax, word [esi + 0x10]
mov word [edi + 8], ax
push dword [ebp - 0x18]
lea eax, [edi + 0xc]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x10]
push dword [ebp - 0x24]
push dword [esi]
push str.REPORT_LISTEN_MUSIC
push dword [esi + 8]
push str.PROGRAM_sCMD_sUIN_uKEY_sSONG_COUNT_uSONG_ID_sLISTENINTERVAL_sFROMTAG_s
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x28
xor esi, esi
lea ecx, [ebx + 0x54]
push 1
push edi
push esi
call fcn.0040d0f0
push edi
push esi
push 0x40c95f
call dword [sym.imp.MSVCRT.dll__beginthread]
add esp, 0xc
mov dword [edi + 0x10], eax
cmp dword [ebx + 0x68], esi
jne 0x40cd4b
push esi
push 0x32
push 1
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SetTimer]
cmp eax, esi
mov dword [ebx + 0x68], eax
jne 0x40cd33
push str.Fail_to_start_monitor_timer__
push str.QQPlayerSvr.txt
call fcn.0040836b
pop ecx
pop ecx
jmp 0x40cd46
push eax
push str.Start_ObjCntMonitorTimer___d
push str.QQPlayerSvr.txt
call fcn.0040836b
add esp, 0xc
cmp dword [ebx + 0x68], esi
je 0x40cd50
call sub.MFC42.DLL_AfxOleLockApp
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call sub.MFC42.DLL_CString::CString
push 1
pop esi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::CString
and byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call sub.MFC42.DLL_CString::CString
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CString::CString
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 4