Function at 0x42e590
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4707e8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c4
push ebx
push esi
push edi
mov byte [ebp - 0x248], 0
xor eax, eax
mov ecx, 0x7f
lea edi, [ebp - 0x247]
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 [ebp - 0x10], ebx
xor esi, esi
mov dword [ebp - 0x28], vtable.CModule.0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x24], eax
cmp eax, ebx
mov dword [ebp - 4], ebx
jne 0x42e661
xor eax, eax
mov ecx, 0x80
lea edi, [ebp - 0x6d0]
rep stosd dword es:[edi], eax
mov ecx, 0x80
lea edi, [ebp - 0x4d0]
rep stosd dword es:[edi], eax
mov ecx, 0x22
lea edi, [ebp - 0x2d0]
rep stosd dword es:[edi], eax
push 0x200
lea eax, [ebp - 0x4d0]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea ecx, [ebp - 0x4d0]
push ecx
lea edx, [ebp - 0x6d0]
push str._s_atimuixx.dll
push edx
call fcn.00460f01
add esp, 0xc
push 0x4000
lea eax, [ebp - 0x2d0]
push eax
lea ecx, [ebp - 0x6d0]
push ecx
call dword [sym.imp.KERNEL32.dll_OpenFile]
cmp eax, 0xffffffff
je 0x42e666
mov esi, 1
push 0x10
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
lea edx, [ebp - 0x10]
push edx
push ebx
mov dword [ebp - 0x10], eax
call dword [0x49b6ac]
push 0x49a3f0
push 0x49a3e0
push ebx
call dword [0x49b69c]
cmp esi, ebx
je 0x42e6a1
push str.__SystemRoot__system32_atimuixx.dll__102_ATI_Graphics_Power_Settings
lea eax, [ebp - 0x248]
push eax
jmp 0x42e6ad
push str.ATI_Graphics_Power_Settings
lea ecx, [ebp - 0x248]
push ecx
call fcn.00461fc3
lea edx, [ebp - 0x248]
add esp, 8
push edx
call fcn.00461f7b
lea eax, [eax + eax + 2]
add esp, 4
mov dword [ebp - 0x14], eax
mov edi, 0x49a430
mov ebx, 3
mov ecx, dword [ebp - 0x14]
push ecx
lea edx, [ebp - 0x248]
push edx
push 0
push 0x49a3e0
push edi
push 0
call dword [0x49b6a4]
add edi, 0x10
dec ebx
jne 0x42e6d5
test esi, esi
je 0x42e708
push str.__SystemRoot__system32_atimuixx.dll__101_ATI_PowerPlay_Settings
lea eax, [ebp - 0x248]
push eax
jmp 0x42e714
push str.ATI_PowerPlay_Settings
lea ecx, [ebp - 0x248]
push ecx
call fcn.00461fc3
lea edx, [ebp - 0x248]
add esp, 8
push edx
call fcn.00461f7b
lea eax, [eax + eax + 2]
add esp, 4
mov dword [ebp - 0x14], eax
mov edi, 0x49a430
mov ebx, 3
lea esp, [esp]
mov ecx, dword [ebp - 0x14]
push ecx
lea edx, [ebp - 0x248]
push edx
push 0x49a3f0
push 0x49a3e0
push edi
push 0
call dword [0x49b6a4]
add edi, 0x10
dec ebx
jne 0x42e740
mov ebx, dword [ebp + 8]
xor edi, edi
test ebx, ebx
jbe 0x42e788
lea ecx, [ecx]
push edi
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6a0]
inc edi
cmp edi, ebx
jb 0x42e770
add ebx, 0xfffffffe
cmp ebx, 3
ja case.default.0x42e794
jmp dword [ebx*4 + 0x42ef24]
test esi, esi
je 0x42e7ad
push str.__SystemRoot__system32_atimuixx.dll__103_Maximum_Battery_Life
lea eax, [ebp - 0x248]
push eax
jmp 0x42e7b9
push str.Maximum_Battery_Life
lea ecx, [ebp - 0x248]
push ecx
call fcn.00461fc3
lea edx, [ebp - 0x248]
add esp, 8
push edx
call fcn.00461f7b
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x248]
push eax
push 0
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6a8]
mov edi, dword [ebp + 0x14]
push 4
push edi
push 0
push 4
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6c0]
test esi, esi
je 0x42e81e
push str.__SystemRoot__system32_atimuixx.dll__107_Maximum_Performance
lea ecx, [ebp - 0x248]
push ecx
jmp 0x42e82a
push str.Maximum_Performance
lea edx, [ebp - 0x248]
push edx
call fcn.00461fc3
lea eax, [ebp - 0x248]
add esp, 8
push eax
call fcn.00461f7b
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea ecx, [ebp - 0x248]
push ecx
push 1
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6a8]
push 4
add edi, 4
push edi
push 1
jmp 0x42ed88
test esi, esi
je 0x42e880
push str.__SystemRoot__system32_atimuixx.dll__103_Maximum_Battery_Life
lea edx, [ebp - 0x248]
push edx
jmp 0x42e88c
push str.Maximum_Battery_Life
lea eax, [ebp - 0x248]
push eax
call fcn.00461fc3
lea ecx, [ebp - 0x248]
add esp, 8
push ecx
call fcn.00461f7b
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea edx, [ebp - 0x248]
push edx
push 0
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6a8]
mov edi, dword [ebp + 0x14]
push 4
push edi
push 0
push 4
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6c0]
test esi, esi
je 0x42e8f1
push str.__SystemRoot__system32_atimuixx.dll__105_Balanced
lea eax, [ebp - 0x248]
push eax
jmp 0x42e8fd
push str.Balanced
lea ecx, [ebp - 0x248]
push ecx
call fcn.00461fc3
lea edx, [ebp - 0x248]
add esp, 8
push edx
call fcn.00461f7b
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x248]
push eax
push 1
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6a8]
push 4
lea ecx, [edi + 4]
push ecx
push 1
push 4
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6c0]
test esi, esi
je 0x42e962
push str.__SystemRoot__system32_atimuixx.dll__107_Maximum_Performance
lea edx, [ebp - 0x248]
push edx
jmp 0x42e96e
push str.Maximum_Performance
lea eax, [ebp - 0x248]
push eax
call fcn.00461fc3
lea ecx, [ebp - 0x248]
add esp, 8
push ecx
call fcn.00461f7b
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea edx, [ebp - 0x248]
push edx
push 2
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6a8]
push 4
add edi, 8
push edi
push 2
jmp 0x42ed88
test esi, esi
je 0x42e9c4
push str.__SystemRoot__system32_atimuixx.dll__103_Maximum_Battery_Life
lea eax, [ebp - 0x248]
push eax
jmp 0x42e9d0
push str.Maximum_Battery_Life
lea ecx, [ebp - 0x248]
push ecx
call fcn.00461fc3
lea edx, [ebp - 0x248]
add esp, 8
push edx
call fcn.00461f7b
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x248]
push eax
push 0
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6a8]
mov edi, dword [ebp + 0x14]
push 4
push edi
push 0
push 4
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6c0]
test esi, esi
je 0x42ea35
push str.__SystemRoot__system32_atimuixx.dll__104_High_Battery_Life
lea ecx, [ebp - 0x248]
push ecx
jmp 0x42ea41
push str.High_Battery_Life
lea edx, [ebp - 0x248]
push edx
call fcn.00461fc3
lea eax, [ebp - 0x248]
add esp, 8
push eax
call fcn.00461f7b
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea ecx, [ebp - 0x248]
push ecx
push 1
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6a8]
push 4
lea edx, [edi + 4]
push edx
push 1
push 4
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6c0]
test esi, esi
je 0x42eaa6
push str.__SystemRoot__system32_atimuixx.dll__106_High_Performance
lea eax, [ebp - 0x248]
push eax
jmp 0x42eab2
push str.High_Performance
lea ecx, [ebp - 0x248]
push ecx
call fcn.00461fc3
lea edx, [ebp - 0x248]
add esp, 8
push edx
call fcn.00461f7b
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x248]
push eax
push 2
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6a8]
push 4
lea ecx, [edi + 8]
push ecx
push 2
push 4
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6c0]
test esi, esi
je 0x42eb17
push str.__SystemRoot__system32_atimuixx.dll__107_Maximum_Performance
lea edx, [ebp - 0x248]
push edx
jmp 0x42eb23
push str.Maximum_Performance
lea eax, [ebp - 0x248]
push eax
call fcn.00461fc3
lea ecx, [ebp - 0x248]
add esp, 8
push ecx
call fcn.00461f7b
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea edx, [ebp - 0x248]
push edx
push 3
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6a8]
push 4
add edi, 0xc
push edi
push 3
jmp 0x42ed88
test esi, esi
je 0x42eb79
push str.__SystemRoot__system32_atimuixx.dll__103_Maximum_Battery_Life
lea eax, [ebp - 0x248]
push eax
jmp 0x42eb85
push str.Maximum_Battery_Life
lea ecx, [ebp - 0x248]
push ecx
call fcn.00461fc3
lea edx, [ebp - 0x248]
add esp, 8
push edx
call fcn.00461f7b
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x248]
push eax
push 0
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6a8]
mov edi, dword [ebp + 0x14]
push 4
push edi
push 0
push 4
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6c0]
test esi, esi
je 0x42ebea
push str.__SystemRoot__system32_atimuixx.dll__104_High_Battery_Life
lea ecx, [ebp - 0x248]
push ecx
jmp 0x42ebf6
push str.High_Battery_Life
lea edx, [ebp - 0x248]
push edx
call fcn.00461fc3
lea eax, [ebp - 0x248]
add esp, 8
push eax
call fcn.00461f7b
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea ecx, [ebp - 0x248]
push ecx
push 1
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6a8]
push 4
lea edx, [edi + 4]
push edx
push 1
push 4
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6c0]
test esi, esi
je 0x42ec5b
push str.__SystemRoot__system32_atimuixx.dll__105_Balanced
lea eax, [ebp - 0x248]
push eax
jmp 0x42ec67
push str.Balanced
lea ecx, [ebp - 0x248]
push ecx
call fcn.00461fc3
lea edx, [ebp - 0x248]
add esp, 8
push edx
call fcn.00461f7b
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x248]
push eax
push 2
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6a8]
push 4
lea ecx, [edi + 8]
push ecx
push 2
push 4
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6c0]
test esi, esi
je 0x42eccc
push str.__SystemRoot__system32_atimuixx.dll__106_High_Performance
lea edx, [ebp - 0x248]
push edx
jmp 0x42ecd8
push str.High_Performance
lea eax, [ebp - 0x248]
push eax
call fcn.00461fc3
lea ecx, [ebp - 0x248]
add esp, 8
push ecx
call fcn.00461f7b
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea edx, [ebp - 0x248]
push edx
push 3
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6a8]
push 4
lea eax, [edi + 0xc]
push eax
push 3
push 4
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6c0]
test esi, esi
je 0x42ed3d
push str.__SystemRoot__system32_atimuixx.dll__107_Maximum_Performance
lea ecx, [ebp - 0x248]
push ecx
jmp 0x42ed49
push str.Maximum_Performance
lea edx, [ebp - 0x248]
push edx
call fcn.00461fc3
lea eax, [ebp - 0x248]
add esp, 8
push eax
call fcn.00461f7b
add esp, 4
lea eax, [eax + eax + 2]
push eax
lea ecx, [ebp - 0x248]
push ecx
push 4
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6a8]
push 4
add edi, 0x10
push edi
push 4
push 4
push 0x49a3f0
push 0x49a3e0
push 0
call dword [0x49b6c0]
mov ebx, dword [ebp + 0x10]
mov esi, 0x49a430
mov edi, 3
lea esp, [esp]
mov edx, dword [ebp + 0xc]
push edx
push 0x49a3f0
push 0x49a3e0
push esi
push 0
call dword [0x49b6b8]
push ebx
push 0x49a3f0
push 0x49a3e0
push esi
push 0
call dword [0x49b6bc]
add esi, 0x10
dec edi
jne 0x42edb0
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x20], ecx
lea edx, [ebp - 0x48]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], ecx
push edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], ecx
call fcn.00444e50
push 0
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x48]
push ecx
call fcn.0044e1b0
add esp, 0x10
test eax, eax
mov eax, dword [0x49a0e8]
je 0x42ee38
test eax, 0x10000
je 0x42ee4c
push str.CDisplayDeviceMan::CreateDPPEIndex:_Ati_AdapterPowerXpressGetConfig_ok_n
jmp 0x42ee44
test eax, 0x10000
je 0x42ee4c
push str.CDisplayDeviceMan::CreateDPPEIndex:_Ati_AdapterPowerXpressGetConfig_fail_n
call fcn.0040acd0
add esp, 4
mov eax, dword [ebp - 0x1c]
cmp eax, 1
je 0x42eea6
cmp eax, 2
jne 0x42eef7
mov eax, dword [0x49b5fc]
mov esi, dword [0x49b600]
cmp eax, 0xffffffff
je 0x42eeb3
cmp esi, 0xffffffff
je 0x42eeb3
mov edx, dword [ebp - 0x10]
push eax
push 0x49a3f0
push 0x49a3e0
push edx
push 0
call dword [0x49b6d8]
mov eax, dword [ebp - 0x10]
push esi
push 0x49a3f0
push 0x49a3e0
push eax
push 0
call dword [0x49b6dc]
mov ecx, dword [ebp - 0x10]
push ecx
jmp 0x42eeef
mov eax, dword [0x49b604]
mov esi, dword [0x49b608]
jmp 0x42ee68
mov al, byte [ebp + 0x18]
test al, al
je 0x42eef7
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
push edx
push 0x49a3f0
push 0x49a3e0
push eax
push 0
call dword [0x49b6d8]
mov ecx, dword [ebp - 0x10]
push ebx
push 0x49a3f0
push 0x49a3e0
push ecx
push 0
call dword [0x49b6dc]
mov edx, dword [ebp - 0x10]
push edx
push 0
call dword [0x49b6b0]
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x24]
test eax, eax
pop edi
pop esi
pop ebx
je 0x42ef12
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x14