Function at 0x100cb4f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x102a20c8
mov eax, dword fs:[0]
push eax
sub esp, 0x18c
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0x198]
mov dword fs:[0], eax
mov edi, dword [ebp + 0xc]
xor esi, esi
cmp edi, esi
jne 0x100cb53f
push esi
push 0x4f1
push 0x102c56c4
push 0x80070057
call fcn.100048f0
cmp ebx, esi
jne 0x100cb558
push esi
push 0x4f2
push 0x102c56c4
push 0x80004003
call fcn.100048f0
call fcn.100c1f10
cmp dword [eax + 0x1c], 6
jl 0x100cb623
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x13
mov edi, 7
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], esi
push str..NVDevicePhase.cpp
mov word [ecx + 4], ax
call fcn.10035ce0
mov dword [esp + 0x1bc], esi
push 0x4f4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x6c], esp
push 0x33
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], esi
push str.CNVDevicePhase::HandleFileActionsSizeListForInstall
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x1dc], 1
lea eax, [esp + 0x4b]
lea ecx, [esp + 0x80]
lea edx, [esp + 0x8c]
push 6
mov byte [esp + 0x4f], 0
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], str.Processing_size_info_for_driver_files_to_be_installed...
mov dword [esp + 0x94], ecx
mov dword [esp + 0x7c], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____57___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x80], edx
call fcn.100c1f10
push eax
mov dword [esp + 0x1e4], 0xffffffff
lea edi, [esp + 0x80]
call fcn.10002b50
mov edi, dword [ebp + 0xc]
lea ecx, [esp + 0xa4]
call fcn.10002dd0
mov dword [esp + 0x1a0], 2
lea ecx, [esp + 0xa4]
mov dword [esp + 0xbc], esi
call fcn.100041b0
lea eax, [esp + 0xac]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, esi
jge 0x100cb66c
push esi
push esi
push 0x102b274a
push eax
call fcn.100048f0
mov edx, dword [edi]
lea eax, [esp + 0xb4]
mov ecx, 8
push eax
mov word [esp + 0xb0], cx
mov ecx, dword [edx + 0x5c]
push edi
mov dword [esp + 0xc4], 2
mov dword [esp + 0xbc], esi
call ecx
cmp eax, esi
jge 0x100cb6b0
push esi
push 0x4f7
push 0x102c56c4
push eax
call fcn.100048f0
lea edx, [esp + 0xa4]
push edx
lea ecx, [esp + 0xd0]
call fcn.100555b0
mov byte [esp + 0x1a0], 3
lea ecx, [esp + 0x58]
push ecx
mov ecx, eax
call fcn.10055790
mov byte [esp + 0x1a0], 4
lea edx, [esp + 0x118]
push edx
mov ecx, eax
call fcn.101daa80
mov byte [esp + 0x1a0], 6
lea ecx, [esp + 0x58]
call fcn.10056b10
mov byte [esp + 0x1a0], 7
lea ecx, [esp + 0xcc]
call fcn.10056b10
push edi
lea eax, [esp + 0x2c]
push eax
call fcn.100d6850
mov byte [esp + 0x1a0], 8
mov dword [esp + 0x14], esi
mov byte [esp + 0x1a0], 0xa
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
lea edx, [esp + 0x14]
push edx
push eax
mov eax, dword [ecx + 0xa4]
call eax
cmp eax, esi
jge 0x100cb75c
push esi
push 0x4fc
push 0x102c56c4
push eax
call fcn.100048f0
lea ecx, [esp + 0xe8]
call fcn.1005aba0
mov byte [esp + 0x1a0], 0xb
lea ecx, [esp + 0x164]
call fcn.1005aba0
mov byte [esp + 0x1a0], 0xc
mov dword [esp + 0x20], esi
mov byte [esp + 0x1a0], 0x10
mov dword [esp + 0x2c], esi
mov byte [esp + 0x1a0], 0x14
mov dword [esp + 0x34], esi
mov byte [esp + 0x1a0], 0x18
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
cmp eax, esi
jne 0x100cb87c
mov byte [esp + 0x1a0], 0x14
lea ecx, [esp + 0x34]
call fcn.1003ca30
mov byte [esp + 0x1a0], 0x10
lea ecx, [esp + 0x2c]
call fcn.1003ca30
mov byte [esp + 0x1a0], 0xc
lea ecx, [esp + 0x20]
call fcn.1003ca30
mov byte [esp + 0x1a0], 0xb
lea ecx, [esp + 0x164]
call fcn.100532d0
mov byte [esp + 0x1a0], 0xa
lea ecx, [esp + 0xe8]
call fcn.100532d0
mov byte [esp + 0x1a0], 8
lea edx, [esp + 0x14]
push edx
call fcn.100409e0
mov byte [esp + 0x1a0], 7
lea eax, [esp + 0x28]
push eax
call fcn.100409e0
mov byte [esp + 0x1a0], 2
lea ecx, [esp + 0x118]
call fcn.10056b10
mov dword [esp + 0x1a0], 0xffffffff
lea ecx, [esp + 0xa4]
call fcn.10002d20
mov ecx, dword [esp + 0x198]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esp + 0x24]
xor esi, esi
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
je 0x100cbd24
mov edx, dword [eax]
lea ecx, [esp + 0x4c]
push ecx
mov esi, eax
xor edi, edi
push 2
add esi, 8
mov dword [esp + 0x54], edi
mov eax, dword [esi + 0x18]
push edi
push eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x2c], esi
call dword [sym.imp.SETUPAPI.dll_SetupOpenInfFileW]
mov dword [esp + 0x10], eax
mov byte [esp + 0x1a0], 0x19
cmp dword [esp + 0x10], 0xffffffff
je 0x100cbd39
lea ecx, [esp + 0x134]
call fcn.1005aba0
mov byte [esp + 0x1a0], 0x1a
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], 0xa
mov byte [esp + 0x1a0], 0x1b
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0xcc]
push ecx
lea edx, [esp + 0x5c]
push esi
mov dword [esp + 0xd4], 0x102ac24c
mov dword [esp + 0xe0], edx
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], eax
call fcn.101f4ac0
add esp, 8
cmp dword [esp + 0x60], edi
jne 0x100cb988
mov byte [esp + 0x1a0], 0x1a
lea ecx, [esp + 0x58]
call fcn.1005eb40
mov byte [esp + 0x1a0], 0x19
lea ecx, [esp + 0x134]
call fcn.100532d0
mov byte [esp + 0x1a0], 0x18
cmp dword [esp + 0x10], 0xffffffff
je 0x100cbd15
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esp + 0x10]
push edx
jmp 0x100cbcfe
lea eax, [esp + 0x118]
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0x164]
lea eax, [esp + 0x134]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], eax
lea ecx, [esp + 0x20]
lea edx, [esp + 0x2c]
lea eax, [esp + 0x34]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edi
call fcn.100c1f10
cmp dword [eax + 0x1c], 6
jl 0x100cbac2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x13
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], edi
push str..NVDevicePhase.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x1bc], 0x1d
push 0x51d
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x8c], esp
push 0x33
xor eax, eax
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], edi
push str.CNVDevicePhase::HandleFileActionsSizeListForInstall
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x1dc], 0x1e
lea ecx, [esp + 0x4b]
mov dword [esp + 0x104], ecx
lea edx, [esp + 0x100]
lea eax, [esp + 0xd0]
lea ecx, [esp + 0xd8]
push 6
mov byte [esp + 0x4f], 0
mov dword [esp + 0xd4], str.Processing_size_information_for_file_actions_in_INF:
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe0], eax
mov dword [esp + 0x84], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_class_CFilePath_const___class_Nvidia::Logging::Chain_char_const_____53___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType____.0
mov dword [esp + 0x88], ecx
call fcn.100c1f10
push eax
mov byte [esp + 0x1e4], 0x1b
lea edi, [esp + 0x88]
call fcn.10002b50
xor edi, edi
mov eax, dword [esp + 0x58]
cmp eax, edi
je 0x100cbca8
jmp 0x100cbad4
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x100cbd3e
mov edx, dword [eax]
push str.Root
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1c], edx
lea edi, [eax + 8]
call fcn.100044a0
mov byte [esp + 0x1a0], 0x1f
push edi
lea eax, [esp + 0x3c]
push eax
lea esi, [esp + 0x7c]
call fcn.100cf6e0
test al, al
sete byte [esp + 0xf]
mov byte [esp + 0x1a0], 0x1b
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100cbb40
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [esp + 0xf], 0
jne 0x100cbc98
mov eax, dword [esp + 0x14]
test eax, eax
je 0x100cbd53
mov ecx, dword [edi]
cmp dword [ecx - 0xc], 0
je 0x100cbd69
mov esi, dword [ebp + 8]
push ebx
lea edx, [esp + 0xec]
push edx
lea ecx, [esp + 0x7c]
push ecx
push eax
push esi
mov ecx, edi
call fcn.100c8e80
push ebx
lea edx, [esp + 0x78]
push edx
push esi
mov ecx, edi
call fcn.100c7bb0
push str..CoInstallers
lea eax, [esp + 0x40]
push edi
push eax
call fcn.100029d0
add esp, 0xc
mov esi, eax
mov byte [esp + 0x1a0], 0x21
mov eax, dword [esp + 0x14]
test eax, eax
je 0x100cbd53
mov ecx, dword [esi]
cmp dword [ecx - 0xc], 0
je 0x100cbd69
push ebx
lea edx, [esp + 0xec]
push edx
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x7c]
push ecx
push eax
push edx
mov ecx, esi
call fcn.100c8e80
mov ecx, dword [ebp + 8]
push ebx
lea eax, [esp + 0x78]
push eax
push ecx
mov ecx, esi
call fcn.100c7bb0
mov byte [esp + 0x1a0], 0x1b
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x100cbc13
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str..Interfaces
lea ecx, [esp + 0x34]
push edi
push ecx
call fcn.100029d0
add esp, 0xc
mov esi, eax
mov byte [esp + 0x1a0], 0x23
mov eax, dword [esp + 0x14]
test eax, eax
je 0x100cbd53
mov edx, dword [esi]
cmp dword [edx - 0xc], 0
je 0x100cbd69
mov edi, dword [ebp + 8]
push ebx
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x7c]
push edx
push eax
push edi
mov ecx, esi
call fcn.100c8e80
push ebx
lea eax, [esp + 0x78]
push eax
push edi
mov ecx, esi
call fcn.100c7bb0
mov byte [esp + 0x1a0], 0x1b
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100cbc98
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor edi, edi
cmp dword [esp + 0x18], edi
jne 0x100cbad0
mov esi, dword [esp + 0x1c]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push ebx
lea ecx, [esp + 0xec]
push ecx
push esi
push edx
push eax
call fcn.100c99f0
mov byte [esp + 0x1a0], 0x1a
lea ecx, [esp + 0x58]
call fcn.1005eb40
mov byte [esp + 0x1a0], 0x19
lea ecx, [esp + 0x134]
call fcn.100532d0
mov byte [esp + 0x1a0], 0x18
cmp dword [esp + 0x10], 0xffffffff
je 0x100cbd15
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp + 0x10]
push ecx
mov esi, eax
call dword [sym.imp.SETUPAPI.dll_SetupCloseInfFile]
push esi
mov dword [esp + 0x14], 0xffffffff
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [esp + 0x24], edi
jne 0x100cb876
jmp 0x100cb7b5
push esi
push 0x514
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlcoll.h
push 0x80004005
call fcn.100048f0
call fcn.100c1a60
push edi
push 0x514
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlcoll.h
push 0x80004005
call fcn.100048f0
push 0
push 0x39f
push 0x102c56c4
push 0x80070057
call fcn.100048f0
push 0
push 0x3a0
push 0x102c56c4
push 0x80070057
call fcn.100048f0
int3