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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r15
sub rsp, 0x70
mov rax, qword [0x140214ec8]
xor rax, rsp
mov qword [rsp + 0x68], rax
lea rcx, [0x140219618]
xor edi, edi
call qword [sym.imp.KERNEL32.DLL_AcquireSRWLockExclusive]
cmp qword [0x14021b6a0], rdi
jne 0x140094c05
lea r15, str.api_ms_win_power_limitsmanagement_l1_1_0.dll
mov rcx, r15
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140094a27
bt eax, 0xa
jae 0x140094a27
mov rcx, r15
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140094a17
test al, 0x10
je 0x140094a17
mov rcx, r15
call fcn.1400d8df4
jmp 0x140094a1f
mov rcx, r15
call fcn.1400bdbbc
test eax, eax
jne 0x140094ac2
mov ecx, 0x18
call fcn.1400bb268
mov rsi, rax
test rax, rax
je 0x140094ac2
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
xor edx, edx
mov qword [rsi + 0x10], rax
mov r8d, 0x1000
mov rcx, r15
call qword [sym.imp.KERNEL32.DLL_LoadLibraryExA]
mov qword [rsi], rax
call qword [sym.imp.KERNEL32.DLL_GetLastError]
mov rbx, rsi
mov dword [rsi + 8], eax
mov qword [0x14021b6a0], rbx
cmp qword [rsi], rdi
jne 0x140094c05
mov edi, 0x709
cmp eax, 0xc1
ja case.0x140094aa0.1
lea rdx, [0x140000000]
mov eax, eax
movzx eax, byte [rdx + rax + 0x94c58]
mov ecx, dword [rdx + rax*4 + 0x94c40]
add rcx, rdx
jmp rcx
xor edi, edi
jmp case.0x140094aa0.1
mov edi, 0xbb8
jmp case.0x140094aa0.1
mov edi, 0x3e8
jmp case.0x140094aa0.1
mov edi, 0x3ea
jmp case.0x140094aa0.1
mov edi, 0x708
jmp case.0x140094aa0.1
xor esi, esi
mov edi, 0x8fc
xor ebx, ebx
mov qword [0x14021b6a0], rbx
cmp dword [0x14020e430], 3
jl 0x140094bc5
test byte [0x14020e494], 4
je 0x140094bc5
mov qword [rsp + 0x80], rbp
lea rbp, [0x140128798]
test rsi, rsi
je 0x140094b6d
cmp dword [rsi + 8], 0
je 0x140094b6d
mov rcx, qword [rsi + 0x10]
lea rax, str.Library
mov qword [rsp + 0x50], rax
lea rbx, [rsi + 0x10]
lea rax, [0x140127c7b]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
call qword [sym.imp.KERNEL32.DLL_LocalFree]
mov r8d, dword [rsi + 8]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
xor r9d, r9d
mov dword [rsp + 0x28], 0
xor edx, edx
mov ecx, 0x3100
mov qword [rsp + 0x20], rbx
mov qword [rbx], 0
call qword [sym.imp.KERNEL32.DLL_FormatMessageA]
mov rax, qword [rbx]
test rax, rax
cmovne rbp, rax
mov ecx, edi
call fcn.140095250
mov qword [rsp + 0x48], rbp
lea r9, str.C:jenkinsworkspacedptfSrcESIFProductsESIF_UFSourceswinesif_uf_thermalapi_os_win.c
mov dword [rsp + 0x40], edi
lea r8, str.ThermalApi_LoadLibrary
mov qword [rsp + 0x38], rax
mov edx, 3
lea rax, str.esif_ccb_library_load____s_failed___s___d__:__s_n
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xb0
lea ecx, [rdx + 1]
call fcn.140078180
mov rbx, qword [0x14021b6a0]
mov rbp, qword [rsp + 0x80]
test rbx, rbx
je 0x140094bf6
mov rcx, qword [rbx]
test rcx, rcx
je 0x140094bd8
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.1400bb254
mov qword [0x14021b6a0], 0
test edi, edi
jne 0x140094c0b
inc dword [0x14021962c]
lea rcx, [0x140219618]
call qword [sym.imp.KERNEL32.DLL_ReleaseSRWLockExclusive]
mov eax, edi
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400abc80
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r15
ret