Function at 0x140003a50
Capabilities:
Link many functions at runtime

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x608]
sub rsp, 0x6f0
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r13
mov rax, qword [0x140029008]
xor rax, rsp
mov qword [rbp + 0x5e0], rax
call fcn.140003660
test eax, eax
je 0x140003ab3
lea rdx, str.ERROR:_ADL_Initialization_error_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Display_Modes_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bff0], rax
test rax, rax
jne 0x140003aee
lea rdx, str.ERROR:_ADL_Display_Modes_Get_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Display_Modes_Set
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bf78], rax
test rax, rax
jne 0x140003b29
lea rdx, str.ERROR:_ADL_Display_Modes_Set_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Adapter_NumberOfAdapters_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c030], rax
test rax, rax
jne 0x140003b64
lea rdx, str.ERROR:_ADL_Adapter_NumberOfAdapters_Get_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Adapter_AdapterInfo_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bf50], rax
test rax, rax
jne 0x140003b9f
lea rdx, str.ERROR:_ADL_Adapter_AdapterInfo_Get_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Adapter_Active_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bf58], rax
test rax, rax
jne 0x140003bda
lea rdx, str.ERROR:_ADL_Adapter_Active_Get_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Display_DisplayMapConfig_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bfc8], rax
test rax, rax
jne 0x140003c15
lea rdx, str.ERROR:_ADL_Display_DisplayMapConfig_Get_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Display_DisplayInfo_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c018], rax
test rax, rax
jne 0x140003c50
lea rdx, str.ERROR:_ADL_Display_DisplayInfo_Get_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Display_ModeTimingOverride_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bf40], rax
test rax, rax
jne 0x140003c8b
lea rdx, str.ERROR:_ADL_Display_ModeTimingOverride_Get_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Display_ModeTimingOverride_Set
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bfb0], rax
test rax, rax
jne 0x140003cc6
lea rdx, str.ERROR:_ADL_Display_ModeTimingOverride_Set_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Display_ModeTimingOverrideList_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bfd0], rax
test rax, rax
jne 0x140003d01
lea rdx, str.ERROR:_ADL_Display_ModeTimingOverrideList_Get_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Adapter_VideoBiosInfo_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c008], rax
test rax, rax
jne 0x140003d3c
lea rdx, str.ERROR:_ADL_Adapter_VideoBiosInfo_Get_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Adapter_DriverSettings_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c088], rax
test rax, rax
jne 0x140003d77
lea rdx, str.ERROR:_ADL_Adapter_DriverSettings_Get_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Adapter_DriverSettings_Set
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bf38], rax
test rax, rax
jne 0x140003db2
lea rdx, str.ERROR:_ADL_Adapter_DriverSettings_Set_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Graphics_Versions_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c060], rax
test rax, rax
jne 0x140003ded
lea rdx, str.ERROR:_ADL_Graphics_Versions_Get_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Adapter_MemoryInfo_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c000], rax
test rax, rax
jne 0x140003e28
lea rdx, str.ERROR:_ADL_Adapter_MemoryInfo_Get_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Overdrive_Caps
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bfe8], rax
test rax, rax
jne 0x140003e63
lea rdx, str.ERROR:_ADL_Overdrive_Caps_not_available_
lea rcx, [0x140021b48]
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
lea rdx, str.ADL_Overdrive5_ThermalDevices_Enum
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bf80], rax
lea rdx, str.ADL_Overdrive5_ODParameters_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c070], rax
lea rdx, str.ADL_Overdrive5_Temperature_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bfe0], rax
lea rdx, str.ADL_Overdrive5_FanSpeed_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bfb8], rax
lea rdx, str.ADL_Overdrive5_FanSpeedInfo_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bf60], rax
lea rdx, str.ADL_Overdrive5_ODPerformanceLevels_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bf90], rax
lea rdx, str.ADL_Overdrive5_CurrentActivity_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bf48], rax
lea rdx, str.ADL_Overdrive5_FanSpeed_Set
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c010], rax
lea rdx, str.ADL_Overdrive5_ODPerformanceLevels_Set
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bfa8], rax
lea rdx, str.ADL_Overdrive5_PowerControl_Caps
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c080], rax
lea rdx, str.ADL_Overdrive5_PowerControlInfo_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c048], rax
lea rdx, str.ADL_Overdrive5_PowerControl_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bfa0], rax
lea rdx, str.ADL_Overdrive5_PowerControl_Set
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c020], rax
lea rdx, str.ADL_Overdrive6_State_Set
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bf70], rax
lea rdx, str.ADL_Overdrive6_FanSpeed_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c028], rax
lea rdx, str.ADL_Overdrive6_ThermalController_Caps
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c038], rax
lea rdx, str.ADL_Overdrive6_Temperature_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c050], rax
lea rdx, str.ADL_Overdrive6_Capabilities_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bf28], rax
lea rdx, str.ADL_Overdrive6_StateInfo_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bff8], rax
lea rdx, str.ADL_Overdrive6_CurrentStatus_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c090], rax
lea rdx, str.ADL_Overdrive6_PowerControl_Caps
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bf98], rax
lea rdx, str.ADL_Overdrive6_PowerControlInfo_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c040], rax
lea rdx, str.ADL_Overdrive6_PowerControl_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c098], rax
lea rdx, str.ADL_Overdrive6_FanSpeed_Set
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bfc0], rax
lea rdx, str.ADL_Overdrive6_State_Set
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bf70], rax
lea rdx, str.ADL_Overdrive6_PowerControl_Set
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002bf68], rax
lea rdx, str.ADL_Overdrive6_VoltageControl_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c058], rax
lea rdx, str.ADL_Overdrive6_VoltageControlInfo_Get
mov rcx, qword [0x14002bf88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002c068], rax
xor r14d, r14d
mov dword [rbp - 0x80], r14d
lea rcx, [rbp - 0x80]
call qword [0x14002c030]
movsxd rax, dword [rbp - 0x80]
test eax, eax
jg 0x140004184
lea rcx, str.No_adapter_is_found
call fcn.140007150
or eax, 0xffffffff
jmp 0x1400043d0
imul ebx, eax, 0x624
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.140005b90
nop
mov edx, ebx
mov r15, qword [rbp - 0x70]
mov rcx, r15
call qword [0x14002bf50]
mov rbx, r15
mov rdi, qword [rbp - 0x68]
cmp r15, rdi
je 0x1400042f0
nop word [rax + rax]
mov rcx, rbx
lea rax, [rbp - 0x50]
mov edx, 0xc
nop dword [rax]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax - 0x10], xmm1
lea rcx, [rcx + 0x80]
dec rdx
jne 0x1400041d0
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
mov ecx, dword [rcx + 0x20]
mov dword [rax + 0x20], ecx
cmp dword [rbp + 0xc4], 0x3ea
jne 0x1400042e0
inc dword [0x14002bfd8]
mov rdx, qword [rbp - 0x50]
shr rdx, 0x20
mov eax, dword [rbp + 0x5d0]
mov dword [rsp + 0x70], eax
lea rax, [rbp + 0x4d0]
mov qword [rsp + 0x68], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0x2d0]
mov qword [rsp + 0x58], rax
mov eax, dword [rbp + 0x2cc]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 0x2c8]
mov dword [rsp + 0x48], eax
lea rax, [rbp + 0x1c8]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x3ea
mov eax, dword [rbp + 0xc0]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0xbc]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp + 0xb8]
lea r8, [rbp - 0x48]
lea rcx, str.iAdapterIndex__d___strUDID__hs___iBusNumber__d___iDeviceNumber__d___iFunctionNumber__d___iVendorID__d___strAdapterName__hs___strDisplayName__hs___iPresent__d___iExist__d___strDriverPath__hs___strDriverPathExt__hs___strPNPString__hs___iOSDisplayIndex__d_
call fcn.140007150
add rbx, 0x624
cmp rbx, rdi
jne 0x1400041c0
movsxd r13, dword [0x14002bfd8]
imul rbx, r13, 0x624
mov rcx, rbx
call fcn.140007a88
mov rdi, rax
mov qword [0x14002bf20], rax
test rax, rax
jne 0x140004326
mov rdx, rbx
lea rcx, str.malloc__llu__failed
call fcn.140007150
jmp 0x140004398
mov rsi, r14
mov ecx, dword [rbp - 0x80]
test ecx, ecx
je 0x1400043aa
lea rbx, [r15 + 0x624]
nop word [rax + rax]
cmp dword [rbx - 0x510], 0x3ea
jne 0x140004377
lea eax, [r13 - 1]
movsxd rcx, eax
cmp r14, rcx
ja 0x14000438b
lea rcx, [rbx - 0x624]
mov r8, rdi
mov rdx, rbx
call fcn.1400060f0
inc r14
add rdi, 0x624
mov ecx, dword [rbp - 0x80]
inc rsi
add rbx, 0x624
movsxd rax, ecx
cmp rsi, rax
jae 0x1400043aa
jmp 0x140004340
lea rcx, str.idx_adapter_info_shall_not_be_greater_than_iNumberAdapters___1
call fcn.140007150
nop
test r15, r15
je 0x1400043a5
mov rcx, r15
call fcn.14000800c
or eax, 0xffffffff
jmp 0x1400043d0
test r15, r15
je 0x1400043b7
mov rcx, r15
call fcn.14000800c
call fcn.1400039b0
mov edx, dword [0x14002bfd8]
lea rcx, str.InitADL:__d_adapters
call fcn.140007150
xor eax, eax
mov rcx, qword [rbp + 0x5e0]
xor rcx, rsp
call fcn.140007480
lea r11, [rsp + 0x6f0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r13, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret