Function at 0x1400c9650
Capabilities:
Link many functions at runtime
Query environment variable

Disassembly:
push rdi
sub rsp, 0x360
mov rax, qword [0x1403284b0]
xor rax, rsp
mov qword [rsp + 0x350], rax
mov r8d, 0x200
lea rdx, [rsp + 0x150]
lea rcx, str._WINDIR__System32_nvml.dll
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
lea rcx, [rsp + 0x150]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, rax
test rax, rax
jne 0x1400c96fb
lea rdx, str.e_91m_X
lea rcx, [rsp + 0x20]
call fcn.14009cf30
lea rdx, str.Failed_to_obtain_all_required_NVML_function_pointers
lea rcx, [rsp + 0x30]
call fcn.1400377f0
lea rcx, [rsp + 0x20]
call fcn.1400300e0
lea rdx, str.e_91m_X
lea rcx, [rsp + 0x20]
call fcn.14009cf30
lea rdx, str.NVIDIA_hardware_monitoring_disabled
lea rcx, [rsp + 0x30]
call fcn.1400377f0
lea rcx, [rsp + 0x20]
call fcn.1400300e0
xor eax, eax
jmp 0x1400c99c0
mov edx, 0x78
mov qword [rsp + 0x370], rbx
lea ecx, [rdx - 0x77]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
lea rdx, str.nvmlInit
mov rcx, rdi
mov rbx, rax
mov qword [rax], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx]
lea rdx, str.nvmlDeviceGetCount_v2
mov qword [rbx + 0x30], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx]
lea rdx, str.nvmlDeviceGetHandleByIndex_v2
mov qword [rbx + 0x38], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx]
lea rdx, str.nvmlDeviceGetPciInfo
mov qword [rbx + 0x40], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx]
lea rdx, str.nvmlDeviceGetName
mov qword [rbx + 0x48], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx]
lea rdx, str.nvmlDeviceGetTemperature
mov qword [rbx + 0x50], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx]
lea rdx, str.nvmlDeviceGetFanSpeed
mov qword [rbx + 0x58], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx]
lea rdx, str.nvmlDeviceGetPowerUsage
mov qword [rbx + 0x60], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx]
lea rdx, str.nvmlShutdown
mov qword [rbx + 0x68], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x30]
mov qword [rbx + 0x70], rax
test rcx, rcx
je 0x1400c994c
test rax, rax
je 0x1400c994c
cmp qword [rbx + 0x38], 0
je 0x1400c994c
cmp qword [rbx + 0x40], 0
je 0x1400c994c
cmp qword [rbx + 0x48], 0
je 0x1400c994c
cmp qword [rbx + 0x50], 0
je 0x1400c994c
cmp qword [rbx + 0x58], 0
je 0x1400c994c
cmp qword [rbx + 0x60], 0
je 0x1400c994c
cmp qword [rbx + 0x68], 0
je 0x1400c994c
mov qword [rsp + 0x378], rsi
mov qword [rsp + 0x388], r15
call rcx
lea rcx, [rbx + 8]
call qword [rbx + gethostname]
movsxd rcx, dword [rbx + 8]
mov edx, 8
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
movsxd rcx, dword [rbx + 8]
mov edx, 4
mov qword [rbx + 0x28], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
movsxd rcx, dword [rbx + 8]
mov edx, 4
mov qword [rbx + 0x10], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
movsxd rcx, dword [rbx + 8]
mov edx, 4
mov qword [rbx + 0x18], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
xor esi, esi
mov qword [rbx + 0x20], rax
mov eax, dword [rbx + 8]
mov edi, esi
test eax, eax
jle 0x1400c9937
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbx + 0x28]
movsxd rcx, edi
lea rdx, [rax + rcx*8]
mov ecx, edi
call qword [rbx + 0x40]
mov eax, dword [rbx + 8]
inc edi
cmp edi, eax
jl 0x1400c98b0
test eax, eax
jle 0x1400c9937
mov qword [rsp + 0x380], r14
mov rdi, rsi
mov r14, rsi
nop dword [rax + rax]
mov rcx, qword [rbx + 0x28]
lea rdx, [rsp + 0x118]
mov rcx, qword [r14 + rcx]
call qword [rbx + 0x48]
mov rcx, qword [rbx + 0x10]
lea r14, [r14 + 8]
mov eax, dword [rsp + 0x128]
lea rdi, [rdi + 4]
inc esi
mov dword [rdi + rcx - 4], eax
mov rcx, qword [rbx + 0x18]
mov eax, dword [rsp + 0x12c]
mov dword [rdi + rcx - 4], eax
mov rcx, qword [rbx + 0x20]
mov eax, dword [rsp + 0x130]
mov dword [rdi + rcx - 4], eax
cmp esi, dword [rbx + 8]
jl 0x1400c98e0
mov r14, qword [rsp + 0x380]
mov r15, qword [rsp + 0x388]
mov rax, rbx
mov rsi, qword [rsp + 0x378]
jmp 0x1400c99b8
lea rdx, str.e_91m_X
lea rcx, [rsp + 0x20]
call fcn.14009cf30
lea rdx, str.Failed_to_obtain_all_required_NVML_function_pointers
lea rcx, [rsp + 0x30]
call fcn.1400377f0
lea rcx, [rsp + 0x20]
call fcn.1400300e0
lea rdx, str.e_91m_X
lea rcx, [rsp + 0x20]
call fcn.14009cf30
lea rdx, str.NVIDIA_hardware_monitoring_disabled
lea rcx, [rsp + 0x30]
call fcn.1400377f0
lea rcx, [rsp + 0x20]
call fcn.1400300e0
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor eax, eax
mov rbx, qword [rsp + 0x370]
mov rcx, qword [rsp + 0x350]
xor rcx, rsp
call fcn.1402225a0
add rsp, 0x360
pop rdi
ret