Function at 0x1019aab0
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1029b264
mov eax, dword fs:[0]
push eax
sub esp, 0x1f0
push ebx
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0x200]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov edx, dword [eax + 0x2c]
lea ecx, [esp + 0x14]
push ecx
xor ebx, ebx
push edi
mov dword [esp + 0x1c], ebx
call edx
cmp dword [esp + 0x14], 6
setne al
cmp al, bl
jne 0x1019ab19
push ebx
push 0x124
push 0x102b4e68
push 0xe0e00008
call fcn.100048f0
mov dword [esp + 0x70], ebx
mov dword [esp + 0x208], 1
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
mov edx, dword [eax + 0x48]
lea ecx, [esp + 0x70]
push ecx
push esi
call edx
cmp eax, ebx
jge 0x1019ab4d
push ebx
push 0xd94
push 0x102dcf48
push eax
call fcn.100048f0
mov dword [esp + 0x30], ebx
mov byte [esp + 0x208], 5
mov eax, dword [esi]
mov edx, dword [eax + 0x58]
lea ecx, [esp + 0x30]
push ecx
push esi
call edx
cmp eax, ebx
jge 0x1019ab7b
push ebx
push 0xd9b
push 0x102dcf48
push eax
call fcn.100048f0
cmp dword [esp + 0x30], ebx
jne 0x1019ab96
push ebx
push 0xd9c
push 0x102dcf48
push 0x80004003
call fcn.100048f0
mov dword [esp + 0x20], ebx
mov byte [esp + 0x208], 9
lea eax, [esp + 0x20]
push eax
push 0x102b3b0c
call fcn.1004d780
cmp eax, ebx
jge 0x1019abc6
push ebx
push 0xda2
push 0x102dcf48
push eax
call fcn.100048f0
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
cmp eax, ebx
jge 0x1019abec
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
mov esi, dword [esp + 0x14]
cmp esi, ebx
jle 0x1019ac37
dec esi
push esi
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x38]
call fcn.101a26a0
mov byte [esp + 0x208], 0xa
mov edx, dword [esp + 0x14]
push edx
lea eax, [esp + 0x24]
push eax
call fcn.100650c0
mov byte [esp + 0x208], 9
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x1019ac33
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp esi, ebx
jg 0x1019abf4
push 0x103b7524
lea ecx, [esp + 0x30]
call fcn.10003eb0
mov byte [esp + 0x208], 0xd
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
cmp eax, ebx
jge 0x1019ac73
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
cmp dword [esp + 0x14], ebx
jle 0x1019ada2
lea ecx, [esp + 0x3c]
push ecx
lea esi, [edi + 0x28c]
call fcn.100acc10
mov byte [esp + 0x208], 0xe
push eax
lea ecx, [esp + 0x30]
call fcn.100036b0
mov byte [esp + 0x208], 0xd
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 0x1019acc7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10045b90
cmp dword [eax + 0x1c], 6
jl 0x1019ada2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x94], esp
push 0x14
mov esi, 7
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..PerformInstall.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x224], 0x10
push 0xdb1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xb0], esp
push 0x33
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVInstaller::InternalPerformUninstallPackagePhases
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x244], 0x11
lea ecx, [esp + 0x4f]
lea edx, [esp + 0xb8]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x84], edx
lea eax, [esp + 0x68]
lea ecx, [esp + 0x80]
lea edx, [esp + 0x70]
push 6
mov byte [esp + 0x53], bl
mov dword [esp + 0x84], str.Default_full_progress_title_is
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], 0x102bd9b8
mov dword [esp + 0x80], edx
call fcn.10045b90
push eax
mov byte [esp + 0x24c], 0xd
lea edi, [esp + 0x80]
call fcn.10002b50
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x24]
mov dword [esp + 0x24], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
cmp eax, ebx
jl 0x1019bb79
cmp dword [esp + 0x24], ebx
jle 0x1019bc45
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x24]
push edx
call fcn.101a2730
mov byte [esp + 0x208], 0x12
cmp dword [esp + 0x18], ebx
jne 0x1019adeb
jmp 0x1019bb44
push 0x103b7524
lea ecx, [esp + 0x50]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x40], ebx
call fcn.10003eb0
mov byte [esp + 0x208], 0x15
mov edi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [esp + 0x54]
push eax
call edi
mov byte [esp + 0x208], 0x16
mov dword [esp + 0x64], ebx
mov byte [esp + 0x208], 0x17
push 0x103b7524
lea ecx, [esp + 0x88]
call fcn.10003eb0
mov byte [esp + 0x208], 0x19
lea ecx, [esp + 0x8c]
push ecx
call edi
mov byte [esp + 0x208], 0x1a
mov dword [esp + 0x9c], ebx
mov byte [esp + 0x208], 0x1b
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
lea ecx, [esp + 0x28]
push ecx
push eax
call edx
cmp eax, ebx
jl 0x1019bb86
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x84]
mov dword [esp + 0x9c], ebx
call fcn.100041b0
lea eax, [esp + 0x8c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, ebx
jl 0x1019abdf
mov ecx, 8
mov word [esp + 0x8c], cx
lea eax, [esp + 0x94]
mov dword [esp + 0x9c], 2
mov dword [esp + 0x94], ebx
mov edx, dword [esi]
mov ecx, dword [edx + 0x48]
push eax
push esi
call ecx
cmp eax, ebx
jl 0x1019bb97
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov edx, dword [edx + 0x3c]
lea ecx, [esp + 0x3c]
push ecx
push eax
call edx
cmp eax, ebx
jl 0x1019bba8
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x64], ebx
call fcn.100041b0
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, ebx
jl 0x1019abdf
mov ecx, 8
mov word [esp + 0x54], cx
lea eax, [esp + 0x5c]
mov dword [esp + 0x64], 2
mov dword [esp + 0x5c], ebx
mov edx, dword [esi]
mov ecx, dword [edx + 0x24]
push eax
push esi
call ecx
cmp eax, ebx
jl 0x1019bbb9
mov eax, dword [esp + 0x64]
cmp eax, 3
ja case.default.0x1019b882
jmp dword [eax*4 + 0x1019bca8]
xor eax, eax
jmp 0x1019afa2
mov edx, dword [esp + 0x4c]
mov eax, dword [edx - 0xc]
jmp 0x1019afa2
lea ecx, [esp + 0x4c]
call fcn.100039a0
movzx ecx, word [eax]
cmp cx, bx
je 0x1019af97
cmp cx, 1
je 0x1019af97
cmp cx, 8
sete cl
cmp cl, bl
je 0x1019bbca
mov eax, dword [eax + 8]
cmp eax, ebx
jne 0x1019af9b
xor eax, eax
jmp 0x1019afa2
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, ebx
sete al
cmp al, bl
je 0x1019aff4
lea ecx, [esp + 0x4c]
call fcn.10003840
cmp dword [esp + 0x64], 3
jne 0x1019afd6
lea eax, [esp + 0x54]
push eax
mov dword [esp + 0x68], 1
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, ebx
jl 0x1019abdf
cmp dword [esp + 0x64], ebx
jne 0x1019afe4
mov dword [esp + 0x64], 1
push 9
push str._unnamed_
lea ecx, [esp + 0x54]
call fcn.100043a0
push 0x103b7524
lea ecx, [esp + 0xa8]
call fcn.10003eb0
mov byte [esp + 0x208], 0x1d
lea ecx, [esp + 0xac]
push ecx
call edi
mov byte [esp + 0x208], 0x1e
mov dword [esp + 0xbc], ebx
mov byte [esp + 0x208], 0x1f
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], ebx
mov byte [esp + 0x208], 0x21
cmp eax, ebx
je 0x1019b053
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [esp + 0x14]
push ecx
push 0x102b3a3c
push eax
call edx
mov byte [esp + 0x208], 0x22
mov esi, dword [esp + 0x14]
cmp esi, ebx
je 0x1019b0c3
lea ecx, [esp + 0xa4]
mov dword [esp + 0xbc], ebx
call fcn.100041b0
lea eax, [esp + 0xac]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, ebx
jl 0x1019abdf
mov ecx, 8
mov word [esp + 0xac], cx
lea eax, [esp + 0xb4]
mov dword [esp + 0xbc], 2
mov dword [esp + 0xb4], ebx
mov edx, dword [esi]
mov ecx, dword [edx + 0x14]
push eax
push esi
call ecx
cmp eax, ebx
jl 0x1019bbdf
mov esi, dword [ebp + 8]
lea eax, [esi + 4]
mov dword [esp + 0x44], eax
push eax
mov byte [esp + 0x4c], bl
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [esp + 0x48], 1
mov byte [esp + 0x208], 0x23
xor ecx, ecx
call fcn.101914a0
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x20]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], ebx
call fcn.10191320
test al, al
je 0x1019b298
call fcn.10045b90
cmp dword [eax + 0x1c], 5
mov esi, dword [esp + 0x1c]
jl 0x1019b25a
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x14
mov edi, 7
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str..PerformInstall.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x224], 0x24
push 0xde3
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x70], esp
push 0x33
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CNVInstaller::InternalPerformUninstallPackagePhases
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x244], 0x25
lea ecx, [esp + 0x4f]
mov dword [esp + 0x1cc], ecx
lea edx, [esp + 0x1c8]
lea eax, [esp + 0x88]
lea ecx, [esp + 0x138]
mov dword [esp + 0x13c], edx
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ecx
lea edx, [esp + 0x150]
lea eax, [esp + 0x1b0]
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x1b4], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x16c], ecx
lea eax, [esp + 0x168]
lea ecx, [esp + 0x188]
push 5
mov byte [esp + 0x53], bl
mov dword [esp + 0x13c], str.Progress_estimate_for
mov dword [esp + 0x1b4], 0x102b5150
mov dword [esp + 0x1c4], esi
mov dword [esp + 0x16c], str.limit
mov dword [esp + 0x18c], edx
mov dword [esp + 0x190], eax
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102df730
mov dword [esp + 0x120], ecx
call fcn.10045b90
push eax
mov byte [esp + 0x24c], 0x23
lea edi, [esp + 0x120]
call fcn.10002b50
mov edi, dword [ebp + 8]
mov dword [esp + 0x1c], ebx
add edi, 0x274
lea ebx, [esp + 0x1c]
call fcn.100fed00
cmp dword [esp + 0x1c], esi
setbe al
test al, al
je 0x1019bbf0
push esi
call fcn.10135a80
mov ecx, dword [esp + 0x24]
mov esi, dword [ebp + 8]
call fcn.101914a0
xor ebx, ebx
jmp 0x1019b37c
call fcn.10045b90
cmp dword [eax + 0x1c], 4
jl 0x1019b37c
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x14
mov esi, 7
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..PerformInstall.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x224], 0x26
push 0xdf8
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push 0x33
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVInstaller::InternalPerformUninstallPackagePhases
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x244], 0x27
lea ecx, [esp + 0x4f]
lea edx, [esp + 0x1e8]
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x1ac], edx
lea eax, [esp + 0x88]
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0x128]
push 4
mov byte [esp + 0x53], bl
mov dword [esp + 0x1ac], str.No_progress_estimate_for
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102bda44
mov dword [esp + 0x168], edx
call fcn.10045b90
push eax
mov byte [esp + 0x24c], 0x23
lea edi, [esp + 0x168]
call fcn.10002b50
mov byte [esp + 0x208], 0x22
mov eax, dword [esp + 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x48], bl
cmp eax, 3
ja case.default.0x1019b3a0
jmp dword [eax*4 + 0x1019bcb8]
call fcn.101f5f10
cmp ax, 9
jmp 0x1019b3ba
call fcn.101f5f10
test ax, ax
je case.0x1019b3a0.0
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x9c]
cmp eax, 3
ja case.default.0x1019b882
jmp dword [eax*4 + 0x1019bcc8]
xor eax, eax
jmp 0x1019b422
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx - 0xc]
jmp 0x1019b422
lea ecx, [esp + 0x84]
call fcn.100039a0
movzx ecx, word [eax]
cmp cx, bx
je 0x1019b417
cmp cx, 1
je 0x1019b417
cmp cx, 8
sete cl
cmp cl, bl
je 0x1019bbca
mov eax, dword [eax + 8]
cmp eax, ebx
jne 0x1019b41b
xor eax, eax
jmp 0x1019b422
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, ebx
sete al
cmp al, bl
jne 0x1019b691
mov eax, dword [esp + 0x28]
cmp eax, 2
je 0x1019b441
cmp eax, 3
jne 0x1019b691
mov edx, dword [esp + 0x18]
mov esi, dword [ebp + 0xc]
push edx
call fcn.10197140
test al, al
je 0x1019b574
call fcn.10045b90
cmp dword [eax + 0x1c], 5
jl 0x1019b691
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x14
mov esi, 7
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..PerformInstall.cpp
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x224], 0x28
push 0xe20
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push 0x33
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVInstaller::InternalPerformUninstallPackagePhases
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x244], 0x29
lea eax, [esp + 0x4f]
lea ecx, [esp + 0x1d0]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x104], ecx
lea edx, [esp + 0xc0]
lea eax, [esp + 0x100]
lea ecx, [esp + 0x170]
mov dword [esp + 0x170], edx
mov dword [esp + 0x174], eax
mov dword [esp + 0x14c], ecx
lea edx, [esp + 0x88]
lea eax, [esp + 0x148]
lea ecx, [esp + 0x180]
push 5
mov byte [esp + 0x53], bl
mov dword [esp + 0x104], str.Condition
mov dword [esp + 0x14c], str.enabled_phase
mov dword [esp + 0x184], edx
mov dword [esp + 0x188], eax
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102df6a4
mov dword [esp + 0x160], ecx
call fcn.10045b90
push eax
mov byte [esp + 0x24c], 0x22
lea edi, [esp + 0x160]
call fcn.10002b50
jmp 0x1019b691
call fcn.10045b90
cmp dword [eax + 0x1c], 5
jl 0x1019b68d
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x14
mov esi, 7
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..PerformInstall.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x224], 0x2a
push 0xe24
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push 0x33
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVInstaller::InternalPerformUninstallPackagePhases
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x244], 0x2b
lea ecx, [esp + 0x4f]
lea edx, [esp + 0x1e0]
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x194], edx
lea eax, [esp + 0xc0]
lea ecx, [esp + 0x190]
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x19c], edx
lea eax, [esp + 0x88]
lea ecx, [esp + 0x198]
lea edx, [esp + 0x178]
push 5
mov byte [esp + 0x53], bl
mov dword [esp + 0x194], str.Condition
mov dword [esp + 0x19c], str.disabled_phase
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], ecx
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102df6b8
mov dword [esp + 0x1c0], edx
call fcn.10045b90
push eax
mov byte [esp + 0x24c], 0x22
lea edi, [esp + 0x1c0]
call fcn.10002b50
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x28]
cmp eax, 4
ja case.default.0x1019b69e
jmp dword [eax*4 + 0x1019bcd8]
call fcn.10045b90
cmp dword [eax + 0x1c], 5
jl 0x1019ba75
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x14
mov esi, 7
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..PerformInstall.cpp
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x224], 0x2c
push 0xe31
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push 0x33
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVInstaller::InternalPerformUninstallPackagePhases
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x244], 0x2d
lea eax, [esp + 0x4f]
lea ecx, [esp + 0x1d8]
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x10c], ecx
lea edx, [esp + 0x88]
lea eax, [esp + 0x108]
lea ecx, [esp + 0x110]
push 5
mov byte [esp + 0x53], bl
mov dword [esp + 0x10c], str.Skipping_phase
mov dword [esp + 0x114], edx
mov dword [esp + 0x118], eax
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102df690
mov dword [esp + 0x128], ecx
call fcn.10045b90
push eax
mov byte [esp + 0x24c], 0x22
lea edi, [esp + 0x128]
call fcn.10002b50
jmp 0x1019ba75
call fcn.10045b90
cmp dword [eax + 0x1c], 5
jl 0x1019b872
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x14
mov esi, 7
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..PerformInstall.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x224], 0x2e
push 0xe36
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push 0x33
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVInstaller::InternalPerformUninstallPackagePhases
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x244], 0x2f
lea ecx, [esp + 0x4f]
lea edx, [esp + 0x1f0]
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x134], edx
lea eax, [esp + 0x88]
lea ecx, [esp + 0x130]
lea edx, [esp + 0x140]
push 5
mov byte [esp + 0x53], bl
mov dword [esp + 0x134], str.Uninstalling_phase
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ecx
mov dword [esp + 0xbc], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_class_CAutoString_const___class_Nvidia::Logging::Chain_char_const_____19___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType____.0
mov dword [esp + 0xc0], edx
call fcn.10045b90
push eax
mov byte [esp + 0x24c], 0x22
lea edi, [esp + 0xc0]
call fcn.10002b50
mov eax, dword [esp + 0xbc]
cmp eax, 3
ja case.default.0x1019b882
jmp dword [eax*4 + 0x1019bcec]
xor eax, eax
jmp 0x1019b8d4
mov eax, dword [esp + 0xa4]
mov eax, dword [eax - 0xc]
jmp 0x1019b8d4
lea ecx, [esp + 0xa4]
call fcn.100039a0
movzx ecx, word [eax]
cmp cx, bx
je 0x1019b8c9
cmp cx, 1
je 0x1019b8c9
cmp cx, 8
sete cl
cmp cl, bl
je 0x1019bbca
mov eax, dword [eax + 8]
cmp eax, ebx
jne 0x1019b8cd
xor eax, eax
jmp 0x1019b8d4
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov edi, dword [ebp + 8]
cmp eax, ebx
sete al
lea esi, [edi + 0x28c]
cmp al, bl
jne 0x1019b9ab
lea ecx, [esp + 0x74]
push ecx
call fcn.100acc10
mov byte [esp + 0x208], 0x30
push eax
lea ecx, [esp + 0x1c0]
call fcn.100023b0
mov byte [esp + 0x208], 0x31
push ebx
push eax
lea ecx, [esp + 0xac]
call fcn.101e89b0
test eax, eax
setne byte [esp + 0x13]
mov byte [esp + 0x208], 0x32
lea edx, [esp + 0x1c4]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [esp + 0x208], 0x30
mov eax, dword [esp + 0x1bc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1019b967
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x208], 0x22
mov eax, dword [esp + 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1019b98f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [esp + 0x13], bl
je 0x1019ba5f
lea ecx, [esp + 0xa4]
call fcn.10003840
push eax
jmp 0x1019ba58
lea ecx, [esp + 0x78]
push ecx
call fcn.100acc10
mov byte [esp + 0x208], 0x36
push eax
lea ecx, [esp + 0x1e0]
call fcn.100023b0
mov byte [esp + 0x208], 0x37
push eax
lea edx, [esp + 0x30]
push edx
call fcn.101a51d0
add esp, 8
mov byte [esp + 0x13], al
mov byte [esp + 0x208], 0x38
lea eax, [esp + 0x1e4]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [esp + 0x208], 0x36
mov eax, dword [esp + 0x1dc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1019ba25
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x208], 0x22
mov eax, dword [esp + 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1019ba4d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [esp + 0x13], bl
je 0x1019ba5f
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
call fcn.1007dc80
mov edx, dword [esp + 0x20]
mov eax, dword [ebp + 0xc]
mov esi, dword [esp + 0x18]
push ebx
push edx
push eax
push ebx
mov ecx, edi
call fcn.1019d0f0
mov byte [esp + 0x208], 0x1f
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x1019ba8d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x208], 0x3e
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0xac]
push eax
call esi
mov byte [esp + 0x208], 0x1b
mov eax, dword [esp + 0xa4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1019bad0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x208], 0x41
lea ecx, [esp + 0x8c]
push ecx
call esi
mov byte [esp + 0x208], 0x17
mov eax, dword [esp + 0x84]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x1019bb0d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x208], 0x44
lea ecx, [esp + 0x54]
push ecx
call esi
mov byte [esp + 0x208], 0x12
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x1019bb44
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x208], 0xd
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x1019bb5c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x24]
mov dword [esp + 0x24], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
cmp eax, ebx
jge 0x1019adbf
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
push ebx
push 0xdc5
push 0x102dcf48
push eax
call fcn.100048f0
push ebx
push 0xdc6
push 0x102dcf48
push eax
call fcn.100048f0
push ebx
push 0xdc7
push 0x102dcf48
push eax
call fcn.100048f0
push ebx
push 0xdc8
push 0x102dcf48
push eax
call fcn.100048f0
push ebx
push 0xb7
push str.c:dvsp4_build_sw_relgpu_drvinstaller_coreincAutoString.h
push 0xe0e00000
call fcn.100048f0
push ebx
push 0xdd2
push 0x102dcf48
push eax
call fcn.100048f0
push 0
push 0xdea
push 0x102dcf48
push 0xe0e00000
call fcn.100048f0
push ebx
push 0x12b
push str.c:dvsp4_build_sw_relgpu_drvinstaller_coreincAutoString.h
push 0xe0e00000
call fcn.100048f0
push ebx
push 0xe4e
push 0x102dcf48
push 0xe0e00000
call fcn.100048f0
push ebx
push 0xe14
push 0x102dcf48
push 0xe0e00000
call fcn.100048f0
mov byte [esp + 0x208], 9
lea ecx, [esp + 0x2c]
call fcn.10004720
mov byte [esp + 0x208], 5
lea ecx, [esp + 0x20]
call fcn.1003ca30
mov byte [esp + 0x208], 1
lea ecx, [esp + 0x30]
call fcn.1003ca30
mov dword [esp + 0x208], 0xffffffff
lea ecx, [esp + 0x70]
push ecx
call fcn.100409e0
mov ecx, dword [esp + 0x200]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8