Function at 0x1028970
Capabilities:
Get common file path
Link many functions at runtime

Disassembly:
sub rsp, 0x178
mov edx, 0x104
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea rcx, [rsp + 0x20]
call fcn.0102a8b0
movsx eax, byte [rsp + rax + 0x1f]
cmp eax, 0x5c
je 0x10289ac
lea rdx, [0x01044e5c]
lea rcx, [rsp + 0x20]
call fcn.0102b070
lea rdx, str.Powrprof.DLL
lea rcx, [rsp + 0x20]
call fcn.0102b070
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x01061678], rax
cmp qword [0x01061678], 0
je 0x1028bec
cmp dword [0x01061624], 5
ja 0x1028a9a
lea rdx, str.GetActivePwrScheme
mov rcx, qword [0x01061678]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x010616a8], rax
cmp qword [0x010616a8], 0
jne 0x1028a23
lea rcx, str.__GetProcAddress__GetActivePwrScheme__failure_n
call qword [0x010671a8]
xor eax, eax
jmp 0x1028c02
lea rdx, str.SetActivePwrScheme
mov rcx, qword [0x01061678]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x010616b0], rax
cmp qword [0x010616b0], 0
jne 0x1028a5c
lea rcx, str.__GetProcAddress__SetActivePwrScheme__failure_n
call qword [0x010671a8]
xor eax, eax
jmp 0x1028c02
lea rdx, str.GetCurrentPowerPolicies
mov rcx, qword [0x01061678]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x010616b8], rax
cmp qword [0x010616b8], 0
jne 0x1028a95
lea rcx, str.__GetProcAddress__GetCurrentPowerPolicies__failure_n
call qword [0x010671a8]
xor eax, eax
jmp 0x1028c02
jmp 0x1028bea
lea rdx, str.PowerGetActiveScheme
mov rcx, qword [0x01061678]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x010616d8], rax
cmp qword [0x010616d8], 0
jne 0x1028ad3
lea rcx, str.__GetProcAddress__PowerGetActiveScheme__failure_n
call qword [0x010671a8]
xor eax, eax
jmp 0x1028c02
lea rdx, str.PowerSetActiveScheme
mov rcx, qword [0x01061678]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x010616e0], rax
cmp qword [0x010616e0], 0
jne 0x1028b0c
lea rcx, str.__GetProcAddress__PowerSetActiveScheme__failure_n
call qword [0x010671a8]
xor eax, eax
jmp 0x1028c02
lea rdx, str.PowerWriteACValueIndex
mov rcx, qword [0x01061678]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x010616e8], rax
cmp qword [0x010616e8], 0
jne 0x1028b45
lea rcx, str.__GetProcAddress__PowerWriteACValueIndex__failure_n
call qword [0x010671a8]
xor eax, eax
jmp 0x1028c02
lea rdx, str.PowerWriteDCValueIndex
mov rcx, qword [0x01061678]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x010616f0], rax
cmp qword [0x010616f0], 0
jne 0x1028b7e
lea rcx, str.__GetProcAddress__PowerWriteDCValueIndex__failure_n
call qword [0x010671a8]
xor eax, eax
jmp 0x1028c02
lea rdx, str.PowerReadACValueIndex
mov rcx, qword [0x01061678]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x010616f8], rax
cmp qword [0x010616f8], 0
jne 0x1028bb4
lea rcx, str.__GetProcAddress__PowerReadACValueIndex__failure_n
call qword [0x010671a8]
xor eax, eax
jmp 0x1028c02
lea rdx, str.PowerReadDCValueIndex
mov rcx, qword [0x01061678]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x01061700], rax
cmp qword [0x01061700], 0
jne 0x1028bea
lea rcx, str.__GetProcAddress__PowerReadDCValueIndex__failure_n
call qword [0x010671a8]
xor eax, eax
jmp 0x1028c02
jmp 0x1028bfd
lea rcx, str.__LoadLibrary_failure_n
call qword [0x010671a8]
xor eax, eax
jmp 0x1028c02
mov eax, 1
add rsp, 0x178
ret