Function at 0x5cea72
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0x90c
mov eax, 0x60ff8b
call fcn.004db4be
mov edi, ecx
mov dword [ebp - 0x870], edi
lea ecx, [ebp - 0x8ac]
call fcn.004ad64c
and dword [ebp - 4], 0
lea ebx, [edi + 0x94]
mov eax, dword [ebx]
mov ecx, ebx
mov dword [ebp - 0x878], ebx
call dword [eax + 0xc]
mov ecx, dword [edi + 0x1a8]
test ecx, ecx
jne 0x5ceac1
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10]
jmp 0x5cf518
xor esi, esi
mov dword [ebp - 0x864], esi
xor eax, eax
mov byte [ebp - 4], 1
mov dword [ebp - 0x86c], eax
test ecx, ecx
je 0x5cebfd
mov ecx, dword [ebp - 0x870]
xor edi, edi
and dword [ebp - 0x868], eax
add ecx, 0x1a4
mov dword [ebp - 0x874], ecx
xor ebx, ebx
jmp 0x5ceb01
mov esi, dword [ebp - 0x85c]
push eax
call fcn.004ad668
mov ecx, eax
mov dword [ebp - 0x864], ecx
mov ecx, dword [ecx]
test ecx, ecx
je 0x5ceb24
lock inc dword [ecx + 0xcc]
mov edi, dword [ebp - 0x868]
mov ebx, esi
test ebx, ebx
je 0x5ceb42
or eax, 0xffffffff
lock xadd dword [edi + 0xcc], eax
dec eax
jne 0x5ceb42
test edi, edi
je 0x5ceb42
push ecx
mov ecx, edi
call fcn.0044e701
mov esi, dword [ebp - 0x864]
mov esi, dword [esi]
mov edi, esi
mov dword [ebp - 0x868], esi
mov ebx, esi
mov dword [ebp - 0x864], esi
mov dword [ebp - 0x85c], esi
test esi, esi
je 0x5cebc6
cmp dword [esi + 0x44], 0
mov dword [ebp - 0x85c], esi
jg 0x5cebc6
lea eax, [ebp - 0x864]
push eax
lea ecx, [ebp - 0x8ac]
call fcn.004ad687
push ecx
push dword [ebp - 0x86c]
mov ecx, dword [ebp - 0x874]
call fcn.004ad6ed
xor esi, esi
or eax, 0xffffffff
mov dword [ebp - 0x864], esi
mov ecx, ebx
lock xadd dword [ecx + 0xcc], eax
dec eax
push esi
pop edi
push esi
pop ebx
mov dword [ebp - 0x85c], esi
jne 0x5cebc6
push ecx
call fcn.0044e701
xor ebx, ebx
xor edi, edi
and dword [ebp - 0x85c], ebx
mov ecx, dword [ebp - 0x870]
mov eax, dword [ebp - 0x86c]
inc eax
mov dword [ebp - 0x868], edi
mov dword [ebp - 0x86c], eax
cmp eax, dword [ecx + 0x1a8]
mov ecx, dword [ebp - 0x874]
jb 0x5ceafb
mov ebx, dword [ebp - 0x878]
mov edi, dword [ebp - 0x870]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10]
xor ebx, ebx
cmp dword [ebp - 0x8a8], ebx
jbe 0x5cf50d
push ebx
lea ecx, [ebp - 0x8ac]
call fcn.004ad668
push eax
lea ecx, [ebp - 0x864]
call fcn.0045b243
mov esi, dword [ebp - 0x864]
test esi, esi
je 0x5cf4fa
cmp dword [esi + 0x4c], 0
jne 0x5cec52
mov ecx, esi
xor esi, esi
mov dword [ebp - 0x864], esi
call fcn.0044e6da
jmp 0x5cf4fa
push 0xea60
lea ecx, [ebp - 0x918]
call fcn.0041d773
push 0x636ed0
push 0x6751d4
lea ecx, [ebp - 0x918]
call fcn.0041d837
test eax, eax
je 0x5cf4b7
mov eax, dword [0x668294]
mov dword [ebp - 0x85c], eax
mov dword [ebp - 0x868], eax
mov dword [ebp - 0x86c], eax
lea eax, [ebp - 0x868]
mov byte [ebp - 4], 5
push str.nsclick.baidu.com
push eax
call fcn.0042ef7b
lea eax, [ebp - 0x86c]
push str.http:__nsclick.baidu.com_
push eax
call fcn.0042ef7b
lea eax, [ebp - 0x85c]
push str._v.gif_
push eax
call fcn.0042ef7b
push 0x12f
lea eax, [ebp - 0x85c]
push 0x640bb0
push eax
call fcn.004ad22b
lea eax, [ebp - 0x85c]
push 0x640ba8
push eax
call fcn.004ad22b
push 0xe
lea eax, [ebp - 0x85c]
push 0x640b9c
push eax
call fcn.004ad22b
mov edx, dword [esi + 0x10]
add esp, 0x34
mov ecx, esp
push 0
call fcn.00407a7f
pop ecx
lea ecx, [ebp - 0x878]
call fcn.005dd9c0
push dword [eax]
lea eax, [ebp - 0x85c]
push str.songtitle_s
push eax
call fcn.004ad22b
mov ecx, dword [ebp - 0x878]
add esp, 0x10
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5ced4e
call fcn.00407965
mov edx, dword [esi + 0x14]
push ecx
mov ecx, esp
push 0
call fcn.00407a7f
pop ecx
lea ecx, [ebp - 0x874]
call fcn.005dd9c0
push dword [eax]
lea eax, [ebp - 0x85c]
push str.songartist_s
push eax
call fcn.004ad22b
mov ecx, dword [ebp - 0x874]
add esp, 0x10
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5ced93
call fcn.00407965
mov edx, dword [esi + 0x18]
push ecx
mov ecx, esp
push 0
call fcn.00407a7f
pop ecx
lea ecx, [ebp - 0x880]
call fcn.005dd9c0
push dword [eax]
lea eax, [ebp - 0x85c]
push 0x640c64
push eax
call fcn.004ad22b
mov ecx, dword [ebp - 0x880]
add esp, 0x10
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5cedd8
call fcn.00407965
mov edx, dword [esi + 0x1c]
push ecx
mov ecx, esp
push 0
call fcn.00407a7f
pop ecx
lea ecx, [ebp - 0x884]
call fcn.005dd9c0
push dword [eax]
lea eax, [ebp - 0x85c]
push 0x640d44
push eax
call fcn.004ad22b
mov ecx, dword [ebp - 0x884]
add esp, 0x10
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5cee1d
call fcn.00407965
mov edx, dword [esi + 0x20]
push ecx
mov ecx, esp
push 0
call fcn.00407a7f
pop ecx
lea ecx, [ebp - 0x888]
call fcn.005dd9c0
push dword [eax]
lea eax, [ebp - 0x85c]
push str.album_s
push eax
call fcn.004ad22b
mov ecx, dword [ebp - 0x888]
add esp, 0x10
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5cee62
call fcn.00407965
mov edx, dword [esi + 0x24]
push ecx
mov ecx, esp
push 0
call fcn.00407a7f
pop ecx
lea ecx, [ebp - 0x88c]
call fcn.005dd9c0
push dword [eax]
lea eax, [ebp - 0x85c]
push str.ext_s
push eax
call fcn.004ad22b
mov ecx, dword [ebp - 0x88c]
add esp, 0x10
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5ceea7
call fcn.00407965
mov edx, dword [esi + 0xac]
push ecx
mov ecx, esp
push 0
call fcn.00407a7f
pop ecx
lea ecx, [ebp - 0x890]
call fcn.005dd9c0
push dword [eax]
lea eax, [ebp - 0x85c]
push str.p2phash_s
push eax
call fcn.004ad22b
mov ecx, dword [ebp - 0x890]
add esp, 0x10
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5ceeef
call fcn.00407965
push dword [esi + 0x9c]
lea eax, [ebp - 0x85c]
push str.bitrate_d
push eax
call fcn.004ad22b
push dword [esi + 0x98]
lea eax, [ebp - 0x85c]
push str.duration_d
push eax
call fcn.004ad22b
push dword [esi + 0xa0]
lea eax, [ebp - 0x85c]
push str.op12res_d
push eax
call fcn.004ad22b
push dword [esi + 0xa4]
lea eax, [ebp - 0x85c]
push str.urlcount_d
push eax
call fcn.004ad22b
push dword [esi + 0xa8]
lea eax, [ebp - 0x85c]
push str.svrurl_d
push eax
call fcn.004ad22b
push dword [esi + 0x28]
lea eax, [ebp - 0x85c]
push str.titletype_d
push eax
call fcn.004ad22b
add esp, 0x48
lea eax, [ebp - 0x85c]
push dword [esi + 0x2c]
push str.signtype_d
push eax
call fcn.004ad22b
push dword [esi + 0x30]
lea eax, [ebp - 0x85c]
push str.playover_d
push eax
call fcn.004ad22b
push dword [esi + 0x34]
lea eax, [ebp - 0x85c]
push str.downtype_d
push eax
call fcn.004ad22b
push dword [esi + 0x3c]
lea eax, [ebp - 0x85c]
push str.p2pcause_d
push eax
call fcn.004ad22b
push dword [esi + 0x40]
lea eax, [ebp - 0x85c]
push str.p2spcause_d
push eax
call fcn.004ad22b
push dword [esi + 0x48]
lea eax, [ebp - 0x85c]
push str.connectingtime_u
push eax
call fcn.004ad22b
add esp, 0x48
lea eax, [ebp - 0x85c]
push dword [edi + 0x90]
push str.selfip_u
push eax
call fcn.004ad22b
push dword [esi + 0x38]
lea eax, [ebp - 0x85c]
push str.issucess_d
push eax
call fcn.004ad22b
mov edx, dword [edi + 0x2cc]
add esp, 0x14
mov ecx, esp
push 0
call fcn.00407a7f
pop ecx
lea ecx, [ebp - 0x894]
call fcn.005dd9c0
push dword [eax]
lea eax, [ebp - 0x85c]
push 0x640e44
push eax
call fcn.004ad22b
mov ecx, dword [ebp - 0x894]
add esp, 0x10
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5cf069
call fcn.00407965
mov edx, dword [edi + 0x2d0]
push ecx
mov ecx, esp
push 0
call fcn.00407a7f
pop ecx
lea ecx, [ebp - 0x898]
call fcn.005dd9c0
push dword [eax]
lea eax, [ebp - 0x85c]
push str.ver_s
push eax
call fcn.004ad22b
mov ecx, dword [ebp - 0x898]
add esp, 0x10
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5cf0b1
call fcn.00407965
push dword [esi + 0x50]
lea eax, [ebp - 0x85c]
push str.tasktype_d
push eax
call fcn.004ad22b
push dword [esi + 0x54]
lea eax, [ebp - 0x85c]
push str.MaxBufferTime_d
push eax
call fcn.004ad22b
push dword [esi + 0x58]
lea eax, [ebp - 0x85c]
push str.BufferCount_d
push eax
call fcn.004ad22b
push dword [esi + 0x64]
lea eax, [ebp - 0x85c]
push str.P2SPCacheTime_d
push eax
call fcn.004ad22b
push dword [esi + 0x68]
lea eax, [ebp - 0x85c]
push str.P2PFailTime_d
push eax
call fcn.004ad22b
push dword [esi + 0x6c]
lea eax, [ebp - 0x85c]
push str.P2SGetUrlTime_d
push eax
call fcn.004ad22b
add esp, 0x48
lea eax, [ebp - 0x85c]
push dword [esi + 0x70]
push str.P2SGetDataTime_d
push eax
call fcn.004ad22b
push dword [esi + 0x74]
lea eax, [ebp - 0x85c]
push str.DownloadBytes_d
push eax
call fcn.004ad22b
push dword [esi + 0x78]
lea eax, [ebp - 0x85c]
push str.ServPeerBytes_d
push eax
call fcn.004ad22b
mov edx, dword [esi + 0xc8]
add esp, 0x20
mov ecx, esp
push 0
call fcn.00407a7f
pop ecx
lea ecx, [ebp - 0x89c]
call fcn.005dd9c0
push dword [eax]
lea eax, [ebp - 0x85c]
push str.fileid_s
push eax
call fcn.004ad22b
mov ecx, dword [ebp - 0x89c]
add esp, 0x10
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5cf1b2
call fcn.00407965
mov edx, dword [esi + 0xc4]
push ecx
mov ecx, esp
push 0
call fcn.00407a7f
pop ecx
lea ecx, [ebp - 0x87c]
call fcn.005dd9c0
push dword [eax]
lea eax, [ebp - 0x85c]
push str.songid_s
push eax
call fcn.004ad22b
mov ecx, dword [ebp - 0x87c]
add esp, 0x10
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5cf1fa
call fcn.00407965
push dword [esi + 0xb4]
lea eax, [ebp - 0x85c]
push str.ChangeSongStatus_d
push eax
call fcn.004ad22b
push dword [esi + 0xb0]
lea eax, [ebp - 0x85c]
push str.ChangeSongTime_d
push eax
call fcn.004ad22b
xor eax, eax
add esp, 0x18
cmp dword [esi + 0x38], eax
je 0x5cf23a
cmp dword [esi + 0x38], 2
sete al
inc eax
push eax
lea eax, [ebp - 0x85c]
push str.PlayConnectStatus_d
push eax
call fcn.004ad22b
mov ecx, dword [esi + 0xc0]
mov edx, ecx
mov eax, dword [esi + 0xb8]
sub edx, eax
cmp eax, ecx
sbb eax, eax
and eax, edx
push eax
lea eax, [ebp - 0x85c]
push str.TitleConnectTime_d
push eax
call fcn.004ad22b
mov ecx, dword [esi + 0xc0]
mov edx, ecx
mov eax, dword [esi + 0xbc]
sub edx, eax
cmp eax, ecx
sbb eax, eax
and eax, edx
push eax
lea eax, [ebp - 0x85c]
push str.LinkConnectTime_d
push eax
call fcn.004ad22b
mov eax, dword [esi + 0x84]
add esp, 0x24
mov ecx, dword [esi + 0x80]
cmp eax, ecx
jbe 0x5cf2b4
sub eax, ecx
mov dword [esi + 0x7c], eax
push dword [esi + 0x7c]
lea eax, [ebp - 0x85c]
push str.SongPlayTime_d
push eax
call fcn.004ad22b
mov eax, dword [esi + 0x90]
add esp, 0xc
mov ecx, dword [esi + 0x8c]
cmp eax, ecx
jbe 0x5cf2e3
sub eax, ecx
mov dword [esi + 0x88], eax
push dword [esi + 0x88]
lea eax, [ebp - 0x85c]
push str.PlayConnectTime_d
push eax
call fcn.004ad22b
mov ecx, dword [esi + 0x94]
add esp, 0xc
xor eax, eax
test ecx, ecx
je 0x5cf316
cmp dword [esi + 0x58], eax
jbe 0x5cf316
mov eax, ecx
sub eax, dword [esi + 0x8c]
push eax
lea eax, [ebp - 0x85c]
push str.FirstBufferOccurTime_d
push eax
call fcn.004ad22b
push 0x41
lea eax, [ebp - 0x58]
push 0
push eax
call fcn.004e0bc0
push 0xa
lea eax, [ebp - 0x58]
push eax
push dword [esi]
push dword [esi + 4]
call fcn.0051a3ff
push eax
lea eax, [ebp - 0x85c]
push str.urlsign_s
push eax
call fcn.004ad22b
push 0x41
lea eax, [ebp - 0x58]
push 0
push eax
call fcn.004e0bc0
add esp, 0x40
lea eax, [ebp - 0x58]
push 0xa
push eax
push dword [esi + 8]
push dword [esi + 0xc]
call fcn.0051a3ff
push eax
lea eax, [ebp - 0x85c]
push str.contsign_s
push eax
call fcn.004ad22b
push 0x41
lea eax, [ebp - 0x58]
push 0
push eax
call fcn.004e0bc0
push 0xa
lea eax, [ebp - 0x58]
push eax
push dword [edi + 0x2d8]
push dword [edi + 0x2dc]
call fcn.0051a3ff
push eax
lea eax, [ebp - 0x85c]
push 0x64105c
push eax
call fcn.004ad22b
add esp, 0x40
lea eax, [ebp - 0x868]
mov ecx, esp
push eax
call fcn.0040cd8e
push ecx
lea eax, [ebp - 0x85c]
mov ecx, esp
push eax
call fcn.0040cd8e
push ecx
lea eax, [ebp - 0x86c]
mov ecx, esp
push eax
call fcn.0040cd8e
lea ecx, [ebp - 0x918]
call fcn.004acb18
mov edi, dword [ebp - 0x85c]
test eax, eax
mov eax, dword [0x673200]
jne 0x5cf431
test byte [eax + 4], 0x10
je 0x5cf47b
push ecx
push ecx
lea eax, [ebp - 0x858]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.004a9820
push 0
push edi
mov byte [ebp - 4], 6
push str.SendSongFeedBack_ok__RequestInfo_is:
jmp 0x5cf457
test byte [eax + 4], 0x10
je 0x5cf47b
push ecx
push ecx
lea eax, [ebp - 0x858]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.004a9820
push 0
push edi
mov byte [ebp - 4], 7
push str.SendSongFeedBack_error__RequestInfo_is:
lea ecx, [ebp - 0x8c0]
call fcn.004a9b63
mov ecx, eax
call fcn.004a9b4e
mov ecx, eax
call fcn.004a9bc0
push 0x10
mov edx, eax
pop ecx
call fcn.004a96a7
pop ecx
mov ecx, dword [ebp - 0x86c]
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5cf491
call fcn.00407965
mov ecx, dword [ebp - 0x868]
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5cf4a7
call fcn.00407965
lea ecx, [edi - 0xc]
cmp ecx, 0x668010
je 0x5cf4b7
call fcn.00407965
mov ecx, esi
or eax, 0xffffffff
xor esi, esi
mov dword [ebp - 0x864], esi
lock xadd dword [ecx + 0xcc], eax
dec eax
jne 0x5cf4d5
push ecx
call fcn.0044e701
lea ecx, [ebp - 0x918]
call fcn.0041d999
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x918]
mov byte [ebp - 4], 1
call fcn.0041d7de
mov edi, dword [ebp - 0x870]
inc ebx
cmp ebx, dword [ebp - 0x8a8]
jb 0x5cec12
test esi, esi
je 0x5cf518
mov ecx, esi
call fcn.0044e6da
lea ecx, [ebp - 0x8ac]
call fcn.004ad748
call fcn.004db46d
ret