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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2550
call fcn.00470240
test byte [ebp + 8], 0x80
push ebx
push esi
push edi
je 0x40d3ff
mov ecx, dword [0x492560]
sub esp, 0x10
mov edi, esp
mov esi, 0x47c3d4
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor ebx, ebx
mov dword [ebp - 4], 1
mov dword [ebp + 8], ebx
mov dword [ebp - 8], ebx
movsd dword es:[edi], dword [esi]
call fcn.00402f98
mov ecx, eax
cmp ecx, ebx
mov dword [ebp - 0xc], ecx
je 0x40d339
push 1
push ebx
push 0x12c
call fcn.00424a5f
mov edi, eax
cmp edi, ebx
je 0x40d300
mov esi, 0x80004001
push esi
push 0x3c
mov ecx, edi
call fcn.00424a88
cmp eax, ebx
mov dword [ebp - 4], eax
jne 0x40d2f1
lea eax, [ebp + 8]
push eax
push esi
push 0x5a
mov ecx, edi
call fcn.00424a5f
cmp dword [ebp + 8], ebx
je 0x40d2d7
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.00424a5f
push dword [ebp + 8]
mov ecx, edi
push esi
push 0x6e
call fcn.00424a5f
mov ecx, dword [ebp - 0xc]
push edi
push ebx
push 0x136
call fcn.00424a5f
push dword [ebp - 0xc]
mov ecx, dword [0x492560]
push ebx
push 0x14
call fcn.00424a5f
cmp dword [ebp - 4], ebx
jne 0x40d339
cmp dword [ebp + 8], ebx
je 0x40d339
push ebx
push ebx
push 0x7e8
call fcn.0045ede1
add esp, 0xc
push eax
push 0x3f9
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
call fcn.00423a11
call fcn.00427c1c
call fcn.0042aa71
cmp dword [ebp - 4], ebx
jne 0x40d3c4
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov esi, 0x487000
push esi
push 0x475690
push str.NeedReg
push str.WinampReg
call edi
push esi
push 0x104
lea eax, [ebp - 0x150]
push eax
push 0x472c3d
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 - 8]
push eax
xor eax, eax
cmp dword [ebp + 8], ebx
setne al
push eax
call fcn.004606ac
add esp, 0xc
call fcn.00460579
call fcn.004552b8
cmp dword [ebp + 8], ebx
je 0x40d3d7
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_DestroyWindow]
cmp dword [ebp - 8], ebx
je 0x40d679
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40d679
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
jmp 0x40d679
call fcn.00411289
push 1
call fcn.00410e2f
test byte [ebp + 8], 0x20
pop ecx
je 0x40d419
call fcn.00410f87
jmp 0x40d41e
call fcn.004054ab
test byte [ebp + 8], 0x10
je 0x40d43e
push 0x487000
push 0x475668
push str.NeedReg
push str.WinampReg
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
xor ebx, ebx
call fcn.00406c44
test byte [ebp + 8], 8
je 0x40d453
test eax, eax
jne 0x40d45e
push 1
jmp 0x40d458
test eax, eax
je 0x40d45e
push ebx
call fcn.004054fc
pop ecx
test byte [ebp + 8], 0x46
je 0x40d62c
test byte [ebp + 8], 6
mov byte [ebp - 0x2550], bl
je 0x40d567
call fcn.00428302
cmp eax, ebx
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
je 0x40d567
cmp byte [eax], bl
je 0x40d55e
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 0x475658
push eax
mov byte [ebp - 0x4c], bl
call fcn.004240e1
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 0x40d55e
cmp dword [ebp - 0xc], ebx
jne 0x40d505
test byte [ebp + 8], 2
jne 0x40d50b
jmp 0x40d549
test byte [ebp + 8], 4
je 0x40d549
push 1
push dword [ebp - 8]
call fcn.004062cc
cmp byte [ebp - 0x2550], bl
pop ecx
pop ecx
je 0x40d535
push 0x473018
push 0x2000
lea eax, [ebp - 0x2550]
push eax
call fcn.00405663
push dword [ebp - 8]
lea eax, [ebp - 0x2550]
push 0x2000
push eax
call fcn.00405663
mov edi, dword [ebp - 8]
push edi
call esi
lea eax, [edi + eax + 1]
cmp byte [eax], bl
mov dword [ebp - 8], eax
jne 0x40d499
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
test byte [ebp + 8], 0x40
je 0x40d619
mov ecx, dword [0x492558]
push ebx
push ebx
mov esi, 0x96
push esi
mov dword [ebp - 4], ebx
call fcn.00424a5f
mov edi, eax
cmp edi, ebx
je 0x40d619
mov eax, dword [ebp + 8]
shr eax, 6
and eax, 1
mov dword [ebp - 0xc], eax
inc dword [ebp - 4]
push ebx
push ebx
push edi
lea ecx, [ebp + 8]
call fcn.00402b8d
cmp dword [ebp - 0xc], ebx
je 0x40d5ef
push dword [ebp - 0xc]
push dword [ebp + 8]
call fcn.004062cc
cmp byte [ebp - 0x2550], bl
pop ecx
pop ecx
je 0x40d5db
push 0x473018
push 0x2000
lea eax, [ebp - 0x2550]
push eax
call fcn.00405663
push dword [ebp + 8]
lea eax, [ebp - 0x2550]
push 0x2000
push eax
call fcn.00405663
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 - 4]
mov ecx, dword [0x492558]
push ebx
push esi
mov dword [ebp + 8], ebx
call fcn.00424a5f
mov edi, eax
cmp edi, ebx
jne 0x40d59d
lea eax, [ebp - 0x2550]
push eax
push str.config_extlist
call fcn.00405371
pop ecx
pop ecx
push 1
push 0x473c6c
call fcn.004062cc
push 1
push 0x473c68
call fcn.004062cc
push 1
push 0x473c60
call fcn.004062cc
add esp, 0x18
push 0x4867d0
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push ebx
call fcn.00405779
pop ecx
call fcn.00423a11
call fcn.00427c1c
call fcn.0042aa71
call fcn.004552b8
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]