Function at 0x140003df0
Capabilities:
Link many functions at runtime
Set environment variable

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x50
mov rax, qword [0x14022b800]
xor rax, rsp
mov qword [rsp + 0x48], rax
cmp qword [0x14023d338], 0
je 0x140003e1a
mov al, 1
jmp 0x14000466f
xor dil, dil
mov ecx, 0x18
call fcn.14014f310
mov rbx, rax
mov qword [rsp + 0x20], rax
xor eax, eax
mov dword [rbx], eax
mov qword [rbx + 4], rax
mov qword [0x14023d310], rbx
mov dword [rbx], eax
mov qword [rbx + 4], rax
xor r9d, r9d
xor edx, edx
xor ecx, ecx
lea r8d, [rax + 1]
call qword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov qword [rbx + 0x10], rax
call fcn.140004690
mov qword [0x14023d338], rax
test rax, rax
je 0x14000466b
lea rdx, str.ADL2_Main_ControlX2_Create
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d220], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Main_Control_Destroy
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d288], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Main_Control_Refresh
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d208], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Adapter_AdapterInfoX3_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d350], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Adapter_Active_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d290], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Adapter_Aspects_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d2a8], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Adapter_Primary_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d260], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Adapter_ASICFamilyType_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d348], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Adapter_RegValueInt_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d2b8], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Adapter_CrossfireX2_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d210], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_RegisterEventX2
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d298], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_UnRegisterEventX2
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d380], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Display_DisplayMapConfig_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d2f8], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Display_SLSMapIndexList_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d2d8], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Display_SLSMapConfigX2_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d330], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_ExclusiveModeGet
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d370], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_DVRSupport_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d2d0], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Display_PreservedAspectRatio_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d270], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Display_ImageExpansion_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d320], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Adapter_RegValueInt_Set
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d238], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Desktop_PFPAComplete_Set
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d250], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Desktop_PFPAState_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d278], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Desktop_DOPP_Enable
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d218], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Desktop_DOPP_EnableX2
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d300], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Desktop_TextureState_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d2e0], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Desktop_Texture_Enable
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d1f0], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Desktop_ExclusiveModeX2_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d368], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Desktop_Device_Create
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d360], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Desktop_Device_Destroy
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d2a0], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Adapter_BigSw_Info_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d308], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Desktop_PrimaryInfo_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d1f8], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Adapter_AdapterInfoX4_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d240], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Win_IsHybridAI
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d318], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_PowerXpress_Configuration_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d2b0], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Display_SourceContentAttribute_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d2c0], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Graphics_VersionsX3_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d2c8], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Display_IsTiledDisplay_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d378], rax
test rax, rax
je 0x1400043da
lea rdx, str.ADL2_Send
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d2e8], rax
test rax, rax
je 0x1400043da
mov r9d, 1
lea r8, [0x14023d248]
mov edx, r9d
lea rcx, [0x140003de0]
call qword [0x14023d220]
cmp eax, 0xffffffff
setne dil
lea rdx, str.ADL2_Desktop_HardwareCursor_Toggle
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d1e8], rax
lea rdx, str.ADL2_Desktop_HardwareCursor_SetPosition
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d228], rax
lea rdx, str.ADL2_Desktop_HardwareCursor_GetPosition
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_Desktop_HardwareCursor_SetBitmap
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d1e0], rax
lea rdx, str.ADL2_Display_VirtualType_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d280], rax
lea rdx, str.ADL2_Display_FreeSyncState_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d358], rax
lea rdx, str.ADL2_Display_DummyVirtual_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_Xe_Bus_Access_Acquire
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_Xe_Bus_Access_Release
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_Xe_Controller_Allocate
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_Xe_Controller_Free
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_Xe_Controller_Plugin
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_Xe_Controller_Unplug
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_Xe_Controller_Update
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_Desktop_SrcRect_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d258], rax
lea rdx, str.ADL2_Display_DDCInfo2_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_DriverUpscale_Settings_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d200], rax
lea rdx, str.ADL2_DriverUpscale_Settings_Set
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_DriverUpscaleSupport_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d328], rax
lea rdx, str.ADL2_ProtectedContent_Info_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d2f0], rax
lea rdx, str.ADL2_Display_PhysicalConnectorType_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d230], rax
lea rdx, str.ADL2_Display_PreferredMode_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14023d268], rax
lea rdx, str.ADL2_DriverFrameGenerationSupport_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ADL2_DriverFrameGeneration_Settings_Get
mov rcx, qword [0x14023d338]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [0x1401c16e0]
lea rcx, str.ADL_4KWORKAROUND_CANCEL
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
test dil, dil
je 0x14000466b
lea rcx, [rsp + 0x28]
call fcn.140008fc0
nop
mov byte [0x14023d341], 0
mov r8, qword [rsp + 0x38]
test r8, r8
je 0x140004661
mov byte [0x14023d341], 1
lea rdx, [rsp + 0x28]
cmp qword [rsp + 0x40], 8
cmovae rdx, qword [rsp + 0x28]
lea rcx, [0x140230b10]
call fcn.140005060
nop
lea rcx, [rsp + 0x28]
call fcn.140004ff0
movzx eax, dil
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14014f2f0
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rdi
ret