Function at 0x14000cec0
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rax, qword [0x140105358]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov rbx, qword [rcx + 8]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rbp + 0xa0]
mov r14d, edx
mov qword [rbp - 0x68], rcx
lea rdx, str.ADL_Overdrive5_ThermalDevices_Enum
xor esi, esi
mov rcx, rbx
mov qword [rbp - 0x60], r9
movsxd r12, r8d
mov dword [rsp + 0x40], esi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL_Overdrive5_ODParameters_Get
mov rcx, rbx
mov qword [rbp - 0x80], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL_Overdrive5_Temperature_Get
mov rcx, rbx
mov qword [rsp + 0x70], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL_Overdrive5_FanSpeed_Get
mov rcx, rbx
mov qword [rsp + 0x68], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL_Overdrive5_FanSpeedInfo_Get
mov rcx, rbx
mov qword [rbp - 0x70], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL_Overdrive5_ODPerformanceLevels_Get
mov rcx, rbx
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL_Overdrive5_CurrentActivity_Get
mov rcx, rbx
mov qword [rsp + 0x58], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL_Overdrive5_FanSpeed_Set
mov rcx, rbx
mov qword [rsp + 0x60], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL_Overdrive5_ODPerformanceLevels_Set
mov rcx, rbx
mov qword [rsp + 0x48], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL_Overdrive5_PowerControl_Caps
mov rcx, rbx
mov qword [rsp + 0x50], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL_Overdrive5_PowerControlInfo_Get
mov rcx, rbx
mov qword [rsp + 0x78], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL_Overdrive5_PowerControl_Get
mov rcx, rbx
mov r15, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL_Overdrive5_PowerControl_Set
mov rcx, rbx
mov r13, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL_Overdrive5_FanSpeedToDefault_Set
mov rcx, rbx
mov qword [rbp - 0x78], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r9, qword [rbp - 0x80]
mov rbx, rax
test r9, r9
je 0x14000d5d8
cmp qword [rsp + 0x68], rsi
je 0x14000d5d8
test rdi, rdi
je 0x14000d5d8
cmp qword [rsp + 0x58], rsi
je 0x14000d5d8
cmp qword [rsp + 0x70], rsi
je 0x14000d5d8
cmp qword [rsp + 0x60], rsi
je 0x14000d5d8
cmp qword [rsp + 0x48], rsi
je 0x14000d5d8
cmp qword [rsp + 0x50], rsi
je 0x14000d5d8
cmp qword [rsp + 0x78], rsi
je 0x14000d5d8
test r15, r15
je 0x14000d5d8
test r13, r13
je 0x14000d5d8
cmp qword [rbp - 0x78], rsi
je 0x14000d5d8
test rax, rax
je 0x14000d5d8
movzx r13d, byte [rbp + 0xa8]
lea rdx, sym.NsCpuCNMiner.exe_dfJG:nOgkTYTR8c_hIqxq0tLdb_h2_D_bob_7
test r13b, r13b
jne 0x14000d10a
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 0x78]
cmp ecx, 2
jge 0x14000d0e1
mov eax, dword [rdx + r12*4 + 0x1307e0]
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jg 0x14000d0e5
test ecx, ecx
jns 0x14000d10a
lea rdx, str.OC_v5__Reset_control_for_GPU__d__close_miner_right_now_if_you_want_to_use_default_control_from_Catalyst__n
mov r8d, r14d
mov ecx, 2
call fcn.140014e30
xor edx, edx
mov ecx, r14d
call rbx
mov eax, 1
jmp 0x14000d5eb
or ebx, 0xffffffff
xor ecx, ecx
mov dword [rbp - reloc.WS2_32.dll_recv], 0x10
mov qword [rbp - 0xc], rcx
mov dword [rbp - 4], ecx
mov dword [rsp + 0x30], ebx
mov edi, esi
lea r8, [rbp - 0x10]
mov edx, edi
mov ecx, r14d
call r9
cmp eax, 0xffffff9c
je 0x14000d29b
cmp dword [rbp - 0xc], 1
jne 0x14000d266
lea r8, [rsp + 0x38]
mov edx, edi
mov ecx, r14d
mov qword [rsp + 0x38], 8
call qword [rsp + 0x68]
test eax, eax
jne 0x14000d28f
mov eax, 0x10624dd3
imul dword [rsp + 0x3c]
mov ebx, edx
sar ebx, 6
mov eax, ebx
shr eax, 0x1f
add ebx, eax
cmp ebx, 0xffffff9c
jl 0x14000d276
cmp ebx, 0xfa
jg 0x14000d276
test r13b, r13b
jne 0x14000d22b
lea rax, sym.NsCpuCNMiner.exe_dfJG:nOgkTYTR8c_hIqxq0tLdb_h2_D_bob_7
mov ecx, dword [rax + r12*4 + 0x130550]
test ecx, ecx
je 0x14000d22b
jle 0x14000d21f
cmp ebx, ecx
jl 0x14000d22b
cmp byte [r12 + rax + 0x1306f0], sil
jne 0x14000d1f9
mov dword [rsp + 0x28], ecx
lea r8, str.GPU__d_reached_STOP_temperature___d____d___stop_mining_on_this_GPU._n
mov r9d, r12d
mov edx, 3
xor ecx, ecx
mov dword [rsp + 0x20], ebx
call fcn.140015020
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
lea rcx, sym.NsCpuCNMiner.exe_dfJG:nOgkTYTR8c_hIqxq0tLdb_h2_D_bob_7
mov qword [rcx + r12*8 + 0x130b60], rax
mov byte [r12 + rcx + 0x1306f0], 1
jmp 0x14000d22b
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
lea rcx, sym.NsCpuCNMiner.exe_dfJG:nOgkTYTR8c_hIqxq0tLdb_h2_D_bob_7
mov rcx, qword [rcx + r12*8 + 0x130b60]
add rcx, 0x7530
cmp rax, rcx
jbe 0x14000d22b
jmp 0x14000d60b
mov eax, ecx
neg eax
cmp ebx, eax
jge 0x14000d645
xor eax, eax
mov qword [rbp - 0x20], rsi
lea r8, [rbp - 0x20]
mov edx, edi
mov ecx, r14d
mov dword [rbp - 0x1c], 1
mov qword [rbp - 0x18], rax
call qword [rbp - 0x70]
test eax, eax
je 0x14000d25f
lea rdx, str.Failed_to_get_fan_speed_n
mov ecx, 2
call fcn.140014e30
jmp 0x14000d266
mov eax, dword [rbp - 0x18]
mov dword [rsp + 0x30], eax
inc edi
cmp edi, 0xa
jge 0x14000d29b
mov r9, qword [rbp - 0x80]
jmp 0x14000d123
lea rdx, str.Got_incorrect_temperature__d__ignore_n
mov r8d, ebx
mov ecx, 2
call fcn.140014e30
jmp 0x14000d5e9
lea rdx, str.Failed_to_get_thermal_devices_temperature_n
jmp 0x14000d5df
xor edx, edx
lea rcx, [rbp - 0x54]
lea r8d, [rdx + 0x34]
call fcn.14008cf90
lea rdx, [rbp - 0x58]
mov ecx, r14d
mov dword [rbp - 0x58], 0x38
call qword [rsp + reloc.WS2_32.dll_WSASetLastError]
test eax, eax
je 0x14000d2cc
lea rdx, str.Failed_to_get_overdrive_parameters_n
jmp 0x14000d5df
xor eax, eax
lea rdx, [rbp]
mov ecx, r14d
mov qword [rbp + 4], rax
mov qword [rbp + 0xc], rax
mov qword [rbp + 0x14], rax
mov qword [rbp + 0x1c], rax
mov dword [rbp + 0x24], eax
mov dword [rbp], 0x28
call qword [rsp + 0x60]
test eax, eax
je 0x14000d303
lea rdx, str.Failed_to_get_current_GPU_activity.___n
jmp 0x14000d5df
mov rax, qword [rbp - 0x60]
mov ecx, dword [rsp + 0x30]
lea rdi, [r12*4]
lea rdx, sym.NsCpuCNMiner.exe_dfJG:nOgkTYTR8c_hIqxq0tLdb_h2_D_bob_7
mov dword [rdi + rdx + 0x130ae0], ebx
test rax, rax
je 0x14000d337
mov dword [rax], ebx
mov rax, qword [rbp - 0x68]
mov dword [rax], ecx
test r13b, r13b
je 0x14000d100
mov eax, dword [rdx + rdi + 0x1307e0]
lea r15, [rdx + 0x1307e0]
cmp eax, 5
jg 0x14000d39f
test r13b, r13b
jne 0x14000d39f
test eax, eax
jns 0x14000d430
xor ecx, ecx
neg eax
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], rcx
lea r8, [rbp - 0x20]
xor edx, edx
mov ecx, r14d
mov dword [rbp - 0x1c], 1
mov dword [rbp - 0x18], eax
call qword [rsp + 0x48]
test eax, eax
je 0x14000d430
mov r8d, dword [r15 + rdi]
lea rdx, str.Failed_to_set_new_Fan_speed__d.__n
mov ecx, 2
neg r8d
call fcn.140014e30
jmp 0x14000d5e9
cmp ecx, 0xffffffff
jne 0x14000d3bc
test r13b, r13b
jne 0x14000d3bc
lea edx, [rcx + 4]
lea r8, str.Cannot_get_current_fan_speed_n
xor ecx, ecx
call fcn.140015020
jmp 0x14000d430
mov r9d, ecx
mov r8d, ebx
mov edx, r12d
mov byte [rsp + 0x20], r13b
call fcn.14000ce30
mov qword [rbp - 0x20], rsi
mov r15d, eax
xor eax, eax
lea r8, [rbp - 0x20]
mov qword [rbp - 0x18], rax
xor edx, edx
mov ecx, r14d
mov dword [rbp - 0x18], r15d
mov dword [rbp - 0x1c], 1
call qword [rsp + 0x48]
mov ecx, 2
test eax, eax
je 0x14000d411
lea rdx, str.Failed_to_set_new_Fan_speed__d.__n
mov r8d, r15d
call fcn.140014e30
jmp 0x14000d5e9
mov eax, dword [rsp + 0x30]
lea rdx, str.GPU__d_temp___d__old_fan_speed___d____new_fan_speed___d____r_n
mov r9d, ebx
mov r8d, r14d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], eax
call fcn.140014e30
lea rax, sym.NsCpuCNMiner.exe_dfJG:nOgkTYTR8c_hIqxq0tLdb_h2_D_bob_7
mov r13d, dword [rdi + rax + 0x1304d0]
mov ebx, dword [rdi + rax + 0x1305f0]
mov r15d, dword [rdi + rax + 0x130860]
mov dword [rsp + 0x30], ebx
test r13d, r13d
jne 0x14000d465
test r15d, r15d
jne 0x14000d465
cmp ebx, 0xffffff9c
je 0x14000d100
mov eax, dword [rbp - 0x54]
test eax, eax
jle 0x14000d4c8
lea eax, [rax + rax*2]
lea edi, [rax*4 + 8]
movsxd rbx, edi
mov rcx, rbx
call fcn.14008597c
mov r8, rbx
xor edx, edx
mov rcx, rax
mov rsi, rax
call fcn.14008cf90
mov r8, rsi
xor edx, edx
mov ecx, r14d
mov dword [rsi], edi
call qword [rsp + 0x58]
test eax, eax
je 0x14000d4c1
lea rdx, str.Failed_to_get_information_about_supported_performance_levels_for_GPU__d.__r_n
mov r8d, r12d
xor ecx, ecx
call fcn.140014e30
mov rcx, rsi
call fcn.1400856a4
jmp 0x14000d5e9
mov eax, dword [rbp - 0x54]
mov ebx, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x50]
test r13d, r13d
jle 0x14000d517
cdqe
imul r13d, r13d, 0x64
mov rdx, rsi
lea rcx, [rax + rax*2]
mov dword [rsi + rcx*4 - 4], r13d
mov ecx, r14d
call rdi
test eax, eax
je 0x14000d514
lea rdx, str.Failed_to_set_new_Engine_Clock_for_GPU__d.__r_n
mov r8d, r12d
xor ecx, ecx
call fcn.140014e30
test rsi, rsi
je 0x14000d5e9
mov rcx, rsi
call fcn.1400856a4
jmp 0x14000d5e9
mov eax, dword [rbp - 0x54]
test r15d, r15d
jle 0x14000d55d
cdqe
imul r15d, r15d, 0x64
mov rdx, rsi
lea rcx, [rax + rax*2]
mov dword [rsi + rcx*4], r15d
mov ecx, r14d
call rdi
test eax, eax
je 0x14000d55d
lea rdx, str.Failed_to_set_new_Memory_Clock_for_GPU__d.__r_n
mov r8d, r12d
xor ecx, ecx
call fcn.140014e30
test rsi, rsi
je 0x14000d5e9
mov rcx, rsi
call fcn.1400856a4
jmp 0x14000d5e9
test rsi, rsi
je 0x14000d56a
mov rcx, rsi
call fcn.1400856a4
cmp ebx, 0xffffff9c
je 0x14000d100
lea rdx, [rsp + 0x40]
mov ecx, r14d
call qword [rsp + 0x78]
test eax, eax
je 0x14000d596
lea rdx, str.Power_control_failed_for_GPU__d_n
mov r8d, r12d
xor ecx, ecx
call fcn.140014e30
jmp 0x14000d5e9
cmp dword [rsp + 0x40], 0
je 0x14000d5c0
mov edx, ebx
mov ecx, r14d
call qword [rbp - 0x78]
test eax, eax
je 0x14000d100
lea rdx, str.Failed_to_set_new_Power_Control_treshold_for_GPU__d_n
mov r8d, r12d
xor ecx, ecx
call fcn.140014e30
jmp 0x14000d5e9
lea rdx, str.Power_control_is_unsupported_for_GPU__d_n
mov r8d, r12d
xor ecx, ecx
call fcn.140014e30
mov eax, 1
jmp 0x14000d5eb
lea rdx, str.ADLs_API_5_is_missing__n
mov ecx, 2
call fcn.140014e30
xor eax, eax
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.140084590
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea r8, str.GPU__d_reached_STOP_temperature_and_was_stopped__but_it_is_still_overheated._Probably_wrong_card_was_turned_off__check__KNOWN_ISSUES__section_of_readme_file_for_details._n
mov r9d, r12d
mov edx, 3
xor ecx, ecx
call fcn.140015020
lea r8, str.Miner_will_be_closed_n
mov edx, 3
xor ecx, ecx
call fcn.140015020
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.140034e90
int3
neg ecx
lea r8, str.GPU__d_reached_CLOSE_temperature___d____d_._n
mov r9d, r12d
mov dword [rsp + 0x28], ecx
xor ecx, ecx
mov edx, 3
mov dword [rsp + 0x20], ebx
call fcn.140015020
lea r8, str.Miner_will_be_closed_n
mov edx, 3
xor ecx, ecx
call fcn.140015020
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.140034e90
int3