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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
mov eax, dword [0x44d890]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x104
lea eax, [ebp - 0x150]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea ecx, [ebp - 0x150]
push ecx
call fcn.00425bc0
add esp, 4
movsx edx, byte [ebp + eax - 0x151]
cmp edx, 0x5c
je 0x405225
push 0x43d134
lea eax, [ebp - 0x150]
push eax
call fcn.00426640
add esp, 8
push str.Powrprof.DLL
lea ecx, [ebp - 0x150]
push ecx
call fcn.00426640
add esp, 8
lea edx, [ebp - 0x150]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x44ee60], eax
cmp dword [0x44ee60], 0
je 0x40543d
cmp dword [0x44ee58], 5
ja 0x405308
push str.GetActivePwrScheme
mov eax, dword [0x44ee60]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x44ee7c], eax
cmp dword [0x44ee7c], 0
jne 0x405299
push str.__GetProcAddress__GetActivePwrScheme__failure_n
call dword [0x44eb74]
add esp, 4
xor eax, eax
jmp 0x405454
push str.SetActivePwrScheme
mov ecx, dword [0x44ee60]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x44ee80], eax
cmp dword [0x44ee80], 0
jne 0x4052ce
push str.__GetProcAddress__SetActivePwrScheme__failure_n
call dword [0x44eb74]
add esp, 4
xor eax, eax
jmp 0x405454
push str.GetCurrentPowerPolicies
mov edx, dword [0x44ee60]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x44ee84], eax
cmp dword [0x44ee84], 0
jne 0x405303
push str.__GetProcAddress__GetCurrentPowerPolicies__failure_n
call dword [0x44eb74]
add esp, 4
xor eax, eax
jmp 0x405454
jmp 0x40543b
push str.PowerGetActiveScheme
mov eax, dword [0x44ee60]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x44ee94], eax
cmp dword [0x44ee94], 0
jne 0x40533c
push str.__GetProcAddress__PowerGetActiveScheme__failure_n
call dword [0x44eb74]
add esp, 4
xor eax, eax
jmp 0x405454
push str.PowerSetActiveScheme
mov ecx, dword [0x44ee60]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x44ee98], eax
cmp dword [0x44ee98], 0
jne 0x405371
push str.__GetProcAddress__PowerSetActiveScheme__failure_n
call dword [0x44eb74]
add esp, 4
xor eax, eax
jmp 0x405454
push str.PowerWriteACValueIndex
mov edx, dword [0x44ee60]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x44ee9c], eax
cmp dword [0x44ee9c], 0
jne 0x4053a6
push str.__GetProcAddress__PowerWriteACValueIndex__failure_n
call dword [0x44eb74]
add esp, 4
xor eax, eax
jmp 0x405454
push str.PowerWriteDCValueIndex
mov eax, dword [0x44ee60]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x44eea0], eax
cmp dword [0x44eea0], 0
jne 0x4053d7
push str.__GetProcAddress__PowerWriteDCValueIndex__failure_n
call dword [0x44eb74]
add esp, 4
xor eax, eax
jmp 0x405454
push str.PowerReadACValueIndex
mov ecx, dword [0x44ee60]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x44eea4], eax
cmp dword [0x44eea4], 0
jne 0x405409
push str.__GetProcAddress__PowerReadACValueIndex__failure_n
call dword [0x44eb74]
add esp, 4
xor eax, eax
jmp 0x405454
push str.PowerReadDCValueIndex
mov edx, dword [0x44ee60]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x44eea8], eax
cmp dword [0x44eea8], 0
jne 0x40543b
push str.__GetProcAddress__PowerReadDCValueIndex__failure_n
call dword [0x44eb74]
add esp, 4
xor eax, eax
jmp 0x405454
jmp 0x40544f
push 0x43d3e4
call dword [0x44eb74]
add esp, 4
xor eax, eax
jmp 0x405454
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00426728
mov esp, ebp
pop ebp
ret