Function at 0x409b30
Capabilities:
Delete file
Terminate process

Disassembly:
sub esp, 0x31c
mov eax, dword [0x42a0d0]
xor eax, esp
mov dword [esp + 0x318], eax
push ebx
push esi
mov esi, dword [esp + 0x330]
push edi
push 0x35
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
mov eax, dword [esp + 0x334]
push esi
mov dword [0x434050], eax
call fcn.0040e26b
push str._silent
push esi
call fcn.0040d130
test eax, eax
setne cl
push str._nodwmrestart
push esi
mov byte [0x433f3d], cl
call fcn.0040d130
test eax, eax
setne dl
push str._srcdir
push esi
mov byte [0x433f3e], dl
call fcn.0040d130
push str._nvi
push esi
mov edi, eax
call fcn.0040d130
add esp, 0x2c
test eax, eax
setne bl
test bl, bl
je 0x409bd8
test edi, edi
je 0x409bd8
push 0x22
push edi
call fcn.0040d100
add esp, 8
test eax, eax
je 0x409bd8
cmp byte [eax + 1], 0
jne 0x409bd8
mov byte [eax], 0
call fcn.004016e0
push str._check
push esi
mov dword [0x433924], eax
call fcn.0040d130
add esp, 8
test eax, eax
je 0x409d7f
push 0x36
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
call fcn.00405430
push str._srcdir
push esi
call fcn.0040d130
add esp, 0x10
test eax, eax
jne 0x409c2f
push 0x37
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
add esp, 8
jmp 0x40a10f
mov ecx, str._srcdir
lea esi, [ecx + 1]
test bl, bl
je 0x409c53
jmp 0x409c40
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x409c40
sub ecx, esi
add ecx, eax
push ecx
call fcn.004067c0
jmp 0x409c64
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x409c53
sub ecx, esi
add ecx, eax
push ecx
call fcn.004066b0
add esp, 4
push 1
mov byte [0x433f3c], al
call fcn.004065a0
add esp, 4
test al, al
je 0x409c8e
push 0x38
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
add esp, 8
jmp 0x40a10f
cmp byte [0x433f3c], 0
jne 0x409cb4
call fcn.00401dc0
test al, al
jne 0x409cb4
push 0x39
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
add esp, 8
jmp 0x40a10f
lea eax, [esp + 0x118]
push 0x20a
push eax
call fcn.00401050
add esp, 8
test al, al
je 0x409d3f
lea ecx, [esp + 0x118]
push ecx
call fcn.0040f234
lea edx, [esp + 0x11c]
push str.3d_vision
push edx
call fcn.0040d208
add esp, 0xc
test eax, eax
jne 0x409d3f
push 0x4253c4
lea eax, [esp + 0x11c]
push eax
lea ecx, [esp + 0x18]
push str._S_s
push ecx
call fcn.0040d54d
push 0x3a
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
add esp, 0x18
call fcn.004054f0
test bl, bl
jne 0x409d2c
call fcn.00409b00
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x3b
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
add esp, 8
call fcn.004054f0
xor ecx, ecx
test al, al
setne cl
mov esi, ecx
test esi, esi
je 0x409d69
push 0x3c
push str.NVSTINST_INFO_:__d
jmp 0x409d70
push 0x17
push str.NVSTINST_ERROR_:__d
call fcn.0040a7c0
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push str._fullinstall
push esi
call fcn.0040d130
add esp, 8
test eax, eax
je 0x409e3f
push 0x3d
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
push str._srcdir
push esi
call fcn.0040d130
add esp, 0x10
test eax, eax
je 0x409c1b
mov ecx, str._srcdir
lea esi, [ecx + 1]
test bl, bl
je 0x409dd6
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x409dc3
sub ecx, esi
add ecx, eax
push ecx
call fcn.004067c0
jmp 0x409de7
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x409dd6
sub ecx, esi
add ecx, eax
push ecx
call fcn.004066b0
add esp, 4
push 1
mov byte [0x433f3c], al
call fcn.004065a0
add esp, 4
test al, al
jne 0x40a10f
call fcn.00401dc0
push 0x45
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
call fcn.00402aa0
push 0x3e
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
add esp, 0x10
call fcn.00406950
call fcn.00405530
call fcn.004055e0
call fcn.00402480
jmp 0x40a10f
push str._install
push esi
call fcn.0040d130
add esp, 8
test eax, eax
je 0x409fa6
push 0x3f
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
push 0x104
lea edx, [esp + 0x1d]
push 0
push edx
mov byte [esp + 0x24], 0
call fcn.0040d990
push str._srcdir
push esi
call fcn.0040d130
mov esi, eax
add esp, 0x1c
test esi, esi
je 0x409c1b
push 0x105
lea eax, [esp + 0x14]
push eax
push str.nvSCPAPI.dll
call fcn.00402b50
add esp, 0xc
test al, al
je 0x409ebb
lea ecx, [esp + 0x10]
push ecx
call fcn.004010c0
add esp, 4
test al, al
jne 0x409eca
push 0x18
push str.NVSTINST_ERROR_:__d
call fcn.0040a7c0
add esp, 8
mov eax, str._srcdir
lea edx, [eax + 1]
test bl, bl
je 0x409ef0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409ed6
sub eax, edx
add eax, esi
push eax
call fcn.004067c0
jmp 0x409f01
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409ef0
sub eax, edx
add eax, esi
push eax
call fcn.004066b0
add esp, 4
mov byte [0x433f3c], al
test al, al
jne 0x409f12
call fcn.00401dc0
test bl, bl
je 0x409f1d
call fcn.00406e60
jmp 0x409f22
call fcn.00402d30
call fcn.00402480
test al, al
je 0x409f3a
push 0x46
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
add esp, 8
push 0x40
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
call fcn.00406950
call fcn.00405530
call fcn.004055e0
push 0x105
lea edx, [esp + 0x1c]
push edx
push str.nvSCPAPI.dll
call fcn.00402b50
add esp, 0x14
test al, al
je 0x409f85
lea eax, [esp + 0x10]
push eax
call fcn.004010c0
add esp, 4
test al, al
je 0x409f85
push 0x47
jmp 0x409f87
push 0x48
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
add esp, 8
test bl, bl
je 0x40a10f
mov eax, 1
jmp 0x40a111
push str._uninstall
push esi
call fcn.0040d130
add esp, 8
test eax, eax
je 0x40a0b1
push 0x41
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
add esp, 8
cmp byte [0x433f3d], 0
mov dword [esp + 0xc], 0
jne 0x40a013
push 0x24
push 1
push 0x408
call fcn.00401990
add esp, 8
push eax
push 0
push 0x407
call fcn.00401990
add esp, 8
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 7
jne 0x40a013
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_ExitProcess]
call fcn.00402400
push 0
mov byte [0x433f3c], al
call fcn.004065a0
add esp, 4
test al, al
je 0x40a042
push 0x49
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
add esp, 8
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_ExitProcess]
call fcn.00402500
call fcn.00405c10
call fcn.00402090
lea ecx, [esp + 0xc]
push ecx
push str.D3DOGL_EnableConsumerStereoSupport
call fcn.00401c60
lea edx, [esp + 0xc]
push edx
push str.D3DOGL_HDMI_Stereo
call fcn.00401c60
push 0x42
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
add esp, 8
call fcn.004054f0
call fcn.00402480
call fcn.004031b0
test bl, bl
jne 0x40a0a8
call fcn.00409b00
call fcn.00406460
push str.NVIDIA_Corporation_nvStereoInstaller_nvStInst.log
call fcn.00404190
add esp, 4
push 0
call fcn.00406420
jmp 0x40a10c
push str._postuninstallcleanup
push esi
call fcn.0040d130
add esp, 8
test eax, eax
je 0x40a0dd
test bl, bl
je 0x40a10f
call fcn.004029d0
call fcn.00406460
push str.NVIDIA_Corporation_nvStereoInstaller_nvStInst.log
call fcn.00404190
jmp 0x40a10c
push 0x424ecc
push esi
call fcn.0040d130
add esp, 8
test eax, eax
je 0x40a106
push 0x43
push str.NVSTINST_INFO_:__d
call fcn.0040a7c0
push esi
call fcn.00406310
add esp, 0xc
jmp 0x40a10f
push esi
call fcn.004068e0
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x324]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040d609
add esp, 0x31c
ret 0x10