Function at 0x140013100
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
movzx r13d, cl
lea rcx, [0x14005b360]
call fcn.14000f680
mov r12d, 1
xor r15d, r15d
mov qword [rbp + 0x58], r15
lea rcx, str.atiadlxx.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r14, rax
test rax, rax
je 0x140013467
lea rdx, str.ADL2_Main_Control_Create
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140013467
lea r8, [rbp + 0x58]
mov edx, r12d
lea rcx, [fcn.140020450]
call rax
cmp eax, 0xffffffff
je 0x14001344c
lea rcx, str.SetComputeOption:_ADL_Intialize_is_Successful_r_n
call fcn.14000f680
mov dword [rbp + 0x48], r15d
mov ebx, r15d
lea esi, [r12 - 2]
lea rdx, str.ADL2_Adapter_NumberOfAdapters_Get
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14001344c
lea rdx, [rbp + 0x48]
mov rcx, qword [rbp + 0x58]
call rax
cmp eax, esi
je 0x14001344c
mov eax, dword [rbp + 0x48]
test eax, eax
jle 0x1400131ff
imul ecx, eax, 0x624
call fcn.140020450
mov rbx, rax
lea rdx, str.ADL2_Adapter_AdapterInfo_Get
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400131ff
imul r8d, dword [rbp + 0x48], 0x624
mov rdx, rbx
mov rcx, qword [rbp + 0x58]
call rax
mov esi, eax
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x38], r15
mov ecx, 0x20
call fcn.140025ba4
mov rdi, rax
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp - 0x40], rax
test esi, esi
jne 0x14001340a
mov edx, dword [rbp + 0x48]
lea rcx, str.SetComputeOption:_Number_of_Adapters:__d_r_n
call fcn.14000f680
cmp dword [rbp + 0x48], esi
jle 0x140013406
lea rsi, [rbx + 4]
nop dword [rax]
lea r8, [rsi + 0x10c]
lea rdx, [rsi + 0x108]
lea rcx, [rsi + 0x104]
call fcn.140020f50
mov ebx, eax
mov rdi, qword [rbp - 0x40]
mov rax, qword [rdi + 8]
mov rdx, rdi
movzx r8d, byte [rax + 0x19]
test r8b, r8b
jne 0x14001329b
mov rcx, rax
cmp dword [rcx + 0x1c], ebx
jge 0x14001328f
mov rcx, qword [rcx + 0x10]
jmp 0x140013295
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140013284
cmp byte [rdx + 0x19], 0
jne 0x1400132af
cmp ebx, dword [rdx + 0x1c]
jl 0x1400132af
cmp rdx, rdi
jne 0x1400133e2
mov qword [rbp - 0x20], rax
xor edx, edx
mov dword [rbp - 0x18], edx
mov rcx, rdi
test r8b, r8b
jne 0x1400132e4
mov qword [rbp - 0x20], rax
cmp dword [rax + 0x1c], ebx
jge 0x1400132d2
mov dword [rbp - 0x18], edx
mov rax, qword [rax + 0x10]
jmp 0x1400132df
mov dword [rbp - 0x18], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], dl
je 0x1400132c0
cmp byte [rcx + 0x19], dl
jne 0x1400132ee
cmp ebx, dword [rcx + 0x1c]
jge 0x14001334f
movabs rax, 0x7ffffffffffffff
cmp qword [rbp - 0x38], rax
je 0x14001348e
lea rax, [rbp - 0x40]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rdx
mov ecx, 0x20
call fcn.140025ba4
nop
mov dword [rax + 0x1c], ebx
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
mov qword [rbp - 0x28], 0
movups xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp - 0x20], xmm0
mov r8, rax
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x40]
call fcn.14001e5d0
xor edx, edx
mov dword [rbp + 0x50], edx
lea rdx, str.ADL2_Blockchain_BlockchainMode_Caps
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400133de
lea r8, [rbp + 0x50]
mov edx, dword [rsi]
mov rcx, qword [rbp + 0x58]
call rax
test eax, eax
jne 0x1400133de
cmp dword [rbp + 0x50], eax
je 0x1400133cc
lea rdx, str.ADL2_Blockchain_BlockchainMode_Set
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400133aa
mov r9d, r13d
xor r9d, 1
mov r8d, 1
mov edx, dword [rsi]
mov rcx, qword [rbp + 0x58]
call rax
test eax, eax
je 0x1400133f7
lea rdx, [rsi + 0x114]
mov r8d, dword [rsi + 0x110]
lea rcx, str.Setting_Block_Chain_Mode_is_failed_on_Adapter_:__s_and_Vid_:__x_r_n
call fcn.14000f680
mov r12d, 1
jmp 0x1400133de
lea rcx, str.SetComputeOption:iBlockChain_Mode_Support_is_not_supported_r_n
call fcn.14000f680
mov r12d, 2
mov rdi, qword [rbp - 0x40]
inc r15d
add rsi, 0x624
cmp r15d, dword [rbp + 0x48]
jge 0x14001340a
jmp 0x140013250
xor r12d, r12d
lea rcx, str.SetComputeOption:_Setting_Block_Chain_Mode_is_Successful_r_n
call fcn.14000f680
mov rdi, qword [rbp - 0x40]
mov rbx, qword [rdi + 8]
cmp byte [rbx + 0x19], 0
jne 0x14001343f
mov r8, qword [rbx + 0x10]
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x40]
call fcn.14001e090
mov rcx, rbx
mov rbx, qword [rbx]
mov edx, 0x20
call fcn.140025900
cmp byte [rbx + 0x19], 0
je 0x140013414
mov rdi, qword [rbp - 0x40]
mov edx, 0x20
mov rcx, rdi
call fcn.140025900
lea rdx, str.ADL2_Main_Control_Destroy
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140013467
mov rcx, qword [rbp + 0x58]
call rax
lea rcx, str._________END___________
call fcn.14000f680
mov eax, r12d
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400116a0
nop
int3