Function at 0x40eae4
Capabilities:
Delete file
Read .ini file
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2550
call fcn.00483980
test byte [ebp + 8], 0x80
push ebx
push esi
push edi
je 0x40eca6
mov ecx, dword [0x4ac3c8]
sub esp, 0x10
mov edi, esp
mov esi, 0x494168
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor ebx, ebx
mov dword [ebp - 8], 1
mov dword [ebp + 8], ebx
mov dword [ebp - 4], ebx
movsd dword es:[edi], dword [esi]
call fcn.00402fa8
mov ecx, eax
cmp ecx, ebx
mov dword [ebp - 0xc], ecx
je 0x40ebe0
push 1
push ebx
push 0x12c
call fcn.00475aa3
mov edi, eax
cmp edi, ebx
je 0x40eba7
mov esi, 0x80004001
push esi
push 0x3c
mov ecx, edi
call fcn.00402e90
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x40eb9d
lea eax, [ebp + 8]
push eax
push esi
push 0x5a
mov ecx, edi
call fcn.00475aa3
cmp dword [ebp + 8], ebx
je 0x40eb83
push 1
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_UpdateWindow]
push dword [ebp + 8]
mov ecx, edi
push esi
push 0x64
call fcn.00475aa3
push dword [ebp + 8]
mov ecx, edi
push esi
push 0x6e
call fcn.00475aa3
push ebx
push 0xfffffffffffffffe
mov ecx, edi
call fcn.00402e90
push dword [ebp - 0xc]
mov ecx, dword [0x4ac3c8]
push ebx
push 0x14
call fcn.00475aa3
cmp dword [ebp - 8], ebx
jne 0x40ebe0
cmp dword [ebp + 8], ebx
je 0x40ebe0
push ebx
push ebx
push 0x7e8
call fcn.00472111
add esp, 0xc
push eax
push 0x3f9
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
call fcn.00427d0f
call fcn.0042c244
call fcn.0042f27f
cmp dword [ebp - 8], ebx
jne 0x40ec6b
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov esi, 0x4a09c0
push esi
push 0x489a88
push str.NeedReg
push str.WinampReg
call edi
push esi
push 0x104
lea eax, [ebp - 0x150]
push eax
push 0x486d4c
push str.WAParam
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push esi
push ebx
push ebx
push str.SETUP
call edi
lea eax, [ebp - 0x150]
push eax
call dword [sym.imp.SHLWAPI.dll_PathQuoteSpacesA]
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 4]
push eax
xor eax, eax
cmp dword [ebp + 8], ebx
setne al
push eax
call fcn.00473b87
add esp, 0xc
call fcn.00473a54
call fcn.0045ba74
cmp dword [ebp + 8], ebx
je 0x40ec7e
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_DestroyWindow]
cmp dword [ebp - 4], ebx
je 0x40ef32
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40ef32
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
jmp 0x40ef32
call fcn.0041303b
push 1
call fcn.00412be1
test byte [ebp + 8], 0x20
pop ecx
je 0x40ecc0
call fcn.00412d39
jmp 0x40ecc5
call fcn.00407586
test byte [ebp + 8], 0x10
je 0x40ece5
push 0x4a09c0
push 0x489a60
push str.NeedReg
push str.WinampReg
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
xor ebx, ebx
call fcn.00407bcb
test byte [ebp + 8], 8
je 0x40ecfa
test eax, eax
jne 0x40ed05
push 1
jmp 0x40ecff
test eax, eax
je 0x40ed05
push ebx
call fcn.004075d7
pop ecx
test byte [ebp + 8], 0x46
je 0x40eee5
test byte [ebp + 8], 6
mov byte [ebp - 0x2550], bl
je 0x40ee20
call fcn.0042c69b
cmp eax, ebx
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
je 0x40ee20
cmp byte [eax], bl
je 0x40ee05
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push str.test._s
lea eax, [ebp - 0x550]
push 0x400
push eax
call fcn.00402528
push 0x20
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x550]
push str.type
push eax
mov byte [ebp - 0x4c], bl
call fcn.004283dd
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.NSCRT.dll_atoi]
mov dword [ebp - 0xc], eax
add esp, 0x24
lea eax, [ebp - 0x550]
push eax
call esi
mov edi, eax
lea eax, [ebp - 0x2550]
push eax
call esi
add edi, eax
cmp edi, 0x1fa4
jg 0x40ee05
cmp dword [ebp - 0xc], ebx
jne 0x40edac
test byte [ebp + 8], 2
jne 0x40edb2
jmp 0x40edf0
test byte [ebp + 8], 4
je 0x40edf0
push 1
push dword [ebp - 4]
call fcn.0040772b
cmp byte [ebp - 0x2550], bl
pop ecx
pop ecx
je 0x40eddc
push 0x487180
push 0x2000
lea eax, [ebp - 0x2550]
push eax
call fcn.00406279
push dword [ebp - 4]
lea eax, [ebp - 0x2550]
push 0x2000
push eax
call fcn.00406279
mov edi, dword [ebp - 4]
push edi
call esi
lea eax, [edi + eax + 1]
cmp byte [eax], bl
mov dword [ebp - 4], eax
jne 0x40ed40
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push ebx
push ebx
push 0x2000
push 0x8000000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
test byte [ebp + 8], 0x40
je 0x40eed2
mov ecx, dword [0x4ac3b4]
push ebx
push ebx
mov esi, 0x96
push esi
mov dword [ebp - 8], ebx
call fcn.00475aa3
mov edi, eax
cmp edi, ebx
je 0x40eed2
mov eax, dword [ebp + 8]
shr eax, 6
and eax, 1
mov dword [ebp - 4], eax
inc dword [ebp - 8]
push ebx
push ebx
push edi
lea ecx, [ebp + 8]
call fcn.00402b8d
cmp dword [ebp - 4], ebx
je 0x40eea8
push dword [ebp - 4]
push dword [ebp + 8]
call fcn.0040772b
cmp byte [ebp - 0x2550], bl
pop ecx
pop ecx
je 0x40ee94
push 0x487180
push 0x2000
lea eax, [ebp - 0x2550]
push eax
call fcn.00406279
push dword [ebp + 8]
lea eax, [ebp - 0x2550]
push 0x2000
push eax
call fcn.00406279
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push dword [ebp + 8]
call dword [sym.imp.NSCRT.dll_free]
pop ecx
push dword [ebp - 8]
mov ecx, dword [0x4ac3b4]
push ebx
push esi
mov dword [ebp + 8], ebx
call fcn.00475aa3
mov edi, eax
cmp edi, ebx
jne 0x40ee56
lea eax, [ebp - 0x2550]
push eax
push str.config_extlist
call fcn.00406132
pop ecx
pop ecx
push 1
push 0x488008
call fcn.0040772b
push 1
push 0x488004
call fcn.0040772b
push 1
push 0x487ffc
call fcn.0040772b
add esp, 0x18
push 0x4a0190
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push ebx
call fcn.004064b1
pop ecx
call fcn.00427d0f
call fcn.0042c244
call fcn.0042f27f
call fcn.0045ba74
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]