Function at 0x14001c5d0
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x338
mov qword [rsp + 0x20], 0
mov rax, qword [rsp + 0x340]
mov qword [rax], 0
mov rax, qword [rsp + 0x340]
mov qword [rax + 8], 0
lea rcx, [0x1401eb888]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x14001c663
lea rcx, [0x1401eb8a8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x340]
mov rcx, qword [rsp + 0x20]
mov qword [rax], rcx
cmp qword [rsp + 0x20], 0
jne 0x14001c663
lea rcx, [rsp + 0x28]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x28]
call fcn.1401ac324
lea rdx, str.SetupDefaultQueueCallbackW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac740], rax
cmp qword [0x1402ac740], 0
jne 0x14001c6a1
lea rcx, [rsp + 0x40]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x40]
call fcn.1401ac324
lea rdx, str.SetupDiGetINFClassW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac748], rax
cmp qword [0x1402ac748], 0
jne 0x14001c6df
lea rcx, [rsp + 0x58]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x58]
call fcn.1401ac324
lea rdx, [0x1401eb900]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac750], rax
cmp qword [0x1402ac750], 0
jne 0x14001c71d
lea rcx, [rsp + 0x70]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x70]
call fcn.1401ac324
lea rdx, str.SetupDiDeleteDeviceInfo
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac758], rax
cmp qword [0x1402ac758], 0
jne 0x14001c761
lea rcx, [rsp + 0x88]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x88]
call fcn.1401ac324
lea rdx, str.SetupDiDestroyDriverInfoList
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac760], rax
cmp qword [0x1402ac760], 0
jne 0x14001c7a5
lea rcx, [rsp + 0xa0]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0xa0]
call fcn.1401ac324
lea rdx, str.SetupDiGetDriverInstallParamsW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac768], rax
cmp qword [0x1402ac768], 0
jne 0x14001c7e9
lea rcx, [rsp + 0xb8]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0xb8]
call fcn.1401ac324
lea rdx, str.SetupCloseInfFile
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac770], rax
cmp qword [0x1402ac770], 0
jne 0x14001c82d
lea rcx, [rsp + 0xd0]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0xd0]
call fcn.1401ac324
lea rdx, str.SetupDiGetActualSectionToInstallW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac778], rax
cmp qword [0x1402ac778], 0
jne 0x14001c871
lea rcx, [rsp + 0xe8]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0xe8]
call fcn.1401ac324
lea rdx, str.SetupOpenInfFileW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac780], rax
cmp qword [0x1402ac780], 0
jne 0x14001c8b5
lea rcx, [rsp + 0x100]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x100]
call fcn.1401ac324
lea rdx, str.SetupDiGetDriverInfoDetailW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac788], rax
cmp qword [0x1402ac788], 0
jne 0x14001c8f9
lea rcx, [rsp + 0x118]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x118]
call fcn.1401ac324
lea rdx, str.SetupDiEnumDriverInfoW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac790], rax
cmp qword [0x1402ac790], 0
jne 0x14001c93d
lea rcx, [rsp + 0x130]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x130]
call fcn.1401ac324
lea rdx, str.SetupDiBuildDriverInfoList
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac798], rax
cmp qword [0x1402ac798], 0
jne 0x14001c981
lea rcx, [rsp + 0x148]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x148]
call fcn.1401ac324
lea rdx, str.SetupDiSetDeviceInstallParamsW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac7a0], rax
cmp qword [0x1402ac7a0], 0
jne 0x14001c9c5
lea rcx, [rsp + 0x160]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x160]
call fcn.1401ac324
lea rdx, str.SetupDiSetDeviceRegistryPropertyW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac7a8], rax
cmp qword [0x1402ac7a8], 0
jne 0x14001ca09
lea rcx, [rsp + 0x178]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x178]
call fcn.1401ac324
lea rdx, str.SetupDiCreateDeviceInfoW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac7b0], rax
cmp qword [0x1402ac7b0], 0
jne 0x14001ca4d
lea rcx, [rsp + 0x190]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x190]
call fcn.1401ac324
lea rdx, str.SetupDiCreateDeviceInfoList
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac7b8], rax
cmp qword [0x1402ac7b8], 0
jne 0x14001ca91
lea rcx, [rsp + 0x1a8]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x1a8]
call fcn.1401ac324
lea rdx, str.SetupInstallFromInfSectionW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac7c0], rax
cmp qword [0x1402ac7c0], 0
jne 0x14001cad5
lea rcx, [rsp + 0x1c0]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x1c0]
call fcn.1401ac324
lea rdx, str.SetupTermDefaultQueueCallback
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac7c8], rax
cmp qword [0x1402ac7c8], 0
jne 0x14001cb19
lea rcx, [rsp + 0x1d8]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x1d8]
call fcn.1401ac324
lea rdx, str.SetupCloseFileQueue
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac7d0], rax
cmp qword [0x1402ac7d0], 0
jne 0x14001cb5d
lea rcx, [rsp + 0x1f0]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x1f0]
call fcn.1401ac324
lea rdx, [0x1401ebb10]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac7d8], rax
cmp qword [0x1402ac7d8], 0
jne 0x14001cba1
lea rcx, [rsp + 0x208]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x208]
call fcn.1401ac324
lea rdx, str.SetupCommitFileQueueW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac7e0], rax
cmp qword [0x1402ac7e0], 0
jne 0x14001cbe5
lea rcx, [rsp + 0x220]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x220]
call fcn.1401ac324
lea rdx, str.SetupInstallFilesFromInfSectionW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac7e8], rax
cmp qword [0x1402ac7e8], 0
jne 0x14001cc29
lea rcx, [rsp + 0x238]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x238]
call fcn.1401ac324
lea rdx, str.SetupOpenFileQueue
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac7f0], rax
cmp qword [0x1402ac7f0], 0
jne 0x14001cc6d
lea rcx, [rsp + 0x250]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x250]
call fcn.1401ac324
lea rdx, str.SetupInitDefaultQueueCallbackEx
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac7f8], rax
cmp qword [0x1402ac7f8], 0
jne 0x14001ccb1
lea rcx, [rsp + 0x268]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x268]
call fcn.1401ac324
lea rdx, [0x1401ebba8]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac800], rax
cmp qword [0x1402ac800], 0
jne 0x14001ccf5
lea rcx, [rsp + 0x280]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x280]
call fcn.1401ac324
lea rdx, str.SetupSetDirectoryIdW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac810], rax
cmp qword [0x1402ac810], 0
jne 0x14001cd39
lea rcx, [rsp + 0x298]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x298]
call fcn.1401ac324
lea rdx, str.SetupQueueCopyW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac828], rax
cmp qword [0x1402ac828], 0
jne 0x14001cd7d
lea rcx, [rsp + 0x2b0]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x2b0]
call fcn.1401ac324
mov qword [rsp + 0x20], 0
lea rcx, str.mscms.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x14001cdec
lea rcx, [0x1401ebc00]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x340]
mov rcx, qword [rsp + 0x20]
mov qword [rax + 8], rcx
cmp qword [rsp + 0x20], 0
jne 0x14001cdec
lea rcx, [rsp + 0x2c8]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x2c8]
call fcn.1401ac324
lea rdx, str.GetColorDirectoryW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac808], rax
cmp qword [0x1402ac808], 0
jne 0x14001ce30
lea rcx, [rsp + 0x2e0]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x2e0]
call fcn.1401ac324
lea rdx, str.InstallColorProfileW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac818], rax
cmp qword [0x1402ac818], 0
jne 0x14001ce74
lea rcx, [rsp + 0x2f8]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x2f8]
call fcn.1401ac324
lea rdx, str.AssociateColorProfileWithDeviceW
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1402ac820], rax
cmp qword [0x1402ac820], 0
jne 0x14001ceb8
lea rcx, [rsp + 0x310]
call fcn.14002e930
lea rdx, [0x14029e4e0]
lea rcx, [rsp + 0x310]
call fcn.1401ac324
lea rdx, str.CInitAPI::CInitAPI_all_function_pointer_has_been_initialized._n
mov ecx, 4
call fcn.14001c160
mov rax, qword [rsp + 0x340]
add rsp, 0x338
ret