Function at 0x42e360
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x468e0b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c8
push ebx
push esi
push edi
mov byte [esp + 0x48], 0
xor eax, eax
mov ecx, 0x7f
lea edi, [esp + 0x49]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor ebx, ebx
push str.atimuixx.dll
stosb byte es:[edi], al
mov dword [esp + 0x10], ebx
xor esi, esi
mov dword [esp + 0x24], vtable.CModule.0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [esp + 0x24], eax
cmp eax, ebx
mov dword [esp + 0x6dc], ebx
jne 0x42e43f
xor eax, eax
mov ecx, 0x80
lea edi, [esp + 0x4d0]
rep stosd dword es:[edi], eax
mov ecx, 0x80
lea edi, [esp + 0x2d0]
rep stosd dword es:[edi], eax
mov ecx, 0x22
lea edi, [esp + 0x248]
rep stosd dword es:[edi], eax
push 0x200
lea eax, [esp + 0x2d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea ecx, [esp + 0x2d0]
push ecx
lea edx, [esp + 0x4d4]
push str._s_atimuixx.dll
push edx
call fcn.0045ebd9
add esp, 0xc
push 0x4000
lea eax, [esp + 0x24c]
push eax
lea ecx, [esp + 0x4d8]
push ecx
call dword [sym.imp.KERNEL32.dll_OpenFile]
cmp eax, 0xffffffff
je 0x42e444
mov esi, 1
push 0x10
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
lea edx, [esp + 0xc]
push edx
push ebx
mov dword [esp + 0x14], eax
call dword [0x49110c]
push 0x4903f0
push 0x4903e0
push ebx
call dword [0x4910fc]
cmp esi, ebx
je 0x42e47f
push str.__SystemRoot__system32_atimuixx.dll__102_ATI_Graphics_Power_Settings
lea eax, [esp + 0x4c]
push eax
jmp 0x42e489
push str.ATI_Graphics_Power_Settings
lea ecx, [esp + 0x4c]
push ecx
call fcn.0045fbf2
lea edx, [esp + 0x50]
add esp, 8
push edx
call fcn.0045fbaa
lea eax, [eax + eax + 2]
add esp, 4
mov dword [esp + 0x10], eax
mov edi, 0x490430
mov ebx, 3
mov ecx, dword [esp + 0x10]
push ecx
lea edx, [esp + 0x4c]
push edx
push 0
push 0x4903e0
push edi
push 0
call dword [0x491104]
add edi, 0x10
dec ebx
jne 0x42e4b0
test esi, esi
je 0x42e4e0
push str.__SystemRoot__system32_atimuixx.dll__101_ATI_PowerPlay_Settings
lea eax, [esp + 0x4c]
push eax
jmp 0x42e4ea
push str.ATI_PowerPlay_Settings
lea ecx, [esp + 0x4c]
push ecx
call fcn.0045fbf2
lea edx, [esp + 0x50]
add esp, 8
push edx
call fcn.0045fbaa
lea eax, [eax + eax + 2]
add esp, 4
mov dword [esp + 0x10], eax
mov edi, 0x490430
mov ebx, 3
mov ecx, dword [esp + 0x10]
push ecx
lea edx, [esp + 0x4c]
push edx
push 0x4903f0
push 0x4903e0
push edi
push 0
call dword [0x491104]
add edi, 0x10
dec ebx
jne 0x42e511
mov ebx, dword [ebp + 8]
xor edi, edi
test ebx, ebx
jbe 0x42e558
lea ecx, [ecx]
push edi
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491100]
inc edi
cmp edi, ebx
jb 0x42e540
add ebx, 0xfffffffe
cmp ebx, 3
ja case.default.0x42e564
jmp dword [ebx*4 + 0x42eca0]
test esi, esi
je 0x42e57b
push str.__SystemRoot__system32_atimuixx.dll__103_Maximum_Battery_Life
lea eax, [esp + 0x4c]
push eax
jmp 0x42e585
push str.Maximum_Battery_Life
lea ecx, [esp + 0x4c]
push ecx
call fcn.0045fbf2
lea edx, [esp + 0x50]
add esp, 8
push edx
call fcn.0045fbaa
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea eax, [esp + 0x4c]
push eax
push 0
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491108]
mov edi, dword [ebp + 0x14]
push 4
push edi
push 0
push 4
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491120]
test esi, esi
je 0x42e5e4
push str.__SystemRoot__system32_atimuixx.dll__107_Maximum_Performance
lea ecx, [esp + 0x4c]
push ecx
jmp 0x42e5ee
push str.Maximum_Performance
lea edx, [esp + 0x4c]
push edx
call fcn.0045fbf2
lea eax, [esp + 0x50]
add esp, 8
push eax
call fcn.0045fbaa
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x4c]
push ecx
push 1
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491108]
push 4
add edi, 4
push edi
push 1
jmp 0x42eae8
test esi, esi
je 0x42e63e
push str.__SystemRoot__system32_atimuixx.dll__103_Maximum_Battery_Life
lea edx, [esp + 0x4c]
push edx
jmp 0x42e648
push str.Maximum_Battery_Life
lea eax, [esp + 0x4c]
push eax
call fcn.0045fbf2
lea ecx, [esp + 0x50]
add esp, 8
push ecx
call fcn.0045fbaa
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea edx, [esp + 0x4c]
push edx
push 0
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491108]
mov edi, dword [ebp + 0x14]
push 4
push edi
push 0
push 4
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491120]
test esi, esi
je 0x42e6a7
push str.__SystemRoot__system32_atimuixx.dll__105_Balanced
lea eax, [esp + 0x4c]
push eax
jmp 0x42e6b1
push str.Balanced
lea ecx, [esp + 0x4c]
push ecx
call fcn.0045fbf2
lea edx, [esp + 0x50]
add esp, 8
push edx
call fcn.0045fbaa
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea eax, [esp + 0x4c]
push eax
push 1
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491108]
push 4
lea ecx, [edi + 4]
push ecx
push 1
push 4
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491120]
test esi, esi
je 0x42e710
push str.__SystemRoot__system32_atimuixx.dll__107_Maximum_Performance
lea edx, [esp + 0x4c]
push edx
jmp 0x42e71a
push str.Maximum_Performance
lea eax, [esp + 0x4c]
push eax
call fcn.0045fbf2
lea ecx, [esp + 0x50]
add esp, 8
push ecx
call fcn.0045fbaa
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea edx, [esp + 0x4c]
push edx
push 2
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491108]
push 4
add edi, 8
push edi
push 2
jmp 0x42eae8
test esi, esi
je 0x42e76a
push str.__SystemRoot__system32_atimuixx.dll__103_Maximum_Battery_Life
lea eax, [esp + 0x4c]
push eax
jmp 0x42e774
push str.Maximum_Battery_Life
lea ecx, [esp + 0x4c]
push ecx
call fcn.0045fbf2
lea edx, [esp + 0x50]
add esp, 8
push edx
call fcn.0045fbaa
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea eax, [esp + 0x4c]
push eax
push 0
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491108]
mov edi, dword [ebp + 0x14]
push 4
push edi
push 0
push 4
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491120]
test esi, esi
je 0x42e7d3
push str.__SystemRoot__system32_atimuixx.dll__104_High_Battery_Life
lea ecx, [esp + 0x4c]
push ecx
jmp 0x42e7dd
push str.High_Battery_Life
lea edx, [esp + 0x4c]
push edx
call fcn.0045fbf2
lea eax, [esp + 0x50]
add esp, 8
push eax
call fcn.0045fbaa
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x4c]
push ecx
push 1
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491108]
push 4
lea edx, [edi + 4]
push edx
push 1
push 4
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491120]
test esi, esi
je 0x42e83c
push str.__SystemRoot__system32_atimuixx.dll__106_High_Performance
lea eax, [esp + 0x4c]
push eax
jmp 0x42e846
push str.High_Performance
lea ecx, [esp + 0x4c]
push ecx
call fcn.0045fbf2
lea edx, [esp + 0x50]
add esp, 8
push edx
call fcn.0045fbaa
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea eax, [esp + 0x4c]
push eax
push 2
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491108]
push 4
lea ecx, [edi + 8]
push ecx
push 2
push 4
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491120]
test esi, esi
je 0x42e8a5
push str.__SystemRoot__system32_atimuixx.dll__107_Maximum_Performance
lea edx, [esp + 0x4c]
push edx
jmp 0x42e8af
push str.Maximum_Performance
lea eax, [esp + 0x4c]
push eax
call fcn.0045fbf2
lea ecx, [esp + 0x50]
add esp, 8
push ecx
call fcn.0045fbaa
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea edx, [esp + 0x4c]
push edx
push 3
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491108]
push 4
add edi, 0xc
push edi
push 3
jmp 0x42eae8
test esi, esi
je 0x42e8ff
push str.__SystemRoot__system32_atimuixx.dll__103_Maximum_Battery_Life
lea eax, [esp + 0x4c]
push eax
jmp 0x42e909
push str.Maximum_Battery_Life
lea ecx, [esp + 0x4c]
push ecx
call fcn.0045fbf2
lea edx, [esp + 0x50]
add esp, 8
push edx
call fcn.0045fbaa
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea eax, [esp + 0x4c]
push eax
push 0
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491108]
mov edi, dword [ebp + 0x14]
push 4
push edi
push 0
push 4
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491120]
test esi, esi
je 0x42e968
push str.__SystemRoot__system32_atimuixx.dll__104_High_Battery_Life
lea ecx, [esp + 0x4c]
push ecx
jmp 0x42e972
push str.High_Battery_Life
lea edx, [esp + 0x4c]
push edx
call fcn.0045fbf2
lea eax, [esp + 0x50]
add esp, 8
push eax
call fcn.0045fbaa
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x4c]
push ecx
push 1
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491108]
push 4
lea edx, [edi + 4]
push edx
push 1
push 4
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491120]
test esi, esi
je 0x42e9d1
push str.__SystemRoot__system32_atimuixx.dll__105_Balanced
lea eax, [esp + 0x4c]
push eax
jmp 0x42e9db
push str.Balanced
lea ecx, [esp + 0x4c]
push ecx
call fcn.0045fbf2
lea edx, [esp + 0x50]
add esp, 8
push edx
call fcn.0045fbaa
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea eax, [esp + 0x4c]
push eax
push 2
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491108]
push 4
lea ecx, [edi + 8]
push ecx
push 2
push 4
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491120]
test esi, esi
je 0x42ea3a
push str.__SystemRoot__system32_atimuixx.dll__106_High_Performance
lea edx, [esp + 0x4c]
push edx
jmp 0x42ea44
push str.High_Performance
lea eax, [esp + 0x4c]
push eax
call fcn.0045fbf2
lea ecx, [esp + 0x50]
add esp, 8
push ecx
call fcn.0045fbaa
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea edx, [esp + 0x4c]
push edx
push 3
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491108]
push 4
lea eax, [edi + 0xc]
push eax
push 3
push 4
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491120]
test esi, esi
je 0x42eaa3
push str.__SystemRoot__system32_atimuixx.dll__107_Maximum_Performance
lea ecx, [esp + 0x4c]
push ecx
jmp 0x42eaad
push str.Maximum_Performance
lea edx, [esp + 0x4c]
push edx
call fcn.0045fbf2
lea eax, [esp + 0x50]
add esp, 8
push eax
call fcn.0045fbaa
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x4c]
push ecx
push 4
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491108]
push 4
add edi, 0x10
push edi
push 4
push 4
push 0x4903f0
push 0x4903e0
push 0
call dword [0x491120]
mov ebx, dword [ebp + 0x10]
mov esi, 0x490430
mov edi, 3
lea esp, [esp]
mov edx, dword [ebp + 0xc]
push edx
push 0x4903f0
push 0x4903e0
push esi
push 0
call dword [0x491118]
push ebx
push 0x4903f0
push 0x4903e0
push esi
push 0
call dword [0x49111c]
add esi, 0x10
dec edi
jne 0x42eb10
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
xor ecx, ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x14], ecx
lea edx, [esp + 0x28]
mov dword [esp + 0x40], eax
mov dword [esp + 0x18], ecx
push edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x20], ecx
call fcn.00443c10
push 0
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.0044d370
add esp, 0x10
test eax, eax
mov eax, dword [0x4900e8]
je 0x42eba6
test eax, 0x10000
je 0x42ebba
push str.CDisplayDeviceMan::CreateDPPEIndex:_Ati_AdapterPowerXpressGetConfig_ok_n
jmp 0x42ebb2
test eax, 0x10000
je 0x42ebba
push str.CDisplayDeviceMan::CreateDPPEIndex:_Ati_AdapterPowerXpressGetConfig_fail_n
call fcn.0040aab0
add esp, 4
mov eax, dword [esp + 0x18]
cmp eax, 1
je 0x42ec18
cmp eax, 2
jne 0x42ec6c
mov eax, dword [0x49105c]
mov esi, dword [0x491060]
cmp eax, 0xffffffff
je 0x42ec25
cmp esi, 0xffffffff
je 0x42ec25
mov edx, dword [esp + 0xc]
push eax
push 0x4903f0
push 0x4903e0
push edx
push 0
call dword [0x491138]
mov eax, dword [esp + 0xc]
push esi
push 0x4903f0
push 0x4903e0
push eax
push 0
call dword [0x49113c]
mov ecx, dword [esp + 0xc]
push ecx
jmp 0x42ec64
mov eax, dword [0x491064]
mov esi, dword [0x491068]
jmp 0x42ebd7
mov al, byte [ebp + 0x18]
test al, al
je 0x42ec6c
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
push edx
push 0x4903f0
push 0x4903e0
push eax
push 0
call dword [0x491138]
mov ecx, dword [esp + 0xc]
push ebx
push 0x4903f0
push 0x4903e0
push ecx
push 0
call dword [0x49113c]
mov edx, dword [esp + 0xc]
push edx
push 0
call dword [0x491110]
mov eax, dword [esp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x42ec86
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [esp + 0x6d4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x14