Function at 0x44d740
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47d0fb
mov eax, dword fs:[0]
push eax
sub esp, 0x630
mov eax, dword [0x4b1240]
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 [0x4b55b4]
mov esi, dword [sym.imp.USER32.dll_SetTimer]
inc eax
xor ebx, ebx
mov dword [0x4b55b4], eax
cmp eax, ebx
jle 0x44d889
cmp byte [0x4b55a1], bl
jne 0x44d889
cmp byte [0x4b55a2], bl
jne 0x44d889
mov ecx, dword [0x4b5978]
mov edi, dword [sym.imp.USER32.dll_KillTimer]
push 0x46f
push ecx
mov byte [0x4b55a1], 1
mov dword [0x4b55b4], ebx
mov byte [0x4b55a2], 1
call edi
mov edx, dword [0x4b5978]
push ebx
push 0x1e
push 0x46f
push edx
call esi
mov eax, dword [0x4b5978]
push 0x47b
push eax
call edi
mov ecx, dword [0x4b5978]
push ebx
push 0x1e
push 0x47b
push ecx
call esi
mov edx, dword [0x4b5978]
push 0x48b
push edx
mov dword [0x4b5718], ebx
call edi
mov eax, dword [0x4b5978]
push ebx
push 0x2710
push 0x48b
push eax
call esi
mov ecx, dword [0x4b5978]
push 0x48c
push ecx
call edi
mov edx, dword [0x4b5978]
push ebx
push 0x1e
push 0x48c
push edx
call esi
mov eax, dword [0x4b5978]
push 0x48e
push eax
call edi
mov ecx, dword [0x4b5978]
push ebx
push 0x1e
push 0x48e
push ecx
call esi
mov edx, dword [0x4b5978]
push 0x49a
push edx
call edi
mov eax, dword [0x4b5978]
push ebx
push 0x1e
push 0x49a
push eax
call esi
jmp 0x44d88f
mov edi, dword [sym.imp.USER32.dll_KillTimer]
cmp byte [0x4b57de], bl
jne 0x44dfec
cmp byte [0x4b55a1], bl
je 0x44dfec
mov eax, dword [0x4b2cc8]
inc eax
mov dword [0x4b2cc8], eax
cmp eax, 0x3c
jle 0x44dc49
cmp byte [0x4b2cd5], bl
jne 0x44d991
call fcn.00463f1c
mov dword [ebp - 0x624], eax
fild dword [ebp - 0x624]
fnstcw word [ebp - 0x622]
movzx eax, word [ebp - 0x622]
fmul qword [0x481600]
or eax, 0xc00
mov dword [ebp - 0x628], eax
fmul qword [0x497ab8]
fldcw word [ebp - 0x628]
fistp qword [ebp - 0x62c]
mov eax, dword [ebp - 0x62c]
mov dword [0x4b2ccc], eax
fldcw word [ebp - 0x622]
cmp eax, 0xa
jl 0x44d92e
cmp dword [0x4b2cc8], 0x258
jle 0x44dc49
cmp byte [0x4a8374], bl
je 0x44dc49
cmp byte [0x4b2cd5], bl
jne 0x44d9a7
call fcn.00463f1c
fnstcw word [ebp - 0x622]
mov dword [ebp - 0x628], eax
fild dword [ebp - 0x628]
movzx eax, word [ebp - 0x622]
or eax, 0xc00
mov dword [ebp - 0x628], eax
fmul qword [0x49c6b8]
fmul qword [0x497ab8]
fldcw word [ebp - 0x628]
fistp qword [ebp - 0x62c]
mov eax, dword [ebp - 0x62c]
fldcw word [ebp - 0x622]
jmp 0x44d9f7
mov dword [0x4b2ccc], 9
mov dword [0x4b2cc8], 0x3d
jmp 0x44d92e
call fcn.00463f1c
fnstcw word [ebp - 0x622]
mov dword [ebp - 0x628], eax
fild dword [ebp - 0x628]
movzx eax, word [ebp - 0x622]
or eax, 0xc00
mov dword [ebp - 0x628], eax
fmul qword [0x499ce0]
fmul qword [0x497ab8]
fldcw word [ebp - 0x628]
fistp qword [ebp - 0x62c]
mov eax, dword [ebp - 0x62c]
add eax, 0x50
fldcw word [ebp - 0x622]
mov dword [0x4b2cd0], eax
mov byte [0x4a8374], bl
mov byte [0x4b2cd4], bl
cmp eax, 0x14
jge 0x44da5f
mov ecx, dword [0x4b6048]
fld dword [0x49cb5c]
mov dword [0x4b2cc4], ebx
mov byte [ecx + 0xf4], 1
mov edx, dword [0x4c515c]
mov byte [edx + 0xf4], bl
mov eax, dword [0x4b6048]
fstp dword [eax + 0xc8]
mov ecx, dword [0x4b5978]
push 0x48f
push ecx
call edi
mov edx, dword [0x4b5978]
push ebx
push 0x1e
push 0x48f
push edx
jmp 0x44dc35
cmp eax, 0x28
jge 0x44dab9
mov eax, dword [0x4b6048]
fld dword [0x49cb58]
mov dword [0x4b2cc4], 3
mov byte [eax + 0xf4], 1
mov ecx, dword [0x4c515c]
mov byte [ecx + 0xf4], bl
mov edx, dword [0x4b6048]
fstp dword [edx + 0xc8]
mov eax, dword [0x4b5978]
push 0x48f
push eax
call edi
mov ecx, dword [0x4b5978]
push ebx
push 0x1e
push 0x48f
push ecx
jmp 0x44dc35
cmp eax, 0x3c
jge 0x44dad3
fld dword [0x498828]
mov dword [0x4b2cc4], 1
jmp 0x44dbf5
cmp eax, 0x50
jge 0x44db2e
mov ecx, dword [0x4c5864]
fld dword [0x497f60]
mov dword [0x4b2cc4], 4
mov byte [ecx + 0xf4], 1
mov edx, dword [0x4c563c]
mov byte [edx + 0xf4], bl
mov eax, dword [0x4c5864]
fstp dword [eax + 0xc8]
mov ecx, dword [0x4b5978]
push 0x48f
push ecx
call edi
mov edx, dword [0x4b5978]
push ebx
push 0x1e
push 0x48f
push edx
jmp 0x44dc35
mov dword [0x4b2cd8], ebx
mov dword [0x4b2cdc], ebx
cmp eax, 0x64
jge 0x44dbbb
mov eax, dword [0x4b6048]
fld dword [0x49cb5c]
mov dword [0x4b2cc4], 2
mov byte [eax + 0xf4], 1
mov ecx, dword [0x4c515c]
mov byte [ecx + 0xf4], bl
mov edx, dword [0x4b6048]
fstp dword [edx + 0xc8]
mov eax, dword [0x4c5864]
fld dword [0x498828]
mov byte [eax + 0xf4], 1
mov ecx, dword [0x4c563c]
mov byte [ecx + 0xf4], bl
mov edx, dword [0x4c5864]
fstp dword [edx + 0xc8]
mov eax, dword [0x4b5978]
push 0x48f
push eax
call edi
mov ecx, dword [0x4b5978]
push ebx
push 0x1e
push 0x48f
push ecx
jmp 0x44dc35
mov edx, dword [0x4b6048]
fld dword [0x49cb58]
mov dword [0x4b2cc4], 5
mov byte [edx + 0xf4], 1
mov eax, dword [0x4c515c]
mov byte [eax + 0xf4], bl
mov ecx, dword [0x4b6048]
fstp dword [ecx + 0xc8]
fld dword [0x497f60]
mov edx, dword [0x4c5864]
mov byte [edx + 0xf4], 1
mov eax, dword [0x4c563c]
mov byte [eax + 0xf4], bl
mov ecx, dword [0x4c5864]
fstp dword [ecx + 0xc8]
mov edx, dword [0x4b5978]
push 0x48f
push edx
call edi
mov eax, dword [0x4b5978]
push ebx
push 0x1e
push 0x48f
push eax
call esi
mov dword [0x4b2ce4], ebx
mov dword [0x4b2ce0], ebx
mov dword [0x4b2cc8], ebx
mov esi, dword [ebp - 0x614]
cmp byte [0x4a880d], bl
jne 0x44ddf5
mov eax, dword [0x4b281c]
cmp ax, si
ja 0x44dcd9
mov ecx, dword [0x4a857c]
mov edx, dword [0x4b6024]
cmp ecx, dword [0x4b2c6c]
jg 0x44dc96
cmp dword [edx + 0xa4], 1
jne 0x44dc96
movzx edi, ax
movzx ecx, si
sub ecx, edi
add dword [0x4b563c], ecx
add dword [0x4b2970], ecx
mov ecx, dword [0x4a8578]
cmp ecx, dword [0x4b2c5c]
jg 0x44dcc0
cmp dword [edx + 0xa4], ebx
jne 0x44dcc0
movzx edi, ax
movzx ecx, si
sub ecx, edi
add dword [0x4b5640], ecx
add dword [0x4b2974], ecx
movzx eax, ax
movzx ecx, si
sub eax, ecx
add dword [0x4a8614], eax
add dword [0x4a8610], eax
jmp 0x44dd83
mov edx, dword [0x4a857c]
cmp edx, dword [0x4b2c6c]
mov edx, dword [0x4b6024]
jg 0x44dd1e
cmp dword [edx + 0xa4], 1
jne 0x44dd1e
movzx edi, ax
movzx ecx, si
sub ecx, edi
mov edi, dword [0x4b563c]
lea edi, [edi + ecx + 0x3c]
mov dword [0x4b563c], edi
mov edi, dword [0x4b2970]
lea ecx, [edi + ecx + 0x3c]
mov dword [0x4b2970], ecx
mov ecx, dword [0x4a8578]
cmp ecx, dword [0x4b2c5c]
jg 0x44dd5c
cmp dword [edx + 0xa4], ebx
jne 0x44dd5c
movzx edi, ax
movzx ecx, si
sub ecx, edi
mov edi, dword [0x4b5640]
lea edi, [edi + ecx + 0x3c]
mov dword [0x4b5640], edi
mov edi, dword [0x4b2974]
lea ecx, [edi + ecx + 0x3c]
mov dword [0x4b2974], ecx
movzx eax, ax
movzx ecx, si
sub eax, ecx
mov ecx, dword [0x4a8614]
lea ecx, [ecx + eax - 0x3c]
mov dword [0x4a8614], ecx
mov ecx, dword [0x4a8610]
lea eax, [ecx + eax - 0x3c]
mov dword [0x4a8610], eax
cmp dword [0x4a8614], ebx
jg 0x44ddbe
mov eax, dword [0x4b5644]
mov ecx, dword [eax*4 + 0x4b2858]
xor edx, edx
inc eax
mov edi, 0xa
div edi
mov dword [0x4a8614], 0x168
add dword [edx*4 + 0x4b2858], ecx
mov dword [0x4b5644], edx
mov edx, dword [0x4b6024]
cmp dword [0x4a8610], ebx
jg 0x44ddf5
mov dword [0x4a8610], 0xe10
mov dword [0x4b5644], ebx
mov dword [0x4a8614], 0x168
cmp dword [edx + 0xa4], 1
jne 0x44ddf0
call fcn.00409190
jmp 0x44ddf5
call fcn.004093e0
mov ecx, dword [ebp - 0x620]
mov edx, dword [ebp - 0x61c]
mov eax, dword [ebp - 0x618]
mov dword [0x4b2810], ecx
mov dword [0x4b2814], edx
mov dword [0x4b2818], eax
mov dword [0x4b281c], esi
cmp byte [0x4a7052], bl
je 0x44dfec
cmp dword [0x4a8628], ebx
jl 0x44de3d
dec dword [0x4a8628]
jmp 0x44dfec
lea ecx, [ebp - 0x63c]
push ecx
mov dword [0x4a8628], 3
call fcn.0044d220
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 - 0x638]
mov esi, dword [ebp - 0x63c]
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 0x44dfb0
mov dword [ebp - 0x624], ebx
mov eax, dword [ebp - 0x624]
add eax, esi
cmp dword [eax + 0x14], 0x10
jb 0x44deaa
mov eax, dword [eax]
movsx edx, byte [eax]
push str.PGO_Setup.exe
push 0x49cb34
push edx
lea eax, [ebp - 0x410]
push str._c_s_s
push eax
call fcn.00409550
lea ecx, [ebp - 0x410]
push 0x497df4
push ecx
call fcn.004644f9
push edi
mov dword [ebp - 0x628], eax
call fcn.0044d400
add esp, 0x20
mov esi, eax
sub eax, ebx
je 0x44df22
dec eax
je 0x44df0f
dec eax
je 0x44defc
push str.Drive_not_ready_n
jmp 0x44df27
push str.DVD_tray_closed__media_present_n
push 0x100
lea eax, [ebp - 0x210]
push eax
jmp 0x44df33
push str.DVD_tray_open_n
push 0x100
lea ecx, [ebp - 0x210]
push ecx
jmp 0x44df33
push str.DVD_tray_closed__no_media_n
push 0x100
lea edx, [ebp - 0x210]
push edx
call fcn.004646a5
mov eax, dword [ebp - 0x628]
add esp, 0xc
cmp eax, ebx
je 0x44df4e
cmp esi, 2
je 0x44df9b
cmp esi, ebx
je 0x44df9b
mov ecx, dword [0x4c5154]
mov byte [ecx + 0xf4], 1
cmp eax, ebx
je 0x44df68
push eax
call fcn.004643ac
add esp, 4
mov ecx, dword [ebp - 0x638]
mov esi, dword [ebp - 0x63c]
add dword [ebp - 0x624], 0x1c
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc edi
add eax, edx
cmp edi, eax
jb 0x44de9a
jmp 0x44dfb0
mov ecx, dword [0x4c5154]
push eax
mov byte [ecx + 0xf4], bl
call fcn.004643ac
add esp, 4
mov edx, dword [0x4c5154]
cmp byte [edx + 0xf4], bl
je 0x44dfe1
mov eax, dword [0x4b5978]
push 0x480
push eax
mov byte [0x4a7051], bl
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, dword [0x4b5cf8]
mov dword [ecx + 0xa4], ebx
lea ecx, [ebp - 0x63c]
call fcn.0044c430
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.00463931
mov esp, ebp
pop ebp
ret