Function at 0x409b00
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc18
mov eax, dword [0x4a6c44]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x804]
push esi
push edi
push 0x200
push 0
push eax
mov esi, ecx
mov byte [ebp - 0xc09], 0
call fcn.00447100
push 0x200
lea eax, [ebp - 0x604]
push 0
push eax
call fcn.00447100
lea eax, [ebp - 0x604]
push eax
lea eax, [ebp - 0x804]
push eax
lea eax, [esi + 0x482c]
push eax
lea eax, [ebp - 0xc09]
push eax
lea ecx, [esi + 0x3628]
push ecx
lea edx, [esi + 0x3428]
push edx
lea eax, [esi + 0x2e28]
push eax
lea eax, [esi + 0x3228]
push eax
lea eax, [esi + 0x281c]
push eax
lea edi, [esi + 0x261c]
lea eax, [esi + 0x21c]
push edi
push eax
call fcn.004130a0
add esp, 0x44
mov dword [ebp - 0xc08], 0
lea eax, [esi + 0x3829]
mov dword [ebp - 0xc14], 0
push str.__called_by_downloader
push eax
call fcn.00447260
add esp, 8
test eax, eax
je 0x409cfd
lea eax, [ebp - 0xc04]
mov byte [esi + 0x4829], 1
push eax
push 0x200
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0x200
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0xc04]
push eax
call fcn.004165a0
lea ecx, [ebp - 0x404]
add esp, 0xc
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409c10
sub ecx, edx
je 0x409c39
cmp byte [ebp + ecx - 0x405], 0x5c
jne 0x409c39
dec ecx
cmp ecx, 0x200
jae 0x409f6a
mov byte [ebp + ecx - 0x404], al
push str.rsp1024hcmd.txt
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x204]
push 0x47cb80
push eax
call fcn.00407cd0
lea eax, [ebp - 0xc08]
push eax
lea eax, [ebp - 0xc14]
push eax
lea eax, [ebp - 0x204]
push 0x200
push eax
call fcn.00413fd0
add esp, 0x20
test al, al
je 0x409cba
mov ecx, dword [ebp - 0xc08]
mov eax, dword [ebp - 0xc14]
mov byte [eax + ecx], 0
mov ecx, esi
push dword [ebp - 0xc08]
call fcn.0040dad0
push dword [ebp - 0xc08]
call fcn.0041d95a
lea eax, [ebp - 0x204]
push eax
push str.Read_from_sCommandParameterFile__s
push 0x202
jmp 0x409dc7
lea eax, [ebp - 0x204]
push eax
push str.failed_to_load__s
push 0x207
push str.c:_rhub2code_setuphandler_setuphandler.cpp
push 0
mov byte [ebx], 0
push str.SetupHandler::InitializeSetup
push dword [0x4a9068]
call fcn.0040ee70
add esp, 0x1c
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004440d2
mov esp, ebp
pop ebp
ret 4
lea eax, [esi + 0x3829]
push str.__called_by_client_to_sync
push eax
call fcn.00447260
add esp, 8
test eax, eax
je 0x409de1
push str.rsp1024hcmd.txt
push str.TurboMeeting
push edi
lea eax, [ebp - 0x204]
mov byte [esi + 0x4829], 1
push str._s_s_s
push eax
call fcn.00407cd0
lea eax, [ebp - 0x204]
push eax
push str.sCommandParameterFile___s
push 0x210
push str.c:_rhub2code_setuphandler_setuphandler.cpp
push 0
push str.SetupHandler::InitializeSetup
push dword [0x4a9068]
call fcn.0040ee70
lea eax, [ebp - 0xc08]
push eax
lea eax, [ebp - 0xc14]
push eax
lea eax, [ebp - 0x204]
push 0x200
push eax
call fcn.00413fd0
add esp, 0x40
test al, al
je 0x409f54
mov ecx, dword [ebp - 0xc08]
mov eax, dword [ebp - 0xc14]
mov byte [eax + ecx], 0
mov ecx, esi
push dword [ebp - 0xc08]
call fcn.0040dad0
push dword [ebp - 0xc08]
call fcn.0041d95a
lea eax, [ebp - 0x204]
push eax
push str.Read_from_sCommandParameterFile___s
push 0x219
push str.c:_rhub2code_setuphandler_setuphandler.cpp
push 0
push str.SetupHandler::InitializeSetup
push dword [0x4a9068]
call fcn.0040ee70
add esp, 0x20
cmp byte [esi + 0x4829], 0
je 0x409f3f
push str.TMServiceCache.txt
push str.TurboMeeting
push edi
lea eax, [ebp - 0x404]
mov byte [esi + 0x41c], 0
push str._s_s_s
push eax
mov dword [ebp - 0xc10], 0
mov dword [ebp - 0xc18], 0
call fcn.00407cd0
lea eax, [ebp - 0x404]
push eax
push str.Refine_directory_by__s
push 0x22e
push str.c:_rhub2code_setuphandler_setuphandler.cpp
push 0
push str.SetupHandler::InitializeSetup
push dword [0x4a9068]
call fcn.0040ee70
lea eax, [ebp - 0xc10]
push eax
lea eax, [ebp - 0xc18]
push eax
lea eax, [ebp - 0x404]
push 0x200
push eax
call fcn.00413fd0
mov ecx, dword [ebp - 0xc10]
add esp, 0x40
test ecx, ecx
je 0x409f1c
mov eax, dword [ebp - 0xc18]
mov byte [eax + ecx], 0
lea eax, [esi + 0x3228]
push eax
push str.____USER_APPLICATION_DIRECTORY___
push str.___USER_APPLICATION_DIRECTORY___
push dword [ebp - 0xc10]
call fcn.00413010
lea ebx, [esi + 0x3628]
push ebx
push str.____DESKTOP_DIRECTORY___
push str.___DESKTOP_DIRECTORY___
push dword [ebp - 0xc10]
call fcn.00413010
lea eax, [esi + 0x3428]
push eax
push str.____START_MENUE_DIRECTORY___
push str.___START_MENUE_DIRECTORY___
push dword [ebp - 0xc10]
call fcn.00413010
lea eax, [esi + 0x3428]
push eax
push ebx
lea eax, [esi + 0x3228]
push eax
push str.Refined_directories:__m_sUserApplicationDirectory___s__m_sDesktopDirectory___s__m_sStartMenuDirectory___s
push 0x239
push str.c:_rhub2code_setuphandler_setuphandler.cpp
push 0
push str.SetupHandler::InitializeSetup
push dword [0x4a9068]
call fcn.0040ee70
add esp, 0x54
push dword [ebp - 0xc10]
call fcn.0041d95a
add esp, 4
push str.TurboMeeting
push edi
lea eax, [esi + 0x2a1c]
push 0x47cb80
push eax
call fcn.00407cd0
add esp, 0x10
mov word [esi + 0x482a], 1
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004440d2
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 0x204]
push eax
push str.failed_to_load__s
push 0x21e
jmp 0x409ccb
call fcn.00443ff8
int3