Function at 0x40b955
Capabilities:
Accept command line arguments
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov edx, ecx
push ebx
xor ebx, ebx
mov ecx, 0xdc
inc ebx
cmp eax, ecx
jg 0x40bb3b
je 0x40bb28
cmp eax, 0x64
jg 0x40ba54
je 0x40ba47
cmp eax, 0x32
jg 0x40ba04
je 0x40b9f3
sub eax, 0xa
je 0x40b9e5
sub eax, 0xa
je 0x40b9d7
sub eax, ebx
je 0x40b9c9
sub eax, 9
je 0x40b9bb
sub eax, 0xa
jne 0x40bd40
push esi
push edi
mov edi, dword [ebp + 0xc]
mov esi, 0x4cc074
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
jmp 0x40bd77
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x270f
jmp 0x40bd77
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4cc174
jmp 0x40bd77
mov eax, dword [ebp + 0xc]
mov dword [eax], str.Winamp_5.9.0_Build_9999
jmp 0x40bd77
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4cbf1c
jmp 0x40bd77
mov ecx, edx
call fcn.0040c224
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40bd77
cmp eax, 0x3c
je 0x40ba40
cmp eax, 0x46
je 0x40ba38
cmp eax, 0x50
je 0x40ba25
cmp eax, 0x5a
jne 0x40bd40
and dword [edx + 4], 0
jmp 0x40bd77
mov eax, dword [ebp + 0x10]
mov ecx, edx
mov eax, dword [eax]
push dword [eax]
call fcn.0040c25c
jmp 0x40bd77
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
jmp 0x40b9fa
mov eax, dword [0x531f80]
jmp 0x40b9fa
mov ecx, dword [edx + 4]
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
jmp 0x40bd77
mov ecx, 0xa0
cmp eax, ecx
jg 0x40bad6
je 0x40bac2
sub eax, 0x6e
je 0x40bab4
sub eax, 0xa
je 0x40baa6
sub eax, 0xa
je 0x40ba9c
sub eax, 0xa
je 0x40ba90
sub eax, 0xa
jne 0x40bd40
mov eax, dword [ebp + 0x10]
lea ecx, [edx + 8]
mov eax, dword [eax]
push dword [eax]
call fcn.00406a4d
jmp 0x40bd77
mov ecx, edx
call fcn.0040bf25
jmp 0x40b9fa
mov eax, dword [ebp + 0xc]
mov dword [eax], ebx
jmp 0x40bd77
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5011d8
jmp 0x40bd77
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5015e8
jmp 0x40bd77
mov eax, dword [ebp + 0x10]
lea ecx, [edx + 8]
mov eax, dword [eax]
push dword [eax]
call fcn.00406937
jmp 0x40bd77
sub eax, 0xaa
je 0x40bb18
sub eax, 0xa
je 0x40bb11
sub eax, 0xa
je 0x40bb03
sub eax, 0xa
jne 0x40bd40
mov eax, dword [ebp + 0x10]
mov ecx, edx
mov eax, dword [eax]
push dword [eax]
call fcn.0040c2a4
jmp 0x40bd77
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x504ad0
jmp 0x40bd77
push str._Warning__app_removeModelessDialog_deprecated_r_n
jmp 0x40bb1d
push str._Warning__app_addModelessDialog_deprecated_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x40bd77
mov eax, dword [ebp + 0x10]
mov ecx, edx
mov eax, dword [eax]
push dword [eax]
call fcn.0040b525
jmp 0x40b9fa
mov ecx, 0x14a
cmp eax, ecx
jg 0x40bc7e
je 0x40bc70
add ecx, 0xffffffce
cmp eax, ecx
jg 0x40bc08
je 0x40bbf5
sub eax, 0xe6
je 0x40bbe2
sub eax, 0xa
je 0x40bbc0
sub eax, 0xa
je 0x40bbad
sub eax, 0xa
je 0x40bb95
sub eax, 0xa
jne 0x40bd40
push dword [ebp + 0x10]
mov ecx, edx
push dword [ebp + 0xc]
push 0x40be73
call fcn.0040b02a
jmp 0x40bd77
mov eax, dword [ebp + 0x10]
mov ecx, edx
mov eax, dword [eax]
push dword [eax]
call fcn.0040c023
mov ecx, dword [ebp + 0xc]
mov byte [ecx], al
jmp 0x40bd77
mov eax, dword [ebp + 0x10]
mov ecx, edx
mov eax, dword [eax]
push dword [eax]
call fcn.0040bfd5
jmp 0x40bd77
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0xc]
push dword [eax]
mov eax, dword [ecx + 8]
push dword [eax]
mov eax, dword [ecx + 4]
push dword [eax]
mov eax, dword [ecx]
mov ecx, edx
push dword [eax]
call fcn.0040bd7e
jmp 0x40bd77
mov eax, dword [ebp + 0x10]
mov ecx, edx
mov eax, dword [eax]
push dword [eax]
call fcn.0040b4c9
jmp 0x40b9fa
mov eax, dword [ebp + 0x10]
mov ecx, edx
mov eax, dword [eax]
push dword [eax]
call fcn.0040bf9c
jmp 0x40bd77
sub eax, 0x122
je 0x40bc5d
sub eax, 0xa
je 0x40bc4d
sub eax, 0xa
je 0x40bc3a
sub eax, 0xa
jne 0x40bd40
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 4]
push dword [eax]
mov eax, dword [ecx]
mov ecx, edx
push dword [eax]
call fcn.0040b8b8
jmp 0x40bd77
mov eax, dword [ebp + 0x10]
mov ecx, edx
mov eax, dword [eax]
push dword [eax]
call fcn.0040b4fc
jmp 0x40b9fa
mov ecx, ebx
lock xadd dword [edx + 0x80], ecx
inc ecx
jmp 0x40ba4a
mov eax, dword [ebp + 0x10]
mov ecx, edx
mov eax, dword [eax]
push dword [eax]
call fcn.0040c0a5
jmp 0x40bd77
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x502f50
jmp 0x40bd77
mov ecx, 0x17c
cmp eax, ecx
jg 0x40bd2a
je 0x40bd18
sub eax, 0x154
je 0x40bd03
sub eax, 0xa
je 0x40bcee
sub eax, 0xa
je 0x40bcd6
sub eax, 5
je 0x40bcbf
sub eax, 5
jne 0x40bd40
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [edx + 0x18], eax
jmp 0x40bd77
push dword [ebp + 0x10]
mov ecx, edx
push dword [ebp + 0xc]
push 0x40b368
call fcn.00407932
jmp 0x40bd77
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push dword [eax]
push dword [ecx]
mov ecx, edx
call fcn.0040b1f2
jmp 0x40bba3
mov eax, dword [ebp + 0x10]
mov ecx, edx
mov eax, dword [eax]
movzx eax, word [eax]
push eax
call fcn.0040b3f0
jmp 0x40bba3
mov eax, dword [ebp + 0x10]
mov ecx, edx
mov eax, dword [eax]
movzx eax, word [eax]
push eax
call fcn.0040b3b1
jmp 0x40bba3
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax]
cmp eax, dword [edx + 0x18]
jne 0x40bd77
and dword [edx + 0x18], 0
jmp 0x40bd77
sub eax, 0x186
je 0x40bd6f
sub eax, 0xa
je 0x40bd64
sub eax, 0x64
je 0x40bd52
sub eax, 0xa
je 0x40bd44
xor eax, eax
jmp 0x40bd79
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
push dword [eax]
call fcn.00419c34
jmp 0x40bd5e
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
push dword [eax]
call fcn.00419c19
pop ecx
jmp 0x40b9fa
mov eax, dword [ebp + 0xc]
mov dword [eax], str.__artist______if2__title___filepart__filename___
jmp 0x40bd77
mov ecx, dword [ebp + 0xc]
mov edx, dword [edx + 0x18]
mov dword [ecx], edx
mov eax, ebx
pop ebx
pop ebp
ret 0x10