Function at 0x407580
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x808
mov eax, dword [0x57c54c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
test edi, edi
je 0x407b9f
push 0x53ad74
push esi
call fcn.00401870
add esp, 8
lea eax, [ebp - 0x804]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x4075d1
push 0x53a6f4
jmp 0x407bb6
lea eax, [ebp - 0x804]
push eax
call fcn.00475f50
add esp, 4
test eax, eax
je 0x4075ee
push 0x53ccb8
jmp 0x407bb6
lea ecx, [edi + 0x18cf4]
mov edx, ecx
push ebx
lea ebx, [edx + 2]
nop word [eax + eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x407600
sub edx, ebx
sar edx, 1
pop ebx
jne 0x40761c
push 0x574e58
jmp 0x407bb6
mov eax, dword [ebp + 0xc]
cmp eax, 1
jne 0x407645
push ecx
push str._sHelpindex.html
push esi
call fcn.00401870
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x40766b
push ecx
push str._sBanners_banner.avi
push esi
call fcn.00401870
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne 0x407691
push ecx
push str._sBanners_banner.bmp
push esi
call fcn.00401870
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 4
jne 0x4076c2
push str.trace_on.txt
lea eax, [edi + 0x184f4]
push eax
push str._sTmp_s
push esi
call fcn.00401870
add esp, 0x10
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0x13
jne 0x4076f3
push str.recording.raw
lea eax, [edi + 0x184f4]
push eax
push str._sTmp_s
push esi
call fcn.00401870
add esp, 0x10
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 5
jne 0x407729
push str.dfx_skin.txt
push str.Skins
lea eax, [edi + 0x194f4]
push eax
push str._s_s_s
push esi
call fcn.00401870
add esp, 0x14
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 6
jne 0x407760
push str.dfx_skin.txt
push dword [edi + 0x1bcf8]
lea eax, [edi + 0x184f4]
push eax
push str._sVersion_d_s
push esi
call fcn.00401870
add esp, 0x14
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 8
jne 0x407790
push str.splash_skin_definition.txt
push str.Splash
push ecx
push str._s_s_s
push esi
call fcn.00401870
add esp, 0x14
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0x18
jne 0x4077c0
push str.skin_definition.txt
push str.TimeTrialSplash
push ecx
push str._s_s_s
push esi
call fcn.00401870
add esp, 0x14
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0xe
jne 0x4077eb
push str.DFX_Manual.chm
push ecx
push str._sHelp_s
push esi
call fcn.00401870
add esp, 0x10
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0x11
jne 0x407801
push str.archive.cab
lea eax, [edi + 0x1acf4]
push eax
jmp 0x407b91
cmp eax, 0x12
jne 0x407831
push str.CABARC.exe
push str.Apps
push ecx
push str._s_s_s
push esi
call fcn.00401870
add esp, 0x14
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0x14
jne 0x407861
push str.powertech_sm.exe
push str.Apps
push ecx
push str._s_s_s
push esi
call fcn.00401870
add esp, 0x14
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0x15
jne 0x407891
push str.DfxSharedApp32.exe
push str.Apps
push ecx
push str._s_s_s
push esi
call fcn.00401870
add esp, 0x14
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0x16
jne 0x4078c1
push str.DfxSharedApp64.exe
push str.Apps
push ecx
push str._s_s_s
push esi
call fcn.00401870
add esp, 0x14
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0x17
jne 0x4078f1
push str.dfxItunesSong.exe
push str.Apps
push ecx
push str._s_s_s
push esi
call fcn.00401870
add esp, 0x14
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 7
jne 0x40792c
push str.vocals_skin_definition.txt
push str.Skin
push str.Vocals
lea eax, [edi + 0x194f4]
push eax
push str._s_s_s_s
push esi
call fcn.00401870
add esp, 0x18
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 9
jne 0x40796e
push str.skin_definition.txt
lea eax, [edi + 0x158f4]
push eax
push str.Plugin
push str.Skins
lea eax, [edi + 0x194f4]
push eax
push str._s_s_s_s_s
push esi
call fcn.00401870
add esp, 0x1c
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0xa
jne 0x407985
push 0x53d02c
push dword [edi + 0x1bcf8]
push str.cached_preset
jmp 0x4079b1
cmp eax, 0xb
jne 0x40799c
push 0x53d07c
push dword [edi + 0x1bcf8]
push str.cached_section
jmp 0x4079b1
cmp eax, 0xc
jne 0x4079dd
push 0x53d07c
push dword [edi + 0x1bcf8]
push str.cached_sounds
push str.Cache
lea eax, [edi + 0x184f4]
push eax
push str._s_s_s__d._s
push esi
call fcn.00401870
add esp, 0x1c
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0xd
jne 0x407a08
push str.MP3_Remix_Manual.chm
push ecx
push str._sHelp_s
push esi
call fcn.00401870
add esp, 0x10
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0xf
jne 0x407a3d
push 0x53d07c
push str.tmp_section
push 0x53d104
push ecx
push str._s_s_s._s
push esi
call fcn.00401870
add esp, 0x18
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0x10
jne 0x407a53
push str.p5M83ps4.hwv
lea eax, [ebp - 0x804]
push eax
jmp 0x407b91
cmp eax, 0x64
jne 0x407a7f
lea eax, [edi + 0x184f4]
push eax
push str._sTmp
push esi
call fcn.00401870
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0x6d
jne 0x407ab1
push dword [edi + 0x1bcf8]
lea eax, [edi + 0x184f4]
push eax
push str._sVersion_d
push esi
call fcn.00401870
add esp, 0x10
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0x65
jne 0x407ad7
push ecx
push str._sPresetsFactsoft
push esi
call fcn.00401870
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0x66
jne 0x407b03
lea eax, [edi + 0x184f4]
push eax
push str._sPresetsUser
push esi
call fcn.00401870
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0x67
jne 0x407b2f
lea eax, [edi + 0x184f4]
push eax
push str._sPresetsSystem
push esi
call fcn.00401870
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0x69
jne 0x407b5b
lea eax, [ebp - 0x804]
push eax
push 0x53a71c
push esi
call fcn.00401870
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
cmp eax, 0x6a
jne 0x407b6e
push str.SongPreset
lea eax, [edi + 0x184f4]
push eax
jmp 0x407b91
cmp eax, 0x6b
jne 0x407b7a
push str.Apps
jmp 0x407b90
cmp eax, 0x6c
jne 0x407b86
push str.EqSkin
jmp 0x407b90
cmp eax, 0x6e
jne 0x407bb1
push str.FxsoundSkin
push ecx
push 0x53cec8
push esi
call fcn.00401870
add esp, 0x10
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff105
mov esp, ebp
pop ebp
ret
push 0x53d218
push str.dfxgdfxgPathsCalc.cpp
call fcn.0041afb0
mov ecx, dword [ebp - 4]
add esp, 8
xor ecx, ebp
pop edi
pop esi
call fcn.004ff105
mov esp, ebp
pop ebp
ret