Function at 0x140004440
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x50
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
xor edi, edi
cmp byte [0x140028d90], dil
je 0x1400044b7
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
xor r8d, r8d
lea edx, [rdi + 4]
lea rcx, str.C:DSEDSEManager.log
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
mov qword [rsp + 0x60], rax
lea rdx, str.DSE_Manager:_Load_ADL__atiadlxx_or_atiadlxy__DLL._n
lea rcx, [rsp + 0x60]
call fcn.140001110
nop
cmp rbx, 0xffffffffffffffff
je 0x1400044b7
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, str.atiadlxx.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140028e18], rax
test rax, rax
jne 0x14000453f
lea rcx, str.atiadlxy.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140028e18], rax
test rax, rax
jne 0x14000453f
cmp byte [0x140028d90], al
je 0x14000476c
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
xor r8d, r8d
lea edx, [rax + 4]
lea rcx, str.C:DSEDSEManager.log
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
mov qword [rsp + 0x60], rax
lea rdx, str.DSE_Manager:_ERROR:_Failed_to_open_ADL__atiadlxx_or_atiadlxy__DLL._n
lea rcx, [rsp + 0x60]
call fcn.140001110
nop
jmp 0x14000475d
lea rdx, str.ADL2_Main_Control_Create
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140028de8], rax
lea rdx, str.ADL2_Main_Control_Refresh
mov rcx, qword [0x140028e18]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140028df0], rax
lea rdx, str.ADL2_Main_Control_Destroy
mov rcx, qword [0x140028e18]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140028df8], rax
lea rdx, str.ADL2_Adapter_NumberOfAdapters_Get
mov rcx, qword [0x140028e18]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140028e00], rax
lea rdx, str.ADL2_Adapter_AdapterInfo_Get
mov rcx, qword [0x140028e18]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140028e08], rax
lea rdx, str.ADL2_Send
mov rcx, qword [0x140028e18]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140028e10], rax
mov r9, qword [0x140028de8]
test r9, r9
je 0x14000470e
cmp qword [0x140028df0], 0
je 0x14000470e
cmp qword [0x140028df8], 0
je 0x14000470e
cmp qword [0x140028e00], 0
je 0x14000470e
cmp qword [0x140028e08], 0
je 0x14000470e
test rax, rax
je 0x14000470e
lea r8, [0x140028de0]
mov edx, 1
lea rcx, [0x140003e90]
call r9
test eax, eax
jne 0x1400046b9
cmp qword [0x140028de0], 0
je 0x1400046b9
call fcn.140003f80
test al, al
jne 0x1400046b2
cmp byte [0x140028d90], al
je 0x14000476c
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 4]
lea rcx, str.C:DSEDSEManager.log
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
mov qword [rsp + 0x60], rax
lea rdx, str.DSE_Manager:_ERROR:_Failed_to_initialize_internal_adapter_information._n
lea rcx, [rsp + 0x60]
call fcn.140001110
nop
jmp 0x14000475d
mov al, 1
jmp 0x14000476e
cmp byte [0x140028d90], 0
je 0x14000476c
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 4]
lea rcx, str.C:DSEDSEManager.log
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
mov qword [rsp + 0x60], rax
lea rdx, str.DSE_Manager:_ERROR:_Failed_to_initialize_ADL._n
lea rcx, [rsp + 0x60]
call fcn.140001110
nop
jmp 0x14000475d
cmp byte [0x140028d90], 0
je 0x14000476c
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 4]
lea rcx, str.C:DSEDSEManager.log
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
mov qword [rsp + 0x60], rax
lea rdx, str.DSE_Manager:_ERROR:_Failed_to_retrieve_one_of_the_required_functions_from_ADL._n
lea rcx, [rsp + 0x60]
call fcn.140001110
nop
cmp rbx, 0xffffffffffffffff
je 0x14000476c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret