Function at 0x406d03
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x310
push esi
push edi
mov esi, 0x104
push esi
lea eax, [ebp - 0x310]
push eax
push dword [0x496644]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0
push str..wsz
lea eax, [ebp - 0x310]
push eax
push str.interface_x_winamp_skin
call fcn.004053fd
push dword [0x4823c0]
push str.utf8
call fcn.004052c1
mov dword [0x4823c0], eax
movzx eax, byte [0x485441]
push eax
push str.eq_ws
call fcn.004052c1
mov byte [0x485441], al
movsx eax, byte [0x482cdc]
push eax
push str.check_ft_startup
call fcn.004052c1
push 0x10
push 0x487318
push 0x473df4
mov byte [0x482cdc], al
call fcn.004056ca
movsx eax, byte [0x487104]
push eax
push str.inet_mode
call fcn.004052c1
push dword [0x4823c4]
mov byte [0x487104], al
push str.pe_fontsize
call fcn.004052c1
add esp, 0x44
push dword [0x4823c8]
mov dword [0x4823c4], eax
push str.pe_direction
call fcn.004052c1
mov dword [0x4823c8], eax
movzx eax, byte [0x487105]
push eax
push str.ospb
call fcn.004052c1
mov byte [0x487105], al
movzx eax, byte [0x487106]
push eax
push str.vista_thumbnail
call fcn.004052c1
mov byte [0x487106], al
movsx eax, byte [0x485230]
push eax
push str.visplugin_num
call fcn.004052c1
mov byte [0x485230], al
movsx eax, byte [0x482bf4]
push eax
push str.visplugin_priority
call fcn.004052c1
mov byte [0x482bf4], al
movsx eax, byte [0x486ae0]
push eax
push str.visplugin_autoexec
call fcn.004052c1
mov byte [0x486ae0], al
movzx eax, byte [0x4861ac]
push eax
push str.dspplugin_num
call fcn.004052c1
mov byte [0x4861ac], al
movzx eax, byte [0x48554c]
push eax
push str.sticon
call fcn.004052c1
add esp, 0x40
mov byte [0x48554c], al
movzx eax, byte [0x487107]
push eax
push str.splash
call fcn.004052c1
mov byte [0x487107], al
movzx eax, byte [0x4861ad]
push eax
push str.taskbar
call fcn.004052c1
mov byte [0x4861ad], al
movzx eax, byte [0x482c87]
push eax
push str.dropaotfs
call fcn.004052c1
mov byte [0x482c87], al
movzx eax, byte [0x482c7a]
push eax
push str.ascb_new
call fcn.004052c1
mov byte [0x482c7a], al
movzx eax, byte [0x482c7b]
push eax
push str.ttips
call fcn.004052c1
mov byte [0x482c7b], al
movzx eax, byte [0x482c86]
push eax
push str.keeponscreen
call fcn.004052c1
mov byte [0x482c86], al
movzx eax, byte [0x4867ca]
push eax
push str.riol
call fcn.004052c1
mov byte [0x4867ca], al
movzx eax, byte [0x482c7d]
push eax
push str.whichicon
call fcn.004052c1
mov byte [0x482c7d], al
movzx eax, byte [0x482c7e]
add esp, 0x40
push eax
push str.whichicon2
call fcn.004052c1
mov byte [0x482c7e], al
movzx eax, byte [0x485440]
push eax
push str.addtolist
call fcn.004052c1
mov byte [0x485440], al
movzx eax, byte [0x482c7f]
push eax
push str.snap
call fcn.004052c1
mov byte [0x482c7f], al
movzx eax, byte [0x482c80]
push eax
push str.snaplen
call fcn.004052c1
mov byte [0x482c80], al
movzx eax, byte [0x482c81]
push eax
push str.parent
call fcn.004052c1
mov byte [0x482c81], al
movzx eax, byte [0x482c82]
push eax
push str.hilite
call fcn.004052c1
mov byte [0x482c82], al
movzx eax, byte [0x482c83]
push eax
push str.disvis
call fcn.004052c1
mov byte [0x482c83], al
movzx eax, byte [0x4867c9]
push eax
push str.minst
call fcn.004052c1
mov byte [0x4867c9], al
movzx eax, byte [0x482bf7]
add esp, 0x40
push eax
push str.eqdsize
call fcn.004052c1
mov byte [0x482bf7], al
movzx eax, byte [0x482c84]
push eax
push str.pladv
call fcn.004052c1
mov byte [0x482c84], al
movsx eax, byte [0x487314]
push eax
push str.bifont
call fcn.004052c1
mov byte [0x487314], al
movzx eax, byte [0x4849f4]
push eax
push str.autoload_eq
call fcn.004052c1
mov byte [0x4849f4], al
movzx eax, byte [0x482bf6]
push eax
push str.playlist_recyclebin
call fcn.004052c1
mov byte [0x482bf6], al
movzx eax, byte [0x485759]
push eax
push str.use_eq
call fcn.004052c1
push dword [0x482c88]
mov byte [0x485759], al
push 0x473680
call fcn.004052c1
push dword [0x482c8c]
mov dword [0x482c88], eax
push 0x47367c
call fcn.004052c1
mov dword [0x482c8c], eax
movzx eax, byte [0x485231]
add esp, 0x40
push eax
push str.minimized
call fcn.004052c1
mov byte [0x485231], al
movzx eax, byte [0x485d89]
push eax
push 0x47366c
call fcn.004052c1
mov byte [0x485d89], al
movzx eax, byte [0x484c08]
push eax
push str.shuffle
call fcn.004052c1
mov byte [0x484c08], al
movzx eax, byte [0x4844c8]
push eax
push str.repeat
call fcn.004052c1
mov byte [0x4844c8], al
movzx eax, byte [0x482c90]
push eax
push str.volume
call fcn.004052c1
mov byte [0x482c90], al
movsx eax, byte [0x485a74]
push eax
push 0x473650
call fcn.004052c1
mov byte [0x485a74], al
movzx eax, byte [0x482c91]
push eax
push str.easymove
call fcn.004052c1
mov byte [0x482c91], al
movzx eax, byte [0x48554d]
push eax
push str.dsize
call fcn.004052c1
add esp, 0x40
mov byte [0x48554d], al
movzx eax, byte [0x485d88]
push eax
push str.timeleftmode
call fcn.004052c1
mov byte [0x485d88], al
movzx eax, byte [0x482c92]
push eax
push str.autoscrollname
call fcn.004052c1
mov byte [0x482c92], al
movzx eax, byte [0x482c93]
push eax
push 0x473618
call fcn.004052c1
mov byte [0x482c93], al
movzx eax, byte [0x482c94]
push eax
push str.safire
call fcn.004052c1
mov byte [0x482c94], al
movzx eax, byte [0x482c95]
push eax
push str.saref
call fcn.004052c1
mov byte [0x482c95], al
movzx eax, byte [0x482c96]
push eax
push str.safalloff
call fcn.004052c1
mov byte [0x482c96], al
movzx eax, byte [0x482c97]
push eax
push str.sa_peaks
call fcn.004052c1
mov byte [0x482c97], al
movzx eax, byte [0x482c98]
push eax
push str.sa_peak_falloff
call fcn.004052c1
add esp, 0x40
push dword [0x482c9c]
mov byte [0x482c98], al
push str.eq_wx
call fcn.004052c1
push dword [0x482ca0]
mov dword [0x482c9c], eax
push str.eq_wy
call fcn.004052c1
push dword [0x482ca4]
mov dword [0x482ca0], eax
push str.eq_open
call fcn.004052c1
push dword [0x482ca8]
mov dword [0x482ca4], eax
push str.mw_open
call fcn.004052c1
push dword [0x482cac]
mov dword [0x482ca8], eax
push str.pe_wx
call fcn.004052c1
push dword [0x482cb0]
mov dword [0x482cac], eax
push str.pe_wy
call fcn.004052c1
push dword [0x482cb4]
mov dword [0x482cb0], eax
push str.pe_open
call fcn.004052c1
push dword [0x482cb8]
mov dword [0x482cb4], eax
push str.pe_width
call fcn.004052c1
add esp, 0x40
push dword [0x482cbc]
mov dword [0x482cb8], eax
push str.pe_height
call fcn.004052c1
push dword [0x4860a0]
mov dword [0x482cbc], eax
push str.pe_height_ws
call fcn.004052c1
add esp, 0x10
mov ecx, 0x494c7c
mov dword [0x4860a0], eax
call fcn.0045ce6c
push eax
push str.eq_limiter
call fcn.004052c1
test eax, eax
setne al
pop ecx
pop ecx
lea ecx, [ebp - 8]
push eax
call fcn.0045ce82
push dword [0x494c78]
mov al, byte [ebp - 4]
push str.eq_type
mov byte [0x494c80], al
call fcn.004052c1
pop ecx
pop ecx
push eax
mov ecx, 0x494c74
call fcn.0045cf7c
push dword [0x494c70]
push str.eq_frequencies
call fcn.004052c1
pop ecx
pop ecx
push eax
mov ecx, 0x494c6c
call fcn.0045cf7c
push dword [0x482ce0]
push str.video_wx
call fcn.004052c1
push dword [0x482ce4]
mov dword [0x482ce0], eax
push str.video_wy
call fcn.004052c1
push dword [0x487328]
mov dword [0x482ce4], eax
push str.video_open
call fcn.004052c1
push dword [0x482ce8]
mov dword [0x487328], eax
push str.video_width
call fcn.004052c1
push dword [0x482cec]
mov dword [0x482ce8], eax
push str.video_height
call fcn.004052c1
push dword [0x482cf0]
mov dword [0x482cec], eax
push str.video_ratio1
call fcn.004052c1
push dword [0x482cf4]
mov dword [0x482cf0], eax
push str.video_ratio2
call fcn.004052c1
push dword [0x48543c]
mov dword [0x482cf4], eax
push str.video_useratio
call fcn.004052c1
mov dword [0x48543c], eax
movzx eax, byte [0x485758]
add esp, 0x40
push eax
push str.windowshade
call fcn.004052c1
mov byte [0x485758], al
movzx eax, byte [0x482cc8]
push eax
push str.preamp
call fcn.004052c1
push dword [0x485a70]
mov byte [0x482cc8], al
push str.pilp
call fcn.004052c1
mov dword [0x485a70], eax
movzx eax, byte [0x48554e]
push eax
push str.randskin
call fcn.004052c1
add esp, 0x20
cmp word [0x487108], 0
mov byte [0x48554e], al
jne 0x407482
push esi
push 0x487108
push 0x4734c0
call fcn.004052db
add esp, 0xc
push ebx
push esi
push 0x4868d8
push str.skin
call fcn.004052db
push dword [0x490350]
push str.prefs_last_page
call fcn.004052c1
mov ecx, eax
and eax, 0xff
mov dword [0x490350], eax
movzx eax, byte [0x4867c8]
push eax
sar ecx, 8
push str.rofiob
mov dword [0x483b38], ecx
call fcn.004052c1
mov byte [0x4867c8], al
movzx eax, byte [0x482c85]
push eax
push str.shownumsinpl
call fcn.004052c1
mov edi, 0x80
push edi
push str.out_ds.dll
push str.outname
mov byte [0x482c85], al
call fcn.004056ca
movzx eax, byte [0x482c78]
push eax
push str.usecursors
call fcn.004052c1
mov byte [0x482c78], al
movzx eax, byte [0x482c79]
push eax
push str.fixtitles
call fcn.004052c1
mov byte [0x482c79], al
movzx eax, byte [0x482c7c]
add esp, 0x40
push eax
push 0x473790
call fcn.004052c1
mov byte [0x482c7c], al
movzx eax, byte [0x482bf5]
push eax
push str.shuffle_morph_rate
call fcn.004052c1
push dword [0x482bf0]
mov byte [0x482bf5], al
push str.useexttitles
call fcn.004052c1
push dword [0x482ccc]
mov dword [0x482bf0], eax
push str.newverchk
call fcn.004052c1
push dword [0x482cd0]
mov dword [0x482ccc], eax
push str.newverchk2
call fcn.004052c1
push dword [0x487310]
mov dword [0x482cd0], eax
push str.newverchk3
call fcn.004052c1
push dword [0x485e94]
mov dword [0x487310], eax
push str.embedwnd_freesize
call fcn.004052c1
add esp, 0x38
mov ecx, 0x494be0
mov dword [0x485e94], eax
call fcn.0045ce6c
push eax
push str.video_vsync
call fcn.004052c1
test eax, eax
setne al
pop ecx
pop ecx
lea ecx, [ebp - 8]
push eax
call fcn.0045ce82
push dword [0x482cf8]
mov al, byte [ebp - 4]
push str.video_aspectadj
mov byte [0x494be4], al
call fcn.004052c1
pop ecx
pop ecx
mov ecx, 0x494bd0
mov dword [0x482cf8], eax
call fcn.0045ce6c
push eax
push str.video_overlays
call fcn.004052c1
test eax, eax
setne al
pop ecx
pop ecx
lea ecx, [ebp - 8]
push eax
call fcn.0045ce82
mov al, byte [ebp - 4]
mov ecx, 0x494bf0
mov byte [0x494bd4], al
call fcn.0045ce6c
push eax
push str.video_gdiplus
call fcn.004052c1
test eax, eax
setne al
pop ecx
pop ecx
lea ecx, [ebp - 8]
push eax
call fcn.0045ce82
mov al, byte [ebp - 4]
mov ecx, 0x494be8
mov byte [0x494bf4], al
call fcn.0045ce6c
push eax
push str.video_ddraw
call fcn.004052c1
test eax, eax
setne al
pop ecx
pop ecx
lea ecx, [ebp - 8]
push eax
call fcn.0045ce82
push dword [0x482cfc]
mov al, byte [ebp - 4]
push str.video_updsize
mov byte [0x494bec], al
call fcn.004052c1
pop ecx
pop ecx
mov ecx, 0x494bf8
mov dword [0x482cfc], eax
call fcn.0045ce6c
push eax
push str.video_autoopen
call fcn.004052c1
test eax, eax
setne al
pop ecx
pop ecx
lea ecx, [ebp - 8]
push eax
call fcn.0045cec5
mov al, byte [ebp - 4]
mov ecx, 0x494c00
mov byte [0x494bfc], al
call fcn.0045ce6c
push eax
push str.video_autoclose
call fcn.004052c1
test eax, eax
setne al
pop ecx
pop ecx
push eax
lea ecx, [ebp - 8]
call fcn.0045cec5
push dword [0x482d00]
mov al, byte [ebp - 4]
push str.video_noss
mov byte [0x494c04], al
call fcn.004052c1
push dword [0x482d04]
mov dword [0x482d00], eax
push str.video_osd
call fcn.004052c1
add esp, 0x10
mov ecx, 0x494bd8
mov dword [0x482d04], eax
call fcn.0045ce6c
push eax
push str.video_yv12
call fcn.004052c1
test eax, eax
setne al
pop ecx
pop ecx
lea ecx, [ebp - 8]
push eax
call fcn.0045ce82
push dword [0x482d08]
mov al, byte [ebp - 4]
push str.video_stopclose
mov byte [0x494bdc], al
call fcn.004052c1
push dword [0x48732c]
mov dword [0x482d08], eax
push str.video_auto_fs
call fcn.004052c1
push dword [0x482cd4]
mov dword [0x48732c], eax
push str.dotitlenum
call fcn.004052c1
push dword [0x482cd8]
mov dword [0x482cd4], eax
push str.dotasknum
call fcn.004052c1
push dword [0x482cc0]
mov dword [0x482cd8], eax
push str.plscrollsize
call fcn.004052c1
push dword [0x482cc4]
mov dword [0x482cc0], eax
push str.plmw2xscroll
call fcn.004052c1
push dword [0x494c64]
mov dword [0x482cc4], eax
push str.playback_thread_priority
call fcn.004052c1
add esp, 0x38
push eax
mov ecx, 0x494c60
call fcn.0045cf7c
push dword [0x494c1c]
push str.audio_bits
call fcn.004052c1
pop ecx
pop ecx
push eax
mov ecx, 0x494c18
call fcn.0045cf7c
mov ecx, 0x494c20
call fcn.0045ce6c
push eax
push str.audio_mono
call fcn.004052c1
test eax, eax
setne al
pop ecx
pop ecx
lea ecx, [ebp - 8]
push eax
call fcn.0045ce82
mov al, byte [ebp - 4]
mov byte [0x494c24], al
mov ecx, 0x494c28
call fcn.0045ce6c
push eax
push str.audio_surround
call fcn.004052c1
test eax, eax
setne al
pop ecx
pop ecx
lea ecx, [ebp - 8]
push eax
call fcn.0045ce82
mov al, byte [ebp - 4]
mov ecx, 0x494c30
mov byte [0x494c2c], al
call fcn.0045ce6c
push eax
push str.audio_dither
call fcn.004052c1
test eax, eax
setne al
pop ecx
pop ecx
lea ecx, [ebp - 8]
push eax
call fcn.0045ce82
mov al, byte [ebp - 4]
mov ecx, 0x494c38
mov byte [0x494c34], al
call fcn.0045ce6c
push eax
push 0x47336c
call fcn.004052c1
test eax, eax
setne al
pop ecx
pop ecx
lea ecx, [ebp - 8]
push eax
call fcn.0045ce82
push dword [0x494c44]
mov al, byte [ebp - 4]
push 0x47335c
mov byte [0x494c3c], al
call fcn.004052c1
pop ecx
pop ecx
push eax
mov ecx, 0x494c40
call fcn.0045cf7c
push dword [0x494c4c]
push 0x473348
call fcn.004052c1
pop ecx
pop ecx
push eax
mov ecx, 0x494c48
call fcn.0045cf7c
mov ecx, 0x494c50
call fcn.0045ce6c
push eax
push 0x47332c
call fcn.004052c1
test eax, eax
setne al
pop ecx
pop ecx
lea ecx, [ebp - 8]
push eax
call fcn.0045ce82
fld dword [0x494c5c]
mov al, byte [ebp - 4]
fmul dword [0x473328]
mov byte [0x494c54], al
call fcn.00470280
push eax
push str.replaygain_non_rg_gain
call fcn.004052c1
mov dword [ebp - 4], eax
fild dword [ebp - 4]
add esp, 4
fmul dword [0x473df0]
mov ecx, 0x494c58
fstp dword [esp]
call fcn.0045cf2c
fstp st(0)
push dword [0x487338]
push str.last_classic_skin_page
call fcn.004052c1
push dword [0x48733c]
mov dword [0x487338], eax
push str.last_playback_page
call fcn.004052c1
push dword [0x482d0c]
mov dword [0x48733c], eax
push str.video_remove_fs_on_stop
call fcn.004052c1
push dword [0x482d10]
mov dword [0x482d0c], eax
push str.wav_do_header
call fcn.004052c1
push dword [0x487330]
mov dword [0x482d10], eax
push str.wav_convert
call fcn.004052c1
push 8
push 0x482d14
push str.wav_ext
mov dword [0x487330], eax
call fcn.004056ca
push dword [0x484c04]
push str.no_visseh
call fcn.004052c1
push edi
mov ebx, 0x4961a0
push ebx
push str.playlist_custom_font
mov dword [0x484c04], eax
call fcn.004056ca
add esp, 0x48
cmp byte [0x4961a0], 0
jne 0x407a22
push str.Arial
push edi
push ebx
call fcn.00402e02
push dword [0x4838dc]
push str.custom_plfont
call fcn.004052c1
push dword [0x487334]
mov dword [0x4838dc], eax
push str.no_registry
call fcn.004052c1
add esp, 0x10
mov ecx, 0x494c0c
mov dword [0x487334], eax
call fcn.0045ce6c
push eax
push 0x473918
call fcn.004052c1
test eax, eax
setne al
pop ecx
pop ecx
lea ecx, [ebp - 8]
push eax
call fcn.0045ce82
mov al, byte [ebp - 4]
mov ebx, 0x100
push ebx
push 0x485238
push 0x473910
mov byte [0x494c10], al
call fcn.004056ca
push 0x20
push 0x4823cc
push str.defext
call fcn.004056ca
push 0x400
push str.__artist______if2__title___filepart__filename___
push str.titlefmt
call fcn.004052db
push esi
push 0x484d18
push str.visplugin_name
call fcn.004056ca
push esi
push 0x484c10
push str.dspplugin_name
call fcn.004056ca
push 0x3f
pop ecx
xor eax, eax
mov byte [ebp - 0x108], 0
lea edi, [ebp - 0x107]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea esi, [ebp - 0x108]
push ebx
mov eax, esi
push eax
push str.eq_data
call fcn.004056ca
xor edi, edi
add esp, 0x48
xor ebx, ebx
inc edi
mov al, byte [esi]
xor ecx, ecx
xor edx, edx
cmp al, 0x30
jl 0x407b55
cmp al, 0x39
jg 0x407b2a
movsx eax, al
lea ecx, [ecx + ecx*4]
inc esi
lea ecx, [eax + ecx*2 - 0x30]
mov al, byte [esi]
cmp al, 0x30
mov edx, edi
jge 0x407b13
test edx, edx
je 0x407b55
inc esi
test ecx, ecx
jle 0x407b37
mov eax, ecx
jmp 0x407b39
xor eax, eax
cmp eax, 0x3f
jle 0x407b43
push 0x3f
pop ecx
jmp 0x407b49
test ecx, ecx
jg 0x407b49
xor ecx, ecx
mov byte [ebx + 0x483448], cl
inc ebx
cmp ebx, 0xa
jl 0x407b09
push edi
push str.utf8
mov dword [0x4823c0], edi
call fcn.00405694
cmp dword [ebp + 8], 0
pop ecx
pop ecx
pop ebx
jne 0x407bb7
mov esi, 0x4861b0
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
push edi
push edi
jne 0x407b9d
push str..m3u
push 0x4845d8
call fcn.0043451e
push edi
push edi
push esi
call fcn.0045af3a
add esp, 0x1c
jmp 0x407bab
push str..m3u8
push esi
call fcn.0043451e
add esp, 0x10
push dword [0x485a70]
call fcn.00433659
pop ecx
call fcn.0041803a
pop edi
pop esi
leave
ret