Function at 0x14000e280
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x178
lea rbp, [rsp + 0x30]
mov rax, qword [0x14010b358]
xor rax, rbp
mov qword [rbp + 0x130], rax
mov rbx, qword [rcx + 8]
mov qword [rbp + 8], rcx
mov rcx, qword [rbp + 0x1b0]
mov r15d, edx
mov qword [rbp + 0x10], rcx
movsxd rdi, r8d
lea rdx, str.ADL2_OverdriveN_Capabilities_Get
mov rcx, rbx
mov qword [rbp + 0x18], r9
mov dword [rbp + 4], edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_OverdriveN_FanControl_Get
mov rcx, rbx
mov r13, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_OverdriveN_FanControl_Set
mov rcx, rbx
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_OverdriveN_PowerLimit_Get
mov rcx, rbx
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_OverdriveN_PowerLimit_Set
mov rcx, rbx
mov qword [rbp + 0x38], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_OverdriveN_Temperature_Get
mov rcx, rbx
mov qword [rbp + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_OverdriveN_SystemClocks_Get
mov rcx, rbx
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_OverdriveN_SystemClocks_Set
mov rcx, rbx
mov qword [rbp + 0x30], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_OverdriveN_MemoryClocks_Get
mov rcx, rbx
mov qword [rbp + 0x40], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_OverdriveN_MemoryClocks_Set
mov rcx, rbx
mov qword [rbp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x48], rax
test r13, r13
je 0x14000e96f
test rsi, rsi
je 0x14000e96f
test r12, r12
je 0x14000e96f
cmp qword [rbp + 0x38], 0
je 0x14000e96f
cmp qword [rbp + 0x28], 0
je 0x14000e96f
test r14, r14
je 0x14000e96f
cmp qword [rbp + 0x30], 0
je 0x14000e96f
cmp qword [rbp + 0x40], 0
je 0x14000e96f
cmp qword [rbp + 0x20], 0
je 0x14000e96f
test rax, rax
je 0x14000e96f
lea rcx, [rbp + 0x80]
xor edx, edx
mov r8d, 0xa4
call fcn.140091e20
lea r8, [rbp + 0x80]
mov edx, r15d
xor ecx, ecx
call r13
test eax, eax
je 0x14000e425
lea rdx, str.Failed_to_get_OverdriveN_capabilities__n
jmp 0x14000e976
xor eax, eax
lea r8, [rbp + 0x58]
mov edx, r15d
xor ecx, ecx
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x70], rax
call rsi
test eax, eax
je 0x14000e452
lea rdx, str.Failed_to_get_fan_info__n
jmp 0x14000e976
movzx ebx, byte [rbp + 0x1b8]
lea r13, sym.NsGpuCNMiner.exe_.t_bF._Ay7_Z__E9S6_euXX:_ghT:_5mi
test bl, bl
jne 0x14000e4c1
mov rax, qword [rbp + 8]
mov ecx, dword [rax + 0x78]
cmp ecx, 2
jge 0x14000e482
mov eax, dword [r13 + rdi*4 + 0x1368d0]
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jg 0x14000e486
test ecx, ecx
jns 0x14000e4c1
lea rdx, str.OC_v7__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.140010790
lea r8, [rbp + 0x58]
mov edx, r15d
xor ecx, ecx
mov dword [rbp + 0x58], 2
call r12
test eax, eax
je 0x14000e952
lea rdx, str.Failed_to_set_fan_info__n
jmp 0x14000e976
lea r9, [rbp]
mov r8d, 1
mov edx, r15d
xor ecx, ecx
mov dword [rbp], 0xfffe7578
call r14
mov eax, 0x10624dd3
imul dword [rbp]
mov r11d, edx
sar r11d, 6
mov eax, r11d
shr eax, 0x1f
add r11d, eax
mov dword [rbp], r11d
lea eax, [r11 + 0x64]
cmp eax, 0x15e
ja 0x14000e959
test bl, bl
jne 0x14000e568
mov eax, dword [r13 + rdi*4 + 0x136720]
test eax, eax
je 0x14000e568
jle 0x14000e667
cmp r11d, eax
jl 0x14000e568
cmp byte [rdi + r13 + 0x1368b0], bl
jne 0x14000e644
mov dword [rsp + 0x28], eax
lea r8, str.GPU__d_reached_STOP_temperature___d____d___stop_mining_on_this_GPU._n
mov r9d, edi
mov edx, 3
xor ecx, ecx
mov dword [rsp + 0x20], r11d
call fcn.140010980
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov byte [rdi + r13 + 0x1368b0], 1
mov qword [r13 + rdi*8 + 0x136bd0], rax
mov r11d, dword [rbp]
mov eax, dword [rbp + 0x64]
mov r8d, dword [rbp + 0x104]
mov ecx, 0x64
lea r13, [rdi*4]
imul eax, eax, 0x64
cdq
idiv r8d
cmp eax, ecx
mov esi, eax
mov eax, dword [rbp + 0x68]
cmovg esi, ecx
imul eax, eax, 0x64
cdq
idiv r8d
cmp eax, ecx
mov r9d, eax
mov rax, qword [rbp + 0x18]
cmovg r9d, ecx
lea rcx, sym.NsGpuCNMiner.exe_.t_bF._Ay7_Z__E9S6_euXX:_ghT:_5mi
mov dword [r13 + rcx + 0x136b50], r11d
test rax, rax
je 0x14000e5c9
mov dword [rax], r11d
mov rax, qword [rbp + 0x10]
mov dword [rax], esi
test bl, bl
je 0x14000e952
lea r14, [rcx + 0x1368d0]
mov ecx, dword [rcx + r13 + 0x1368d0]
cmp ecx, 5
jg 0x14000e677
test bl, bl
jne 0x14000e677
test ecx, ecx
jns 0x14000e6fb
imul ecx, r8d
mov eax, 0xae147ae1
lea r8, [rbp + 0x58]
imul ecx
xor ecx, ecx
mov dword [rbp + 0x58], 3
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x74], edx
mov dword [rbp + 0x68], edx
mov edx, r15d
call r12
test eax, eax
je 0x14000e6fb
mov r8d, dword [r14 + r13]
lea rdx, str.Failed_to_set_new_fan_speed__d__n
mov ecx, 2
neg r8d
call fcn.140010790
jmp 0x14000e980
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, qword [r13 + rdi*8 + 0x136bd0]
add rcx, 0x7530
cmp rax, rcx
jbe 0x14000e564
jmp 0x14000e9a5
neg eax
cmp r11d, eax
jl 0x14000e568
jmp 0x14000e9df
cmp esi, 0xffffffff
jne 0x14000e693
test bl, bl
jne 0x14000e693
lea r8, str.Cannot_get_current_fan_speed_n
lea edx, [rsi + 4]
xor ecx, ecx
call fcn.140010980
jmp 0x14000e6fb
mov r8d, r11d
mov edx, edi
mov byte [rsp + 0x20], bl
call fcn.14000d2e0
lea rdx, str.GPU__d_temp___d__old_fan_speed___d__new_fan_speed___d__r_n
mov r9d, r11d
mov dword [rsp + 0x28], eax
mov r8d, r15d
mov ecx, 2
mov dword [rsp + 0x20], esi
mov ebx, eax
call fcn.140010790
imul ebx, dword [rbp + 0x104]
mov eax, 0x51eb851f
lea r8, [rbp + 0x58]
xor ecx, ecx
mov dword [rbp + 0x58], 3
imul ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x74], edx
mov dword [rbp + 0x68], edx
mov edx, r15d
call r12
test eax, eax
jne 0x14000e4b5
lea rcx, sym.NsGpuCNMiner.exe_.t_bF._Ay7_Z__E9S6_euXX:_ghT:_5mi
mov r14d, dword [r13 + rcx + 0x1366a0]
mov eax, dword [r13 + rcx + 0x1367a0]
mov esi, dword [r13 + rcx + 0x136950]
mov r12d, dword [r13 + rcx + 0x136ad0]
mov r13d, dword [r13 + rcx + 0x136a50]
mov dword [rbp + 0x18], eax
test r14d, r14d
jne 0x14000e749
test esi, esi
jne 0x14000e749
cmp eax, 0xffffff9c
jne 0x14000e749
test r12d, r12d
jne 0x14000e749
test r13d, r13d
je 0x14000e952
mov eax, dword [rbp + 0x80]
inc eax
lea eax, [rax + rax*2]
shl eax, 2
movsxd rcx, eax
mov dword [rbp + 0x10], eax
lea rax, [rcx + 0xf]
mov qword [rbp + 8], rcx
cmp rax, rcx
ja 0x14000e774
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.14009af70
sub rsp, rax
xor edi, edi
lea rbx, [rsp + 0x30]
test r14d, r14d
jg 0x14000e795
test r12d, r12d
jle 0x14000e880
mov r8, rcx
xor edx, edx
mov rcx, rbx
call fcn.140091e20
mov eax, dword [rbp + 0x10]
mov r8, rbx
mov dword [rbx], eax
mov eax, dword [rbp + 0x80]
mov edx, r15d
xor ecx, ecx
mov dword [rbx + 8], eax
call qword [rbp + 0x30]
test eax, eax
je 0x14000e7cb
lea rdx, str.Failed_to_get_sysclocks_n
jmp 0x14000e976
test r14d, r14d
jle 0x14000e7ee
mov eax, edi
cmp dword [rbx + 8], eax
jle 0x14000e7ee
imul r14d, r14d, 0x64
lea rcx, [rbx + 0xc]
nop
mov dword [rcx], r14d
inc eax
lea rcx, [rcx + 0xc]
cmp eax, dword [rbx + 8]
jl 0x14000e7e0
test r12d, r12d
jle 0x14000e80e
mov ecx, edi
cmp dword [rbx + 8], ecx
jle 0x14000e80e
lea rax, [rbx + 0x10]
nop
mov dword [rax], r12d
inc ecx
lea rax, [rax + 0xc]
cmp ecx, dword [rbx + 8]
jl 0x14000e800
mov r8, rbx
mov edx, r15d
xor ecx, ecx
mov dword [rbx + 4], 3
call qword [rbp + 0x40]
mov r14d, dword [rbp + 4]
test eax, eax
je 0x14000e839
lea rdx, str.Failed_to_set_new_effective_core_clock_for_GPU__d_r_n
mov r8d, r14d
xor ecx, ecx
call fcn.140010790
mov rcx, qword [rbp + 8]
test esi, esi
jg 0x14000e84a
test r13d, r13d
jle 0x14000e8f5
mov r8, rcx
xor edx, edx
mov rcx, rbx
call fcn.140091e20
mov eax, dword [rbp + 0x10]
mov r8, rbx
mov dword [rbx], eax
mov eax, dword [rbp + 0x80]
mov edx, r15d
xor ecx, ecx
mov dword [rbx + 8], eax
call qword [rbp + 0x20]
test eax, eax
je 0x14000e886
lea rdx, str.Failed_to_get_memclocks_n
jmp 0x14000e976
mov r14d, dword [rbp + 4]
jmp 0x14000e83d
test esi, esi
jle 0x14000e8ad
mov eax, edi
cmp dword [rbx + 8], eax
jle 0x14000e8ad
imul esi, esi, 0x64
lea rcx, [rbx + 0xc]
nop dword [rax + rax]
mov dword [rcx], esi
inc eax
lea rcx, [rcx + 0xc]
cmp eax, dword [rbx + 8]
jl 0x14000e8a0
test r13d, r13d
jle 0x14000e8ce
cmp dword [rbx + 8], edi
jle 0x14000e8ce
lea rax, [rbx + 0x10]
nop dword [rax + rax]
mov dword [rax], r13d
inc edi
lea rax, [rax + 0xc]
cmp edi, dword [rbx + 8]
jl 0x14000e8c0
mov r8, rbx
mov edx, r15d
xor ecx, ecx
mov dword [rbx + 4], 3
call qword [rbp + 0x48]
test eax, eax
je 0x14000e8f5
lea rdx, str.Failed_to_set_new_effective_memory_clock_for_GPU__d_r_n
mov r8d, r14d
xor ecx, ecx
call fcn.140010790
mov ebx, dword [rbp + 0x18]
cmp ebx, 0xffffff9c
je 0x14000e952
xor eax, eax
lea r8, [rbp + 0x48]
mov edx, r15d
xor ecx, ecx
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x50], eax
call qword [rbp + 0x38]
xor ecx, ecx
test eax, eax
je 0x14000e929
lea rdx, str.Power_control_failed_for_GPU__d_n
mov r8d, r14d
call fcn.140010790
jmp 0x14000e980
lea r8, [rbp + 0x48]
mov edx, r15d
mov dword [rbp + 0x48], 3
mov dword [rbp + 0x4c], ebx
call qword [rbp + 0x28]
test eax, eax
je 0x14000e952
lea rdx, str.Failed_to_set_new_Power_Control_treshold_for_GPU__d_n
mov r8d, r14d
xor ecx, ecx
call fcn.140010790
mov eax, 1
jmp 0x14000e982
lea rdx, str.Got_incorrect_temperature__d__ignore_n
mov r8d, r11d
mov ecx, 2
call fcn.140010790
jmp 0x14000e980
lea rdx, str.ADL2s_API_is_missing__n
mov ecx, 2
call fcn.140010790
xor eax, eax
mov rcx, qword [rbp + 0x130]
xor rcx, rbp
call fcn.140088760
lea rsp, [rbp + 0x148]
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, edi
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
mov dword [rsp + 0x28], eax
lea r8, str.GPU__d_reached_CLOSE_temperature___d____d_._n
mov r9d, edi
mov edx, 3
xor ecx, ecx
mov dword [rsp + 0x20], r11d
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