Function at 0x14000d370
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 [0x14010b358]
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 0x14000da88
cmp qword [rsp + 0x68], rsi
je 0x14000da88
test rdi, rdi
je 0x14000da88
cmp qword [rsp + 0x58], rsi
je 0x14000da88
cmp qword [rsp + 0x70], rsi
je 0x14000da88
cmp qword [rsp + 0x60], rsi
je 0x14000da88
cmp qword [rsp + 0x48], rsi
je 0x14000da88
cmp qword [rsp + 0x50], rsi
je 0x14000da88
cmp qword [rsp + 0x78], rsi
je 0x14000da88
test r15, r15
je 0x14000da88
test r13, r13
je 0x14000da88
cmp qword [rbp - 0x78], rsi
je 0x14000da88
test rax, rax
je 0x14000da88
movzx r13d, byte [rbp + 0xa8]
lea rdx, sym.NsGpuCNMiner.exe_.t_bF._Ay7_Z__E9S6_euXX:_ghT:_5mi
test r13b, r13b
jne 0x14000d5ba
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 0x78]
cmp ecx, 2
jge 0x14000d591
mov eax, dword [rdx + r12*4 + 0x1368d0]
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jg 0x14000d595
test ecx, ecx
jns 0x14000d5ba
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.140010790
xor edx, edx
mov ecx, r14d
call rbx
mov eax, 1
jmp 0x14000da9b
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 0x14000d74b
cmp dword [rbp - 0xc], 1
jne 0x14000d716
lea r8, [rsp + 0x38]
mov edx, edi
mov ecx, r14d
mov qword [rsp + 0x38], 8
call qword [rsp + 0x68]
test eax, eax
jne 0x14000d73f
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 0x14000d726
cmp ebx, 0xfa
jg 0x14000d726
test r13b, r13b
jne 0x14000d6db
lea rax, sym.NsGpuCNMiner.exe_.t_bF._Ay7_Z__E9S6_euXX:_ghT:_5mi
mov ecx, dword [rax + r12*4 + 0x136720]
test ecx, ecx
je 0x14000d6db
jle 0x14000d6cf
cmp ebx, ecx
jl 0x14000d6db
cmp byte [r12 + rax + 0x1368b0], sil
jne 0x14000d6a9
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.140010980
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
lea rcx, sym.NsGpuCNMiner.exe_.t_bF._Ay7_Z__E9S6_euXX:_ghT:_5mi
mov qword [rcx + r12*8 + 0x136bd0], rax
mov byte [r12 + rcx + 0x1368b0], 1
jmp 0x14000d6db
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
lea rcx, sym.NsGpuCNMiner.exe_.t_bF._Ay7_Z__E9S6_euXX:_ghT:_5mi
mov rcx, qword [rcx + r12*8 + 0x136bd0]
add rcx, 0x7530
cmp rax, rcx
jbe 0x14000d6db
jmp 0x14000dabb
mov eax, ecx
neg eax
cmp ebx, eax
jge 0x14000daf5
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 0x14000d70f
lea rdx, str.Failed_to_get_fan_speed_n
mov ecx, 2
call fcn.140010790
jmp 0x14000d716
mov eax, dword [rbp - 0x18]
mov dword [rsp + 0x30], eax
inc edi
cmp edi, 0xa
jge 0x14000d74b
mov r9, qword [rbp - 0x80]
jmp 0x14000d5d3
lea rdx, str.Got_incorrect_temperature__d__ignore_n
mov r8d, ebx
mov ecx, 2
call fcn.140010790
jmp 0x14000da99
lea rdx, str.Failed_to_get_thermal_devices_temperature_n
jmp 0x14000da8f
xor edx, edx
lea rcx, [rbp - 0x54]
lea r8d, [rdx + 0x34]
call fcn.140091e20
lea rdx, [rbp - 0x58]
mov ecx, r14d
mov dword [rbp - 0x58], 0x38
call qword [rsp + reloc.WS2_32.dll_WSASetLastError]
test eax, eax
je 0x14000d77c
lea rdx, str.Failed_to_get_overdrive_parameters_n
jmp 0x14000da8f
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 0x14000d7b3
lea rdx, str.Failed_to_get_current_GPU_activity.___n
jmp 0x14000da8f
mov rax, qword [rbp - 0x60]
mov ecx, dword [rsp + 0x30]
lea rdi, [r12*4]
lea rdx, sym.NsGpuCNMiner.exe_.t_bF._Ay7_Z__E9S6_euXX:_ghT:_5mi
mov dword [rdi + rdx + 0x136b50], ebx
test rax, rax
je 0x14000d7e7
mov dword [rax], ebx
mov rax, qword [rbp - 0x68]
mov dword [rax], ecx
test r13b, r13b
je 0x14000d5b0
mov eax, dword [rdx + rdi + 0x1368d0]
lea r15, [rdx + 0x1368d0]
cmp eax, 5
jg 0x14000d84f
test r13b, r13b
jne 0x14000d84f
test eax, eax
jns 0x14000d8e0
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 0x14000d8e0
mov r8d, dword [r15 + rdi]
lea rdx, str.Failed_to_set_new_Fan_speed__d.__n
mov ecx, 2
neg r8d
call fcn.140010790
jmp 0x14000da99
cmp ecx, 0xffffffff
jne 0x14000d86c
test r13b, r13b
jne 0x14000d86c
lea edx, [rcx + 4]
lea r8, str.Cannot_get_current_fan_speed_n
xor ecx, ecx
call fcn.140010980
jmp 0x14000d8e0
mov r9d, ecx
mov r8d, ebx
mov edx, r12d
mov byte [rsp + 0x20], r13b
call fcn.14000d2e0
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 0x14000d8c1
lea rdx, str.Failed_to_set_new_Fan_speed__d.__n
mov r8d, r15d
call fcn.140010790
jmp 0x14000da99
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.140010790
lea rax, sym.NsGpuCNMiner.exe_.t_bF._Ay7_Z__E9S6_euXX:_ghT:_5mi
mov r13d, dword [rdi + rax + 0x1366a0]
mov ebx, dword [rdi + rax + 0x1367a0]
mov r15d, dword [rdi + rax + 0x136950]
mov dword [rsp + 0x30], ebx
test r13d, r13d
jne 0x14000d915
test r15d, r15d
jne 0x14000d915
cmp ebx, 0xffffff9c
je 0x14000d5b0
mov eax, dword [rbp - 0x54]
test eax, eax
jle 0x14000d978
lea eax, [rax + rax*2]
lea edi, [rax*4 + 8]
movsxd rbx, edi
mov rcx, rbx
call fcn.140089b68
mov r8, rbx
xor edx, edx
mov rcx, rax
mov rsi, rax
call fcn.140091e20
mov r8, rsi
xor edx, edx
mov ecx, r14d
mov dword [rsi], edi
call qword [rsp + 0x58]
test eax, eax
je 0x14000d971
lea rdx, str.Failed_to_get_information_about_supported_performance_levels_for_GPU__d.__r_n
mov r8d, r12d
xor ecx, ecx
call fcn.140010790
mov rcx, rsi
call fcn.140089874
jmp 0x14000da99
mov eax, dword [rbp - 0x54]
mov ebx, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x50]
test r13d, r13d
jle 0x14000d9c7
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 0x14000d9c4
lea rdx, str.Failed_to_set_new_Engine_Clock_for_GPU__d.__r_n
mov r8d, r12d
xor ecx, ecx
call fcn.140010790
test rsi, rsi
je 0x14000da99
mov rcx, rsi
call fcn.140089874
jmp 0x14000da99
mov eax, dword [rbp - 0x54]
test r15d, r15d
jle 0x14000da0d
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 0x14000da0d
lea rdx, str.Failed_to_set_new_Memory_Clock_for_GPU__d.__r_n
mov r8d, r12d
xor ecx, ecx
call fcn.140010790
test rsi, rsi
je 0x14000da99
mov rcx, rsi
call fcn.140089874
jmp 0x14000da99
test rsi, rsi
je 0x14000da1a
mov rcx, rsi
call fcn.140089874
cmp ebx, 0xffffff9c
je 0x14000d5b0
lea rdx, [rsp + 0x40]
mov ecx, r14d
call qword [rsp + 0x78]
test eax, eax
je 0x14000da46
lea rdx, str.Power_control_failed_for_GPU__d_n
mov r8d, r12d
xor ecx, ecx
call fcn.140010790
jmp 0x14000da99
cmp dword [rsp + 0x40], 0
je 0x14000da70
mov edx, ebx
mov ecx, r14d
call qword [rbp - 0x78]
test eax, eax
je 0x14000d5b0
lea rdx, str.Failed_to_set_new_Power_Control_treshold_for_GPU__d_n
mov r8d, r12d
xor ecx, ecx
call fcn.140010790
jmp 0x14000da99
lea rdx, str.Power_control_is_unsupported_for_GPU__d_n
mov r8d, r12d
xor ecx, ecx
call fcn.140010790
mov eax, 1
jmp 0x14000da9b
lea rdx, str.ADLs_API_5_is_missing__n
mov ecx, 2
call fcn.140010790
xor eax, eax
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.140088760
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.140010980
lea r8, str.Miner_will_be_closed_n
mov edx, 3
xor ecx, ecx
call fcn.140010980
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.14003aa00
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.140010980
lea r8, str.Miner_will_be_closed_n
mov edx, 3
xor ecx, ecx
call fcn.140010980
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.14003aa00
int3