Function at 0x140009700
Capabilities:
Link many functions at runtime

Disassembly:
push r15
sub rsp, 0x50
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], r14
mov rax, qword [0x1402c9768]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rsi, rcx
call fcn.14002fe48
mov rcx, rax
test rax, rax
jne 0x14000974d
mov ecx, 0x80004005
call fcn.1400093e0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
mov r14, rax
lea rcx, [rax + 0x18]
mov qword [rsp + 0x38], rcx
call fcn.14002fe48
mov rcx, rax
test rax, rax
jne 0x140009777
mov ecx, 0x80004005
call fcn.1400093e0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
mov edi, 1
lea r9, [0x14027fed8]
mov r8, qword [0x1402dc120]
mov r8, qword [r8 + 0x26f1]
lea rdx, str._s_s
lea rcx, [rsp + 0x28]
call fcn.140009250
mov rbx, qword [rsp + 0x28]
lea r15, [rbx - 0x18]
mov rcx, r15
call fcn.140008dc0
add rax, 0x18
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x20]
call fcn.140009be0
test al, al
jne 0x1400097f8
mov r9, rbx
lea r8d, [rdi + 0x41]
lea rdx, str.CLoadDLL::nLoadDLL
lea rcx, str._r_n_s:_d:_Cannot_find___s_
call fcn.1400095e0
jmp 0x140009b74
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rsi + 9], rax
test rax, rax
jne 0x140009833
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8d, 0x4b
lea rdx, str.CLoadDLL::nLoadDLL
lea rcx, str._r_n_s:_d:_Load_DLL_FAIL__GetLastError__d
call fcn.1400095e0
xor edi, edi
jmp 0x140009b74
lea rdx, str.LoadAsmIODriver
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x11], rax
test rax, rax
jne 0x140009875
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8d, 0x54
lea rdx, str.CLoadDLL::nLoadDLL
lea rcx, str._r_n_s:_d:_load_mLoadAsmIODriver_FAIL__GetLastError:__d
call fcn.1400095e0
xor edi, edi
jmp 0x140009b74
lea rdx, str.StartAsmIODriver
mov rcx, qword [rsi + 9]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x129], rax
cmp qword [rsi + 0x11], 0
jne 0x1400098bd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8d, VarDateFromDisp
lea rdx, str.CLoadDLL::nLoadDLL
lea rcx, str._r_n_s:_d:_load_mStartAsmIODriver_FAIL__GetLastError:__d
call fcn.1400095e0
xor edi, edi
jmp 0x140009b74
lea rdx, str.UnloadAsmIODriver
mov rcx, qword [rsi + 9]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x19], rax
test rax, rax
jne 0x140009900
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8d, 0x65
lea rdx, str.CLoadDLL::nLoadDLL
lea rcx, str._r_n_s:_d:_Load_UnloadAsmIODriver_FAIL__GetLastError:__d
call fcn.1400095e0
xor edi, edi
jmp 0x140009b74
lea rdx, str.fwUpdate
mov rcx, qword [rsi + 9]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xe9], rax
test rax, rax
jne 0x140009946
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8d, 0x136
lea rdx, str.CLoadDLL::nLoadDLL
lea rcx, str._r_n_s:_d:_load_fwUpdate_FAIL__GetLastError:__d
call fcn.1400095e0
xor edi, edi
jmp 0x140009b74
lea rdx, str.ReadFwVersion
mov rcx, qword [rsi + 9]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xf1], rax
test rax, rax
jne 0x14000998c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8d, 0x13e
lea rdx, str.CLoadDLL::nLoadDLL
lea rcx, str._r_n_s:_d:_load_ReadFwVersion_FAIL__GetLastError:__d
call fcn.1400095e0
xor edi, edi
jmp 0x140009b74
lea rdx, str.ReadSPIflashID
mov rcx, qword [rsi + 9]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xf9], rax
test rax, rax
jne 0x1400099d2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8d, 0x146
lea rdx, str.CLoadDLL::nLoadDLL
lea rcx, str._r_n_s:_d:_load_ReadSPIflashID_FAIL__GetLastError:__d
call fcn.1400095e0
xor edi, edi
jmp 0x140009b74
lea rdx, str.ReadBoardVersion
mov rcx, qword [rsi + 9]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x101], rax
test rax, rax
jne 0x140009a18
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8d, 0x14e
lea rdx, str.CLoadDLL::nLoadDLL
lea rcx, str._r_n_s:_d:_load_ReadBoardVersion_FAIL__GetLastError:__d
call fcn.1400095e0
xor edi, edi
jmp 0x140009b74
lea rdx, str.ReadChipVersion
mov rcx, qword [rsi + 9]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x109], rax
test rax, rax
jne 0x140009a5e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8d, 0x156
lea rdx, str.CLoadDLL::nLoadDLL
lea rcx, str._r_n_s:_d:_load_ReadChipVersion_FAIL__GetLastError:__d
call fcn.1400095e0
xor edi, edi
jmp 0x140009b74
lea rdx, str.FWrestart
mov rcx, qword [rsi + 9]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x111], rax
test rax, rax
jne 0x140009aa4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8d, 0x15e
lea rdx, str.CLoadDLL::nLoadDLL
lea rcx, str._r_n_s:_d:_load_FWrestart_FAIL__GetLastError:__d
call fcn.1400095e0
xor edi, edi
jmp 0x140009b74
lea rdx, str.ReadxhciStatus
mov rcx, qword [rsi + 9]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x119], rax
test rax, rax
jne 0x140009aea
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8d, 0x166
lea rdx, str.CLoadDLL::nLoadDLL
lea rcx, str._r_n_s:_d:_load_ReadxhciStatus_FAIL__GetLastError:__d
call fcn.1400095e0
xor edi, edi
jmp 0x140009b74
lea rdx, str.ReadDPStatus
mov rcx, qword [rsi + 9]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x121], rax
test rax, rax
jne 0x140009b2d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8d, 0x16e
lea rdx, str.CLoadDLL::nLoadDLL
lea rcx, str._r_n_s:_d:_load_ReadDPStatus_FAIL__GetLastError:__d
call fcn.1400095e0
xor edi, edi
jmp 0x140009b74
lea rdx, str.ReadDownStreamPortState
mov rcx, qword [rsi + 9]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x131], rax
test rax, rax
jne 0x140009b70
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8d, 0x176
lea rdx, str.CLoadDLL::nLoadDLL
lea rcx, str._r_n_s:_d:_load_ReadDownStreamPortState_FAIL__GetLastError:__d
call fcn.1400095e0
xor edi, edi
jmp 0x140009b74
mov byte [rsi + 8], dil
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [r15 + 0x10], eax
sub eax, 1
jg 0x140009b91
mov rcx, qword [r15]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lock xadd dword [r14 + 0x10], ebx
sub ebx, 1
jg 0x140009ba9
mov rcx, qword [r14]
mov r8, qword [rcx]
mov rdx, r14
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov eax, edi
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1401d7480
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
add rsp, 0x50
pop r15
ret