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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1029713f
mov eax, dword fs:[0]
push eax
sub esp, 0x208
push ebx
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0x218]
mov dword fs:[0], eax
push str.SOFTWARENVIDIA_CorporationInstaller2Devices
lea ecx, [esp + 0xd4]
call fcn.10055ee0
xor ebx, ebx
mov dword [esp + 0x220], ebx
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x1cc]
call fcn.10055ce0
mov byte [esp + 0x220], 1
push 1
lea ecx, [esp + 0x1c0]
push ecx
mov ecx, eax
call fcn.10055e70
mov byte [esp + 0x220], 2
lea edx, [esp + 0xd0]
push edx
push eax
lea ecx, [esp + 0x58]
call fcn.10055f50
mov byte [esp + 0x220], 4
lea ecx, [esp + 0x1bc]
call fcn.100560b0
mov byte [esp + 0x220], 5
lea ecx, [esp + 0x1c8]
call fcn.100560b0
mov byte [esp + 0x220], 6
lea ecx, [esp + 0xd0]
call fcn.100560b0
lea ecx, [esp + 0x50]
call fcn.101e2510
test al, al
jne 0x100a14ce
call fcn.10098810
cmp dword [eax + 0x1c], 6
jl 0x100a14a2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x78], esp
push str..InstallationStepper.cpp
call fcn.10035dd0
mov byte [esp + 0x23c], 7
push 0x7e8
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push str.CCommonProgress::PerformNullDeviceCleanup
call fcn.10035dd0
mov byte [esp + 0x25c], 8
lea eax, [esp + 0x52]
lea ecx, [esp + 0x80]
lea edx, [esp + 0x5c]
push 6
mov byte [esp + 0x56], bl
mov dword [esp + 0x88], eax
mov dword [esp + 0x60], str.Devices_key_not_found__no_NULL_devices_to_clean_up
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____51___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x70], edx
call fcn.10098810
push eax
mov byte [esp + 0x264], 6
lea edi, [esp + 0x70]
call fcn.10002b50
mov dword [esp + 0x220], 0xffffffff
lea ecx, [esp + 0x50]
call fcn.100560b0
mov ecx, dword [esp + 0x218]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [esp + 0x68], ebx
mov byte [esp + 0x220], 9
push str.PendingNULLDevices
lea ecx, [esp + 0x2c]
call fcn.100044a0
mov byte [esp + 0x220], 0xa
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x54]
call fcn.101e4e30
mov esi, eax
mov dword [esp + 0x5c], esi
mov dword [esp + 0x68], esi
mov byte [esp + 0x220], 9
lea ecx, [esp + 0x28]
call fcn.10004720
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov byte [esp + 0x220], 0xb
cmp esi, ebx
je 0x100a1543
mov edx, dword [esi]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x6c]
push eax
mov ecx, esi
call edx
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x220], 0xe
mov dword [esp + 0x28], ebx
mov byte [esp + 0x220], 0x11
lea ebx, [esp + 0x28]
lea edi, [esp + 0x3c]
call fcn.10090040
xor ebx, ebx
cmp eax, ebx
jge 0x100a157f
push ebx
push 0x7f5
push 0x102bf91c
push eax
call fcn.100048f0
mov eax, dword [esp + 0x70]
xor edi, edi
mov dword [esp + 0x18], eax
cmp eax, ebx
jbe 0x100a1654
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x100a15a4
mov eax, dword [esp + 0x70]
cmp edi, eax
jae 0x100a1699
mov eax, dword [esp + 0x6c]
lea eax, [eax + edi*4]
push eax
lea ecx, [esp + 0xb0]
call fcn.100023b0
mov byte [esp + 0x220], 0x12
cmp dword [esp + 0xc4], ebx
je 0x100a15ff
lea ecx, [esp + 0xac]
call fcn.100039a0
movzx ecx, word [eax]
cmp cx, bx
je 0x100a15ff
cmp cx, 1
je 0x100a15ff
cmp cx, 8
sete cl
cmp cl, bl
je 0x100a16ae
mov eax, dword [eax + 8]
jmp 0x100a1601
xor eax, eax
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.100a34d0
mov byte [esp + 0x220], 0x13
lea edx, [esp + 0xb4]
push edx
call esi
mov byte [esp + 0x220], 0x11
mov eax, dword [esp + 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100a1649
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc edi
cmp edi, dword [esp + 0x18]
jb 0x100a15a0
mov dword [esp + 0x184], ebx
mov dword [esp + 0x188], ebx
mov dword [esp + 0x18c], ebx
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], ebx
mov dword [esp + 0x198], 0xa
mov byte [esp + 0x220], 0x16
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 8]
cmp eax, ebx
je 0x100a16c3
add eax, 4
jmp 0x100a16c5
push ebx
push 0x27e
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlcoll.h
push 0x80070057
call fcn.100048f0
push ebx
push 0xb7
push str.c:dvsp4_build_sw_relgpu_drvinstaller_coreincAutoString.h
push 0xe0e00000
call fcn.100048f0
xor eax, eax
mov edx, dword [ebp + 0xc]
mov eax, dword [eax + 8]
push edx
lea ecx, [esp + 0x188]
push ecx
push eax
call fcn.101247c0
mov edi, dword [esp + 0x184]
mov esi, dword [esp + 0x3c]
cmp edi, ebx
je 0x100a1765
lea esp, [esp]
xor eax, eax
cmp edi, ebx
setne al
cmp eax, ebx
je 0x100a1778
mov eax, edi
mov edi, dword [edi]
mov eax, dword [eax + 8]
mov dword [esp + 0x34], ebx
mov byte [esp + 0x220], 0x18
cmp eax, ebx
je 0x100a1723
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [esp + 0x34]
push ecx
push 0x102c1114
push eax
call edx
mov byte [esp + 0x220], 0x19
mov eax, dword [esp + 0x34]
cmp eax, ebx
jne 0x100a1735
jmp 0x100a1749
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push esi
push eax
call edx
cmp eax, ebx
jge 0x100a1749
cmp eax, 0x80004001
jne 0x100a178d
mov byte [esp + 0x220], 0x16
mov eax, dword [esp + 0x34]
cmp eax, ebx
je 0x100a1761
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp edi, ebx
jne 0x100a16f0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [esp + 0x4c], ebx
cmp eax, ebx
je 0x100a179e
add eax, 4
jmp 0x100a17a0
push ebx
push 0x514
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlcoll.h
push 0x80004005
call fcn.100048f0
push ebx
push 0x812
push 0x102bf91c
push eax
call fcn.100048f0
xor eax, eax
mov eax, dword [eax + 8]
mov ecx, dword [eax]
lea edx, [esp + 0x4c]
push edx
push eax
mov eax, dword [ecx + 0x40]
call eax
cmp eax, ebx
jge 0x100a17c5
push ebx
push 0x817
push 0x102bf91c
push eax
call fcn.100048f0
cmp dword [esp + 0x4c], ebx
jne 0x100a1864
call fcn.10098810
cmp dword [eax + 0x1c], 4
jl 0x100a1864
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str..InstallationStepper.cpp
call fcn.10035dd0
mov byte [esp + 0x23c], 0x1e
push 0x81a
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push str.CCommonProgress::PerformNullDeviceCleanup
call fcn.10035dd0
mov byte [esp + 0x25c], 0x1f
lea ecx, [esp + 0x52]
lea edx, [esp + 0x80]
lea eax, [esp + 0x5c]
push 4
mov byte [esp + 0x56], bl
mov dword [esp + 0x88], ecx
mov dword [esp + 0x60], str.Parent_window_handle_is_reported_to_be_NULL
mov dword [esp + 0x64], edx
mov dword [esp + 0x6c], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____44___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x70], eax
call fcn.10098810
push eax
mov byte [esp + 0x264], 0x16
lea edi, [esp + 0x70]
call fcn.10002b50
lea edx, [esp + 0x40]
mov dword [esp + 0x40], ebx
mov ecx, dword [esi]
mov eax, dword [ecx + 0x28]
push edx
push esi
call eax
cmp eax, ebx
jge 0x100a188a
push ebx
push 0x822
push 0x102bf91c
push eax
call fcn.100048f0
call fcn.10098810
cmp dword [eax + 0x1c], 6
mov edi, 7
jl 0x100a1969
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x19
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str..InstallationStepper.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x23c], 0x20
push 0x823
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x29
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CCommonProgress::PerformNullDeviceCleanup
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x25c], 0x21
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x52]
lea edx, [esp + 0x80]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x68], eax
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x68]
lea eax, [esp + 0x70]
push 6
mov byte [esp + 0x56], bl
mov dword [esp + 0x60], str.Considering
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], str.devices_for_removal
mov dword [esp + 0x78], edx
mov dword [esp + 0xa0], 0x102c1080
mov dword [esp + 0xa4], eax
call fcn.10098810
push eax
mov byte [esp + 0x264], 0x16
lea edi, [esp + 0xa4]
call fcn.10002b50
cmp dword [esp + 0x40], ebx
mov dword [esp + 0x34], ebx
jle 0x100a23d6
jmp 0x100a1980
lea ecx, [esp + 0x19c]
call fcn.10002dd0
mov byte [esp + 0x220], 0x22
lea ecx, [esp + 0x19c]
mov dword [esp + 0x1b4], ebx
call fcn.100041b0
lea ecx, [esp + 0x1a4]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, ebx
jl 0x100a252b
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x1a4]
push ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1b8], 2
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
push ecx
push eax
call edx
cmp eax, ebx
jl 0x100a2538
call fcn.10098810
cmp dword [eax + 0x1c], 6
mov esi, 7
jl 0x100a1acd
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x19
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..InstallationStepper.cpp
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x23c], 0x23
push 0x829
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x29
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CCommonProgress::PerformNullDeviceCleanup
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x25c], 0x24
lea eax, [esp + 0x52]
lea ecx, [esp + 0x240]
mov dword [esp + 0x244], eax
mov dword [esp + 0xa0], ecx
lea edx, [esp + 0x1d8]
lea eax, [esp + 0x9c]
lea ecx, [esp + 0x170]
push 6
mov byte [esp + 0x56], bl
mov dword [esp + 0xa0], str.Working_on_entry
mov dword [esp + 0x174], edx
mov dword [esp + 0x178], eax
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_class_CAutoString_const___class_Nvidia::Logging::Chain_char_const_____17___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType____.0
mov dword [esp + 0x1c0], ecx
call fcn.10098810
push eax
mov byte [esp + 0x264], 0x22
lea edi, [esp + 0x1c0]
call fcn.10002b50
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], 0xa
mov byte [esp + 0x220], 0x25
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x1ec]
push ecx
push ebx
lea edx, [esp + 0x9c]
push 0x102c08e0
lea ecx, [esp + 0x1a8]
mov dword [esp + method.CAtlListBuilder_class_CFilePath__class_ATL::CElementTraits_class_CFilePath___class_ATL::CAtlList_class_CFilePath__class_ATL::CElementTraits_class_CFilePath___.virtual_0], vtable.CAtlListBuilder_class_CAutoString__class_ATL::CElementTraits_class_CAutoString___class_ATL::CAtlList_class_CAutoString__class_ATL::CElementTraits_class_CAutoString___.0
mov dword [esp + 0x204], edx
mov dword [esp + 0x1fc], ebx
mov dword [esp + 0x200], eax
call fcn.101e8f20
lea ecx, [esp + 0x154]
call fcn.10002dd0
mov byte [esp + 0x220], 0x26
mov eax, dword [esp + 0x9c]
mov byte [esp + 0x16], 1
cmp eax, 1
jne 0x100a1caf
call fcn.10098810
cmp dword [eax + 0x1c], 4
jl 0x100a1c37
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x19
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..InstallationStepper.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x23c], 0x27
push 0x834
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x29
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CCommonProgress::PerformNullDeviceCleanup
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x25c], 0x28
lea ecx, [esp + 0x53]
lea edx, [esp + 0x248]
lea eax, [esp + 0x138]
push 4
mov byte [esp + 0x57], bl
mov dword [esp + 0x250], ecx
mov dword [esp + 0x13c], str.Entry_only_has_one_part__assuming_device_identifier
mov dword [esp + 0x140], edx
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102b6998
mov dword [esp + 0x150], eax
call fcn.10098810
push eax
mov byte [esp + 0x264], 0x26
lea edi, [esp + 0x150]
call fcn.10002b50
mov ecx, dword [esp + 0x94]
xor eax, eax
cmp ecx, ebx
setne al
cmp eax, ebx
je 0x100a2549
lea esi, [ecx + 8]
lea ecx, [esp + 0x154]
cmp ecx, esi
je 0x100a1e96
mov dword [esp + 0x16c], ebx
call fcn.100041b0
lea edx, [esp + 0x15c]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, ebx
jl 0x100a252b
mov ecx, esi
call fcn.10003840
push eax
lea ecx, [esp + 0x158]
call fcn.100036b0
mov ecx, esi
call fcn.10003a90
xor ecx, ecx
test al, al
setne cl
mov dword [esp + 0x16c], ecx
jmp 0x100a1e96
cmp eax, 2
jne 0x100a22c0
mov eax, dword [esp + 0x94]
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
je 0x100a1778
mov edi, dword [eax]
add eax, 8
push eax
lea ecx, [esp + 0xb0]
mov dword [esp + 0x20], edi
call fcn.10055870
mov byte [esp + 0x220], 0x29
lea ecx, [esp + 0xac]
call fcn.10003840
cmp dword [esp + 0xc4], 3
jne 0x100a1d23
lea edx, [esp + 0xb4]
push edx
mov dword [esp + 0xc8], 1
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, ebx
jl 0x100a252b
cmp dword [esp + 0xc4], ebx
jne 0x100a1d37
mov dword [esp + 0xc4], 1
mov eax, dword [esp + 0xac]
push 0x102c091c
push eax
call fcn.10231171
add esp, 8
test eax, eax
jne 0x100a1d54
mov byte [esp + 0x16], bl
call fcn.10098810
cmp dword [eax + 0x1c], 6
jl 0x100a1e63
mov dword [esp + 0x18], str.needing
cmp byte [esp + 0x16], bl
jne 0x100a1d79
mov dword [esp + 0x18], str.not_needing
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x48], esp
push 0x19
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..InstallationStepper.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x23c], 0x2a
push 0x845
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x29
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CCommonProgress::PerformNullDeviceCleanup
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x25c], 0x2b
lea ecx, [esp + 0x53]
lea edx, [esp + 0x238]
lea eax, [esp + 0x54]
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x15c], edx
mov dword [esp + 0x168], eax
lea ecx, [esp + 0x158]
lea edx, [esp + 0x168]
lea eax, [esp + 0x178]
push 6
mov byte [esp + 0x57], bl
mov dword [esp + 0x15c], str.Device_marked_as
mov dword [esp + 0x170], ecx
mov dword [esp + 0x17c], str.reboot_for_uninstall
mov dword [esp + 0x180], edx
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102c1094
mov dword [esp + 0x1b8], eax
call fcn.10098810
push eax
mov byte [esp + 0x264], 0x29
lea edi, [esp + 0x1b8]
call fcn.10002b50
mov edi, dword [esp + 0x1c]
xor eax, eax
cmp edi, ebx
setne al
cmp eax, ebx
je 0x100a1778
lea eax, [edi + 8]
push eax
lea ecx, [esp + 0x158]
call fcn.1005ea70
mov byte [esp + 0x220], 0x26
lea ecx, [esp + 0xac]
call fcn.10002d20
mov esi, 2
cmp byte [esp + 0x16], bl
jne 0x100a1ea6
mov esi, 0xa
mov edi, 0xa
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], edi
mov byte [esp + 0x220], 0x2e
lea ecx, [esp + 0x154]
call fcn.10002aa0
mov ecx, dword [esp + 0x80]
push ebx
push ecx
push eax
lea ecx, [esp + 0x88]
call fcn.10095150
mov ecx, dword [esp + 0x80]
cmp ecx, ebx
je 0x100a1f0b
mov dword [ecx], eax
jmp 0x100a1f0f
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x1d4], ebx
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1dc], ebx
mov dword [esp + 0x1e0], ebx
mov dword [esp + 0x1e4], ebx
mov dword [esp + 0x1e8], edi
mov byte [esp + 0x220], 0x2f
mov ecx, dword [esp + 0x4c]
push esi
lea edx, [esp + 0x1d8]
push edx
lea eax, [esp + 0x84]
push eax
push ecx
call fcn.101ce300
add esp, 0x10
jmp 0x100a1f70
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], 0xa
mov byte [esp + 0x220], 0x30
lea edx, [esp + 0x16]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0xe4]
push ecx
mov byte [esp + 0x22], bl
call fcn.101ce460
mov esi, dword [esp + 0xe8]
add esp, 0xc
mov dword [esp + 0x1c], eax
cmp esi, ebx
je 0x100a20d5
xor eax, eax
cmp esi, ebx
setne al
cmp eax, ebx
je 0x100a1778
mov eax, esi
mov esi, dword [esi]
lea edi, [eax + 8]
call fcn.10098810
cmp dword [eax + 0x1c], 5
jl 0x100a20cd
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x19
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push str..InstallationStepper.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x23c], 0x31
push 0x86a
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x29
xor eax, eax
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push str.CCommonProgress::PerformNullDeviceCleanup
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x25c], 0x32
lea ecx, [esp + 0x53]
mov dword [esp + 0x208], ecx
lea edx, [esp + 0x204]
lea eax, [esp + 0x130]
lea ecx, [esp + 0x140]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0x134], str.Removed_device
mov dword [esp + 0x138], edx
mov dword [esp + 0x144], edi
mov dword [esp + 0x148], eax
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102bdabc
mov dword [esp + 0x188], ecx
call fcn.10098810
push eax
mov byte [esp + 0x264], 0x30
lea edi, [esp + 0x188]
call fcn.10002b50
cmp esi, ebx
jne 0x100a1fd7
cmp byte [esp + 0x16], bl
je 0x100a21c3
call fcn.10098810
cmp dword [eax + 0x1c], 5
jl 0x100a21a7
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x19
mov esi, 7
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..InstallationStepper.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x23c], 0x33
push 0x86f
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x29
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CCommonProgress::PerformNullDeviceCleanup
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x25c], 0x34
lea ecx, [esp + 0x53]
lea edx, [esp + 0x1f8]
lea eax, [esp + 0x150]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0x200], ecx
mov dword [esp + 0x154], str.Removal_of_device_requires_reboot
mov dword [esp + 0x158], edx
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____34___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x190], eax
call fcn.10098810
push eax
mov byte [esp + 0x264], 0x30
lea edi, [esp + 0x190]
call fcn.10002b50
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 8]
cmp eax, ebx
je 0x100a21b6
add eax, 4
jmp 0x100a21b8
xor eax, eax
mov eax, dword [eax + 8]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x44]
call eax
cmp dword [esp + 0x1c], ebx
je 0x100a21ea
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [esp + 0x220], 0x2f
lea ecx, [esp + 0xdc]
call fcn.1005eb40
jmp 0x100a1f70
mov byte [esp + 0x220], 0x2f
lea ecx, [esp + 0xdc]
call fcn.1005eb40
mov byte [esp + 0x220], 0x2e
lea ecx, [esp + 0x1d4]
call fcn.10091d30
mov byte [esp + 0x220], 0x26
lea ecx, [esp + 0x7c]
call fcn.1005eb40
mov byte [esp + 0x220], 0x35
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [esp + 0x15c]
push ecx
call esi
mov byte [esp + 0x220], 0x25
mov eax, dword [esp + 0x154]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x100a2266
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x220], 0x22
lea ecx, [esp + 0x94]
call fcn.10093f20
mov byte [esp + 0x220], 0x38
lea ecx, [esp + 0x1a4]
push ecx
call esi
mov byte [esp + 0x220], 0x16
mov eax, dword [esp + 0x19c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x100a23bf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x100a23bf
call fcn.10098810
cmp dword [eax + 0x1c], 4
jl 0x100a2383
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x19
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..InstallationStepper.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x23c], 0x2c
push 0x84a
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x29
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CCommonProgress::PerformNullDeviceCleanup
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x25c], 0x2d
lea ecx, [esp + 0x53]
lea edx, [esp + 0x10c]
lea eax, [esp + 0x160]
push 4
mov byte [esp + 0x57], bl
mov dword [esp + 0x114], ecx
mov dword [esp + 0x164], str.Entry_malformed__skipping
mov dword [esp + 0x168], edx
mov dword [esp + 0x84], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____26___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x88], eax
call fcn.10098810
push eax
mov byte [esp + 0x264], 0x26
lea edi, [esp + 0x88]
call fcn.10002b50
mov byte [esp + 0x220], 0x25
lea ecx, [esp + 0x154]
call fcn.10002d20
mov byte [esp + 0x220], 0x22
lea ecx, [esp + 0x94]
call fcn.10093f20
mov byte [esp + 0x220], 0x16
lea ecx, [esp + 0x19c]
call fcn.10002d20
mov eax, dword [esp + 0x34]
inc eax
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x34], eax
jl 0x100a1980
mov esi, dword [esp + 0x3c]
push str.PendingNULLDevices
lea ecx, [esp + 0x1c]
call fcn.100044a0
mov byte [esp + 0x220], 0x3b
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x54]
call fcn.101e4ed0
mov byte [esp + 0x220], 0x16
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x100a2422
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x50]
call fcn.101e25b0
test al, al
je 0x100a2439
push ebx
lea ecx, [esp + 0x54]
call fcn.101e7950
mov byte [esp + 0x220], 0x11
lea ecx, [esp + 0x184]
call fcn.1011a760
mov byte [esp + 0x220], 0xe
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x100a2465
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x220], 0xb
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov byte [esp + 0x220], 9
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x100a249d
mov edx, dword [esp + 0x70]
push edx
push eax
call fcn.10003610
mov eax, dword [esp + 0x74]
push eax
call fcn.1022f576
add esp, 0xc
mov byte [esp + 0x220], 6
mov ecx, dword [esp + 0x5c]
cmp ecx, ebx
je 0x100a24b5
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [esp + 0x68], ebx
mov eax, 0x41
mov dword [esp + 0x220], eax
lea ecx, [esp + 0x54]
mov dword [esp + 0x20], ecx
mov byte [esp + 0x220], al
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x100a24f4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x220], 0xffffffff
mov esi, dword [esp + 0x50]
cmp esi, ebx
je 0x100a256a
lea ecx, [esi + 8]
push ecx
mov dword [esp + 0x54], ebx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebx
jge 0x100a255e
push ebx
push 0x6e
push str.c:dvsp4_build_sw_relgpu_drvinstaller_coreincRefCounted.h
push 0xe0e00000
call fcn.100048f0
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
push ebx
push 0x827
push 0x102bf91c
push eax
call fcn.100048f0
push ebx
push 0x4ea
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlcoll.h
push 0x80004005
call fcn.100048f0
jne 0x100a256a
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
mov ecx, dword [esp + 0x218]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8