Function at 0x444348
Capabilities:
Get graphical window text
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov dword [0x50bc5c], 1
push ebx
push esi
push edi
push 0x531f98
push dword [0x531f70]
call dword [sym.imp.USER32.dll_SetWindowTextW]
xor ebx, ebx
mov edi, dword [sym.imp.USER32.dll_CreateWindowExW]
push ebx
push dword [0x531f80]
push ebx
push dword [0x531f70]
push ebx
push ebx
push ebx
push ebx
push 0x40000000
push 0x4cada0
push str.WinampVis
push ebx
call edi
push 8
push eax
mov dword [0x530df0], eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov al, byte [0x4f7c53]
and al, 2
movzx eax, al
neg eax
sbb eax, eax
and eax, 0x49474541
push eax
push 0xffffffffffffffeb
push dword [0x531f70]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push ebx
push dword [0x531f80]
mov eax, SysReAllocStringLen
push ebx
push dword [0x531f70]
push eax
push eax
push eax
push eax
push 3
push ebx
push str.tooltips_class32
push ebx
call edi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0x177
push 3
push 0x403
push eax
mov dword [0x531f60], eax
call esi
mov ebx, 0x7d0
push ebx
push 2
push 0x403
push dword [0x531f60]
call esi
push 0x3e8
push 1
push 0x403
push dword [0x531f60]
call esi
xor ecx, ecx
mov eax, SysReAllocStringLen
push ecx
push dword [0x531f80]
push ecx
push dword [0x531f74]
push eax
push eax
push eax
push eax
push 3
push ecx
push str.tooltips_class32
push ecx
call edi
push 0x7d
push 3
push 0x403
push eax
mov dword [0x531f64], eax
call esi
push ebx
push 2
push 0x403
push dword [0x531f64]
call esi
push 0x3e8
push 1
push 0x403
push dword [0x531f64]
call esi
xor ecx, ecx
mov eax, SysReAllocStringLen
push ecx
push dword [0x531f80]
push ecx
push dword [0x531f7c]
push eax
push eax
push eax
push eax
push 3
push ecx
push str.tooltips_class32
push ecx
call edi
push 0x7d
push 3
push 0x403
push eax
mov dword [0x531f68], eax
call esi
push ebx
push 2
push 0x403
push dword [0x531f68]
call esi
push 0x3e8
push 1
push 0x403
push dword [0x531f68]
call esi
xor ecx, ecx
mov eax, SysReAllocStringLen
push ecx
push dword [0x531f80]
push ecx
push dword [0x531f78]
push eax
push eax
push eax
push eax
push 3
push ecx
push str.tooltips_class32
push ecx
call edi
push 0x7d
push 3
mov edi, 0x403
mov dword [0x531f6c], eax
push edi
push eax
call esi
push ebx
push 2
push edi
push dword [0x531f6c]
call esi
push 0x3e8
push 1
push edi
push dword [0x531f6c]
call esi
push 0x20
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
push 0x65
call fcn.00440e30
mov ebx, dword [sym.imp.USER32.dll_GetSubMenu]
xor edi, edi
pop ecx
push edi
push eax
mov dword [0x531e64], eax
call ebx
push 2
pop esi
push esi
push eax
mov dword [0x531e60], eax
call ebx
push 4
push dword [0x531e60]
mov dword [0x531e84], eax
call ebx
mov ecx, dword [0x531e90]
mov dword [0x531e68], eax
lea eax, [ecx + 1]
neg ecx
sbb ecx, ecx
and ecx, eax
add ecx, 4
push ecx
push esi
push dword [0x531e60]
call ebx
push eax
call ebx
mov dword [0x531e6c], eax
mov eax, dword [0x53310c]
add eax, 0xe
push eax
push dword [0x531e60]
call ebx
mov dword [0x531e70], eax
mov eax, dword [0x53310c]
push 1
add eax, 0xb
push eax
push dword [0x531e60]
call ebx
push eax
call ebx
mov dword [0x531e74], eax
mov eax, dword [0x53310c]
add eax, 0xd
push eax
push dword [0x531e60]
call ebx
mov dword [0x531e78], eax
mov eax, dword [0x53310c]
add eax, 0xb
push eax
push dword [0x531e60]
call ebx
cmp byte [0x500dc1], 0
mov dword [0x531e7c], eax
je 0x444681
push 0xa
pop ecx
xor eax, eax
mov dword [ebp - 0x30], 0x30
mov dword [ebp - 0x2c], 0x16
lea edi, [ebp - 0x28]
rep stosd dword es:[edi], eax
call dword [sym.imp.USER32.dll_CreatePopupMenu]
xor edi, edi
mov dword [0x531e80], eax
push edi
push edi
push 0xc0
mov dword [ebp - 0x1c], eax
call fcn.00441947
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xc], ecx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, esi
cmp ax, di
jne 0x444642
mov eax, dword [0x4f85e4]
sub ecx, edx
mov dword [ebp - 0x20], eax
mov dword [0x531e88], eax
sar ecx, 1
inc eax
mov dword [0x4f85e4], eax
lea eax, [ebp - 0x30]
push eax
mov eax, dword [0x53310c]
push 1
add eax, 0xf
mov dword [ebp - 8], ecx
push eax
push dword [0x531e60]
call dword [sym.imp.USER32.dll_InsertMenuItemW]
push 0xa
push 5
push esi
push dword [0x531e64]
call ebx
push eax
call ebx
push eax
call ebx
mov esi, eax
push 0x9dd2
push esi
call fcn.004442d0
push 0x9dd3
push esi
call fcn.004442d0
push 0x9dd4
push esi
call fcn.004442d0
push 0x9dd5
push esi
call fcn.004442d0
push 0x9dd6
push esi
call fcn.004442d0
add esp, 0x28
push 5
push edi
push 3
push dword [0x531e64]
call ebx
push eax
call ebx
push eax
call ebx
mov esi, eax
push 0x9dcc
push esi
call fcn.004442d0
push 0x9dcd
push esi
call fcn.004442d0
push 0x9dce
push esi
call fcn.004442d0
push 0x9dcf
push esi
call fcn.004442d0
push 0x9dd0
push esi
call fcn.004442d0
call fcn.00472da3
call fcn.0047267d
push edi
mov dword [0x52f8b0], edi
call fcn.00468d52
add esp, 0x2c
call fcn.00469bfd
mov esi, dword [sym.imp.USER32.dll_CheckMenuItem]
xor eax, eax
cmp byte [0x4f7c56], al
push 8
pop edi
cmovne eax, edi
push eax
push 0x9cfa
push dword [0x531e60]
call esi
xor eax, eax
cmp byte [0x504abe], al
cmovne eax, edi
push eax
push 0x9c57
push dword [0x531e60]
call esi
xor eax, eax
cmp byte [0x504abf], al
cmovne eax, edi
push eax
push 0x9c56
push dword [0x531e60]
call esi
mov eax, dword [0x50510c]
neg eax
sbb eax, eax
and eax, edi
push eax
push 0x9e11
push 0xd
push 3
push dword [0x531e64]
call ebx
push eax
call ebx
push eax
call esi
cmp byte [0x504ac2], 0
push edi
jne 0x4447c2
push 0x9c65
jmp 0x4447c7
push 0x9c66
push dword [0x531e60]
call esi
push 1
call fcn.0041aae1
call fcn.00419fad
movzx eax, byte [0x504abe]
xor ebx, ebx
push ebx
push eax
call fcn.0041cffb
push ebx
push dword [0x4f7c80]
push ebx
push dword [0x4f7c70]
call fcn.0041ca1e
movzx eax, byte [0x504abf]
push ebx
push eax
call fcn.0041cf8c
push ebx
call fcn.0041c9bb
push 0xffffffffffffffff
call fcn.0041c8a8
movzx eax, byte [0x4f7c55]
push ebx
push eax
call fcn.0041da0b
movsx eax, byte [0x504ac0]
push ebx
push eax
call fcn.0041cc28
push ebx
push 0x50bc64
push 0x4cada0
call fcn.0041d06a
add esp, 0x48
push 2
call fcn.0041ccff
push ebx
call fcn.00419e60
push ebx
call fcn.0041cacf
movzx eax, byte [0x504ac3]
push ebx
push eax
push 1
call fcn.0041d2d2
push ebx
call fcn.0041aae1
mov edi, dword [sym.imp.USER32.dll_GetSystemMenu]
add esp, 0x1c
push 0x4cbf1c
push dword [0x531e60]
push 0x410
push ebx
push ebx
push dword [0x531f70]
call edi
mov esi, dword [sym.imp.USER32.dll_InsertMenuW]
push eax
call esi
push ebx
push ebx
push 0xc00
push 1
push ebx
push dword [0x531f70]
call edi
push eax
call esi
mov esi, dword [sym.imp.USER32.dll_SetTimer]
cmp byte [0x4f7c57], bl
je 0x4448d0
push ebx
push 0xc8
push 0x27
push dword [0x531f70]
call esi
cmp byte [0x504abe], bl
je 0x4448e3
push 0xc4653600
call fcn.00492880
pop ecx
call fcn.004212fb
call fcn.0047bdb5
push ebx
push 0x3e8
push 0x40
push dword [0x531f70]
call esi
pop edi
pop esi
pop ebx
leave
ret