Function at 0x403bc0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x208
push esi
xor esi, esi
call fcn.00401770
cmp eax, 1
jle 0x403c90
push esi
push str.MultiInstStat
call fcn.00401740
push eax
call fcn.00401710
push eax
call fcn.00406bf0
add esp, 0x10
mov esi, eax
lea eax, [esp + 4]
push 0x104
push eax
push 0x41d1d4
push str.InstTo
call fcn.00401740
push eax
call fcn.00401710
push eax
call fcn.00406980
add esp, 0x18
test esi, esi
je 0x403c90
push 0x21
call fcn.00401800
push eax
push 0x418138
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
jne 0x403c7a
push 0
push str.MultiInstStat
call fcn.00401740
push eax
call fcn.00401710
push eax
call fcn.00406b20
add esp, 0x10
push 0
push str.IsInst
call fcn.00401740
push eax
call fcn.00401710
push eax
call fcn.00406b20
add esp, 0x10
or eax, 0xffffffff
pop esi
add esp, 0x208
ret
call fcn.00401790
test esi, eax
je 0x403ce2
mov eax, 1
pop esi
add esp, 0x208
ret
lea ecx, [esp + 4]
push ecx
call section..text
add esp, 4
test eax, eax
je 0x403cb9
push 0x41811c
call fcn.00406700
add esp, 4
or eax, 0xffffffff
pop esi
add esp, 0x208
ret
lea edx, [esp + 4]
push edx
call fcn.00404bd0
add esp, 4
test eax, eax
je 0x403ce2
push 0x4180f4
call fcn.00406700
add esp, 4
or eax, 0xffffffff
pop esi
add esp, 0x208
ret
push 0
push str.IsInst
call fcn.00401740
push eax
call fcn.00401710
push eax
call fcn.00406b20
add esp, 0x10
test esi, esi
jne 0x403d0b
call fcn.004057f0
call fcn.00405fb0
lea eax, [esp + 4]
push eax
call fcn.004044d0
add esp, 4
test eax, eax
je 0x403d27
or eax, 0xffffffff
pop esi
add esp, 0x208
ret
lea ecx, [esp + 4]
push ecx
call fcn.004040b0
add esp, 4
test eax, eax
je 0x403d43
or eax, 0xffffffff
pop esi
add esp, 0x208
ret
call fcn.00401770
cmp eax, 1
jle 0x403dac
call fcn.00401790
or esi, eax
call fcn.00401770
mov edx, 1
mov ecx, eax
shl edx, cl
dec edx
cmp esi, edx
je 0x403dac
push esi
push str.MultiInstStat
call fcn.00401740
push eax
call fcn.00401710
push eax
call fcn.00406b20
add esp, 0x10
lea eax, [esp + 4]
push eax
push str.InstTo
call fcn.00401740
push eax
call fcn.00401710
push eax
call fcn.00406a70
add esp, 0x10
mov eax, 1
pop esi
add esp, 0x208
ret
push 0
push str.MultiInstStat
call fcn.00401740
push eax
call fcn.00401710
push eax
call fcn.00406b20
add esp, 0x10
push 1
push str.IsInst
call fcn.00401740
push eax
call fcn.00401710
push eax
call fcn.00406b20
add esp, 0x10
lea ecx, [esp + 4]
push ecx
push str.InstTo
call fcn.00401740
push eax
call fcn.00401710
push eax
call fcn.00406a70
push 0x4180f0
push str.DiskID
call fcn.0040a355
mov esi, eax
add esp, 0x18
test esi, esi
je 0x403e83
lea edx, [esp + 0x108]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [esp + 0x108]
push eax
push str.InstFrom
call fcn.00401740
push eax
call fcn.00401710
push eax
call fcn.00406a70
push esi
lea ecx, [esp + 0x11c]
push 0x103
push ecx
call fcn.0040a629
push esi
call fcn.0040a21d
add esp, 0x20
lea edx, [esp + 0x108]
push edx
push str.DiskID
call fcn.00401740
push eax
call fcn.00401710
push eax
call fcn.00406a70
add esp, 0x10
lea eax, [esp + 4]
push str.AAssist.bin
push eax
call fcn.00403ef0
lea ecx, [esp + 0xc]
push ecx
call fcn.00405050
lea edx, [esp + 0x10]
push edx
call fcn.00406080
add esp, 0x10
call fcn.00401b20
test eax, eax
je 0x403ecd
call fcn.00406380
test eax, eax
jne 0x403ecd
push 0x418078
call fcn.004067b0
add esp, 4
call fcn.004063a0
push 0x418058
call fcn.004067b0
add esp, 4
xor eax, eax
pop esi
add esp, 0x208
ret