Function at 0x546b2f
Capabilities:
Get common file path
Get program files directory

Disassembly:
push 0x638
mov eax, 0x606ade
call fcn.004db4be
mov ebx, ecx
mov dword [ebp - 0x62c], ebx
mov edi, str._Sound_Folder_
push edi
call fcn.00505bb3
pop ecx
push edi
push eax
lea ecx, [ebx + 0x20]
call fcn.0040f513
mov edi, str._Lyrics_Download_Folder_
push edi
call fcn.00505bb3
pop ecx
push edi
push eax
lea ecx, [ebx + 0x24]
call fcn.0040f513
xor edx, edx
xor ecx, ecx
inc edx
cmp dword [ebp + 8], 0xffffffff
jne 0x546d0b
lea eax, [ebx + 0x60]
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x34], ecx
mov dword [ebx + 0x3c], ecx
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], edx
mov dword [ebx + 0x48], edx
mov dword [ebx + 0x4c], edx
mov dword [ebx + 0x50], ecx
mov dword [ebx + 0x58], edx
mov dword [ebx + 0x5c], ecx
mov dword [ebx + 0x54], ecx
mov ebx, dword [sym.imp.USER32.dll_SetRectEmpty]
push eax
call ebx
mov esi, dword [ebp - 0x62c]
lea eax, [esi + 0x70]
push eax
call ebx
lea eax, [esi + 0x80]
push eax
call ebx
lea eax, [esi + 0x90]
push eax
call ebx
lea eax, [esi + 0xa0]
push eax
call ebx
lea eax, [esi + 0xfc]
push eax
call ebx
lea eax, [esi + 0xc0]
push eax
call ebx
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x10
call esi
push 0x11
mov edi, eax
call esi
mov esi, dword [ebp - 0x62c]
mov ebx, dword [sym.imp.USER32.dll_SetRect]
add esi, 0xb0
push eax
push edi
push 0
push 0
push esi
call ebx
mov ecx, dword [ebp - 0x62c]
push 0
add dword [ecx + 0xbc], 0xffffffce
mov eax, dword [ecx + 0xbc]
add eax, 0xffffffbe
mov dword [ecx + 0xb4], eax
mov eax, 0x26c
sub eax, edi
cdq
sub eax, edx
sar eax, 1
push eax
push esi
call dword [sym.imp.USER32.dll_InflateRect]
mov eax, dword [ebp - 0x62c]
xor ecx, ecx
push 0x14
push 0xc8
push 0
and dword [eax + 0xd4], 0
inc ecx
push 0x64
pop esi
mov dword [eax + 0xd0], ecx
mov dword [eax + 0xd8], ecx
add eax, 0xdc
push esi
push eax
call ebx
mov ebx, dword [ebp - 0x62c]
lea eax, [ebx + 0xec]
push eax
call dword [sym.imp.USER32.dll_SetRectEmpty]
xor ecx, ecx
mov dword [ebx + 0x118], 2
xor edx, edx
mov dword [ebx + 0x10c], ecx
inc edx
mov dword [ebx + 0x110], ecx
mov dword [ebx + 0x114], ecx
mov dword [ebx + 0x11c], ecx
mov dword [ebx + 0x120], ecx
mov dword [ebx + 0x124], ecx
mov dword [ebx + 0x128], ecx
mov dword [ebx + 0x138], ecx
mov dword [ebx + 0x13c], esi
mov dword [ebx + 0x140], ecx
mov dword [ebx + 0x144], edx
mov dword [ebx + 0x148], ecx
mov dword [ebx + 0x14c], ecx
mov dword [ebx + 0x150], ecx
mov dword [ebx + 0x154], ecx
mov dword [ebx + 0x158], ecx
mov dword [ebx + 0x15c], edx
mov dword [ebx + 0x160], ecx
mov dword [ebx + 0x164], edx
jmp 0x546d15
test byte [ebp + 8], 2
je 0x546e63
xor eax, eax
mov dword [ebx + 0x174], ecx
cmp dword [0x6742ec], eax
mov dword [ebx + 0x178], ecx
setne al
mov dword [ebx + 0x17c], edx
mov dword [ebx + 0x180], edx
mov dword [ebx + 0x184], edx
mov dword [ebx + 0x188], eax
mov dword [ebx + 0x18c], edx
mov dword [ebx + 0x190], ecx
mov dword [ebx + 0x194], edx
mov dword [ebx + 0x198], ecx
mov dword [ebx + 0x19c], edx
mov dword [ebx + 0x1a0], edx
mov dword [ebx + 0x1a4], edx
mov dword [ebx + 0x1ac], ecx
mov dword [ebx + 0x1b0], ecx
mov dword [ebx + 0x1b4], 0x1000a
mov dword [ebx + 0x1b8], 0x10005
mov dword [ebx + 0x1bc], 7
mov dword [ebx + 0x1c0], 0x7d40801
call fcn.005cd4e5
xor ecx, ecx
mov dword [ebx + 0x1dc], 1
dec eax
mov dword [ebx + 0x1c8], ecx
push 0x813a
mov dword [ebx + 0x1c4], eax
xor eax, eax
mov dword [ebx + 0x1cc], ecx
mov dword [ebx + 0x1d8], ecx
push ecx
lea ecx, [ebx + 0x1e0]
mov dword [ebx + 0x1d2], eax
mov word [ebx + 0x1d0], ax
call fcn.0041129f
lea ecx, [ebx + 0x1e4]
call fcn.0040d291
mov edi, 0x6361f8
push edi
call fcn.00505bb3
pop ecx
push edi
push eax
lea ecx, [ebx + 0x1e8]
call fcn.0040f513
xor edx, edx
mov dword [ebx + 0x1f0], 0x3c
inc edx
mov dword [ebx + 0x208], 0x15180
xor ecx, ecx
mov dword [ebx + 0x1ec], edx
mov dword [ebx + 0x1a8], ecx
mov dword [ebx + 0x1f4], ecx
mov dword [ebx + 0x1f8], ecx
mov dword [ebx + 0x1fc], edx
mov dword [ebx + 0x200], ecx
mov dword [ebx + 0x204], ecx
mov dword [ebx + 0x20c], 0xea60
mov dword [ebx + 0x210], ecx
test byte [ebp + 8], 4
je 0x546edb
push 0xf
pop eax
mov dword [ebx + 0x224], eax
mov dword [ebx + 0x22c], eax
mov eax, 0x320
mov dword [ebx + 0x214], edx
mov dword [ebx + 0x218], ecx
mov dword [ebx + 0x220], ecx
mov dword [ebx + 0x21c], ecx
mov dword [ebx + 0x228], 0x4000
mov dword [ebx + 0x230], 0x12c
mov dword [ebx + 0x234], 0x1f4
mov dword [ebx + 0x238], eax
mov dword [ebx + 0x23c], eax
mov dword [ebx + 0x240], 0x1388
mov dword [ebx + 0x244], ecx
mov dword [ebx + 0x248], ecx
mov dword [ebx + 0x24c], ecx
test byte [ebp + 8], 8
je 0x546f14
push ecx
mov dword [ebx + 0x250], ecx
lea edi, [ebx + 0x254]
push ecx
mov ecx, edi
call fcn.004143e0
push 0x36
mov esi, 0x668ba0
pop ebx
push esi
mov ecx, edi
call fcn.0041409c
add esi, 0xc
sub ebx, 1
jne 0x546efe
mov ebx, dword [ebp - 0x62c]
xor edx, edx
test dword [ebp + 8], 0x400
je 0x546f65
mov esi, 0x6420b0
lea edi, [ebx + 0x264]
inc edx
xor ecx, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x274], 0x10
mov dword [ebx + 0x278], 0x3e8
mov dword [ebx + 0x27c], edx
mov dword [ebx + 0x280], ecx
mov dword [ebx + 0x284], ecx
mov dword [ebx + 0x288], edx
mov dword [ebx + 0x28c], ecx
jmp 0x546f68
xor ecx, ecx
inc edx
test byte [ebp + 8], 1
je 0x547003
mov dword [ebx + 0x290], 3
mov eax, 0x865934
mov dword [ebx + 0x294], 0x19
mov dword [ebx + 0x298], eax
mov dword [ebx + 0x2a0], eax
mov dword [ebx + 0x29c], eax
mov dword [ebx + 0x2a4], eax
mov dword [ebx + 0x2a8], ecx
mov dword [ebx + 0x2b0], edx
mov dword [ebx + 0x2ac], 3
mov dword [ebx + 0x2b4], eax
lea eax, [ebp - 0x410]
push ecx
push eax
push ecx
push 0x29
mov dword [ebx + 0x2b8], 0xffffff
mov dword [ebp - 0x410], 0x1f8
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
push 0x5c
lea eax, [ebp - 0x2d4]
push eax
lea eax, [ebx + 0x2bc]
push eax
call fcn.004dd610
add esp, 0xc
mov byte [ebx + 0x2d6], 4
xor edx, edx
test dword [ebp + 8], 0x2000
je 0x547046
xor eax, eax
mov dword [ebx + 0x838], edx
cmp dword [0x6742ec], eax
push 2
setne al
mov dword [ebx + 0x83c], eax
pop ecx
mov dword [ebx + 0x84c], ecx
mov dword [ebx + 0x840], edx
mov dword [ebx + 0x850], ecx
mov dword [ebx + 0x844], eax
mov dword [ebx + 0x854], ecx
test byte [ebp + 8], 0x30
mov edi, 0x668010
je 0x5472b6
mov dword [ebx + 0x460], edx
xor esi, esi
mov dword [ebx + 0x3a8], edx
inc esi
mov dword [ebx + 0x3ac], esi
push 9
pop ecx
mov dword [ebx + 0x3b0], ecx
push 0xa
pop eax
mov dword [ebx + 0x3b4], eax
mov dword [ebx + 0x3b8], esi
mov dword [ebx + 0x3bc], edx
mov dword [ebx + 0x3c0], edx
mov dword [ebx + 0x3c4], esi
mov dword [ebx + 0x424], 0xc08000
mov dword [ebx + 0x428], 0xff00
mov dword [ebx + 0x42c], edx
mov dword [ebx + 0x318], edx
mov dword [ebx + 0x31c], esi
mov dword [ebx + 0x320], edx
mov dword [ebx + 0x324], esi
mov dword [ebx + 0x328], ecx
lea ecx, [ebp - 0x630]
mov dword [ebx + 0x32c], eax
xor eax, eax
inc eax
mov dword [ebx + 0x330], eax
mov dword [ebx + 0x334], edx
mov dword [ebx + 0x338], edx
mov dword [ebx + 0x33c], eax
mov dword [ebx + 0x39c], 0xa87752
mov dword [ebx + 0x3a0], 0x3c2411
mov dword [ebx + 0x3a4], 0xfff2e6
mov dword [ebx + 0x430], eax
mov dword [ebx + 0x434], edx
mov dword [ebx + 0x438], edx
mov dword [ebx + 0x43c], edx
mov dword [ebx + 0x440], eax
mov dword [ebx + 0x444], eax
mov dword [ebx + 0x448], eax
mov dword [ebx + 0x44c], edx
mov dword [ebx + 0x450], edx
mov dword [ebx + 0x454], eax
mov dword [ebx + 0x458], eax
mov dword [ebx + 0x45c], edx
mov dword [ebx + 0x464], eax
mov dword [ebx + 0x468], edx
mov dword [ebx + 0x46c], edx
mov dword [ebx + 0x470], edx
mov dword [ebx + 0x474], edx
mov dword [ebx + 0x478], edx
push 0x67476c
mov dword [ebx + 0x47c], edx
call fcn.0040d2ee
push str.Lyrics_
mov edx, eax
lea ecx, [ebp - 0x62c]
call fcn.0040ce1d
push eax
lea ecx, [ebx + 0x480]
call fcn.0040d242
mov ecx, dword [ebp - 0x62c]
add ecx, 0xfffffff4
cmp ecx, edi
je 0x5471bd
call fcn.00407965
mov ecx, dword [ebp - 0x630]
add ecx, 0xfffffff4
cmp ecx, edi
je 0x5471cf
call fcn.00407965
push ecx
lea esi, [ebx + 0x488]
mov dword [ebx + 0x484], 1
xor edi, edi
mov ecx, esi
push edi
call fcn.00414291
lea eax, [ebx + 0x20]
push eax
lea ecx, [ebp - 0x638]
call fcn.0040d36e
mov dword [ebp - 0x634], edi
lea eax, [ebp - 0x638]
mov dword [ebp - 4], edi
push eax
mov ecx, esi
call fcn.00413f16
mov ecx, dword [ebp - 0x638]
mov edi, 0x668010
add ecx, 0xfffffff4
cmp ecx, edi
je 0x547227
call fcn.00407965
lea eax, [ebx + 0x24]
push eax
lea ecx, [ebp - 0x638]
call fcn.00413c9f
push eax
mov ecx, esi
mov dword [ebp - 4], 1
call fcn.00413f16
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x638]
add ecx, 0xfffffff4
cmp ecx, edi
je 0x54725b
call fcn.00407965
push 0x5c
lea edi, [ebx + 0x340]
push 0
push edi
call fcn.004e0bc0
mov dword [edi], 0xfffffff4
xor eax, eax
mov dword [ebx + 0x350], 0x190
mov dword [ebx + 0x357], 0x4000001
mov byte [ebx + 0x35b], al
lea eax, [ebx + 0x35c]
push 0x636168
push eax
call fcn.00504cbe
push 0x5c
lea esi, [ebx + 0x3c8]
push edi
push esi
call fcn.004dd610
add esp, 0x20
mov dword [esi], 0x3c
test dword [ebp + 8], 0x4000
je 0x547397
push 0x5c
lea esi, [ebx + 0x4e0]
push 0
push esi
call fcn.004e0bc0
mov dword [esi], 0xffffffd8
lea eax, [ebx + 0x4fc]
mov dword [ebx + 0x4f0], 0x2bc
push 0x635298
mov byte [ebx + 0x4fa], 4
push eax
mov byte [ebx + 0x4f7], 1
call fcn.00504cbe
xor ecx, ecx
add esp, 0x14
inc ecx
xor eax, eax
mov dword [ebx + 0x49c], ecx
mov esi, eax
mov dword [ebx + 0x4a0], eax
mov dword [ebx + 0x4a4], 0x32
mov dword [ebx + 0x4a8], 0xff
mov dword [ebx + 0x4b8], eax
mov dword [ebx + 0x4bc], ecx
mov dword [ebx + 0x4c0], eax
mov dword [ebx + 0x4ac], ecx
mov dword [ebx + 0x4b0], ecx
mov dword [ebx + 0x4b4], eax
mov dword [ebx + 0x4c4], ecx
mov dword [ebx + 0x4c8], eax
mov dword [ebx + 0x4cc], ecx
mov ecx, 0xffffff
mov dword [ebx + 0x4d0], eax
mov dword [ebx + 0x4d4], ecx
mov dword [ebx + 0x4d8], 0x141414
mov dword [ebx + 0x4dc], ecx
mov dword [ebx + 0x498], eax
push esi
mov ecx, ebx
call fcn.005469ee
inc esi
cmp esi, 3
jl 0x547389
test byte [ebp + 8], 0x40
je 0x5474af
xor eax, eax
xor ecx, ecx
mov dword [ebx + 0x5cc], eax
inc ecx
mov dword [ebx + 0x5d0], ecx
mov edi, str._A____T
mov dword [ebx + 0x5d4], ecx
mov dword [ebx + 0x5d8], ecx
mov dword [ebx + 0x5dc], eax
mov dword [ebx + 0x5e0], ecx
mov dword [ebx + 0x5e4], eax
mov dword [ebx + 0x5e8], ecx
mov dword [ebx + 0x5ec], eax
mov dword [ebx + 0x5f0], ecx
push edi
mov dword [ebx + 0x5f4], eax
call fcn.00505bb3
pop ecx
push edi
push eax
lea ecx, [ebx + 0x5fc]
call fcn.0040f513
mov edi, 0x636220
push edi
call fcn.00505bb3
pop ecx
push edi
push eax
lea ecx, [ebx + 0x600]
call fcn.0040f513
mov eax, 0xa87752
lea esi, [ebx + 0x604]
mov dword [ebx + 0x660], eax
mov dword [ebx + 0x668], 0x3c2411
mov dword [ebx + 0x66c], eax
mov dword [ebx + 0x670], eax
mov dword [ebx + 0x674], 0xe9d2bc
push 0x5c
mov dword [ebx + 0x678], 0xfff2e6
push 0
mov dword [ebx + 0x67c], 0xfff9f1
push esi
mov dword [ebx + 0x664], 0xae7031
call fcn.004e0bc0
mov dword [esi], 0xfffffff4
lea eax, [ebx + 0x620]
mov dword [ebx + 0x614], 0x190
push 0x636168
mov dword [ebx + 0x61b], 0x4020386
push eax
mov byte [ebx + 0x61f], 2
call fcn.00504cbe
add esp, 0x14
and dword [ebx + 0x5f8], 0
test byte [ebp + 8], 0x80
je 0x5474df
and dword [ebx + 0x680], 0
and dword [ebx + 0x684], 0
and dword [ebx + 0x68c], 0
push ecx
push 0
lea ecx, [ebx + 0x690]
call fcn.00414291
and dword [ebx + 0x6a0], 0
test dword [ebp + 8], 0x100
je 0x54770a
call fcn.004139d8
xor eax, eax
inc eax
mov dword [ebx + 0x6c8], eax
mov dword [ebx + 0x6cc], eax
mov dword [ebx + 0x6d0], eax
mov dword [ebx + 0x6d4], eax
mov eax, dword [0x668294]
mov dword [ebp - 0x62c], eax
lea eax, [ebp - 0x420]
push eax
xor eax, eax
push eax
push eax
push 0x1a
push eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x54757e
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x634]
call fcn.0040d2ee
push str.TTPlayercache_
mov edx, eax
lea ecx, [ebp - 0x630]
call fcn.0040ce1d
push eax
lea ecx, [ebp - 0x62c]
call fcn.0040d242
mov ecx, dword [ebp - 0x630]
mov esi, 0x668010
add ecx, 0xfffffff4
cmp ecx, esi
je 0x547576
call fcn.00407965
mov ecx, dword [ebp - 0x634]
jmp 0x5475c9
push 0x67476c
lea ecx, [ebp - 0x630]
call fcn.0040d2ee
push str.Cache_
mov edx, eax
lea ecx, [ebp - 0x634]
call fcn.0040ce1d
push eax
lea ecx, [ebp - 0x62c]
call fcn.0040d242
mov ecx, dword [ebp - 0x634]
mov esi, 0x668010
add ecx, 0xfffffff4
cmp ecx, esi
je 0x5475c3
call fcn.00407965
mov ecx, dword [ebp - 0x630]
add ecx, 0xfffffff4
cmp ecx, esi
je 0x5475d5
call fcn.00407965
lea eax, [ebp - 0x62c]
push eax
lea ecx, [ebx + 0x6ec]
call fcn.0040d242
mov edi, str.http:__freedb.freedb.org_cddb_cddb.cgi
push edi
call fcn.00505bb3
pop ecx
push edi
push eax
lea ecx, [ebx + 0x6d8]
call fcn.0040f513
push ecx
push 0
lea ecx, [ebx + 0x6dc]
call fcn.0041415d
or dword [ebx + 0x6f0], 0xffffffff
xor eax, eax
mov dword [ebx + 0x6f4], 7
xor ecx, ecx
mov dword [ebx + 0x6fc], eax
inc ecx
mov dword [ebx + 0x6f8], 0x258
mov dword [ebx + 0x700], eax
mov dword [ebx + 0x708], eax
mov dword [ebx + 0x70c], eax
mov dword [ebx + 0x710], eax
mov dword [ebx + 0x714], ecx
mov dword [ebx + 0x718], ecx
mov ecx, ebx
mov dword [ebx + 0x71c], eax
mov dword [ebx + 0x720], eax
call fcn.005479e6
xor eax, eax
mov edi, 0x63616e
mov dword [ebx + 0x724], eax
mov dword [ebx + 0x728], eax
mov dword [ebx + 0x72c], eax
mov dword [ebx + 0x730], eax
push edi
mov dword [ebx + 0x734], eax
call fcn.00505070
pop ecx
push edi
push eax
lea ecx, [ebx + 0x738]
call fcn.0040f305
push edi
call fcn.00505070
pop ecx
push edi
push eax
lea ecx, [ebx + 0x73c]
call fcn.0040f305
mov edi, 0x6349bc
push edi
call fcn.00505bb3
pop ecx
push edi
push eax
lea ecx, [ebx + 0x740]
call fcn.0040f513
push edi
call fcn.00505bb3
pop ecx
push edi
push eax
lea ecx, [ebx + 0x744]
call fcn.0040f513
mov ecx, dword [ebp - 0x62c]
mov edi, 0x668010
and dword [ebx + 0x748], 0
add ecx, 0xfffffff4
and dword [ebx + 0x74c], 0
cmp ecx, edi
je 0x54770a
call fcn.00407965
cmp dword [ebp + 8], 0xffffffff
jne 0x5477ad
push 0x28
mov dword [ebx + 0x77c], 0xfffffffe
lea eax, [ebx + 0x7b4]
or dword [ebx + 0x780], 0xffffffff
and dword [ebx + 0x784], 0
push 0
push eax
call fcn.004e0bc0
push 0x28
lea eax, [ebx + 0x788]
push 0
push eax
call fcn.004e0bc0
xor eax, eax
mov edi, 0x636188
mov dword [ebx + 0x750], eax
mov dword [ebx + 0x754], eax
mov dword [ebx + 0x758], eax
mov dword [ebx + 0x75c], eax
mov dword [ebx + 0x760], eax
push edi
mov dword [ebx + 0x764], eax
call fcn.00505bb3
add esp, 0x1c
lea ecx, [ebx + 0x768]
push edi
push eax
call fcn.0040f513
xor eax, eax
mov dword [ebx + 0x76c], 1
mov dword [ebx + 0x770], eax
mov dword [ebx + 0x774], eax
mov dword [ebx + 0x778], eax
jmp 0x5477ba
test dword [ebp + 8], 0x200
je 0x547981
lea esi, [ebx + 0x7e4]
mov ecx, esi
call fcn.0040d291
push 0x20019
xor eax, eax
lea ecx, [ebp - 0x644]
push str.SoftwareWinamp
push reloc.wspcomm.dll_Ordinal_1
mov dword [ebp - 0x644], eax
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x63c], eax
call fcn.00413668
mov edi, 0x208
test eax, eax
jne 0x54788f
push edi
push eax
lea eax, [ebp - 0x628]
push eax
call fcn.004e0bc0
add esp, 0xc
mov dword [ebp - 0x62c], 0x104
lea eax, [ebp - 0x62c]
lea ecx, [ebp - 0x644]
push eax
lea eax, [ebp - 0x628]
push eax
push 0x6349bc
call fcn.004136c4
test eax, eax
jne 0x54788f
mov eax, dword [ebp - 0x62c]
add eax, eax
cmp eax, edi
jae 0x5479e0
xor ecx, ecx
mov word [ebp + eax - 0x628], cx
lea eax, [ebp - 0x628]
push eax
call fcn.00505bb3
pop ecx
lea ecx, [ebp - 0x628]
push ecx
push eax
mov ecx, esi
call fcn.0040f513
mov edi, str.Plugins
push edi
call fcn.00505bb3
pop ecx
push edi
push eax
mov ecx, esi
call fcn.0040f454
mov edi, 0x208
mov eax, dword [esi]
cmp dword [eax - 8], 0
jne 0x547911
push edi
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004e0bc0
add esp, 0xc
lea eax, [ebp - 0x218]
push 0
push 0x26
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
jne 0x5478d3
lea eax, [ebp - 0x218]
push str.C:Program_Files
push eax
call fcn.00504cbe
pop ecx
pop ecx
lea eax, [ebp - 0x218]
push str.WinampPlugins
push eax
call fcn.0050737f
pop ecx
pop ecx
lea ecx, [ebp - 0x218]
call fcn.00547c86
test eax, eax
je 0x547911
lea eax, [ebp - 0x218]
push eax
call fcn.00505bb3
pop ecx
lea ecx, [ebp - 0x218]
push ecx
push eax
mov ecx, esi
call fcn.0040f513
mov eax, dword [esi]
cmp dword [eax - 8], 0
jne 0x54796c
push 0x67476c
lea ecx, [ebp - 0x630]
call fcn.0040d2ee
push str.Plugins_
mov edx, eax
lea ecx, [ebp - 0x634]
call fcn.0040ce1d
push eax
mov ecx, esi
call fcn.0040d242
mov ecx, dword [ebp - 0x634]
mov esi, 0x668010
add ecx, 0xfffffff4
cmp ecx, esi
je 0x54795a
call fcn.00407965
mov ecx, dword [ebp - 0x630]
add ecx, 0xfffffff4
cmp ecx, esi
je 0x54796c
call fcn.00407965
cmp dword [ebp - 0x644], 0
je 0x547981
push dword [ebp - 0x644]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test dword [ebp + 8], 0x800
je 0x5479a3
mov edi, str._Default_Skin_
push edi
call fcn.00505bb3
pop ecx
push edi
push eax
lea ecx, [ebx + 0x7e0]
call fcn.0040f513
cmp dword [ebp + 8], 0xffffffff
jne 0x5479d8
xor eax, eax
mov dword [ebx + 0x7f8], eax
push ecx
mov dword [ebx + 0x7fc], 0x37
lea ecx, [ebx + 0x828]
mov dword [ebx + 0x810], 1
push eax
mov dword [ebx + 0x814], eax
call fcn.0041415d
call fcn.004db46d
ret 4
call fcn.004dafb4
int3