Function at 0x449130
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x476e9b
mov eax, dword fs:[0]
push eax
sub esp, 0x628
mov eax, dword [0x4ab000]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x620]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [0x4af4f4]
mov edi, 1
add eax, edi
mov dword [0x4af4f4], eax
test eax, eax
jle 0x449384
cmp byte [0x4af4e9], 0
jne 0x449391
cmp byte [0x4af4ea], 0
jne 0x449746
cmp dword [0x4af468], 0
mov byte [0x4af4e9], 1
mov dword [0x4af4f4], 0
mov byte [0x4af4ea], 1
jne 0x44935d
call fcn.00418b70
cmp byte [0x4acb52], 0
jne 0x449240
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x624], esp
push str.BGMain
mov byte [0x4acb52], 1
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fld dword [0x493570]
sub esp, 0x24
fstp dword [esp + 0x20]
mov ecx, esp
fild dword [0x4a1054]
fdiv qword [0x493568]
fstp dword [ebp - 0x624]
fld dword [ebp - 0x624]
fstp dword [esp + 0x1c]
mov dword [ebp - 0x624], esp
push str.BGMain
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402380
mov eax, dword [0x4be824]
cmp byte [eax + 0xf4], 0
je 0x449255
mov byte [eax + 0xf4], 1
cmp byte [0x4af46e], 0
jne 0x4492c9
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x624], esp
push str.BottomBgA
mov byte [0x4af46e], 1
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fild dword [0x4a1058]
sub esp, 0x24
mov ecx, esp
fsub qword [0x493560]
fstp dword [ebp - 0x624]
fld dword [ebp - 0x624]
mov dword [ebp - 0x624], esp
fstp dword [esp + 0x20]
fldz
fstp dword [esp + 0x1c]
push str.BottomBgA
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402290
cmp byte [0x4af480], 0
jne 0x44935d
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x624], esp
push str.BgManIdle
mov byte [0x4af480], 1
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
mov ecx, dword [0x4a1058]
add ecx, 0xfffffcae
mov dword [ebp - 0x624], ecx
fild dword [ebp - 0x624]
sub esp, 0x24
mov ecx, esp
fmul qword [0x47c008]
fsub qword [0x492c78]
fstp dword [ebp - 0x624]
fld dword [ebp - 0x624]
mov dword [ebp - 0x624], esp
fstp dword [esp + 0x20]
fld dword [0x493084]
fstp dword [esp + 0x1c]
push str.BgManIdle
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402290
mov edx, dword [0x4acc30]
push 0x48c
push edx
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [0x4acc30]
push 0
push 0x1e
push 0x48c
push eax
call dword [sym.imp.USER32.dll_SetTimer]
cmp byte [0x4af4e9], 0
je 0x449746
cmp byte [0x4a2393], 0
mov esi, dword [ebp - 0x614]
jne 0x449513
mov eax, dword [0x4ac5e4]
mov ecx, dword [0x4a9f38]
cmp ax, si
ja 0x449416
cmp ecx, dword [0x4aca3c]
mov ecx, dword [0x4afd80]
jg 0x4493d8
cmp dword [ecx + 0xa4], edi
jne 0x4493d8
movzx edx, ax
movzx ebx, si
sub ebx, edx
add dword [0x4af57c], ebx
mov edx, dword [0x4a9f34]
cmp edx, dword [0x4aca2c]
jg 0x4493fd
cmp dword [ecx + 0xa4], 0
jne 0x4493fd
movzx edx, ax
movzx ebx, si
sub ebx, edx
add dword [0x4af580], ebx
movzx eax, ax
movzx edx, si
sub eax, edx
add dword [0x4a9fd4], eax
add dword [0x4a9fd0], eax
jmp 0x44949a
cmp ecx, dword [0x4aca3c]
mov ecx, dword [0x4afd80]
jg 0x449444
cmp dword [ecx + 0xa4], edi
jne 0x449444
movzx edx, ax
movzx ebx, si
sub ebx, edx
mov edx, dword [0x4af57c]
lea edx, [edx + ebx + 0x3c]
mov dword [0x4af57c], edx
mov edx, dword [0x4a9f34]
cmp edx, dword [0x4aca2c]
jg 0x449473
cmp dword [ecx + 0xa4], 0
jne 0x449473
movzx edx, ax
movzx ebx, si
sub ebx, edx
mov edx, dword [0x4af580]
lea edx, [edx + ebx + 0x3c]
mov dword [0x4af580], edx
movzx eax, ax
movzx edx, si
sub eax, edx
mov edx, dword [0x4a9fd4]
lea edx, [edx + eax - 0x3c]
mov dword [0x4a9fd4], edx
mov edx, dword [0x4a9fd0]
lea eax, [edx + eax - 0x3c]
mov dword [0x4a9fd0], eax
cmp dword [0x4a9fd4], 0
mov ebx, 0x168
jg 0x4494dc
mov eax, dword [0x4af584]
mov ecx, dword [eax*4 + 0x4ac620]
inc eax
xor edx, edx
mov edi, 0xa
div edi
mov dword [0x4a9fd4], ebx
mov edi, 1
add dword [edx*4 + 0x4ac620], ecx
mov ecx, dword [0x4afd80]
mov dword [0x4af584], edx
cmp dword [0x4a9fd0], 0
jg 0x449513
mov dword [0x4a9fd0], 0xe10
mov dword [0x4af584], 0
mov dword [0x4a9fd4], ebx
cmp dword [ecx + 0xa4], edi
jne 0x44950e
call fcn.00409960
jmp 0x449513
call fcn.00409bb0
cmp byte [0x4a1051], 0
mov ecx, dword [ebp - 0x620]
mov edx, dword [ebp - 0x61c]
mov eax, dword [ebp - 0x618]
mov dword [0x4ac5d8], ecx
mov dword [0x4ac5dc], edx
mov dword [0x4ac5e0], eax
mov dword [0x4ac5e4], esi
je 0x449746
xor ebx, ebx
cmp dword [0x4a9fe8], ebx
jl 0x44955e
sub dword [0x4a9fe8], edi
jmp 0x449746
lea ecx, [ebp - 0x634]
push ecx
mov dword [0x4a9fe8], 3
call fcn.00448c10
add esp, 4
lea edx, [ebp - 0x610]
push edx
push 0x100
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov ecx, dword [ebp - 0x630]
mov esi, dword [ebp - 0x634]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
xor edi, edi
add eax, edx
je 0x4496ce
mov dword [ebp - 0x624], ebx
mov eax, dword [ebp - 0x624]
add eax, esi
cmp dword [eax + 0x14], 0x10
jb 0x4495cb
mov eax, dword [eax]
movsx edx, byte [eax]
push str.RCD_Setup.exe
push 0x496b04
push edx
lea eax, [ebp - 0x410]
push str._c_s_s
push eax
call fcn.00409dc0
lea ecx, [ebp - 0x410]
push 0x492904
push ecx
call fcn.0045e277
push edi
mov ebx, eax
call fcn.00448df0
add esp, 0x20
mov esi, eax
sub eax, 0
je 0x449640
dec eax
je 0x44962d
dec eax
je 0x44961a
push str.Drive_not_ready_n
jmp 0x449645
push str.DVD_tray_closed__media_present_n
push 0x100
lea eax, [ebp - 0x210]
push eax
jmp 0x449651
push str.DVD_tray_open_n
push 0x100
lea ecx, [ebp - 0x210]
push ecx
jmp 0x449651
push str.DVD_tray_closed__no_media_n
push 0x100
lea edx, [ebp - 0x210]
push edx
call fcn.0045e09f
add esp, 0xc
test ebx, ebx
je 0x449666
cmp esi, 2
je 0x4496b2
test esi, esi
je 0x4496b2
mov eax, dword [0x4be3cc]
mov byte [eax + 0xf4], 1
test ebx, ebx
je 0x44967f
push ebx
call fcn.0045e12a
add esp, 4
mov ecx, dword [ebp - 0x630]
mov esi, dword [ebp - 0x634]
add dword [ebp - 0x624], 0x1c
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
inc edi
add ecx, edx
cmp edi, ecx
jb 0x4495bb
jmp 0x4496ce
mov edx, dword [0x4be3cc]
push ebx
mov byte [edx + 0xf4], 0
call fcn.0045e12a
mov esi, dword [ebp - 0x634]
add esp, 4
mov eax, dword [0x4be3cc]
cmp byte [eax + 0xf4], 0
je 0x44970b
mov ecx, dword [0x4acc30]
push 0x480
push ecx
mov byte [0x4aca1c], 0
call dword [sym.imp.USER32.dll_KillTimer]
mov edx, dword [0x4afa54]
mov dword [edx + 0xa4], 0
mov esi, dword [ebp - 0x634]
test esi, esi
je 0x449746
mov edi, dword [ebp - 0x630]
cmp esi, edi
je 0x44973d
lea esp, [esp]
lea eax, [ebp - 0x628]
push esi
push eax
call fcn.00402670
add esi, 0x1c
add esp, 8
cmp esi, edi
jne 0x449720
mov esi, dword [ebp - 0x634]
push esi
call fcn.0045cafe
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045d691
mov esp, ebp
pop ebp
ret