Function at 0x1400ec030
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbx
push rdi
push r12
push r13
sub rsp, 0x88
mov rax, qword [0x1402854d8]
xor rax, rsp
mov qword [rsp + 0x78], rax
xor r12d, r12d
lea rcx, [0x1402896d8]
mov edi, r12d
call qword [sym.imp.KERNEL32.DLL_AcquireSRWLockExclusive]
cmp qword [0x14028d6e0], rdi
jne 0x1400ec2e5
lea r13, str.api_ms_win_power_limitsmanagement_l1_1_0.dll
mov rcx, r13
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400ec0b4
bt eax, 0xa
jae 0x1400ec0b4
mov rcx, r13
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400ec0a4
test al, 0x10
je 0x1400ec0a4
mov rcx, r13
call fcn.1401338c4
jmp 0x1400ec0ac
mov rcx, r13
call fcn.14011868c
test eax, eax
jne 0x1400ec14d
mov ecx, 0x18
call fcn.140115d38
mov rbx, rax
test rax, rax
je 0x1400ec14d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
xor edx, edx
mov qword [rbx + 0x10], rax
mov r8d, 0x1000
mov rcx, r13
call qword [sym.imp.KERNEL32.DLL_LoadLibraryExA]
mov qword [rbx], rax
call qword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [rbx + 8], eax
mov qword [0x14028d6e0], rbx
cmp qword [rbx], rdi
jne 0x1400ec2e5
mov edi, 0x709
cmp eax, 0xc1
ja case.0x1400ec12a.1
lea rdx, [0x140000000]
mov eax, eax
movzx eax, byte [rdx + rax + 0xec330]
mov ecx, dword [rdx + rax*4 + 0xec318]
add rcx, rdx
jmp rcx
mov edi, r12d
jmp case.0x1400ec12a.1
mov edi, 0xbb8
jmp case.0x1400ec12a.1
mov edi, 0x3e8
jmp case.0x1400ec12a.1
mov edi, 0x3ea
jmp case.0x1400ec12a.1
mov edi, 0x708
jmp case.0x1400ec12a.1
mov edi, 0x8fc
mov qword [0x14028d6e0], r12
cmp dword [0x14027edf0], 3
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0x80], r15
jl 0x1400ec180
test byte [0x14027ee54], 4
mov esi, 1
jne 0x1400ec183
mov esi, r12d
mov edx, 3
lea ecx, [rdx + 1]
call fcn.1400e8cc0
mov r15d, eax
test esi, esi
jne 0x1400ec19f
test eax, eax
je 0x1400ec292
mov qword [rsp + 0xb0], rbp
mov rbp, qword [0x14028d6e0]
mov qword [rsp + 0xc0], r14
lea r14, [0x140186a6c]
test rbp, rbp
je 0x1400ec228
cmp dword [rbp + 8], r12d
je 0x1400ec228
mov rcx, qword [rbp + 0x10]
lea rax, str.Library
mov qword [rsp + 0x60], rax
lea rbx, [rbp + 0x10]
lea rax, [0x14018443b]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
call qword [sym.imp.KERNEL32.DLL_LocalFree]
mov r8d, dword [rbp + 8]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
xor r9d, r9d
mov dword [rsp + 0x28], r12d
xor edx, edx
mov ecx, 0x3100
mov qword [rsp + 0x20], rbx
mov qword [rbx], r12
call qword [sym.imp.KERNEL32.DLL_FormatMessageA]
mov rax, qword [rbx]
test rax, rax
cmovne r14, rax
mov ecx, edi
call fcn.1400ec990
mov qword [rsp + 0x58], r14
mov r9d, 3
mov dword [rsp + 0x50], edi
mov edx, r15d
mov qword [rsp + 0x48], rax
mov ecx, esi
mov qword [rsp + 0x40], r13
lea rax, str.esif_ccb_library_load____s_failed___s___d__:__s_n
mov qword [rsp + 0x38], rax
lea r8d, [r9 + 1]
lea rax, str.C:jenkinsworkspacedptfSrcESIFProductsESIF_UFSourceswinesif_uf_thermalapi_os_win.c
mov dword [rsp + 0x30], 0xb0
mov qword [rsp + 0x28], rax
lea rax, str.ThermalApi_LoadLibrary
mov qword [rsp + 0x20], rax
call fcn.1400bfc30
mov r14, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xb0]
mov rbx, qword [0x14028d6e0]
mov r15, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xb8]
test rbx, rbx
je 0x1400ec2da
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400ec2bc
call qword [sym.imp.KERNEL32.DLL_FreeLibrary]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.DLL_LocalFree]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov rcx, rbx
mov qword [rbx + 0x10], rax
call fcn.140115d24
mov qword [0x14028d6e0], r12
test edi, edi
jne 0x1400ec2eb
inc dword [0x1402896ec]
lea rcx, [0x1402896d8]
call qword [sym.imp.KERNEL32.DLL_ReleaseSRWLockExclusive]
mov eax, edi
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140106650
add rsp, 0x88
pop r13
pop r12
pop rdi
pop rbx
ret