Function at 0x40292f
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x68cc
call fcn.00461410
push esi
push dword [ebp + 8]
call fcn.004027fa
pop ecx
mov dword [ebp + 8], eax
push 0xa
push str._embedding
push dword [ebp + 8]
call fcn.004028f1
add esp, 0xc
movzx eax, al
test eax, eax
je 0x402975
push 0xa
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
jmp 0x403235
push 2
push 0x467f74
push dword [ebp + 8]
call fcn.004028f1
add esp, 0xc
movzx eax, al
test eax, eax
je 0x4029aa
push 0
push str.Winamp_Commandline
push 0x463500
push 0
call dword [0x473fa0]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 4
push str._NEW
push dword [ebp + 8]
call fcn.004028f1
add esp, 0xc
movzx eax, al
test eax, eax
je 0x4029e0
push 4
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
mov dword [0x47b710], 1
jmp 0x403235
push 5
push str._REG
push dword [ebp + 8]
call dword [sym.imp.NSCRT.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x402b02
lea eax, [ebp - 0x800]
mov dword [ebp - 0x804], eax
push 5
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
push 0x400
lea eax, [ebp - 0x800]
push eax
push dword [ebp + 8]
call fcn.00402874
add esp, 0xc
mov dword [0x48047c], 1
mov eax, dword [ebp - 0x804]
movzx eax, word [eax]
test eax, eax
je 0x402afd
mov eax, dword [ebp - 0x804]
movzx eax, word [eax]
mov dword [ebp - 0x68cc], eax
cmp dword [ebp - 0x68cc], 0x41
je 0x402a8e
cmp dword [ebp - 0x68cc], 0x43
je 0x402aac
cmp dword [ebp - 0x68cc], 0x44
je 0x402aca
cmp dword [ebp - 0x68cc], 0x4c
je 0x402ad9
cmp dword [ebp - 0x68cc], 0x4e
je 0x402abb
cmp dword [ebp - 0x68cc], 0x56
je 0x402a9d
jmp 0x402ae6
mov eax, dword [0x48047c]
or eax, 2
mov dword [0x48047c], eax
jmp 0x402ae6
mov eax, dword [0x48047c]
or eax, 4
mov dword [0x48047c], eax
jmp 0x402ae6
mov eax, dword [0x48047c]
or eax, 8
mov dword [0x48047c], eax
jmp 0x402ae6
mov eax, dword [0x48047c]
or eax, 0x10
mov dword [0x48047c], eax
jmp 0x402ae6
mov eax, dword [0x48047c]
or eax, 0x20
mov dword [0x48047c], eax
jmp 0x402ae6
mov eax, dword [0x48047c]
or eax, 0x40
mov dword [0x48047c], eax
push dword [ebp - 0x804]
call dword [0x473f60]
mov dword [ebp - 0x804], eax
jmp 0x402a36
jmp 0x403235
push 6
push str._NOREG
push dword [ebp + 8]
call fcn.004028f1
add esp, 0xc
movzx eax, al
test eax, eax
je 0x402b38
push 6
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
mov dword [0x480d50], 1
jmp 0x403235
push 6
push str._UNREG
push dword [ebp + 8]
call fcn.004028f1
add esp, 0xc
movzx eax, al
test eax, eax
je 0x402cf3
lea eax, [ebp - 0x3010]
mov dword [ebp - 0x80c], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
call fcn.00405992
call fcn.0044fc52
call fcn.00428c5f
mov byte [ebp - 0x3010], 0
push 0x2000
lea eax, [ebp - 0x3010]
push eax
push str.config_extlist
call fcn.004038c0
add esp, 0xc
cmp dword [ebp - 0x80c], 0
je 0x402c03
mov eax, dword [ebp - 0x80c]
movsx eax, byte [eax]
test eax, eax
je 0x402c03
push 0x467f00
push dword [ebp - 0x80c]
call dword [sym.imp.NSCRT.dll_strstr]
pop ecx
pop ecx
mov dword [ebp - 0x3014], eax
cmp dword [ebp - 0x3014], 0
je 0x402be6
mov eax, dword [ebp - 0x3014]
mov byte [eax], 0
mov eax, dword [ebp - 0x3014]
inc eax
mov dword [ebp - 0x3014], eax
push 0
push dword [ebp - 0x80c]
call fcn.00405258
pop ecx
pop ecx
mov eax, dword [ebp - 0x3014]
mov dword [ebp - 0x80c], eax
jmp 0x402b98
push 0x400
lea eax, [ebp - 0x1010]
mov ecx, dword [0x47b720]
call fcn.0040274a
lea eax, [ebp - 0x1010]
mov dword [ebp - 0x808], eax
mov eax, dword [ebp - 0x808]
movzx eax, word [eax]
test eax, eax
je 0x402c7f
push 0
push 0
push 0
push dword [ebp - 0x808]
lea esi, [ebp - 0x688c]
call fcn.004026a0
call fcn.004026be
push eax
call fcn.00405258
pop ecx
pop ecx
lea esi, [ebp - 0x688c]
call fcn.0040273d
push dword [ebp - 0x808]
call dword [0x473f40]
mov ecx, dword [ebp - 0x808]
lea eax, [ecx + eax*2 + 2]
mov dword [ebp - 0x808], eax
jmp 0x402c25
mov dword [ebp - 0x80c], 0x467ef0
mov eax, dword [ebp - 0x80c]
movsx eax, byte [eax]
test eax, eax
je 0x402cc3
push 0
push dword [ebp - 0x80c]
call fcn.00405258
pop ecx
pop ecx
push dword [ebp - 0x80c]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x80c]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x80c], eax
jmp 0x402c89
push 0
call fcn.00405d64
pop ecx
call fcn.0040d54e
test eax, eax
je 0x402cd9
call fcn.00405c79
push 0
call fcn.0040d1e7
pop ecx
call fcn.00428d23
call fcn.0044fe30
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 4
push str._ADD
push dword [ebp + 8]
call dword [sym.imp.NSCRT.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x402d3d
mov eax, dword [ebp + 8]
movzx eax, word [eax + 8]
test eax, eax
je 0x402d21
mov eax, dword [ebp + 8]
movzx eax, word [eax + 8]
cmp eax, 0x20
jne 0x402d3d
push 4
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [eax], 1
jmp 0x403235
push 9
push str._BOOKMARK
push dword [ebp + 8]
call dword [sym.imp.NSCRT.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x402d87
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x12]
test eax, eax
je 0x402d6b
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x12]
cmp eax, 0x20
jne 0x402d87
push 9
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [eax], 1
jmp 0x403235
push 8
push str._CONFIG
push dword [ebp + 8]
call dword [sym.imp.NSCRT.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x402df5
push 8
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
push 0x400
lea eax, [ebp - 0x3818]
push eax
push dword [ebp + 8]
call fcn.00402874
add esp, 0xc
push 0
push 0
lea eax, [ebp - 0x3818]
push eax
lea esi, [ebp - 0x6890]
call fcn.004026a0
call fcn.004026be
push eax
call fcn.004058d3
pop ecx
lea esi, [ebp - 0x6890]
call fcn.0040273d
jmp 0x403235
push 8
push str._INIDIR
push dword [ebp + 8]
call dword [sym.imp.NSCRT.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x402e63
push 8
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
push 0x400
lea eax, [ebp - 0x4018]
push eax
push dword [ebp + 8]
call fcn.00402874
add esp, 0xc
push 0
push 0
lea eax, [ebp - 0x4018]
push eax
lea esi, [ebp - 0x6894]
call fcn.004026a0
call fcn.004026be
push eax
call fcn.004058e8
pop ecx
lea esi, [ebp - 0x6894]
call fcn.0040273d
jmp 0x403235
push 8
push str._M3UDIR
push dword [ebp + 8]
call dword [sym.imp.NSCRT.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x402eaf
push 8
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
push 0x400
lea eax, [ebp - 0x4818]
push eax
push dword [ebp + 8]
call fcn.00402874
add esp, 0xc
lea eax, [ebp - 0x4818]
call fcn.00405913
jmp 0x403235
push 7
push str._CLASS
push dword [ebp + 8]
call dword [sym.imp.NSCRT.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x402f03
push 7
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
push 0x400
lea eax, [ebp - 0x5018]
push eax
push dword [ebp + 8]
call fcn.00402874
add esp, 0xc
lea eax, [ebp - 0x5018]
push eax
push 0x40
mov edx, 0x4808a0
call fcn.00403738
jmp 0x403235
push 7
push str._DELM3U
push dword [ebp + 8]
call fcn.004028f1
add esp, 0xc
movzx eax, al
test eax, eax
je 0x402f3f
call fcn.00405992
push 0x4764b0
call dword [0x473ee0]
push 0x475210
call dword [0x473ee0]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 6
push str._CLOSE
push dword [ebp + 8]
call fcn.004028f1
add esp, 0xc
movzx eax, al
test eax, eax
je 0x402f94
push 5
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
call fcn.00402760
mov dword [ebp - 0x501c], eax
cmp dword [ebp - 0x501c], 0
je 0x402f8c
push 0
push 0
push 0x10
push dword [ebp - 0x501c]
call dword [sym.imp.USER32.dll_PostMessageA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 5
push str._KILL
push dword [ebp + 8]
call fcn.004028f1
add esp, 0xc
movzx eax, al
test eax, eax
je 0x403084
and dword [ebp - 0x5028], 0
and dword [ebp - 0x5020], 0
push 5
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
call fcn.00402760
mov dword [ebp - 0x5024], eax
cmp dword [ebp - 0x5024], 0
je 0x40307c
push 0
push 0
push 0x10
push dword [ebp - 0x5024]
call dword [sym.imp.USER32.dll_PostMessageA]
lea eax, [ebp - 0x5028]
push eax
push dword [ebp - 0x5024]
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp dword [ebp - 0x5028], 0
je 0x40307c
push dword [ebp - 0x5028]
push 0
push 0x100401
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x502c], eax
cmp dword [ebp - 0x502c], 0
je 0x40307c
push 0xbb8
push dword [ebp - 0x502c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x403070
push dword [ebp - 0x5020]
push dword [ebp - 0x502c]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0x3e8
push dword [ebp - 0x502c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [ebp - 0x502c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 8
push str._RETURN
push dword [ebp + 8]
call dword [sym.imp.NSCRT.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x4030d2
push 8
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
push 0x28
lea eax, [ebp - 0x5080]
push eax
push dword [ebp + 8]
call fcn.00402874
add esp, 0xc
lea eax, [ebp - 0x5080]
push eax
call dword [sym.imp.NSCRT.dll__wtoi]
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 6
push str._BURN
push dword [ebp + 8]
call dword [sym.imp.NSCRT.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40319b
push 6
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
push 0x400
lea eax, [ebp - 0x5880]
push eax
push dword [ebp + 8]
call fcn.00402874
add esp, 0xc
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
call fcn.00405992
call fcn.0044fc52
call fcn.0042d428
call fcn.00428c5f
call fcn.00425e85
push 1
call fcn.004043c1
pop ecx
push dword [0x47b6c8]
push 0
push 0
lea eax, [ebp - 0x5880]
push eax
lea esi, [ebp - 0x6898]
call fcn.004026a0
call fcn.004026be
push eax
call fcn.0044f58f
pop ecx
pop ecx
mov dword [ebp - 0x5884], eax
lea esi, [ebp - 0x6898]
call fcn.0040273d
call fcn.004260b9
call fcn.00428d23
call fcn.0044fe30
call fcn.0042d49a
push dword [ebp - 0x5884]
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 6
push str._DOREG
push dword [ebp + 8]
call fcn.004028f1
add esp, 0xc
movzx eax, al
test eax, eax
je 0x4031d4
push 6
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
call fcn.00405992
call fcn.0044dc2c
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 8
push 0x467e10
push dword [ebp + 8]
call dword [sym.imp.NSCRT.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x403218
push 9
pop ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
push 0x800
lea eax, [ebp - 0x6888]
push eax
push dword [ebp + 8]
call fcn.00402874
add esp, 0xc
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [ebp + 8]
movzx eax, word [eax]
cmp eax, 0x2f
jne 0x403233
xor ecx, ecx
inc ecx
mov eax, dword [ebp + 8]
call fcn.004111dc
mov dword [ebp + 8], eax
jmp 0x403235
jmp 0x403246
push dword [ebp + 8]
call fcn.00402825
pop ecx
mov dword [ebp + 8], eax
jmp 0x40293d
mov eax, dword [ebp + 8]
pop esi
leave
ret