Function at 0x411720
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov ebx, ecx
push str.setupapi.dll
mov dword [ebx], 0
mov dword [ebx + 4], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, eax
test esi, esi
jne 0x411785
push str.setupapi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
mov dword [ebx], esi
test esi, esi
jne 0x411785
push 1
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], str.bad_allocation
call fcn.00530f9c
mov dword [ebp - 0x10], vtable.std::bad_alloc.0
push 0x5ab798
lea ecx, [ebp - 0x10]
push ecx
call fcn.005317b1
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SetupDefaultQueueCallbackW
push esi
call edi
mov dword [0x5c70a4], eax
test eax, eax
jne 0x4117c7
push 1
lea edx, [ebp - 4]
push edx
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], str.bad_allocation
call fcn.00530f9c
push 0x5ab798
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0x10], vtable.std::bad_alloc.0
call fcn.005317b1
push str.SetupDiGetINFClassW
push esi
call edi
mov dword [0x5c70a8], eax
test eax, eax
jne 0x411802
push 1
lea ecx, [ebp - 4]
push ecx
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], str.bad_allocation
call fcn.00530f9c
push 0x5ab798
lea edx, [ebp - 0x10]
push edx
mov dword [ebp - 0x10], vtable.std::bad_alloc.0
call fcn.005317b1
push 0x562d54
push esi
call edi
mov dword [0x5c70ac], eax
test eax, eax
je 0x41175b
push str.SetupDiDeleteDeviceInfo
push esi
call edi
mov dword [0x5c70b0], eax
test eax, eax
jne 0x411852
push 1
lea edx, [ebp - 4]
push edx
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], str.bad_allocation
call fcn.00530f9c
push 0x5ab798
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], vtable.std::bad_alloc.0
push eax
jmp 0x411780
push str.SetupDiDestroyDriverInfoList
push esi
call edi
mov dword [0x5c70b4], eax
test eax, eax
jne 0x411870
lea ecx, [ebp - 0x10]
call fcn.004116b0
jmp 0x411777
push str.SetupDiGetDriverInstallParamsW
push esi
call edi
mov dword [0x5c70b8], eax
test eax, eax
jne 0x411897
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea edx, [ebp - 0x10]
push edx
jmp 0x411780
push str.SetupCloseInfFile
push esi
call edi
mov dword [0x5c70bc], eax
test eax, eax
jne 0x4118be
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea eax, [ebp - 0x10]
push eax
jmp 0x411780
push str.SetupDiGetActualSectionToInstallW
push esi
call edi
mov dword [0x5c70c0], eax
test eax, eax
jne 0x4118dc
lea ecx, [ebp - 0x10]
call fcn.004116b0
jmp 0x411777
push str.SetupOpenInfFileW
push esi
call edi
mov dword [0x5c70c4], eax
test eax, eax
jne 0x411903
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea edx, [ebp - 0x10]
push edx
jmp 0x411780
push str.SetupDiGetDriverInfoDetailW
push esi
call edi
mov dword [0x5c70c8], eax
test eax, eax
jne 0x41192a
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea eax, [ebp - 0x10]
push eax
jmp 0x411780
push str.SetupDiEnumDriverInfoW
push esi
call edi
mov dword [0x5c70cc], eax
test eax, eax
jne 0x411948
lea ecx, [ebp - 0x10]
call fcn.004116b0
jmp 0x411777
push str.SetupDiBuildDriverInfoList
push esi
call edi
mov dword [0x5c70d0], eax
test eax, eax
jne 0x41196f
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea edx, [ebp - 0x10]
push edx
jmp 0x411780
push str.SetupDiSetDeviceInstallParamsW
push esi
call edi
mov dword [0x5c70d4], eax
test eax, eax
jne 0x411996
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea eax, [ebp - 0x10]
push eax
jmp 0x411780
push str.SetupDiSetDeviceRegistryPropertyW
push esi
call edi
mov dword [0x5c70d8], eax
test eax, eax
jne 0x4119b4
lea ecx, [ebp - 0x10]
call fcn.004116b0
jmp 0x411777
push str.SetupDiCreateDeviceInfoW
push esi
call edi
mov dword [0x5c70dc], eax
test eax, eax
jne 0x4119db
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea edx, [ebp - 0x10]
push edx
jmp 0x411780
push str.SetupDiCreateDeviceInfoList
push esi
call edi
mov dword [0x5c70e0], eax
test eax, eax
jne 0x411a02
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea eax, [ebp - 0x10]
push eax
jmp 0x411780
push str.SetupInstallFromInfSectionW
push esi
call edi
mov dword [0x5c70e4], eax
test eax, eax
jne 0x411a20
lea ecx, [ebp - 0x10]
call fcn.004116b0
jmp 0x411777
push str.SetupTermDefaultQueueCallback
push esi
call edi
mov dword [0x5c70e8], eax
test eax, eax
jne 0x411a47
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea edx, [ebp - 0x10]
push edx
jmp 0x411780
push str.SetupCloseFileQueue
push esi
call edi
mov dword [0x5c70ec], eax
test eax, eax
jne 0x411a6e
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea eax, [ebp - 0x10]
push eax
jmp 0x411780
push str.SetupIterateCabinetW
push esi
call edi
mov dword [0x5c70f0], eax
test eax, eax
jne 0x411a8c
lea ecx, [ebp - 0x10]
call fcn.004116b0
jmp 0x411777
push str.SetupCommitFileQueueW
push esi
call edi
mov dword [0x5c70f4], eax
test eax, eax
jne 0x411ab3
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea edx, [ebp - 0x10]
push edx
jmp 0x411780
push str.SetupInstallFilesFromInfSectionW
push esi
call edi
mov dword [0x5c70f8], eax
test eax, eax
jne 0x411ada
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea eax, [ebp - 0x10]
push eax
jmp 0x411780
push str.SetupOpenFileQueue
push esi
call edi
mov dword [0x5c70fc], eax
test eax, eax
jne 0x411af8
lea ecx, [ebp - 0x10]
call fcn.004116b0
jmp 0x411777
push str.SetupInitDefaultQueueCallbackEx
push esi
call edi
mov dword [0x5c7100], eax
test eax, eax
jne 0x411b1f
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea edx, [ebp - 0x10]
push edx
jmp 0x411780
push 0x562af4
push esi
call edi
mov dword [0x5c7104], eax
test eax, eax
jne 0x411b46
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea eax, [ebp - 0x10]
push eax
jmp 0x411780
push str.SetupSetDirectoryIdW
push esi
call edi
mov dword [0x5c710c], eax
test eax, eax
jne 0x411b64
lea ecx, [ebp - 0x10]
call fcn.004116b0
jmp 0x411777
push str.SetupQueueCopyW
push esi
call edi
mov dword [0x5c7118], eax
test eax, eax
jne 0x411b8b
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea edx, [ebp - 0x10]
push edx
jmp 0x411780
push str.mscms.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, eax
test esi, esi
jne 0x411bc6
push str.mscms.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
mov dword [ebx + 4], esi
test esi, esi
jne 0x411bc6
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea eax, [ebp - 0x10]
push eax
jmp 0x411780
push str.GetColorDirectoryW
push esi
call edi
mov dword [0x5c7108], eax
test eax, eax
jne 0x411be4
lea ecx, [ebp - 0x10]
call fcn.004116b0
jmp 0x411777
push str.InstallColorProfileW
push esi
call edi
mov dword [0x5c7110], eax
test eax, eax
jne 0x411c0b
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea edx, [ebp - 0x10]
push edx
jmp 0x411780
push str.AssociateColorProfileWithDeviceW
push esi
call edi
mov dword [0x5c7114], eax
pop edi
test eax, eax
jne 0x411c33
lea ecx, [ebp - 0x10]
call fcn.004116b0
push 0x5ab798
lea eax, [ebp - 0x10]
push eax
jmp 0x411780
push str.CInitAPI::CInitAPI_all_function_pointer_has_been_initialized._n
push 4
call fcn.00411380
add esp, 8
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret