Function at 0x408187
Capabilities:
Get graphical window text

Disassembly:
mov eax, 0x41cc44
call fcn.0040e958
sub esp, 0x110
push esi
push edi
mov esi, ecx
xor edi, edi
cmp dword [esi + 0x894], edi
jne 0x408415
cmp dword [ebp + 0xc], edi
push ebx
jne 0x408313
cmp dword [esi + 0x888], edi
jne 0x408414
mov ecx, dword [esi + 0x45c]
xor ebx, ebx
inc ebx
cmp ecx, ebx
jne 0x4081fd
mov eax, dword [esi + 0x450]
cmp eax, edi
je 0x4081fd
mov ecx, dword [eax]
lea edx, [ebp - 0x10]
push edx
push eax
call dword [ecx + 0x9c]
cmp dword [ebp - 0x10], ebx
mov esi, dword [esi + 0x450]
mov eax, dword [esi]
push esi
jne 0x40837c
call dword [eax + 0x28]
jmp 0x408414
cmp ecx, edi
jne 0x40825d
mov eax, dword [esi + 0x440]
cmp eax, edi
je 0x40825d
mov ecx, dword [eax]
lea edx, [ebp - 0x18]
push edx
push eax
call dword [ecx + 0x2c]
mov dword [ebp - 0x10], edi
mov esi, dword [esi + 0x440]
mov eax, dword [esi]
lea ecx, [ebp - 0x10]
push ecx
push esi
mov dword [ebp - 4], edi
call dword [eax + 0x30]
mov eax, dword [ebp - 0x10]
cmp eax, edi
je 0x408246
cmp dword [ebp - 0x18], 3
mov ecx, dword [eax]
push eax
jne 0x408240
call dword [ecx + 0x28]
jmp 0x408243
call dword [ecx + 0x20]
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, edi
je 0x408414
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x408414
cmp ecx, 2
jne 0x408414
push edi
push str.Winamp_v1.x
call dword [sym.imp.USER32.dll_FindWindowA]
mov ebx, eax
cmp ebx, edi
je 0x408414
push 0x104
lea eax, [ebp - 0x11c]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x10]
call fcn.00401804
push edi
push str._Stopped_
lea ecx, [ebp - 0x10]
call fcn.00402db5
or esi, 0xffffffff
cmp eax, esi
jne 0x4082f1
push edi
push str._Paused_
lea ecx, [ebp - 0x10]
call fcn.00402db5
cmp eax, esi
jne 0x4082f1
push edi
push str.Winamp
lea ecx, [ebp - 0x10]
call fcn.00402db5
cmp eax, esi
jne 0x4082f1
push edi
push str.__Winamp
lea ecx, [ebp - 0x10]
call fcn.00402db5
cmp eax, esi
je 0x4082f1
push edi
push 0x9c6e
jmp 0x4082f7
push edi
push 0x9c6d
push 0x111
push ebx
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.004012ec
jmp 0x408414
cmp dword [ebp + 0xc], 2
jne 0x408414
cmp dword [esi + 0x888], edi
jne 0x408414
mov ecx, dword [esi + 0x45c]
xor ebx, ebx
inc ebx
cmp ecx, ebx
jne 0x408384
mov eax, dword [esi + 0x450]
cmp eax, edi
je 0x408384
mov ecx, dword [eax]
lea edx, [ebp - 0x10]
push edx
push eax
call dword [ecx + 0x9c]
cmp dword [ebp - 0x10], ebx
jne 0x40835e
mov eax, dword [esi + 0x450]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x44]
mov eax, dword [esi + 0x450]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
cmp dword [ebp - 0x10], ebx
jne 0x408414
mov esi, dword [esi + 0x450]
mov eax, dword [esi]
push esi
call dword [eax + 0x2c]
jmp 0x408414
cmp ecx, edi
jne 0x4083ed
mov eax, dword [esi + 0x440]
cmp eax, edi
je 0x4083ed
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
push eax
call dword [ecx + 0x2c]
mov dword [ebp + 0xc], edi
mov esi, dword [esi + 0x440]
mov eax, dword [esi]
lea ecx, [ebp + 0xc]
push ecx
push esi
mov dword [ebp - 4], ebx
call dword [eax + 0x30]
mov eax, dword [ebp + 0xc]
cmp eax, edi
je 0x408246
cmp dword [ebp - 0x14], 3
jne 0x4083cc
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x40]
cmp dword [ebp - 0x14], 3
mov eax, dword [ebp + 0xc]
jne 0x408246
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
mov eax, dword [ebp + 0xc]
jmp 0x408246
cmp ecx, 2
jne 0x408414
push edi
push str.Winamp_v1.x
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, edi
je 0x408414
push edi
push 0x9c70
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop ebx
mov ecx, dword [ebp - 0xc]
pop edi
xor eax, eax
pop esi
mov dword fs:[0], ecx
leave
ret 0x10