Function at 0x4085a1
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x204
push ebx
push esi
mov esi, 0x104
push edi
lea eax, [ebp - 0x204]
push esi
push eax
push dword [0x45bf10]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0
lea eax, [ebp - 0x204]
push 0x44b6d0
push eax
push str.interface_x_winamp_skin
call fcn.00409503
movzx eax, byte [0x45e0e4]
push eax
push str.config_eq_ws
call fcn.00408fab
mov byte [0x45e0e4], al
movsx eax, byte [0x44aec8]
push eax
push str.config_check_ft_startup
call fcn.00408fab
mov edi, 0x400
mov byte [0x44aec8], al
push edi
push 0x452d50
push str.last_shortdesc
call fcn.00407cd7
push edi
push 0x454160
push str.last_shorturl
call fcn.00407cd7
push 0x10
push 0x450ea4
push str.config_browserbrand
call fcn.00407cd7
movsx eax, byte [0x44ad9c]
add esp, 0x44
push eax
push str.config_inet_mode
call fcn.00408fab
push dword [0x44ad98]
mov byte [0x44ad9c], al
push str.config_pe_fontsize
call fcn.00408fab
mov dword [0x44ad98], eax
movzx eax, byte [0x450e98]
push eax
push str.config_ospb
call fcn.00408fab
mov byte [0x450e98], al
movzx eax, byte [0x45eb0a]
push eax
push str.config_visplugin_num
call fcn.00408fab
mov byte [0x45eb0a], al
movzx eax, byte [0x44adc0]
push eax
push str.config_visplugin_priority
call fcn.00408fab
mov byte [0x44adc0], al
movzx eax, byte [0x45dea9]
push eax
push str.config_visplugin_autoexec
call fcn.00408fab
mov byte [0x45dea9], al
movzx eax, byte [0x45f0a4]
push eax
push str.config_dspplugin_num
call fcn.00408fab
mov byte [0x45f0a4], al
movzx eax, byte [0x45e9e3]
push eax
push str.config_sticon
call fcn.00408fab
mov byte [0x45e9e3], al
add esp, 0x40
movzx eax, byte [0x45e564]
push eax
push str.config_splash
call fcn.00408fab
mov byte [0x45e564], al
movzx eax, byte [0x45e9e1]
push eax
push str.config_taskbar
call fcn.00408fab
mov byte [0x45e9e1], al
movzx eax, byte [0x44ae4a]
push eax
push str.config_ascb_new
call fcn.00408fab
mov byte [0x44ae4a], al
movzx eax, byte [0x44ae4b]
push eax
push str.config_ttips
call fcn.00408fab
mov byte [0x44ae4b], al
movzx eax, byte [0x44ae56]
push eax
push str.config_keeponscreen
call fcn.00408fab
mov byte [0x44ae56], al
movzx eax, byte [0x45e9e4]
push eax
push str.config_riol
call fcn.00408fab
mov byte [0x45e9e4], al
movzx eax, byte [0x44ae4d]
push eax
push str.config_whichicon
call fcn.00408fab
mov byte [0x44ae4d], al
movzx eax, byte [0x44ae4e]
push eax
push str.config_whichicon2
call fcn.00408fab
mov byte [0x44ae4e], al
add esp, 0x40
movzx eax, byte [0x45e0e7]
push eax
push str.config_addtolist
call fcn.00408fab
mov byte [0x45e0e7], al
movzx eax, byte [0x44ae4f]
push eax
push str.config_snap
call fcn.00408fab
mov byte [0x44ae4f], al
movzx eax, byte [0x44ae50]
push eax
push str.config_snaplen
call fcn.00408fab
mov byte [0x44ae50], al
movzx eax, byte [0x44ae51]
push eax
push str.config_parent
call fcn.00408fab
mov byte [0x44ae51], al
movzx eax, byte [0x44ae52]
push eax
push str.config_hilite
call fcn.00408fab
mov byte [0x44ae52], al
movzx eax, byte [0x44ae53]
push eax
push str.config_disvis
call fcn.00408fab
mov byte [0x44ae53], al
movzx eax, byte [0x45dea8]
push eax
push str.config_minst
call fcn.00408fab
mov byte [0x45dea8], al
movzx eax, byte [0x44adc2]
push eax
push str.config_eqdsize
call fcn.00408fab
mov byte [0x44adc2], al
add esp, 0x40
movzx eax, byte [0x44ae54]
push eax
push str.config_pladv
call fcn.00408fab
mov byte [0x44ae54], al
movsx eax, byte [0x44aec9]
push eax
push str.config_bifont
call fcn.00408fab
mov byte [0x44aec9], al
movzx eax, byte [0x45e204]
push eax
push str.config_autoload_eq
call fcn.00408fab
mov byte [0x45e204], al
movzx eax, byte [0x45dea6]
push eax
push str.config_use_eq
call fcn.00408fab
push dword [0x44ae58]
mov byte [0x45dea6], al
push str.config_wx
call fcn.00408fab
push dword [0x44ae5c]
mov dword [0x44ae58], eax
push str.config_wy
call fcn.00408fab
mov dword [0x44ae5c], eax
movzx eax, byte [0x45e8c4]
push eax
push str.config_minimized
call fcn.00408fab
mov byte [0x45e8c4], al
movzx eax, byte [0x45e0e5]
push eax
push str.config_aot
call fcn.00408fab
mov byte [0x45e0e5], al
add esp, 0x40
movzx eax, byte [0x45dea4]
push eax
push str.config_shuffle
call fcn.00408fab
mov byte [0x45dea4], al
movzx eax, byte [0x45eb09]
push eax
push str.config_repeat
call fcn.00408fab
mov byte [0x45eb09], al
movzx eax, byte [0x44ae60]
push eax
push str.config_volume
call fcn.00408fab
mov byte [0x44ae60], al
movsx eax, byte [0x45e9e2]
push eax
push str.config_pan
call fcn.00408fab
mov byte [0x45e9e2], al
movzx eax, byte [0x44ae61]
push eax
push str.config_easymove
call fcn.00408fab
mov byte [0x44ae61], al
movzx eax, byte [0x45e0e6]
push eax
push str.config_dsize
call fcn.00408fab
mov byte [0x45e0e6], al
movzx eax, byte [0x45eb08]
push eax
push str.config_timeleftmode
call fcn.00408fab
mov byte [0x45eb08], al
movzx eax, byte [0x44ae62]
push eax
push str.config_autoscrollname
call fcn.00408fab
mov byte [0x44ae62], al
add esp, 0x40
movzx eax, byte [0x44ae63]
push eax
push str.config_sa
call fcn.00408fab
mov byte [0x44ae63], al
movzx eax, byte [0x44ae64]
push eax
push str.config_safire
call fcn.00408fab
mov byte [0x44ae64], al
movzx eax, byte [0x44ae65]
push eax
push str.config_saref
call fcn.00408fab
mov byte [0x44ae65], al
movzx eax, byte [0x44ae66]
push eax
push str.config_safalloff
call fcn.00408fab
mov byte [0x44ae66], al
movzx eax, byte [0x44ae67]
push eax
push str.config_sa_peaks
call fcn.00408fab
mov byte [0x44ae67], al
movzx eax, byte [0x44ae68]
push eax
push str.config_sa_peak_falloff
call fcn.00408fab
push dword [0x44ae6c]
mov byte [0x44ae68], al
push str.config_eq_wx
call fcn.00408fab
push dword [0x44ae70]
mov dword [0x44ae6c], eax
push str.config_eq_wy
call fcn.00408fab
add esp, 0x40
mov dword [0x44ae70], eax
push dword [0x44ae74]
push str.config_eq_open
call fcn.00408fab
push dword [0x44ae78]
mov dword [0x44ae74], eax
push str.config_mw_open
call fcn.00408fab
push dword [0x44ae7c]
mov dword [0x44ae78], eax
push str.config_pe_wx
call fcn.00408fab
push dword [0x44ae80]
mov dword [0x44ae7c], eax
push str.config_pe_wy
call fcn.00408fab
push dword [0x44ae84]
mov dword [0x44ae80], eax
push str.config_pe_open
call fcn.00408fab
push dword [0x44ae88]
mov dword [0x44ae84], eax
push str.config_pe_width
call fcn.00408fab
push dword [0x44ae8c]
mov dword [0x44ae88], eax
push str.config_pe_height
call fcn.00408fab
push dword [0x45eb04]
mov dword [0x44ae8c], eax
push str.config_pe_height_ws
call fcn.00408fab
add esp, 0x40
mov dword [0x45eb04], eax
push dword [0x44ae90]
push str.config_mb_wx
call fcn.00408fab
push dword [0x44ae94]
mov dword [0x44ae90], eax
push str.config_mb_wy
call fcn.00408fab
push dword [0x44ae98]
mov dword [0x44ae94], eax
push str.config_mb_open
call fcn.00408fab
push dword [0x44ae9c]
mov dword [0x44ae98], eax
push str.config_mb_width
call fcn.00408fab
push dword [0x44aea0]
mov dword [0x44ae9c], eax
push str.config_mb_height
call fcn.00408fab
push dword [0x44aea4]
mov dword [0x44aea0], eax
push str.config_video_wx
call fcn.00408fab
push dword [0x44aea8]
mov dword [0x44aea4], eax
push str.config_video_wy
call fcn.00408fab
push dword [0x450e9c]
mov dword [0x44aea8], eax
push str.config_video_open
call fcn.00408fab
add esp, 0x40
mov dword [0x450e9c], eax
push dword [0x44aeac]
push str.config_video_width
call fcn.00408fab
push dword [0x44aeb0]
mov dword [0x44aeac], eax
push str.config_video_height
call fcn.00408fab
push dword [0x44aeb4]
mov dword [0x44aeb0], eax
push str.config_video_ratio1
call fcn.00408fab
push dword [0x44aeb8]
mov dword [0x44aeb4], eax
push str.config_video_ratio2
call fcn.00408fab
push dword [0x45e324]
mov dword [0x44aeb8], eax
push str.config_video_useratio
call fcn.00408fab
mov dword [0x45e324], eax
movzx eax, byte [0x45e9e0]
push eax
push str.config_windowshade
call fcn.00408fab
mov byte [0x45e9e0], al
movzx eax, byte [0x44aebc]
push eax
push str.config_preamp
call fcn.00408fab
push dword [0x45eb0c]
mov byte [0x44aebc], al
push str.config_pilp
call fcn.00408fab
mov dword [0x45eb0c], eax
add esp, 0x40
movzx eax, byte [0x45dea5]
push eax
push str.config_randskin
call fcn.00408fab
mov ebx, 0x45e340
push esi
push ebx
push str.config_cwd
mov byte [0x45dea5], al
call fcn.00407cd7
push esi
push 0x45e460
push str.config_skin
call fcn.00407cd7
push dword [0x45ad60]
push str.prefs_last_page
call fcn.00408fab
mov ecx, eax
sar ecx, 8
and eax, 0xff
mov dword [0x45f404], ecx
mov dword [0x45ad60], eax
movzx eax, byte [0x45dea7]
push eax
push str.config_rofiob
call fcn.00408fab
mov byte [0x45dea7], al
movzx eax, byte [0x44ae55]
push eax
push str.config_shownumsinpl
call fcn.00408fab
push 0x80
push str.out_wave.dll
push str.config_outname
mov byte [0x44ae55], al
call fcn.00407cd7
movzx eax, byte [0x44ae48]
add esp, 0x44
push eax
push str.config_usecursors
call fcn.00408fab
mov byte [0x44ae48], al
movzx eax, byte [0x44ae49]
push eax
push str.config_fixtitles
call fcn.00408fab
mov byte [0x44ae49], al
movzx eax, byte [0x44ae4c]
push eax
push str.config_priority
call fcn.00408fab
mov byte [0x44ae4c], al
movzx eax, byte [0x44adc1]
push eax
push str.config_shuffle_morph_rate
call fcn.00408fab
push dword [0x44aec0]
mov byte [0x44adc1], al
push str.config_newverchk
call fcn.00408fab
push dword [0x44aec4]
mov dword [0x44aec0], eax
push str.config_newverchk2
call fcn.00408fab
push dword [0x450eb4]
mov dword [0x44aec4], eax
push str.config_video_vsync
call fcn.00408fab
push dword [0x44aecc]
mov dword [0x450eb4], eax
push str.config_video_aspectadj
call fcn.00408fab
add esp, 0x40
mov dword [0x44aecc], eax
push dword [0x44aed0]
push str.config_video_overlays
call fcn.00408fab
push dword [0x44aed4]
mov dword [0x44aed0], eax
push str.config_video_ddraw
call fcn.00408fab
push dword [0x44aed8]
mov dword [0x44aed4], eax
push str.config_video_updsize
call fcn.00408fab
push dword [0x44aef0]
mov dword [0x44aed8], eax
push str.config_video_autoopen
call fcn.00408fab
push dword [0x44aedc]
mov dword [0x44aef0], eax
push str.config_video_autoclose
call fcn.00408fab
push dword [0x44aee0]
mov dword [0x44aedc], eax
push str.config_video_noss
call fcn.00408fab
push dword [0x44aee4]
mov dword [0x44aee0], eax
push str.config_video_osd
call fcn.00408fab
push dword [0x44aee8]
mov dword [0x44aee4], eax
push str.config_video_yv12
call fcn.00408fab
add esp, 0x40
mov dword [0x44aee8], eax
push dword [0x44aeec]
push str.config_video_stopclose
call fcn.00408fab
push dword [0x450eb8]
mov dword [0x44aeec], eax
push str.config_video_remove_fs_on_stop
call fcn.00408fab
mov edi, 0x100
mov dword [0x450eb8], eax
push edi
push 0x45e8e0
push str.config_proxy
call fcn.00407cd7
push 0x20
push 0x44ada0
push str.config_defext
call fcn.00407cd7
push esi
push 0x45e100
push str.config_visplugin_name
call fcn.00407cd7
push esi
push 0x45efa0
push str.config_dspplugin_name
call fcn.00407cd7
add esp, 0x40
lea eax, [ebp - 0x100]
lea esi, [ebp - 0x100]
push edi
push eax
push str.eq_data
call fcn.00407cd7
add esp, 0xc
xor edi, edi
mov al, byte [esi]
xor ecx, ecx
xor edx, edx
cmp al, 0x30
jl 0x408f7f
cmp al, 0x39
jg 0x408f54
xor edx, edx
lea ecx, [ecx + ecx*4]
movsx eax, al
inc edx
inc esi
lea ecx, [eax + ecx*2 - 0x30]
mov al, byte [esi]
cmp al, 0x30
jge 0x408f3c
test edx, edx
je 0x408f7f
inc esi
test ecx, ecx
jle 0x408f61
mov eax, ecx
jmp 0x408f63
xor eax, eax
cmp eax, 0x3f
jle 0x408f6d
push 0x3f
pop ecx
jmp 0x408f73
test ecx, ecx
jg 0x408f73
xor ecx, ecx
mov byte [edi + 0x44c500], cl
inc edi
cmp edi, 0xa
jl 0x408f32
cmp dword [ebp + 8], 0
jne 0x408fa6
push ebx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push 1
push 0x45ed60
call fcn.0041b2ff
push dword [0x45eb0c]
call fcn.00430e77
add esp, 0xc
pop edi
pop esi
pop ebx
leave
ret