Function at 0x1400903c0
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 [0x140210ef8]
xor rax, rsp
mov qword [rsp + 0x68], rax
lea rcx, [0x1402152f0]
xor edi, edi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
cmp qword [0x1402173c0], rdi
jne 0x140090626
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 0x140090447
bt eax, 0xa
jae 0x140090447
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140090437
test al, 0x10
je 0x140090437
mov rcx, r15
call fcn.1400d2fdc
jmp 0x14009043f
mov rcx, r15
call fcn.1400b6b3c
test eax, eax
jne 0x1400904e3
mov ecx, 0x18
call fcn.1400b5158
mov rsi, rax
test rax, rax
je 0x1400904e3
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 dword [rsi + 8], eax
mov rbx, rsi
mov qword [0x1402173c0], rbx
cmp qword [rsi], rdi
jne 0x140090626
mov eax, dword [rsi + 8]
mov edi, 0x709
cmp eax, 0xc1
ja case.0x1400904c1.1
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x90678]
mov ecx, dword [rdx + rax*4 + 0x90660]
add rcx, rdx
jmp rcx
xor edi, edi
jmp case.0x1400904c1.1
mov edi, 0xbb8
jmp case.0x1400904c1.1
mov edi, 0x3e8
jmp case.0x1400904c1.1
mov edi, 0x3ea
jmp case.0x1400904c1.1
mov edi, 0x708
jmp case.0x1400904c1.1
xor esi, esi
mov edi, 0x8fc
xor ebx, ebx
mov qword [0x1402173c0], rbx
cmp dword [0x14020a150], 3
jl 0x1400905e6
test byte [0x14020a1b4], 4
je 0x1400905e6
mov qword [rsp + 0x80], rbp
lea rbp, [0x140121808]
test rsi, rsi
je 0x14009058e
cmp dword [rsi + 8], 0
je 0x14009058e
mov rcx, qword [rsi + 0x10]
lea rax, str.Library
mov qword [rsp + 0x50], rax
lea rbx, [rsi + 0x10]
lea rax, [0x140120e2b]
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.140090c70
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.140077c20
mov rbx, qword [0x1402173c0]
mov rbp, qword [rsp + 0x80]
test rbx, rbx
je 0x140090617
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400905f9
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.1400b5144
mov qword [0x1402173c0], 0
test edi, edi
jne 0x14009062c
inc dword [0x140215304]
lea rcx, [0x1402152f0]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, edi
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400a6220
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