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

Disassembly:
push 0xffffffffffffffff
push 0x1029aee6
mov eax, dword fs:[0]
push eax
sub esp, 0x2d0
mov eax, dword [0x1037c990]
xor eax, esp
mov dword [esp + 0x2c8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0x2e4]
mov dword fs:[0], eax
mov eax, dword [esp + 0x2f4]
lea edx, [esp + 0x1c]
mov esi, ecx
mov ecx, dword [eax]
push edx
mov dword [esp + 0x60], eax
push eax
mov eax, dword [ecx + 0x2c]
xor ebx, ebx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x24], ebx
call eax
cmp dword [esp + 0x1c], 6
setne al
cmp al, bl
jne 0x1019bd80
push ebx
push 0x124
push 0x102b4e68
push 0xe0e00008
call fcn.100048f0
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2ec], 1
mov ecx, dword [esi]
mov eax, dword [ecx + 0x48]
lea edx, [esp + 0x30]
push edx
push esi
call eax
cmp eax, ebx
jge 0x1019bdb1
push ebx
push 0xe60
push 0x102dcf48
push eax
call fcn.100048f0
mov dword [esp + 0x24], ebx
mov byte [esp + 0x2ec], 3
mov ecx, dword [esi]
mov eax, dword [ecx + 0x58]
lea edx, [esp + 0x24]
push edx
push esi
call eax
cmp eax, ebx
jge 0x1019bddf
push ebx
push 0xe63
push 0x102dcf48
push eax
call fcn.100048f0
cmp dword [esp + 0x24], ebx
jne 0x1019bdfa
push ebx
push 0xe64
push 0x102dcf48
push 0x80004003
call fcn.100048f0
mov dword [esp + 0x20], ebx
mov byte [esp + 0x2ec], 7
lea ecx, [esp + 0x20]
push ecx
push 0x102b3b0c
call fcn.1004d780
cmp eax, ebx
jge 0x1019be2a
push ebx
push 0xe67
push 0x102dcf48
push eax
call fcn.100048f0
mov edx, dword [esp + 0x24]
push edx
lea eax, [esp + 0x24]
push eax
call fcn.100d5a80
xor ecx, ecx
push 0x14
mov word [esp + 0x198], cx
mov ebp, 7
push str..PerformInstall.cpp
lea ecx, [esp + 0x198]
mov dword [esp + 0x1b0], ebp
mov dword [esp + 0x1ac], ebx
call fcn.10035ce0
mov byte [esp + 0x2ec], 8
push 0x36
xor edx, edx
push str.CNVInstaller::InternalPerformCloseInstallPackagePhases
lea ecx, [esp + 0x144]
mov dword [esp + 0x15c], ebp
mov dword [esp + 0x158], ebx
mov word [esp + 0x148], dx
call fcn.10035ce0
mov byte [esp + 0x2ec], 9
lea eax, [esp + 0x17]
mov dword [esp + 0x1b0], eax
lea ecx, [esp + 0x1ac]
lea eax, [esp + 0x1e4]
mov dword [esp + 0x138], ecx
lea edx, [esp + 0x134]
push eax
lea ecx, [esp + 0x120]
mov dword [esp + 0x138], str.Processing_Installation_Close_Phases
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____37___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x124], edx
call dword [0x102bdb14]
mov byte [esp + 0x2ec], 0xa
lea ecx, [esp + 0x190]
push ecx
push 0xe6a
lea edx, [esp + 0x144]
push edx
lea ecx, [esp + 0x288]
push ecx
mov ecx, eax
call fcn.1018a880
mov byte [esp + 0x2ec], 0xc
mov esi, 8
cmp dword [esp + 0x1fc], esi
jb 0x1019bf48
mov edx, dword [esp + 0x1e8]
push edx
call fcn.101d2eac
add esp, 4
xor eax, eax
mov dword [esp + 0x1fc], ebp
mov dword [esp + 0x1f8], ebx
mov word [esp + 0x1e8], ax
mov byte [esp + 0x2ec], 0xd
cmp dword [esp + 0x154], esi
jb 0x1019bf81
mov ecx, dword [esp + 0x140]
push ecx
call fcn.101d2eac
add esp, 4
xor edx, edx
mov dword [esp + 0x154], ebp
mov dword [esp + 0x150], ebx
mov word [esp + 0x140], dx
mov byte [esp + 0x2ec], 0xe
cmp dword [esp + 0x1a8], esi
jb 0x1019bfba
mov eax, dword [esp + 0x194]
push eax
call fcn.101d2eac
add esp, 4
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov word [esp + 0x194], cx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
mov edx, dword [eax]
mov edx, dword [edx + 0x28]
push ecx
push eax
mov dword [esp + 0x1b0], ebp
mov dword [esp + 0x1ac], ebx
call edx
cmp eax, ebx
jl 0x1019c7f4
cmp dword [esp + 0x1c], ebx
jle 0x1019c9b2
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.101a2730
mov byte [esp + 0x2ec], 0xf
mov eax, dword [eax]
mov dword [esp + 0x18], eax
cmp eax, ebx
je 0x1019c022
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x2ec], 0x13
mov eax, dword [esp + 0x60]
cmp eax, ebx
je 0x1019c03a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [esp + 0x18], ebx
jne 0x1019c128
call fcn.10045b90
cmp dword [eax + 0x1c], 5
jl 0x1019c107
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x14
xor eax, eax
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push str..PerformInstall.cpp
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x308], 0x15
push 0xe74
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x64], esp
push 0x36
xor edx, edx
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push str.CNVInstaller::InternalPerformCloseInstallPackagePhases
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x328], 0x16
lea eax, [esp + 0x53]
lea ecx, [esp + 0x208]
lea edx, [esp + 0x150]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0x210], eax
mov dword [esp + 0x154], str.Skipping_unsupported_phase_in_list
mov dword [esp + 0x158], ecx
mov dword [esp + 0xd4], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____35___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0xd8], edx
call fcn.10045b90
push eax
mov byte [esp + 0x330], 0x13
lea edi, [esp + 0xd8]
call fcn.10002b50
mov byte [esp + 0x2ec], 0xe
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x1019c7d7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x1019c7d7
lea ecx, [esp + 0x3c]
call fcn.10002dd0
mov byte [esp + 0x2ec], 0x19
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], ebx
call fcn.100041b0
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0x44]
push eax
call edi
cmp eax, ebx
jl 0x1019c7f4
mov ecx, 8
mov word [esp + 0x44], cx
lea eax, [esp + 0x4c]
mov dword [esp + 0x54], 2
mov dword [esp + 0x4c], ebx
mov edx, dword [esi]
mov ecx, dword [edx + 0x24]
push eax
push esi
call ecx
cmp eax, ebx
jl 0x1019c92f
mov eax, dword [esp + 0x54]
cmp eax, 3
ja case.default.0x1019c197
jmp dword [eax*4 + 0x1019ca2c]
xor eax, eax
jmp 0x1019c1e3
mov edx, dword [esp + 0x3c]
mov eax, dword [edx - 0xc]
jmp 0x1019c1e3
lea ecx, [esp + 0x3c]
call fcn.100039a0
movzx ecx, word [eax]
cmp cx, bx
je 0x1019c1d8
cmp cx, 1
je 0x1019c1d8
cmp cx, 8
sete cl
cmp cl, bl
je 0x1019c940
mov eax, dword [eax + 8]
cmp eax, ebx
jne 0x1019c1dc
xor eax, eax
jmp 0x1019c1e3
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, ebx
sete al
cmp al, bl
je 0x1019c1fa
push str._unnamed_
lea ecx, [esp + 0x40]
call fcn.10058550
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x38]
mov dword [esp + 0x38], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x1c]
call eax
cmp eax, ebx
jl 0x1019c955
cmp dword [esp + 0x38], 4
je 0x1019c25a
mov byte [esp + 0x2ec], 0x1a
lea ecx, [esp + 0x44]
push ecx
call edi
mov byte [esp + 0x2ec], 0x13
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 0x1019c255
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x1019c107
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x2c]
mov dword [esp + 0x2c], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x3c]
call eax
cmp eax, ebx
jl 0x1019c966
mov eax, dword [esp + 0x2c]
cmp eax, 3
ja case.default.0x1019c284
jmp dword [eax*4 + 0x1019ca3c]
call fcn.101f5f10
cmp ax, 9
je case.0x1019c284.0
call fcn.10045b90
cmp dword [eax + 0x1c], 5
jl 0x1019c428
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push str..PerformInstall.cpp
call fcn.10035dd0
mov byte [esp + 0x308], 0x1f
push 0xe94
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push str.CNVInstaller::InternalPerformCloseInstallPackagePhases
call fcn.10035dd0
mov byte [esp + 0x328], 0x20
lea ecx, [esp + 0x53]
lea edx, [esp + 0x200]
mov dword [esp + 0x204], ecx
mov dword [esp + 0x124], edx
lea eax, [esp + 0x78]
lea ecx, [esp + 0x120]
lea edx, [esp + 0xe0]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0x124], str.Skipping_AMD64_phase
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], ecx
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102c0f18
mov dword [esp + 0x138], edx
call fcn.10045b90
push eax
mov byte [esp + 0x330], 0x19
lea edi, [esp + 0x138]
jmp 0x1019c423
call fcn.101f5f10
test ax, ax
je case.0x1019c284.0
call fcn.10045b90
cmp dword [eax + 0x1c], 5
jl 0x1019c428
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push str..PerformInstall.cpp
call fcn.10035dd0
mov byte [esp + 0x308], 0x21
push 0xe9c
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push str.CNVInstaller::InternalPerformCloseInstallPackagePhases
call fcn.10035dd0
mov byte [esp + 0x328], 0x22
lea ecx, [esp + 0x53]
lea edx, [esp + 0x1f0]
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x144], edx
lea eax, [esp + 0x78]
lea ecx, [esp + 0x140]
lea edx, [esp + 0xf8]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0x144], str.Skipping_x86_only_phase
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102df49c
mov dword [esp + 0x150], edx
call fcn.10045b90
push eax
mov byte [esp + 0x330], 0x19
lea edi, [esp + 0x150]
call fcn.10002b50
mov byte [esp + 0x2ec], 0x13
lea ecx, [esp + 0x3c]
call fcn.10002d20
mov byte [esp + 0x2ec], 0xe
lea eax, [esp + 0x18]
push eax
call fcn.1005b8c0
jmp 0x1019c7d7
lea ecx, [esp + 0x64]
call fcn.10002dd0
mov byte [esp + 0x2ec], 0x23
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x64]
mov dword [esp + 0x7c], ebx
call fcn.100041b0
lea ecx, [esp + 0x6c]
push ecx
call edi
cmp eax, ebx
jl 0x1019c7f4
mov edi, 8
mov edx, edi
mov word [esp + 0x6c], dx
lea ecx, [esp + 0x74]
mov dword [esp + 0x7c], 2
mov dword [esp + 0x74], ebx
mov eax, dword [esi]
mov edx, dword [eax + 0x48]
push ecx
push esi
call edx
cmp eax, ebx
jl 0x1019c977
lea ecx, [esp + 0x64]
call fcn.100585c0
test eax, eax
je 0x1019c5cf
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x34]
push eax
call fcn.10197140
test al, al
je 0x1019c801
call fcn.10045b90
cmp dword [eax + 0x1c], 5
jl 0x1019c5cf
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push str..PerformInstall.cpp
call fcn.10035dd0
mov byte [esp + 0x308], 0x24
push 0xeae
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push str.CNVInstaller::InternalPerformCloseInstallPackagePhases
call fcn.10035dd0
mov byte [esp + 0x328], 0x25
lea ecx, [esp + 0x53]
lea edx, [esp + 0x1f8]
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x10c], edx
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x108]
lea edx, [esp + 0x160]
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
mov dword [esp + 0x11c], edx
lea eax, [esp + 0x78]
lea ecx, [esp + 0x118]
lea edx, [esp + 0xc0]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0x10c], str.Condition
mov dword [esp + 0x11c], str.enabled_phase
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102df6a4
mov dword [esp + 0x130], edx
call fcn.10045b90
push eax
mov byte [esp + 0x330], 0x23
lea edi, [esp + 0x130]
call fcn.10002b50
mov edi, 8
push 0x14
xor eax, eax
push str..PerformInstall.cpp
lea ecx, [esp + 0x160]
mov dword [esp + 0x178], ebp
mov dword [esp + 0x174], ebx
mov word [esp + 0x164], ax
call fcn.10035ce0
mov byte [esp + 0x2ec], 0x28
xor ecx, ecx
push 0x36
mov word [esp + 0x17c], cx
push str.CNVInstaller::InternalPerformCloseInstallPackagePhases
lea ecx, [esp + 0x17c]
mov dword [esp + 0x194], ebp
mov dword [esp + 0x190], ebx
call fcn.10035ce0
mov byte [esp + 0x2ec], 0x29
lea ecx, [esp + 0x3c]
mov dword [esp + 0x8c], ecx
lea edx, [esp + 0x17]
lea eax, [esp + 0x1d4]
lea ecx, [esp + 0x200]
mov dword [esp + 0x1d8], edx
mov dword [esp + 0xd8], eax
lea edx, [esp + 0xd4]
lea eax, [esp + 0x8c]
push ecx
lea ecx, [esp + 0xa0]
mov dword [esp + 0xd8], str.Processing_Installation_Close_Phase
mov dword [esp + 0x94], edx
mov dword [esp + 0xa0], 0x102df744
mov dword [esp + 0xa4], eax
call dword [0x102df74c]
mov byte [esp + 0x2ec], 0x2a
lea edx, [esp + 0x158]
push edx
push 0xeb8
lea ecx, [esp + 0x17c]
push ecx
lea edx, [esp + 0x228]
push edx
mov ecx, eax
call fcn.1018a880
mov byte [esp + 0x2ec], 0x2c
cmp dword [esp + 0x218], edi
jb 0x1019c6ed
mov eax, dword [esp + 0x204]
push eax
call fcn.101d2eac
add esp, 4
xor ecx, ecx
mov dword [esp + 0x218], ebp
mov dword [esp + 0x214], ebx
mov word [esp + 0x204], cx
mov byte [esp + 0x2ec], 0x2d
cmp dword [esp + 0x18c], edi
jb 0x1019c726
mov edx, dword [esp + 0x178]
push edx
call fcn.101d2eac
add esp, 4
xor eax, eax
mov dword [esp + 0x18c], ebp
mov dword [esp + 0x188], ebx
mov word [esp + 0x178], ax
mov byte [esp + 0x2ec], 0x2e
cmp dword [esp + 0x170], edi
jb 0x1019c75f
mov ecx, dword [esp + 0x15c]
push ecx
call fcn.101d2eac
add esp, 4
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x34]
push eax
xor edx, edx
push ecx
mov dword [esp + 0x178], ebp
mov dword [esp + 0x174], ebx
mov word [esp + 0x164], dx
call fcn.1019d260
mov byte [esp + 0x2ec], 0x23
lea edx, [esp + 0x21c]
push edx
call fcn.1018aa00
mov byte [esp + 0x2ec], 0x19
lea ecx, [esp + 0x64]
call fcn.10002d20
mov byte [esp + 0x2ec], 0x13
lea ecx, [esp + 0x3c]
call fcn.10002d20
mov byte [esp + 0x2ec], 0xe
lea eax, [esp + 0x18]
push eax
call fcn.100409e0
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
cmp eax, ebx
jge 0x1019bfef
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
call fcn.10045b90
cmp dword [eax + 0x1c], 5
jl 0x1019c8f6
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push str..PerformInstall.cpp
call fcn.10035dd0
mov byte [esp + 0x308], 0x26
push 0xeb2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push str.CNVInstaller::InternalPerformCloseInstallPackagePhases
call fcn.10035dd0
mov byte [esp + 0x328], 0x27
lea eax, [esp + 0x53]
lea ecx, [esp + 0x218]
mov dword [esp + 0x21c], eax
mov dword [esp + 0x16c], ecx
lea edx, [esp + 0xa0]
lea eax, [esp + 0x168]
lea ecx, [esp + 0x138]
mov dword [esp + 0x138], edx
mov dword [esp + 0x13c], eax
mov dword [esp + 0xec], ecx
lea edx, [esp + 0x78]
lea eax, [esp + 0xe8]
lea ecx, [esp + 0xf0]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0x16c], str.Condition
mov dword [esp + 0xec], str.disabled_phase
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf8], eax
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102df6b8
mov dword [esp + 0x108], ecx
call fcn.10045b90
push eax
mov byte [esp + 0x330], 0x23
lea edi, [esp + 0x108]
call fcn.10002b50
mov byte [esp + 0x2ec], 0x19
lea ecx, [esp + 0x64]
call fcn.10002d20
mov byte [esp + 0x2ec], 0x13
lea ecx, [esp + 0x3c]
call fcn.10002d20
mov byte [esp + 0x2ec], 0xe
lea edx, [esp + 0x18]
push edx
call fcn.1005b8c0
jmp 0x1019c7d7
push ebx
push 0xe79
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 0xe80
push 0x102dcf48
push eax
call fcn.100048f0
push ebx
push 0xe8a
push 0x102dcf48
push eax
call fcn.100048f0
push ebx
push 0xea9
push 0x102dcf48
push eax
call fcn.100048f0
push ebx
push 0xea2
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
mov byte [esp + 0x2ec], 7
lea ecx, [esp + 0x27c]
push ecx
call fcn.1018aa00
mov byte [esp + 0x2ec], 3
lea edx, [esp + 0x20]
push edx
call fcn.100b9200
mov byte [esp + 0x2ec], 1
lea ecx, [esp + 0x24]
call fcn.1003ca30
mov dword [esp + 0x2ec], 0xffffffff
lea eax, [esp + 0x30]
push eax
call fcn.100409e0
mov ecx, dword [esp + 0x2e4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2c8]
xor ecx, esp
call fcn.1022e78c
add esp, 0x2dc
ret 4