Function at 0x140001330
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 [0x14005b740]
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 r15, 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 r12, 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 0x140001a4b
cmp qword [rsp + 0x68], rsi
je 0x140001a4b
test rdi, rdi
je 0x140001a4b
cmp qword [rsp + 0x58], rsi
je 0x140001a4b
cmp qword [rsp + 0x70], rsi
je 0x140001a4b
cmp qword [rsp + 0x60], rsi
je 0x140001a4b
cmp qword [rsp + 0x48], rsi
je 0x140001a4b
cmp qword [rsp + 0x50], rsi
je 0x140001a4b
cmp qword [rsp + 0x78], rsi
je 0x140001a4b
test r12, r12
je 0x140001a4b
test r13, r13
je 0x140001a4b
cmp qword [rbp - 0x78], rsi
je 0x140001a4b
test rax, rax
je 0x140001a4b
movzx r13d, byte [rbp + 0xa8]
lea rdx, sym.ZecMiner64.exe__Co9eEk_rc_U8Qzt_M_rBCXNPgLr_62n_K__
test r13b, r13b
jne 0x14000157a
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 0x78]
cmp ecx, 2
jge 0x140001551
mov eax, dword [rdx + r15*4 + 0x61950]
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jg 0x140001555
test ecx, ecx
jns 0x14000157a
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, r15d
mov ecx, 2
call fcn.1400054d0
xor edx, edx
mov ecx, r14d
call rbx
mov eax, 1
jmp 0x140001a5e
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 0x14000170e
cmp dword [rbp - 0xc], 1
jne 0x1400016d6
lea r8, [rsp + 0x38]
mov edx, edi
mov ecx, r14d
mov qword [rsp + 0x38], 8
call qword [rsp + 0x68]
test eax, eax
jne 0x140001702
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 0x1400016e6
cmp ebx, 0xfa
jg 0x1400016e6
test r13b, r13b
jne 0x14000169b
lea rax, sym.ZecMiner64.exe__Co9eEk_rc_U8Qzt_M_rBCXNPgLr_62n_K__
mov ecx, dword [rax + r15*4 + 0x617b0]
test ecx, ecx
je 0x14000169b
jle 0x14000168f
cmp ebx, ecx
jl 0x14000169b
cmp byte [r15 + rax + 0x61930], sil
jne 0x140001669
mov dword [rsp + 0x28], ecx
lea r8, str.GPU__d_reached_STOP_temperature___d____d___stop_mining_on_this_GPU._n
mov r9d, r15d
mov edx, 3
xor ecx, ecx
mov dword [rsp + 0x20], ebx
call fcn.1400056c0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
lea rcx, sym.ZecMiner64.exe__Co9eEk_rc_U8Qzt_M_rBCXNPgLr_62n_K__
mov qword [rcx + r15*8 + 0x61c50], rax
mov byte [r15 + rcx + 0x61930], 1
jmp 0x14000169b
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
lea rcx, sym.ZecMiner64.exe__Co9eEk_rc_U8Qzt_M_rBCXNPgLr_62n_K__
mov rcx, qword [rcx + r15*8 + 0x61c50]
add rcx, 0x7530
cmp rax, rcx
jbe 0x14000169b
jmp 0x140001a7e
mov eax, ecx
neg eax
cmp ebx, eax
jge 0x140001ab8
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 0x1400016cf
lea rdx, str.Failed_to_get_fan_speed_n
mov ecx, 2
call fcn.1400054d0
jmp 0x1400016d6
mov eax, dword [rbp - 0x18]
mov dword [rsp + 0x30], eax
inc edi
cmp edi, 0xa
jge 0x14000170e
mov r9, qword [rbp - 0x80]
jmp 0x140001593
lea rdx, str.GPU__d:_got_incorrect_temperature__d__ignore_n
mov r9d, ebx
mov r8d, r15d
mov ecx, 2
call fcn.1400054d0
jmp 0x140001a5c
lea rdx, str.Failed_to_get_thermal_devices_temperature_n
jmp 0x140001a52
xor edx, edx
lea rcx, [rbp - 0x54]
lea r8d, [rdx + 0x34]
call fcn.140032380
lea rdx, [rbp - 0x58]
mov ecx, r14d
mov dword [rbp - 0x58], 0x38
call qword [rsp + WSAStartup]
test eax, eax
je 0x14000173f
lea rdx, str.Failed_to_get_overdrive_parameters_n
jmp 0x140001a52
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 0x140001776
lea rdx, str.Failed_to_get_current_GPU_activity.___n
jmp 0x140001a52
mov rax, qword [rbp - 0x60]
mov ecx, dword [rsp + 0x30]
lea rdi, [r15*4]
lea rdx, sym.ZecMiner64.exe__Co9eEk_rc_U8Qzt_M_rBCXNPgLr_62n_K__
mov dword [rdi + rdx + 0x61bd0], ebx
test rax, rax
je 0x1400017aa
mov dword [rax], ebx
mov rax, qword [rbp - 0x68]
mov dword [rax], ecx
test r13b, r13b
je 0x140001570
mov eax, dword [rdx + rdi + 0x61950]
lea r12, [rdx + 0x61950]
cmp eax, 5
jg 0x140001812
test r13b, r13b
jne 0x140001812
test eax, eax
jns 0x1400018a3
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 0x1400018a3
mov r8d, dword [r12 + rdi]
lea rdx, str.Failed_to_set_new_Fan_speed__d.__n
mov ecx, 2
neg r8d
call fcn.1400054d0
jmp 0x140001a5c
cmp ecx, 0xffffffff
jne 0x14000182f
test r13b, r13b
jne 0x14000182f
lea edx, [rcx + 4]
lea r8, str.Cannot_get_current_fan_speed_n
xor ecx, ecx
call fcn.1400056c0
jmp 0x1400018a3
mov r9d, ecx
mov r8d, ebx
mov edx, r15d
mov byte [rsp + 0x20], r13b
call fcn.1400012a0
mov qword [rbp - 0x20], rsi
mov r12d, eax
xor eax, eax
lea r8, [rbp - 0x20]
mov qword [rbp - 0x18], rax
xor edx, edx
mov ecx, r14d
mov dword [rbp - 0x18], r12d
mov dword [rbp - 0x1c], 1
call qword [rsp + 0x48]
mov ecx, 2
test eax, eax
je 0x140001884
lea rdx, str.Failed_to_set_new_Fan_speed__d.__n
mov r8d, r12d
call fcn.1400054d0
jmp 0x140001a5c
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, r15d
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
call fcn.1400054d0
lea rax, sym.ZecMiner64.exe__Co9eEk_rc_U8Qzt_M_rBCXNPgLr_62n_K__
mov r13d, dword [rdi + rax + 0x61730]
mov ebx, dword [rdi + rax + 0x61830]
mov r12d, dword [rdi + rax + 0x619d0]
mov dword [rsp + 0x30], ebx
test r13d, r13d
jne 0x1400018d8
test r12d, r12d
jne 0x1400018d8
cmp ebx, 0xffffff9c
je 0x140001570
mov eax, dword [rbp - 0x54]
test eax, eax
jle 0x14000193b
lea eax, [rax + rax*2]
lea edi, [rax*4 + 8]
movsxd rbx, edi
mov rcx, rbx
call fcn.14002b4c4
mov r8, rbx
xor edx, edx
mov rcx, rax
mov rsi, rax
call fcn.140032380
mov r8, rsi
xor edx, edx
mov ecx, r14d
mov dword [rsi], edi
call qword [rsp + 0x58]
test eax, eax
je 0x140001934
lea rdx, str.Failed_to_get_information_about_supported_performance_levels_for_GPU__d.__r_n
mov r8d, r15d
xor ecx, ecx
call fcn.1400054d0
mov rcx, rsi
call fcn.14002b484
jmp 0x140001a5c
mov eax, dword [rbp - 0x54]
mov ebx, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x50]
test r13d, r13d
jle 0x14000198a
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 0x140001987
lea rdx, str.Failed_to_set_new_Engine_Clock_for_GPU__d.__r_n
mov r8d, r15d
xor ecx, ecx
call fcn.1400054d0
test rsi, rsi
je 0x140001a5c
mov rcx, rsi
call fcn.14002b484
jmp 0x140001a5c
mov eax, dword [rbp - 0x54]
test r12d, r12d
jle 0x1400019d0
cdqe
imul r12d, r12d, 0x64
mov rdx, rsi
lea rcx, [rax + rax*2]
mov dword [rsi + rcx*4], r12d
mov ecx, r14d
call rdi
test eax, eax
je 0x1400019d0
lea rdx, str.Failed_to_set_new_Memory_Clock_for_GPU__d.__r_n
mov r8d, r15d
xor ecx, ecx
call fcn.1400054d0
test rsi, rsi
je 0x140001a5c
mov rcx, rsi
call fcn.14002b484
jmp 0x140001a5c
test rsi, rsi
je 0x1400019dd
mov rcx, rsi
call fcn.14002b484
cmp ebx, 0xffffff9c
je 0x140001570
lea rdx, [rsp + 0x40]
mov ecx, r14d
call qword [rsp + 0x78]
test eax, eax
je 0x140001a09
lea rdx, str.Power_control_failed_for_GPU__d_n
mov r8d, r15d
xor ecx, ecx
call fcn.1400054d0
jmp 0x140001a5c
cmp dword [rsp + 0x40], 0
je 0x140001a33
mov edx, ebx
mov ecx, r14d
call qword [rbp - 0x78]
test eax, eax
je 0x140001570
lea rdx, str.Failed_to_set_new_Power_Control_treshold_for_GPU__d_n
mov r8d, r15d
xor ecx, ecx
call fcn.1400054d0
jmp 0x140001a5c
lea rdx, str.Power_control_is_unsupported_for_GPU__d_n
mov r8d, r15d
xor ecx, ecx
call fcn.1400054d0
mov eax, 1
jmp 0x140001a5e
lea rdx, str.ADLs_API_5_is_missing__n
mov ecx, 2
call fcn.1400054d0
xor eax, eax
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.14002aed0
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, r15d
mov edx, 3
xor ecx, ecx
call fcn.1400056c0
lea r8, str.Miner_will_be_closed_n
mov edx, 3
xor ecx, ecx
call fcn.1400056c0
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.1400153f0
int3
neg ecx
lea r8, str.GPU__d_reached_CLOSE_temperature___d____d_._n
mov r9d, r15d
mov dword [rsp + 0x28], ecx
xor ecx, ecx
mov edx, 3
mov dword [rsp + 0x20], ebx
call fcn.1400056c0
lea r8, str.Miner_will_be_closed_n
mov edx, 3
xor ecx, ecx
call fcn.1400056c0
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.1400153f0
int3