Function at 0x456a97
Capabilities:
Create process on windows
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48fb28
push 0x483b34
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
mov eax, 0x290c
call fcn.00483980
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
xor ebx, ebx
cmp dword [ebp + 0x14], 1
jne 0x456b2e
cmp dword [0x4ac388], ebx
je 0x456b2e
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.USER32.dll_GetKeyboardState]
test eax, eax
je 0x456b2e
mov dword [ebp - 0x24], 0x30
mov edi, 0x100
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x24]
test byte [ebp + eax - 0x650], 0x80
je 0x456b0e
push ebx
push eax
push edi
push dword [ebp + 8]
call esi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x87
jl 0x456af9
test byte [ebp - 0x630], 0x80
je 0x456b34
push ebx
push 0x20
push edi
push dword [ebp + 8]
call esi
jmp 0x456b34
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov edi, dword [ebp + 0xc]
mov eax, 0x87d0
cmp edi, eax
jl 0x456cd2
cmp edi, dword [0x4b06ec]
jge 0x456cd2
mov dword [ebp - 0x34], ebx
sub edi, eax
mov dword [ebp + 0xc], edi
push 0x489aec
push 0x49dea0
call dword [sym.imp.NSCRT.dll_fopen]
pop ecx
pop ecx
mov esi, eax
mov dword [ebp - 0x20], esi
cmp esi, ebx
je 0x457c45
push esi
mov edi, 0x104
push edi
lea eax, [ebp - 0x244]
push eax
call dword [sym.imp.NSCRT.dll_fgets]
add esp, 0xc
test byte [esi + 0xc], 0x10
jne 0x456cc3
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push dword [ebp - 0x20]
push 0x1000
lea eax, [ebp - 0x1cf4]
push eax
call dword [sym.imp.NSCRT.dll_fgets]
add esp, 0xc
mov eax, dword [ebp - 0x20]
test byte [eax + 0xc], 0x10
jne 0x456cc3
cmp byte [ebp - 0x1cf4], bl
je 0x456c44
cmp byte [ebp - 0x244], bl
je 0x456c44
lea eax, [ebp - 0x244]
dec eax
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x244]
push eax
call esi
mov ecx, dword [ebp - 0x3c]
cmp byte [eax + ecx], 0xa
jne 0x456bfe
lea eax, [ebp - 0x244]
push eax
call esi
mov ecx, dword [ebp - 0x3c]
mov byte [eax + ecx], bl
lea eax, [ebp - 0x1cf4]
dec eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x1cf4]
push eax
call esi
mov ecx, dword [ebp - 0x38]
cmp byte [eax + ecx], 0xa
jne 0x456c29
lea eax, [ebp - 0x1cf4]
push eax
call esi
mov ecx, dword [ebp - 0x38]
mov byte [eax + ecx], bl
cmp byte [ebp - 0x1cf4], bl
je 0x456c44
cmp byte [ebp - 0x244], bl
je 0x456c44
mov eax, dword [ebp - 0x34]
inc dword [ebp - 0x34]
cmp eax, dword [ebp + 0xc]
je 0x456c67
push dword [ebp - 0x20]
push edi
lea eax, [ebp - 0x244]
push eax
call dword [sym.imp.NSCRT.dll_fgets]
add esp, 0xc
mov eax, dword [ebp - 0x20]
test byte [eax + 0xc], 0x10
je 0x456b9e
jmp 0x456cc3
call fcn.0043e320
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x2924]
call fcn.0040979b
push ebx
push eax
call fcn.0043fc9b
pop ecx
pop ecx
cmp byte [0x49e0b0], bl
je 0x456c9b
push 0xc4653600
call fcn.0043f851
jmp 0x456ca1
push ebx
call fcn.0043ebe1
pop ecx
push 0x4b1260
push 0x4b00e0
push 0x4b0a20
call fcn.0043ea28
add esp, 0xc
call fcn.00440030
call fcn.0041d50e
push dword [ebp - 0x20]
call dword [sym.imp.NSCRT.dll_fclose]
pop ecx
jmp 0x457c45
cmp edi, 0x7fff
jl 0x456e0a
cmp edi, dword [0x4b1248]
jge 0x456e0a
mov word [ebp - 0x550], bx
cmp edi, 0x8000
jl 0x456d8a
push 0x30
pop eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], ebx
push 9
pop ecx
xor eax, eax
lea edi, [ebp - 0xa0]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x550]
mov dword [ebp - 0x88], eax
mov edi, 0x104
mov dword [ebp - 0x84], edi
lea eax, [ebp - 0xac]
push eax
push ebx
push dword [ebp + 0xc]
push dword [0x4b06e0]
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
cmp dword [ebp - 0x8c], 1
jne 0x456d5d
push str..zip
jmp 0x456d7b
cmp dword [ebp - 0x8c], 2
jne 0x456d6d
push str..wsz
jmp 0x456d7b
cmp dword [ebp - 0x8c], 4
jne 0x456d8f
push str..wal
push edi
lea eax, [ebp - 0x550]
push eax
call fcn.0047ac6c
jmp 0x456d8f
mov edi, 0x104
lea eax, [ebp - 0x550]
push eax
push 0x4a0298
call dword [sym.imp.NSCRT.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x457c45
lea eax, [ebp - 0x550]
push eax
push edi
push 0x4a0298
call fcn.0047aaff
push ebx
push 0x9d63
push 0x111
push dword [0x4ac344]
call esi
push 0x28
pop esi
cmp dword [0x4aa720], esi
jne 0x457c45
cmp dword [0x4aa724], ebx
je 0x457c45
mov dword [0x4aa720], ebx
push 1
call fcn.00443a10
mov dword [0x4aa720], esi
push 1
call fcn.00443a10
jmp 0x457bfc
cmp edi, 0xafc8
jl 0x456e7d
cmp edi, 0xd6d8
jge 0x456e7d
push ebx
push ebx
call fcn.00454924
pop ecx
pop ecx
mov dword [ebp - 0x40], eax
cmp eax, ebx
je 0x457c45
cmp dword [0x4ac3a4], ebx
jne 0x457c45
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x456e58
push ebx
push 0x9dbb
push 0x111
push dword [0x4ac344]
call esi
cmp dword [0x4ac3a4], ebx
jne 0x457c45
push 0x105
add edi, 0xffff5038
push edi
push 0x1400
push dword [ebp - 0x40]
jmp 0x457c43
lea eax, [edi - 0x9c41]
cmp eax, 0x1cf
ja case.0x456e91.40002
movzx eax, byte [eax + 0x457de3]
jmp dword [eax*4 + 0x457c8b]
push str.http:__www.winamp.com_support_help_50_
jmp 0x457989
push str.http:__feedback.aol.com_rs_rs.php_sidwinamp_client
jmp 0x457989
mov ecx, dword [0x4ac348]
cmp ecx, ebx
je case.0x456e91.40002
push ebx
mov eax, dword [ebp + 0x14]
shl eax, 0x10
or eax, edi
push eax
push 0x111
push ecx
call esi
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret
push ebx
push edi
push 0x111
push dword [0x4b0610]
call esi
jmp 0x456eca
mov dword [0x4ac3a4], ebx
jmp case.0x456e91.40002
lea esi, [edi + 0x4a25b9]
cmp byte [esi], bl
je 0x457c45
push ebx
call fcn.0041cfe5
movsx eax, byte [esi]
push eax
push str.cda:___c
push 0x20
lea eax, [ebp - 0x140]
push eax
call fcn.00402fc5
call fcn.0043e320
push ebx
lea eax, [ebp - 0x140]
push eax
call fcn.0043fc9b
add esp, 0x1c
call fcn.0041d583
call fcn.00440030
jmp 0x457c45
mov eax, dword [0x4ac34c]
cmp eax, ebx
jne 0x456f4f
mov eax, dword [0x4ac344]
push eax
call fcn.004401cb
pop ecx
test eax, eax
je case.0x456e91.40002
jmp 0x457c45
mov eax, dword [0x4ac34c]
cmp eax, ebx
jne 0x456f71
mov eax, dword [0x4ac344]
push eax
call fcn.0046df9b
jmp 0x456ccc
push ebx
push 0x489d84
push ebx
push ebx
push 0x12e
call fcn.00472111
add esp, 0xc
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x457c45
lea eax, [ebp - 0x8e4]
push eax
lea eax, [ebp - 0x2104]
push eax
call fcn.0043d54e
push eax
call fcn.0043e210
lea eax, [ebp - 0x8e4]
push eax
lea eax, [ebp - 0x2104]
push eax
call fcn.00471a46
add esp, 0x14
jmp 0x457c45
call fcn.00402aeb
jmp 0x457c45
mov word [ebp - 0x348], 0x22
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x346]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x100], 0x44
push 0x10
pop ecx
xor eax, eax
lea edi, [ebp - 0xfc]
rep stosd dword es:[edi], eax
push 0x103
lea eax, [ebp - 0x347]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x48fa54
push 0x104
lea eax, [ebp - 0x348]
push eax
call fcn.00406279
push 1
call fcn.004064b1
pop ecx
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x100]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x348]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
jmp 0x457c45
xor edi, edi
inc edi
mov dword [0x4a4b08], edi
push ebx
push ebx
push 0x7e
push dword [ebp + 8]
call esi
mov dword [0x4a4b08], ebx
cmp dword [0x49bce4], ebx
je 0x457093
push ebx
push ebx
push dword [0x4b0400]
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp dword [0x49bcd4], ebx
je 0x4570a9
push ebx
push ebx
push dword [0x4b0610]
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp dword [0x4a0cf0], ebx
je 0x4570bf
push ebx
push ebx
push dword [0x4b1240]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, edi
jmp 0x456eca
mov dword [0x4aa720], 0x28
push 1
jmp 0x4576a1
call fcn.0042daab
test eax, eax
je 0x4570ea
call fcn.0042daf7
jmp 0x457c45
push ebx
push dword [0x4ac344]
call fcn.0042e789
jmp 0x457bfc
mov dword [0x4aa720], 0x21
jmp 0x4570d0
xor byte [0x49bcc2], 1
cmp byte [0x49bcc2], 1
jne 0x45712d
push ebx
push 0xc8
push 0x27
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x457c45
cmp byte [0x49bcc2], bl
jne 0x457c45
push 0x27
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [0x4a4d4c], ebx
cmp dword [0x4ac35c], ebx
je 0x457159
call fcn.0042b710
jmp 0x45715e
call fcn.0043cf56
push eax
push 0x4a4d4c
push 0x4b00e0
call fcn.004509e1
add esp, 0xc
jmp 0x457c45
cmp word [0x4b0a20], bx
je 0x457c45
mov eax, dword [0x4ac34c]
cmp eax, ebx
jne 0x457191
mov eax, dword [0x4ac344]
push 0x4b0a20
push eax
call fcn.0042c5e8
jmp 0x457bfc
call fcn.004569cd
jmp 0x457c45
call fcn.00456a08
jmp 0x457c45
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edi, eax
mov eax, dword [0x4b0400]
cmp edi, eax
je case.0x456e91.40266
push eax
push edi
mov esi, dword [sym.imp.USER32.dll_IsChild]
call esi
test eax, eax
jne case.0x456e91.40266
mov eax, dword [0x4b0610]
cmp edi, eax
je case.0x456e91.40310
push eax
push edi
call esi
test eax, eax
jne case.0x456e91.40310
call fcn.00456a45
jmp 0x457c45
xor eax, eax
cmp dword [0x49bcd8], ebx
sete al
mov dword [0x49bcd8], eax
cmp eax, ebx
je 0x457252
cmp dword [0x49bce4], ebx
je 0x457260
mov edx, dword [0x49bce8]
cmp edx, 0x15e
jl 0x457260
mov ecx, dword [0x49bcec]
cmp ecx, 0xe
je 0x457260
lea eax, [edx - 0xe1]
mov dword [ebp - 0x5c], eax
add ecx, 0xffffffe6
mov dword [ebp - 0x58], ecx
add eax, 0x4d
mov dword [ebp - 0x54], eax
add ecx, 0x10
mov dword [ebp - 0x50], ecx
push ebx
lea eax, [ebp - 0x5c]
push eax
push dword [0x4b0400]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x45725b
push dword [ebp + 8]
call fcn.00454791
pop ecx
mov eax, dword [0x49bcd8]
neg eax
sbb eax, eax
and eax, 8
push eax
push 0x9d42
push dword [0x4b06e0]
call dword [sym.imp.USER32.dll_CheckMenuItem]
push ebx
call fcn.00413d30
push dword [0x49bcd8]
push 4
call fcn.00454a07
add esp, 0xc
push 0x4a2754
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [0x4a2750]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jne 0x4572b8
mov esi, dword [0x4ac344]
mov eax, dword [0x49bcd8]
jmp 0x457325
cmp dword [ebp - 0x1c], 1
jne 0x4572cb
mov esi, dword [0x4b0610]
mov eax, dword [0x49bcd4]
jmp 0x457325
push 2
pop eax
cmp dword [ebp - 0x1c], eax
jne 0x4572e0
mov esi, dword [0x4b0400]
mov eax, dword [0x49bce4]
jmp 0x457325
cmp dword [ebp - 0x1c], 3
jne 0x4572f0
mov esi, dword [0x4b06e8]
xor eax, eax
jmp 0x457325
cmp dword [ebp - 0x1c], 4
jne 0x457303
mov esi, dword [0x4b1240]
mov eax, dword [0x4a0cf0]
jmp 0x457325
cmp edi, ebx
jne 0x45731c
cmp dword [ebp - 0x28], 1
jne 0x457365
mov edi, dword [0x4a2750]
or dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x28], eax
jmp 0x457356
mov esi, dword [edi]
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
cmp dword [ebp - 0x28], ebx
jne 0x457349
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, esi
je 0x457340
push eax
push esi
call dword [sym.imp.USER32.dll_IsChild]
test eax, eax
je 0x45734d
mov dword [ebp - 0x28], 1
jmp 0x45734d
cmp eax, ebx
jne 0x45735e
cmp dword [ebp - 0x1c], 4
jle 0x457356
mov edi, dword [edi + 0x1c]
inc dword [ebp - 0x1c]
jmp 0x4572a6
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 0x4a2754
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x457c45
push dword [0x4ac344]
call fcn.0040f7af
jmp 0x456ccc
push ebx
push 0x756
jmp 0x457bf7
cmp dword [0x4ac35c], ebx
je 0x457c45
mov eax, dword [0x4a63a4]
cmp eax, ebx
je 0x457c45
cmp dword [eax + 0x14], ebx
je 0x457c45
push dword [0x4ac344]
call fcn.0040f3c0
jmp 0x456ccc
mov eax, dword [0x4a63a4]
cmp eax, ebx
je 0x457c45
cmp dword [eax + 0x14], ebx
je 0x457c45
call fcn.0043d54e
push eax
call fcn.0043d09d
pop ecx
test eax, eax
jne 0x457c45
cmp edi, 0x9c7c
setne al
dec eax
and eax, 0x2710
add eax, 0xffffec78
mov edi, eax
cmp dword [0x4ac35c], ebx
je 0x457c45
call fcn.0042b701
add eax, edi
jns 0x457419
xor eax, eax
push eax
call fcn.0042b80f
pop ecx
push ebx
test eax, eax
jge 0x457433
push ebx
push 0x402
push dword [ebp + 8]
jmp 0x457c43
call fcn.0042b701
cdq
mov ecx, 0x3e8
idiv ecx
push eax
call fcn.0041a6c9
jmp 0x457bfc
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x2c], 0xd
cmp byte [0x49ee0d], bl
je 0x45746f
mov dword [ebp - 0x30], 0xc
mov dword [ebp - 0x2c], 0x1a
lea eax, [ebp - 0x30]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_ClientToScreen]
cmp dword [ebp - 0x2c], 0xffff8ad0
jle 0x457498
cmp dword [ebp - 0x2c], 0xffff92a0
jge 0x457498
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push ebx
push dword [ebp + 8]
push ebx
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push 2
push dword [0x4b06e0]
call dword [sym.imp.USER32.dll_TrackPopupMenu]
jmp 0x457c45
xor esi, esi
inc esi
cmp byte [0x49e0b0], bl
jne 0x4574e3
push 0xffffffffffffffff
call fcn.0043d56e
pop ecx
test eax, eax
jge 0x4574e3
xor esi, esi
cmp byte [0x49d768], bl
je 0x4574e3
inc esi
push 0x3b9aca00
call fcn.0043d56e
pop ecx
cmp esi, ebx
je case.0x456e91.40002
call fcn.0043d213
test eax, eax
je case.0x456e91.40002
cmp byte [0x49e0b0], bl
je 0x457510
push 0xffffffffffffffff
call fcn.0043f851
pop ecx
test eax, eax
jne 0x457c45
push 0x4b1260
push 0x4b00e0
push 0x4b0a20
call fcn.0043ea28
add esp, 0xc
push ebx
cmp dword [0x4ac35c], ebx
je 0x457540
call fcn.0041cfe5
pop ecx
call fcn.0041d50e
jmp case.0x456e91.40002
call fcn.0041cfe5
jmp 0x457992
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push dword [ebp + 8]
call fcn.0045638b
jmp 0x45759d
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push dword [ebp + 8]
call fcn.004564b5
jmp 0x45759d
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push dword [ebp + 8]
call fcn.00456564
jmp 0x45759d
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push dword [ebp + 8]
call fcn.00456586
jmp 0x45759d
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push dword [ebp + 8]
call fcn.0045664b
add esp, 0x10
jmp 0x456eca
cmp dword [0x4ac38c], ebx
jne case.0x456e91.40002
push ebx
push ebx
push 0x10
jmp 0x45742b
mov eax, dword [0x4ac34c]
cmp eax, ebx
jne 0x4575c6
mov eax, dword [ebp + 8]
push eax
push 1
call fcn.00411f8c
pop ecx
pop ecx
jmp 0x456f37
mov eax, dword [0x4ac34c]
cmp eax, ebx
jne 0x4575e1
mov eax, dword [ebp + 8]
push ebx
push eax
push 1
call fcn.00411b75
add esp, 0xc
jmp 0x456f37
mov eax, dword [0x4ac34c]
cmp eax, ebx
jne 0x4575fe
mov eax, dword [ebp + 8]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ebx
lea eax, [ebp - 0xcf4]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], str.__foo
xor esi, esi
inc esi
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], 0x45488b
mov dword [ebp - 0x64], ebx
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
mov edi, eax
cmp edi, ebx
je 0x457699
lea eax, [ebp - 0xaec]
push eax
push edi
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
push edi
call fcn.00414e4b
pop ecx
lea eax, [ebp - 0xaec]
push eax
mov ecx, dword [0x4ac3ec]
call fcn.0045cf8a
call fcn.0043e320
xor eax, eax
mov al, byte [0x4a0188]
shr eax, 1
not eax
and eax, esi
push eax
lea eax, [ebp - 0xaec]
push eax
call fcn.0043ed0c
pop ecx
pop ecx
test byte [0x4a0188], 1
je 0x45768f
push ebx
push 2
call fcn.0043ffb3
pop ecx
pop ecx
call fcn.0041d583
call fcn.00440030
mov eax, esi
jmp 0x456eca
push ebx
call fcn.00443a10
jmp 0x456ccc
cmp byte [0x49f749], bl
sete al
mov byte [0x49f749], al
push ebx
jmp 0x4576cc
cmp byte [0x49ee0d], bl
sete al
mov byte [0x49ee0d], al
push 1
call fcn.00413d30
jmp 0x456ccc
cmp byte [0x49bcc1], bl
sete al
mov byte [0x49bcc1], al
neg al
sbb eax, eax
and eax, 8
push eax
push 0x9cfa
push dword [0x4b06e0]
call dword [sym.imp.USER32.dll_CheckMenuItem]
jmp 0x457c45
cmp byte [0x49e0b0], bl
sete al
mov byte [0x49e0b0], al
neg al
sbb eax, eax
and eax, 8
push eax
push 0x9c57
push dword [0x4b06e0]
call dword [sym.imp.USER32.dll_CheckMenuItem]
push ebx
movzx eax, byte [0x49e0b0]
push eax
call fcn.0045078c
pop ecx
pop ecx
cmp byte [0x49e0b0], bl
je 0x457c45
call fcn.0043d6af
cmp byte [0x49e0b0], bl
je 0x457c45
cmp dword [0x4ac35c], ebx
jne 0x457c45
push 0xc4653600
call fcn.0043f851
mov dword [esp], 0x4b1260
mov esi, 0x4b00e0
push esi
push 0x4b0a20
call fcn.0043ea28
add esp, 0xc
cmp dword [0x4ac35c], ebx
je 0x457795
call fcn.0042b710
jmp 0x45779a
call fcn.0043cf56
push eax
push 0x4a4d4c
push esi
jmp 0x457169
cmp byte [0x49d768], bl
sete al
mov byte [0x49d768], al
neg al
sbb eax, eax
and eax, 8
push eax
push 0x9c56
push dword [0x4b06e0]
call dword [sym.imp.USER32.dll_CheckMenuItem]
push ebx
movzx eax, byte [0x49d768]
push eax
call fcn.004507f9
jmp 0x457bfc
cmp byte [0x49bcb4], bl
sete al
mov byte [0x49bcb4], al
jmp 0x457c45
push ebx
push dword [ebp + 8]
call fcn.0043090b
jmp 0x457bfc
xor eax, eax
cmp dword [ebp + 0x14], 2
sete al
push eax
push dword [ebp + 8]
call fcn.00440068
jmp 0x457bfc
cmp dword [0x4a0cf0], ebx
je 0x45782c
push 1
call fcn.0041f662
jmp 0x456ccc
push ebx
call fcn.0041f190
jmp 0x456ccc
cmp byte [0x49f748], bl
sete al
mov byte [0x49f748], al
neg al
sbb eax, eax
and eax, 0xfffffff8
add eax, 8
push eax
push 0x9c65
push dword [0x4b06e0]
mov edi, dword [sym.imp.USER32.dll_CheckMenuItem]
call edi
mov al, byte [0x49f748]
neg al
sbb eax, eax
and eax, 8
push eax
jmp 0x4578ad
mov byte [0x49f748], bl
push 8
push 0x9c65
push dword [0x4b06e0]
mov edi, dword [sym.imp.USER32.dll_CheckMenuItem]
call edi
push ebx
jmp 0x4578ad
mov byte [0x49f748], 1
push ebx
push 0x9c65
push dword [0x4b06e0]
mov edi, dword [sym.imp.USER32.dll_CheckMenuItem]
call edi
push 8
push 0x9c66
push dword [0x4b06e0]
call edi
push ebx
push 0x2a
push 0x113
jmp 0x45742b
cmp byte [0x49bcc0], 0xfb
ja 0x4578d9
add byte [0x49bcc0], 4
jmp 0x4578fa
mov byte [0x49bcc0], 0xff
jmp 0x4578fa
cmp byte [0x49bcc0], 3
jbe 0x4578f4
add byte [0x49bcc0], 0xfc
jmp 0x4578fa
mov byte [0x49bcc0], bl
movzx eax, byte [0x49bcc0]
push eax
call fcn.0042b74d
push ebx
movzx eax, byte [0x49bcc0]
push eax
call fcn.00450866
jmp 0x45716e
mov eax, dword [0x4ac35c]
mov dword [ebp - 0x48], eax
cmp eax, ebx
je 0x45792d
push ebx
call fcn.0041cfe5
pop ecx
push 0xa
pop edi
push ebx
push 0x9c6c
push 0x111
push dword [ebp + 8]
call esi
dec edi
jne 0x457930
cmp dword [ebp - 0x48], ebx
je 0x457c45
call fcn.0041d50e
jmp 0x457c45
mov eax, dword [0x4ac35c]
mov dword [ebp - 0x44], eax
cmp eax, ebx
je 0x457969
push ebx
call fcn.0041cfe5
pop ecx
push 0xa
pop edi
push ebx
push 0x9c70
push 0x111
push dword [ebp + 8]
call esi
dec edi
jne 0x45796c
cmp dword [ebp - 0x44], ebx
jmp 0x457946
push str.http:__www.winamp.com_skins
push dword [ebp + 8]
call fcn.00463b2f
pop ecx
pop ecx
jmp case.0x456e91.40002
push 0x49e1c0
push 0x49db88
lea eax, [ebp - 0x754]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineA]
lea eax, [ebp - 0x754]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
mov dword [ebp - 0x4c], esi
cmp esi, ebx
je 0x457c45
push str.winampVisGetHeader
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push dword [0x4ac344]
call eax
movsx ecx, byte [0x49e8e0]
push ecx
call dword [eax + 8]
pop ecx
pop ecx
cmp eax, ebx
je 0x457a3f
mov dword [eax + 8], esi
mov ecx, dword [0x4ac344]
mov dword [eax + 4], ecx
test byte [0x49e0ac], 1
jne 0x457a35
mov dword [ebp - 4], ebx
push eax
call dword [eax + 0x924]
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x457a4f
push eax
call dword [eax + 0x924]
pop ecx
jmp 0x457a4f
push ebx
push 4
push 0xb
push dword [ebp + 8]
call fcn.00472b2b
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x457c45
push 0x10
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
and ax, 0x8000
neg ax
sbb eax, eax
neg eax
mov dword [0x4a4d48], eax
push 6
push dword [0x4ac344]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x457c45
call fcn.0041f2e4
jmp 0x457c45
push ebx
push ebx
call fcn.00454924
pop ecx
pop ecx
mov esi, eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edi, eax
cmp esi, ebx
je 0x457acc
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x457acc
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x457acc
push esi
push edi
call dword [sym.imp.USER32.dll_IsChild]
test eax, eax
je 0x457acc
push esi
jmp 0x457adb
mov eax, dword [0x4ac34c]
cmp eax, ebx
jne 0x457ada
mov eax, dword [0x4ac344]
push eax
push 0x107
call fcn.00454924
pop ecx
pop ecx
call fcn.004569b4
jmp 0x457c45
call fcn.004569b4
push ebx
push ebx
call fcn.00454924
pop ecx
pop ecx
mov esi, eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edi, eax
cmp esi, ebx
je 0x457b32
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x457b32
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x457b32
push esi
push edi
call dword [sym.imp.USER32.dll_IsChild]
test eax, eax
je 0x457b32
push esi
jmp 0x457b41
mov eax, dword [0x4ac34c]
cmp eax, ebx
jne 0x457b40
mov eax, dword [0x4ac344]
push eax
push 0x10b
jmp 0x457bf7
push ebx
push ebx
call fcn.00454924
pop ecx
pop ecx
mov esi, eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edi, eax
cmp esi, ebx
je 0x457b87
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x457b87
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x457b87
push esi
push edi
call dword [sym.imp.USER32.dll_IsChild]
test eax, eax
je 0x457b87
push esi
jmp 0x457b96
mov eax, dword [0x4ac34c]
cmp eax, ebx
jne 0x457b95
mov eax, dword [0x4ac344]
push eax
push pe_nt_image_headers32
jmp 0x457ae0
push ebx
push 0x109
jmp 0x457ae0
call fcn.004569b4
push 0x3e8
push 0x105
jmp 0x457bf7
call fcn.004569b4
push 0xbb9
jmp 0x457bb5
call fcn.004569b4
push 0x2710
jmp 0x457bb5
call fcn.004569b4
push 0x2af8
jmp 0x457bb5
call fcn.004569b4
push 0x2af9
jmp 0x457bb5
call fcn.004569b4
push ebx
push 0x10c
call fcn.00454924
pop ecx
jmp 0x456ccc
push 5
pop edi
push ebx
push 0x9c7a
push 0x111
push dword [ebp + 8]
call esi
dec edi
jne 0x457c05
jmp 0x457c45
push 5
pop edi
push ebx
push 0x9c7b
push 0x111
push dword [ebp + 8]
call esi
dec edi
jne 0x457c1d
jmp 0x457c45
push 0x302
push ebx
push 0x400
push dword [0x4ac344]
call esi
xor eax, eax
inc eax
jmp 0x456eca
push 5
call fcn.0044054d
jmp 0x457c83
push 4
jmp 0x457c4f
push 3
jmp 0x457c4f
push 2
jmp 0x457c4f
push 1
jmp 0x457c4f
push ebx
jmp 0x457c4f
push 5
jmp 0x457c7e
push 4
jmp 0x457c7e
push 3
jmp 0x457c7e
push 2
jmp 0x457c7e
push 1
jmp 0x457c7e
push ebx
call fcn.00440579
pop ecx
jmp 0x456eca