Function at 0x419b41c
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbf0
push ebx
xor edx, edx
mov dword [ebp - 0x208], edx
mov dword [ebp - 0x30c], edx
mov dword [ebp - 0x310], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x419b8a9
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x208]
mov edx, ebx
call sub.VCL30.dpl_System._LStrFromString_EF219F52
mov eax, dword [ebp - 0x208]
call sub.CSRTL.dpl_Rt_DDB.DDB_IsDatabaseFileName_3C9BDBFB
test al, al
je 0x419b474
mov eax, ebx
call sub.CSRTL.dpl_Rt_DDB.DDB_ObjectExistSpecific_4228F836
mov ebx, eax
jmp 0x419b880
mov eax, ebx
call sub.CSRTL.dpl_Rt_Util.ExistSpecific_4228F836
test al, al
je 0x419b486
mov bl, 1
jmp 0x419b880
lea edx, [ebp - 0x308]
mov eax, ebx
call fcn.0419af8c
lea eax, [ebp - 0x308]
call sub.CSRTL.dpl_Rt_Util.ExistSpecific_4228F836
test al, al
je 0x419b4c3
lea edx, [ebp - 0x308]
mov eax, ebx
call fcn.0419af8c
lea edx, [ebp - 0x308]
mov eax, ebx
call sub.VCL30.dpl_System._PStrCpy_51F89FF7
mov bl, 1
jmp 0x419b880
lea edx, [ebp - 0x308]
mov eax, ebx
call fcn.0419b320
lea eax, [ebp - 0x308]
call sub.CSRTL.dpl_Rt_Util.ExistSpecific_4228F836
test al, al
je 0x419b500
lea edx, [ebp - 0x308]
mov eax, ebx
call fcn.0419b320
lea edx, [ebp - 0x308]
mov eax, ebx
call sub.VCL30.dpl_System._PStrCpy_51F89FF7
mov bl, 1
jmp 0x419b880
lea edx, [ebp - 0x308]
mov eax, ebx
call fcn.0419b0bc
lea eax, [ebp - 0x308]
call sub.CSRTL.dpl_Rt_Util.ExistSpecific_4228F836
test al, al
je 0x419b53d
lea edx, [ebp - 0x308]
mov eax, ebx
call fcn.0419b0bc
lea edx, [ebp - 0x308]
mov eax, ebx
call sub.VCL30.dpl_System._PStrCpy_51F89FF7
mov bl, 1
jmp 0x419b880
push 0xff
lea eax, [ebp - 0x201]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
lea edx, [ebp - 0x30c]
lea eax, [ebp - 0x201]
call sub.VCL30.dpl_SysUtils.StrPas_B7CE3C1C
push dword [ebp - 0x30c]
push 0x419b8c0
lea edx, [ebp - 0x410]
mov eax, ebx
call sub.CSRTL.dpl_Rt_Util.ExtractWholeFileNameFromPath_4E71D220
lea edx, [ebp - 0x410]
lea eax, [ebp - 0x310]
call sub.VCL30.dpl_System._LStrFromString_EF219F52
push dword [ebp - 0x310]
lea eax, [ebp - 0x208]
mov edx, 3
call sub.VCL30.dpl_System._LStrCatN_51F89FF7
mov edx, dword [ebp - 0x208]
lea eax, [ebp - 0x308]
mov ecx, 0xff
call sub.VCL30.dpl_System._LStrToString_51F89FF7
lea eax, [ebp - 0x308]
call sub.CSRTL.dpl_Rt_Util.ExistSpecific_4228F836
test al, al
je 0x419b62c
lea edx, [ebp - 0x30c]
lea eax, [ebp - 0x201]
call sub.VCL30.dpl_SysUtils.StrPas_B7CE3C1C
push dword [ebp - 0x30c]
push 0x419b8c0
lea edx, [ebp - 0x308]
mov eax, ebx
call sub.CSRTL.dpl_Rt_Util.ExtractWholeFileNameFromPath_4E71D220
lea edx, [ebp - 0x308]
lea eax, [ebp - 0x310]
call sub.VCL30.dpl_System._LStrFromString_EF219F52
push dword [ebp - 0x310]
lea eax, [ebp - 0x208]
mov edx, 3
call sub.VCL30.dpl_System._LStrCatN_51F89FF7
mov edx, dword [ebp - 0x208]
mov eax, ebx
mov ecx, 0xff
call sub.VCL30.dpl_System._LStrToString_51F89FF7
mov bl, 1
jmp 0x419b880
push 0xff
lea eax, [ebp - 0x201]
push eax
call sub.kernel32.dll_GetSystemDirectoryA
lea edx, [ebp - 0x30c]
lea eax, [ebp - 0x201]
call sub.VCL30.dpl_SysUtils.StrPas_B7CE3C1C
push dword [ebp - 0x30c]
push 0x419b8c0
lea edx, [ebp - 0x410]
mov eax, ebx
call sub.CSRTL.dpl_Rt_Util.ExtractWholeFileNameFromPath_4E71D220
lea edx, [ebp - 0x410]
lea eax, [ebp - 0x310]
call sub.VCL30.dpl_System._LStrFromString_EF219F52
push dword [ebp - 0x310]
lea eax, [ebp - 0x208]
mov edx, 3
call sub.VCL30.dpl_System._LStrCatN_51F89FF7
mov edx, dword [ebp - 0x208]
lea eax, [ebp - 0x308]
mov ecx, 0xff
call sub.VCL30.dpl_System._LStrToString_51F89FF7
lea eax, [ebp - 0x308]
call sub.CSRTL.dpl_Rt_Util.ExistSpecific_4228F836
test al, al
je 0x419b71b
lea edx, [ebp - 0x30c]
lea eax, [ebp - 0x201]
call sub.VCL30.dpl_SysUtils.StrPas_B7CE3C1C
push dword [ebp - 0x30c]
push 0x419b8c0
lea edx, [ebp - 0x308]
mov eax, ebx
call sub.CSRTL.dpl_Rt_Util.ExtractWholeFileNameFromPath_4E71D220
lea edx, [ebp - 0x308]
lea eax, [ebp - 0x310]
call sub.VCL30.dpl_System._LStrFromString_EF219F52
push dword [ebp - 0x310]
lea eax, [ebp - 0x208]
mov edx, 3
call sub.VCL30.dpl_System._LStrCatN_51F89FF7
mov edx, dword [ebp - 0x208]
mov eax, ebx
mov ecx, 0xff
call sub.VCL30.dpl_System._LStrToString_51F89FF7
mov bl, 1
jmp 0x419b880
push 0xff
lea eax, [ebp - 0x201]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
lea edx, [ebp - 0x30c]
lea eax, [ebp - 0x201]
call sub.VCL30.dpl_SysUtils.StrPas_B7CE3C1C
push dword [ebp - 0x30c]
push 0x419b8cc
lea edx, [ebp - 0x410]
mov eax, ebx
call sub.CSRTL.dpl_Rt_Util.ExtractWholeFileNameFromPath_4E71D220
lea edx, [ebp - 0x410]
lea eax, [ebp - 0x310]
call sub.VCL30.dpl_System._LStrFromString_EF219F52
push dword [ebp - 0x310]
lea eax, [ebp - 0x208]
mov edx, 3
call sub.VCL30.dpl_System._LStrCatN_51F89FF7
mov edx, dword [ebp - 0x208]
lea eax, [ebp - 0x308]
mov ecx, 0xff
call sub.VCL30.dpl_System._LStrToString_51F89FF7
lea eax, [ebp - 0x308]
call sub.CSRTL.dpl_Rt_Util.ExistSpecific_4228F836
test al, al
je 0x419b807
lea edx, [ebp - 0x30c]
lea eax, [ebp - 0x201]
call sub.VCL30.dpl_SysUtils.StrPas_B7CE3C1C
push dword [ebp - 0x30c]
push 0x419b8cc
lea edx, [ebp - 0x308]
mov eax, ebx
call sub.CSRTL.dpl_Rt_Util.ExtractWholeFileNameFromPath_4E71D220
lea edx, [ebp - 0x308]
lea eax, [ebp - 0x310]
call sub.VCL30.dpl_System._LStrFromString_EF219F52
push dword [ebp - 0x310]
lea eax, [ebp - 0x208]
mov edx, 3
call sub.VCL30.dpl_System._LStrCatN_51F89FF7
mov edx, dword [ebp - 0x208]
mov eax, ebx
mov ecx, 0xff
call sub.VCL30.dpl_System._LStrToString_51F89FF7
mov bl, 1
jmp 0x419b880
lea edx, [ebp - 0x308]
mov eax, 0x419b8d8
call sub.CSRTL.dpl_Rt_Util.GetEnvVar_BD5B5857
lea edx, [ebp - 0x308]
lea eax, [ebp - 0x30c]
call sub.VCL30.dpl_System._LStrFromString_EF219F52
mov eax, dword [ebp - 0x30c]
push eax
lea eax, [ebp - 0x310]
mov edx, ebx
call sub.VCL30.dpl_System._LStrFromString_EF219F52
mov eax, dword [ebp - 0x310]
lea ecx, [ebp - 0x208]
pop edx
call sub.VCL30.dpl_SysUtils.FileSearch_8B0046BD
mov edx, dword [ebp - 0x208]
lea eax, [ebp - 0x100]
mov ecx, 0xff
call sub.VCL30.dpl_System._LStrToString_51F89FF7
cmp byte [ebp - 0x100], 0
je 0x419b87e
mov eax, ebx
lea edx, [ebp - 0x100]
call sub.VCL30.dpl_System._PStrCpy_51F89FF7
mov bl, 1
jmp 0x419b880
xor ebx, ebx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x419b8b0
lea eax, [ebp - 0x310]
mov edx, 2
call sub.VCL30.dpl_System._LStrArrayClr_51F89FF7
lea eax, [ebp - 0x208]
call sub.VCL30.dpl_System._LStrClr_40929B27
ret