Function at 0x140095e40
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov r12, rdx
mov rsi, rcx
lea rax, vtable.CSetupApi.0
mov qword [rcx], rax
call fcn.140097090
mov rcx, rax
xor r13d, r13d
mov eax, r13d
test rcx, rcx
setne al
test eax, eax
jne 0x140095e91
mov ecx, 0x80004005
call fcn.140001a00
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi + 0x10], rax
call fcn.140097090
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140095ebf
mov ecx, 0x80004005
call fcn.140001a00
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi + 0x18], rax
mov dword [r12], 1
mov qword [rsi + 8], r13
call fcn.140097090
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140095efc
mov ecx, 0x80004005
call fcn.140001a00
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x78], rdi
lea rdx, str.SetupApi.DLL
or rbx, 0xffffffffffffffff
test rdx, 0xffffffffffff0000
jne 0x140095f48
movzx ebp, dx
mov ecx, ebp
call fcn.1400a2710
test rax, rax
je 0x140095f68
mov r8d, ebp
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.140002a70
mov rdi, qword [rsp + 0x78]
jmp 0x140095f68
xor eax, eax
mov rcx, rbx
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x78]
call fcn.1400017b0
mov rdi, qword [rsp + 0x78]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rsi + 8], rax
test rax, rax
jne 0x140095fc2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__6__LastError_u_LoadLibrary_fail._n
call fcn.140062f80
mov rdx, rdi
lea rcx, str.__strSetupApiDLLName__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupOpenInfFileA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x20], rax
test rax, rax
jne 0x140096027
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__7__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupOpenInfFileA
lea rcx, str.__DEF_SETUP_OPEN_INF_FILE__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupCloseInfFile
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x28], rax
test rax, rax
jne 0x14009607a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__8__LastError_u_GetProcAddress_fail._SetupCloseInfFile_n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupGetInfInformationA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x30], rax
test rax, rax
jne 0x1400960e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__9__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupGetInfInformationA
lea rcx, str.__DEF_SETUP_GET_INF_INFORMATION__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupOpenAppendInfFileA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x38], rax
test rax, rax
jne 0x140096146
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__10__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupOpenAppendInfFileA
lea rcx, str.__DEF_SETUP_OPEN_APPEND_INF_FILE__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupPromptForDiskA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x40], rax
test rax, rax
jne 0x1400961ac
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__11__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupPromptForDiskA
lea rcx, str.__DEF_SETUP_PROMPT_FOR_DISK__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupGetLineTextA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x48], rax
test rax, rax
jne 0x140096212
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__12__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupGetLineTextA
lea rcx, str.__DEF_SETUP_GET_LINE_TEXT__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupFindFirstLineA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x50], rax
test rax, rax
jne 0x140096278
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__13__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupFindFirstLineA
lea rcx, str.__DEF_SETUP_FIND_FIRST_LINE__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupGetStringFieldA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x58], rax
test rax, rax
jne 0x1400962de
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__14__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupGetStringFieldA
lea rcx, str.__DEF_SETUP_GET_STRING_FIELD__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupGetTargetPathA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x60], rax
test rax, rax
jne 0x140096344
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__15__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupGetTargetPathA
lea rcx, str.__DEF_SETUP_GET_TARGET_PATH__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupCopyOEMInfA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x68], rax
test rax, rax
jne 0x1400963aa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__16__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupCopyOEMInfA
lea rcx, str.__DEF_SETUP_COPY_OEM_INF__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupOpenFileQueue
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x70], rax
test rax, rax
jne 0x1400963fd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__17__LastError_u_GetProcAddress_fail._SetupOpenFileQueue_n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupCloseFileQueue
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x78], rax
test rax, rax
jne 0x140096450
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__18__LastError_u_GetProcAddress_fail._SetupCloseFileQueue_n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupQueueCopyA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x80], rax
test rax, rax
jne 0x1400964b9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__19__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupQueueCopyA
lea rcx, str.__DEF_SETUP_QUEUE_COPY__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupCommitFileQueueA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x88], rax
test rax, rax
jne 0x140096522
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__20__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupCommitFileQueueA
lea rcx, str.__DEF_SETUP_COMMIT_FILE_QUEUE__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupDefaultQueueCallbackA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x90], rax
test rax, rax
jne 0x14009658b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__21__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupDefaultQueueCallbackA
lea rcx, str.__DEF_SETUP_DEFAULT_QUEUE_CALLBACK__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupInitDefaultQueueCallback
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x98], rax
test rax, rax
jne 0x1400965e1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__22__LastError_u_GetProcAddress_fail._SetupInitDefaultQueueCallback_n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupTermDefaultQueueCallback
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xa0], rax
test rax, rax
jne 0x140096612
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__23__LastError_u_GetProcAddress_fail._SetupTermDefaultQueueCallback_n
call fcn.140062f80
lea rdx, str.SetupFindNextLine
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xa8], rax
test rax, rax
jne 0x140096668
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__24__LastError_u_GetProcAddress_fail._SetupFindNextLine_n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupGetSourceFileLocationA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xb0], rax
test rax, rax
jne 0x1400966d1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__25__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupGetSourceFileLocationA
lea rcx, str.__DEF_SETUP_GET_SOURCE_FILE_LOCATION__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupGetSourceInfoA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xb8], rax
test rax, rax
jne 0x14009673a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__26__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupGetSourceInfoA
lea rcx, str.__DEF_SETUP_GET_SOURCE_INFO__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupInstallFromInfSectionA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xc0], rax
test rax, rax
jne 0x1400967a3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__27__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupInstallFromInfSectionA
lea rcx, str.__DEF_SETUP_INSTALL_FROM_INF_SECTION__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupDecompressOrCopyFileA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xc8], rax
test rax, rax
jne 0x14009680c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__28__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupDecompressOrCopyFileA
lea rcx, str.__DEF_SETUP_DECOMPRESS_OR_COPY_FILE__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupDiGetClassDevsA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xd0], rax
test rax, rax
jne 0x140096875
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__29__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupDiGetClassDevsA
lea rcx, str.__DEF_SETUP_DI_GET_CLASS_DEVS__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupDiEnumDeviceInfo
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xd8], rax
test rax, rax
jne 0x1400968cb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__30__LastError_u_GetProcAddress_fail._SetupDiEnumDeviceInfo_n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupDiGetDeviceRegistryPropertyA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xe0], rax
test rax, rax
jne 0x140096934
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__31__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupDiGetDeviceRegistryPropertyA
lea rcx, str.__DEF_SETUP_DI_GET_DEVICE_REGISTRY_PROPERTY__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupDiDestroyDeviceInfoList
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xe8], rax
test rax, rax
jne 0x14009698a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__32__LastError_u_GetProcAddress_fail._SetupDiDestroyDeviceInfoList_n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupGetFileCompressionInfoA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xf0], rax
test rax, rax
jne 0x1400969f3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__33__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupGetFileCompressionInfoA
lea rcx, str.__DEF_SETUP_GET_FILE_COMPRESSION_INFO__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupDiCallClassInstaller
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xf8], rax
test rax, rax
jne 0x140096a49
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__34__LastError_u_GetProcAddress_fail._SetupDiCallClassInstaller_n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupDiSetClassInstallParamsA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x100], rax
test rax, rax
jne 0x140096aaf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__35__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupDiSetClassInstallParamsA
lea rcx, str.__DEF_SETUP_DI_SET_CLASS_INSTALL_PARAMS__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, str.SetupDiGetDeviceInstanceIdA
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x108], rax
test rax, rax
jne 0x140096b11
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CSetupApi::CSetupApi___return__36__LastError_u_GetProcAddress_fail._n
call fcn.140062f80
lea rdx, str.SetupDiGetDeviceInstanceIdA
lea rcx, str.__DEF_SETUP_DI_GET_DEVICE_INSTANCE_ID__s__n
call fcn.140062f80
mov dword [r12], r13d
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140096b2a
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140096b2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, rsi
mov rbx, qword [rsp + 0x68]
add rsp, 0x30
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret