Function at 0x4043c1
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
push ebx
push esi
push edi
mov edi, 0x104
push edi
lea eax, [ebp - 0x208]
push eax
push dword [0x480940]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor ebx, ebx
push ebx
push str..wsz
lea eax, [ebp - 0x208]
push eax
push str.interface_x_winamp_skin
call fcn.0040572d
movzx eax, byte [0x475e69]
push eax
push str.eq_ws
call fcn.00403870
mov byte [0x475e69], al
movsx eax, byte [0x472d38]
push eax
push str.check_ft_startup
call fcn.00403870
push 0x10
push 0x47b480
push str.browserbrand
mov byte [0x472d38], al
call fcn.004038c0
movsx eax, byte [0x472420]
push eax
push str.inet_mode
call fcn.00403870
push dword [0x472418]
mov byte [0x472420], al
push str.pe_fontsize
call fcn.00403870
push dword [0x47241c]
mov dword [0x472418], eax
push str.pe_direction
call fcn.00403870
mov dword [0x47241c], eax
movzx eax, byte [0x47b25c]
add esp, 0x44
push eax
push str.ospb
call fcn.00403870
mov byte [0x47b25c], al
movsx eax, byte [0x475c5c]
push eax
push str.visplugin_num
call fcn.00403870
mov byte [0x475c5c], al
movsx eax, byte [0x472c4c]
push eax
push str.visplugin_priority
call fcn.00403870
mov byte [0x472c4c], al
movsx eax, byte [0x476bd4]
push eax
push str.visplugin_autoexec
call fcn.00403870
mov byte [0x476bd4], al
movzx eax, byte [0x4764ac]
push eax
push str.dspplugin_num
call fcn.00403870
mov byte [0x4764ac], al
movzx eax, byte [0x475f74]
push eax
push str.sticon
call fcn.00403870
mov byte [0x475f74], al
movzx eax, byte [0x47b25d]
push eax
push str.splash
call fcn.00403870
mov byte [0x47b25d], al
movzx eax, byte [0x4764ad]
push eax
push str.taskbar
call fcn.00403870
mov byte [0x4764ad], al
movzx eax, byte [0x472cdf]
add esp, 0x40
push eax
push str.dropaotfs
call fcn.00403870
mov byte [0x472cdf], al
movzx eax, byte [0x472cd2]
push eax
push str.ascb_new
call fcn.00403870
mov byte [0x472cd2], al
movzx eax, byte [0x472cd3]
push eax
push str.ttips
call fcn.00403870
mov byte [0x472cd3], al
movzx eax, byte [0x472cde]
push eax
push str.keeponscreen
call fcn.00403870
mov byte [0x472cde], al
movzx eax, byte [0x4769c6]
push eax
push str.riol
call fcn.00403870
mov byte [0x4769c6], al
movzx eax, byte [0x472cd5]
push eax
push str.whichicon
call fcn.00403870
mov byte [0x472cd5], al
movzx eax, byte [0x472cd6]
push eax
push str.whichicon2
call fcn.00403870
mov byte [0x472cd6], al
movzx eax, byte [0x475e68]
push eax
push str.addtolist
call fcn.00403870
mov byte [0x475e68], al
movzx eax, byte [0x472cd7]
add esp, 0x40
push eax
push str.snap
call fcn.00403870
mov byte [0x472cd7], al
movzx eax, byte [0x472cd8]
push eax
push str.snaplen
call fcn.00403870
mov byte [0x472cd8], al
movzx eax, byte [0x472cd9]
push eax
push str.parent
call fcn.00403870
mov byte [0x472cd9], al
movzx eax, byte [0x472cda]
push eax
push str.hilite
call fcn.00403870
mov byte [0x472cda], al
movzx eax, byte [0x472cdb]
push eax
push str.disvis
call fcn.00403870
mov byte [0x472cdb], al
movzx eax, byte [0x4769c5]
push eax
push str.minst
call fcn.00403870
mov byte [0x4769c5], al
movzx eax, byte [0x472c4f]
push eax
push str.eqdsize
call fcn.00403870
mov byte [0x472c4f], al
movzx eax, byte [0x472cdc]
push eax
push str.pladv
call fcn.00403870
mov byte [0x472cdc], al
movsx eax, byte [0x47b47c]
add esp, 0x40
push eax
push str.bifont
call fcn.00403870
mov byte [0x47b47c], al
movzx eax, byte [0x475624]
push eax
push str.autoload_eq
call fcn.00403870
mov byte [0x475624], al
movzx eax, byte [0x472c4e]
push eax
push str.playlist_recyclebin
call fcn.00403870
mov byte [0x472c4e], al
movzx eax, byte [0x475f78]
push eax
push str.use_eq
call fcn.00403870
push dword [0x472ce0]
mov byte [0x475f78], al
push 0x468824
call fcn.00403870
push dword [0x472ce4]
mov dword [0x472ce0], eax
push 0x468820
call fcn.00403870
mov dword [0x472ce4], eax
movzx eax, byte [0x475c5d]
push eax
push str.minimized
call fcn.00403870
mov byte [0x475c5d], al
movzx eax, byte [0x476195]
push eax
push 0x468810
call fcn.00403870
mov byte [0x476195], al
movzx eax, byte [0x475838]
add esp, 0x40
push eax
push str.shuffle
call fcn.00403870
mov byte [0x475838], al
movzx eax, byte [0x475100]
push eax
push str.repeat
call fcn.00403870
mov byte [0x475100], al
movzx eax, byte [0x472ce8]
push eax
push str.volume
call fcn.00403870
mov byte [0x472ce8], al
movsx eax, byte [0x476088]
push eax
push 0x4687f4
call fcn.00403870
mov byte [0x476088], al
movzx eax, byte [0x472ce9]
push eax
push str.easymove
call fcn.00403870
mov byte [0x472ce9], al
movzx eax, byte [0x475f75]
push eax
push str.dsize
call fcn.00403870
mov byte [0x475f75], al
movzx eax, byte [0x476194]
push eax
push str.timeleftmode
call fcn.00403870
mov byte [0x476194], al
movzx eax, byte [0x472cea]
push eax
push str.autoscrollname
call fcn.00403870
mov byte [0x472cea], al
movzx eax, byte [0x472ceb]
add esp, 0x40
push eax
push 0x4687bc
call fcn.00403870
mov byte [0x472ceb], al
movzx eax, byte [0x472cec]
push eax
push str.safire
call fcn.00403870
mov byte [0x472cec], al
movzx eax, byte [0x472ced]
push eax
push str.saref
call fcn.00403870
mov byte [0x472ced], al
movzx eax, byte [0x472cee]
push eax
push str.safalloff
call fcn.00403870
mov byte [0x472cee], al
movzx eax, byte [0x472cef]
push eax
push str.sa_peaks
call fcn.00403870
mov byte [0x472cef], al
movzx eax, byte [0x472cf0]
push eax
push str.sa_peak_falloff
call fcn.00403870
push dword [0x472cf4]
mov byte [0x472cf0], al
push str.eq_wx
call fcn.00403870
push dword [0x472cf8]
mov dword [0x472cf4], eax
push str.eq_wy
call fcn.00403870
add esp, 0x40
push dword [0x472cfc]
mov dword [0x472cf8], eax
push str.eq_open
call fcn.00403870
push dword [0x472d00]
mov dword [0x472cfc], eax
push str.mw_open
call fcn.00403870
push dword [0x472d04]
mov dword [0x472d00], eax
push str.pe_wx
call fcn.00403870
push dword [0x472d08]
mov dword [0x472d04], eax
push str.pe_wy
call fcn.00403870
push dword [0x472d0c]
mov dword [0x472d08], eax
push str.pe_open
call fcn.00403870
push dword [0x472d10]
mov dword [0x472d0c], eax
push str.pe_width
call fcn.00403870
push dword [0x472d14]
mov dword [0x472d10], eax
push str.pe_height
call fcn.00403870
push dword [0x4763a4]
mov dword [0x472d14], eax
push str.pe_height_ws
call fcn.00403870
mov dword [0x4763a4], eax
movzx eax, byte [0x47b26c]
add esp, 0x40
push eax
push str.asx_recurse
call fcn.00403870
mov byte [0x47b26c], al
push dword [0x47b260]
push str.si_wx
call fcn.00403870
push dword [0x47b264]
mov dword [0x47b260], eax
push str.si_wy
call fcn.00403870
push dword [0x472d1c]
mov dword [0x47b264], eax
push str.si_height
call fcn.00403870
push dword [0x472d18]
mov dword [0x472d1c], eax
push str.si_width
call fcn.00403870
push dword [0x472d20]
mov dword [0x472d18], eax
push str.si_autoshow
call fcn.00403870
push dword [0x472d24]
mov dword [0x472d20], eax
push str.si_autosize
call fcn.00403870
push dword [0x472d28]
mov dword [0x472d24], eax
push str.si_autohide
call fcn.00403870
add esp, 0x40
push dword [0x47b268]
mov dword [0x472d28], eax
push str.si_open
call fcn.00403870
push dword [0x472d3c]
mov dword [0x47b268], eax
push str.video_wx
call fcn.00403870
push dword [0x472d40]
mov dword [0x472d3c], eax
push str.video_wy
call fcn.00403870
push dword [0x47b490]
mov dword [0x472d40], eax
push str.video_open
call fcn.00403870
push dword [0x472d44]
mov dword [0x47b490], eax
push str.video_width
call fcn.00403870
push dword [0x472d48]
mov dword [0x472d44], eax
push str.video_height
call fcn.00403870
push dword [0x472d4c]
mov dword [0x472d48], eax
push str.video_ratio1
call fcn.00403870
push dword [0x472d50]
mov dword [0x472d4c], eax
push str.video_ratio2
call fcn.00403870
add esp, 0x40
push dword [0x475e64]
mov dword [0x472d50], eax
push str.video_useratio
call fcn.00403870
mov dword [0x475e64], eax
movzx eax, byte [0x475f77]
push eax
push str.windowshade
call fcn.00403870
mov byte [0x475f77], al
movzx eax, byte [0x472d2c]
push eax
push str.preamp
call fcn.00403870
push dword [0x476084]
mov byte [0x472d2c], al
push str.pilp
call fcn.00403870
mov dword [0x476084], eax
movzx eax, byte [0x475f76]
push eax
push str.randskin
call fcn.00403870
add esp, 0x28
cmp word [0x47b270], bx
mov byte [0x475f76], al
jne 0x404b6d
push edi
push 0x47b270
push 0x468630
call fcn.00403900
add esp, 0xc
push edi
push 0x476ad0
push str.skin
call fcn.004038c0
push dword [0x478ba8]
push str.prefs_last_page
call fcn.00403870
mov ecx, eax
and eax, 0xff
mov dword [0x478ba8], eax
movzx eax, byte [0x4769c4]
push eax
sar ecx, 8
push str.rofiob
mov dword [0x4750fc], ecx
call fcn.00403870
mov byte [0x4769c4], al
movzx eax, byte [0x472cdd]
push eax
push str.shownumsinpl
call fcn.00403870
mov esi, 0x80
push esi
push str.out_wave.dll
push str.outname
mov byte [0x472cdd], al
call fcn.004038c0
movzx eax, byte [0x472cd0]
push eax
push str.usecursors
call fcn.00403870
mov byte [0x472cd0], al
movzx eax, byte [0x472cd1]
push eax
push str.fixtitles
call fcn.00403870
mov byte [0x472cd1], al
movzx eax, byte [0x472cd4]
add esp, 0x40
push eax
push str.priority
call fcn.00403870
mov byte [0x472cd4], al
movzx eax, byte [0x472c4d]
push eax
push str.shuffle_morph_rate
call fcn.00403870
push dword [0x472c48]
mov byte [0x472c4d], al
push str.useexttitles
call fcn.00403870
push dword [0x472d30]
mov dword [0x472c48], eax
push str.newverchk
call fcn.00403870
push dword [0x472d34]
mov dword [0x472d30], eax
push str.newverchk2
call fcn.00403870
push dword [0x47b478]
mov dword [0x472d34], eax
push str.newverchk3
call fcn.00403870
push dword [0x47629c]
mov dword [0x47b478], eax
push str.embedwnd_freesize
call fcn.00403870
mov dword [0x47629c], eax
xor eax, eax
cmp byte [0x47c620], bl
setne al
push eax
push str.video_vsync
call fcn.00403870
add esp, 0x40
push dword [0x472d54]
test eax, eax
setne al
push str.video_aspectadj
mov byte [0x47c620], al
call fcn.00403870
mov dword [0x472d54], eax
xor eax, eax
cmp byte [0x47c610], bl
setne al
push eax
push str.video_overlays
call fcn.00403870
test eax, eax
setne al
mov byte [0x47c610], al
xor eax, eax
cmp byte [0x47c630], bl
setne al
push eax
push str.video_gdiplus
call fcn.00403870
test eax, eax
setne al
mov byte [0x47c630], al
xor eax, eax
cmp byte [0x47c628], bl
setne al
push eax
push str.video_ddraw
call fcn.00403870
push dword [0x472d58]
test eax, eax
setne al
push str.video_updsize
mov byte [0x47c628], al
call fcn.00403870
push dword [0x472d70]
mov dword [0x472d58], eax
push str.video_autoopen
call fcn.00403870
push dword [0x472d5c]
mov dword [0x472d70], eax
push str.video_autoclose
call fcn.00403870
push dword [0x472d60]
mov dword [0x472d5c], eax
push str.video_noss
call fcn.00403870
add esp, 0x40
push dword [0x472d64]
mov dword [0x472d60], eax
push str.video_osd
call fcn.00403870
mov dword [0x472d64], eax
xor eax, eax
cmp byte [0x47c618], bl
setne al
push eax
push str.video_yv12
call fcn.00403870
push dword [0x472d68]
test eax, eax
setne al
push str.video_stopclose
mov byte [0x47c618], al
call fcn.00403870
push dword [0x47b494]
mov dword [0x472d68], eax
push str.video_auto_fs
call fcn.00403870
push dword [0x47c648]
mov dword [0x47b494], eax
push str.audio_bits
call fcn.00403870
mov dword [0x47c648], eax
xor eax, eax
cmp byte [0x47c650], bl
setne al
push eax
push str.audio_mono
call fcn.00403870
test eax, eax
setne al
mov byte [0x47c650], al
xor eax, eax
cmp byte [0x47c658], bl
setne al
push eax
push str.audio_surround
call fcn.00403870
test eax, eax
setne al
mov byte [0x47c658], al
xor eax, eax
cmp byte [0x47c660], bl
setne al
push eax
push str.audio_dither
call fcn.00403870
add esp, 0x40
test eax, eax
setne al
mov byte [0x47c660], al
xor eax, eax
cmp byte [0x47c668], bl
setne al
push eax
push 0x4684f0
call fcn.00403870
push dword [0x47c670]
test eax, eax
setne al
push 0x4684e0
mov byte [0x47c668], al
call fcn.00403870
push dword [0x47c678]
mov dword [0x47c670], eax
push 0x4684cc
call fcn.00403870
mov dword [0x47c678], eax
xor eax, eax
cmp byte [0x47c680], bl
setne al
push eax
push 0x4684b0
call fcn.00403870
fld dword [0x47c688]
fmul dword [0x46ebc4]
test eax, eax
setne al
mov byte [0x47c680], al
call fcn.00461390
push eax
push str.replaygain_non_rg_gain
call fcn.00403870
push dword [0x472d6c]
mov dword [ebp - 4], eax
fild dword [ebp - 4]
push str.video_remove_fs_on_stop
fmul dword [0x46ec60]
fstp dword [0x47c688]
call fcn.00403870
push dword [0x472d74]
mov dword [0x472d6c], eax
push str.wav_do_header
call fcn.00403870
push dword [0x47b498]
mov dword [0x472d74], eax
push str.wav_convert
call fcn.00403870
add esp, 0x40
push 8
push 0x472d78
push str.wav_ext
mov dword [0x47b498], eax
call fcn.004038c0
push dword [0x475834]
push str.no_visseh
call fcn.00403870
push esi
push 0x480480
push str.playlist_custom_font
mov dword [0x475834], eax
call fcn.004038c0
add esp, 0x20
cmp byte [0x480480], bl
jne 0x404f9e
push str.Arial
push esi
push 0x480480
call fcn.004025ff
push dword [0x473ae4]
push str.custom_plfont
call fcn.00403870
push dword [0x47b49c]
mov dword [0x473ae4], eax
push str.no_registry
call fcn.00403870
mov dword [0x47b49c], eax
xor eax, eax
cmp byte [0x47c63c], bl
setne al
push eax
push str.proxy80
call fcn.00403870
mov esi, 0x100
push esi
test eax, eax
setne al
push 0x475c60
push 0x468a6c
mov byte [0x47c63c], al
call fcn.004038c0
push 0x20
push 0x472424
push str.defext
call fcn.004038c0
push 0x400
push str.__artist______if2__title___filepart__filename___
push str.titlefmt
call fcn.00403900
push edi
push 0x475948
push str.visplugin_name
call fcn.004038c0
add esp, 0x48
push edi
push 0x475840
push str.dspplugin_name
call fcn.004038c0
push 0x3f
pop ecx
xor eax, eax
mov byte [ebp - 0x104], bl
lea edi, [ebp - 0x103]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea edi, [ebp - 0x104]
push esi
mov eax, edi
push eax
push str.eq_data
call fcn.004038c0
xor esi, esi
add esp, 0x18
mov dword [ebp - 4], ebx
inc esi
mov al, byte [edi]
xor ecx, ecx
xor edx, edx
cmp al, 0x30
jl 0x4050ca
cmp al, 0x39
jg 0x405099
movsx eax, al
lea ecx, [ecx + ecx*4]
inc edi
lea ecx, [eax + ecx*2 - 0x30]
mov al, byte [edi]
cmp al, 0x30
mov edx, esi
jge 0x405082
cmp edx, ebx
je 0x4050ca
inc edi
cmp ecx, ebx
jle 0x4050a6
mov eax, ecx
jmp 0x4050a8
xor eax, eax
cmp eax, 0x3f
jle 0x4050b2
push 0x3f
pop ecx
jmp 0x4050b8
cmp ecx, ebx
jg 0x4050b8
xor ecx, ecx
mov eax, dword [ebp - 4]
inc dword [ebp - 4]
cmp dword [ebp - 4], 0xa
mov byte [eax + 0x473018], cl
jl 0x405078
cmp dword [ebp + 8], ebx
jne 0x405115
mov edi, 0x4764b0
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
push esi
push esi
jne 0x4050fd
push 0x4683d8
push 0x475210
call fcn.004318e9
push esi
push esi
push edi
call fcn.004554cf
add esp, 0x1c
jmp 0x40510b
push 0x4683cc
push edi
call fcn.004318e9
add esp, 0x10
mov eax, dword [0x476084]
call fcn.00430ebe
call fcn.00414b8e
pop edi
pop esi
pop ebx
leave
ret