Function at 0x4021b0
Capabilities:
Get common file path

Disassembly:
sub esp, 0xa3c
mov eax, dword [0x495808]
xor eax, esp
mov dword [esp + 0xa34], eax
push ebx
push ebp
mov ebp, dword [0x4862e8]
mov ebx, ecx
cmp byte [ebx + 0xa8], 0
push esi
push edi
mov dword [esp + 0x14], ebx
jne 0x40255a
push 0x104
lea eax, [esp + 0x634]
push eax
push 0
call dword [0x4862ac]
push 0
push 0x17
lea ecx, [esp + 0x430]
push ecx
push 0
call dword [0x486354]
lea edx, [esp + 0x428]
push edx
lea eax, [esp + 0x1c]
push str._sNVIDIA_Corporation
push eax
call fcn.0046c9c9
mov esi, dword [0x4862f0]
add esp, 0xc
lea ecx, [esp + 0x18]
push ecx
call esi
mov edi, dword [0x4862a8]
cmp eax, 0xffffffff
je 0x402240
test al, 0x10
jne 0x402249
push 0
lea edx, [esp + 0x1c]
push edx
call edi
push str.NVIDIA_Corporation3D_Vision
lea eax, [esp + 0x42c]
push eax
lea ecx, [esp + 0x20]
push str._s_s
push ecx
call fcn.0046c9c9
lea eax, [esp + 0x28]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add esp, 0x10
add edx, 0xae
jmp 0x402280
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x402280
lea edx, [esp + 0x18]
push edx
call esi
cmp eax, 0xffffffff
je 0x40229f
test al, 0x10
jne 0x4022a8
push 0
lea eax, [esp + 0x1c]
push eax
call edi
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0x18]
mov word [esp + eax + 0x428], cx
add eax, 2
test cx, cx
jne 0x4022b0
push str.nvstlink.exe
lea edx, [esp + 0x1c]
mov ecx, str._enable
lea esi, [esp + 0x42c]
call fcn.00401170
add esp, 4
test al, al
je 0x40230e
lea ecx, [esp + 0x18]
push ecx
call ebp
push str.nvstlink.exe
lea edx, [esp + 0x1c]
mov ecx, str._enable
lea esi, [esp + 0x42c]
call fcn.00401170
add esp, 4
test al, al
jne 0x4022e6
push 1
push 0
mov eax, 0x7d4
call fcn.00403930
push eax
lea edx, [esp + 0x434]
push edx
lea eax, [esp + 0x28]
push str._s_s.lnk
push eax
call fcn.0046c9c9
add esp, 0x18
push 3
lea ecx, [esp + 0x634]
push ecx
push str._enable
mov esi, ecx
lea edi, [esp + 0x24]
call fcn.00401ff0
push str.nvstlink.exe
mov edx, edi
mov ecx, str._disable
lea esi, [esp + 0x42c]
call fcn.00401170
add esp, 4
test al, al
je 0x402398
lea edx, [esp + 0x18]
push edx
call ebp
push str.nvstlink.exe
lea edx, [esp + 0x1c]
mov ecx, str._disable
lea esi, [esp + 0x42c]
call fcn.00401170
add esp, 4
test al, al
jne 0x402370
push 1
push 0
mov eax, 0x7d5
call fcn.00403930
push eax
lea eax, [esp + 0x434]
push eax
lea ecx, [esp + 0x28]
push str._s_s.lnk
push ecx
call fcn.0046c9c9
add esp, 0x18
push 2
lea edx, [esp + 0x634]
push edx
push str._disable
mov esi, edx
lea edi, [esp + 0x24]
call fcn.00401ff0
cmp byte [ebx + 0xab], 0
jne 0x40247f
cmp byte [ebx + 0xaa], 0
jne 0x40247f
push str.nvstlink.exe
mov edx, edi
mov ecx, str._show
lea esi, [esp + 0x42c]
call fcn.00401170
add esp, 4
test al, al
je 0x40243c
lea eax, [esp + 0x18]
push eax
call ebp
push str.nvstlink.exe
lea edx, [esp + 0x1c]
mov ecx, str._show
lea esi, [esp + 0x42c]
call fcn.00401170
add esp, 4
test al, al
jne 0x402414
push 1
push 0
mov eax, 0x7d8
call fcn.00403930
push eax
lea ecx, [esp + 0x434]
push ecx
lea edx, [esp + 0x28]
push str._s_s.lnk
push edx
call fcn.0046c9c9
add esp, 0x18
push 6
lea eax, [esp + 0x634]
push eax
push str._show
mov esi, eax
lea edi, [esp + 0x24]
call fcn.00401ff0
lea ecx, [esp + 0x630]
push 0x5c
push ecx
mov esi, str.nvstview.exe
call fcn.0046d4c0
mov edx, 2
add esp, 8
sub edx, esi
lea ecx, [eax + edx]
movzx eax, word [esi]
mov word [ecx + esi], ax
add esi, 2
test ax, ax
jne 0x4024a0
cmp byte [ebx + 0xab], al
jne 0x402553
cmp byte [ebx + 0xaa], al
jne 0x402553
push str.nvstview.exe
lea edx, [esp + 0x1c]
mov ecx, 0x48ca3c
lea esi, [esp + 0x42c]
call fcn.00401170
add esp, 4
test al, al
je 0x402510
lea eax, [esp + 0x18]
push eax
call ebp
push str.nvstview.exe
lea edx, [esp + 0x1c]
mov ecx, 0x48ca3c
lea esi, [esp + 0x42c]
call fcn.00401170
add esp, 4
test al, al
jne 0x4024e8
push 1
push 0
mov eax, 0x7d3
call fcn.00403930
push eax
lea ecx, [esp + 0x434]
push ecx
lea edx, [esp + 0x28]
push str._s_s.lnk
push edx
call fcn.0046c9c9
add esp, 0x18
push 0
lea eax, [esp + 0x634]
push eax
push 0x48ca3c
mov esi, eax
lea edi, [esp + 0x24]
call fcn.00401ff0
mov ecx, ebx
call fcn.00401db0
mov ebx, dword [0x486350]
lea ecx, [esp + 0x838]
push ecx
push 0
push 0
push 0x19
push 0
mov byte [esp + 0x27], 0
call ebx
mov edi, dword [esp + 0x14]
test eax, eax
jl 0x402665
cmp byte [edi + 0xab], 0
jne 0x402632
cmp byte [edi + 0xaa], 0
jne 0x402632
push str.nvstview.exe
lea edx, [esp + 0x1c]
mov ecx, 0x48ca3c
lea esi, [esp + 0x83c]
call fcn.00401170
add esp, 4
test al, al
je 0x402632
mov byte [esp + 0x13], 1
lea edx, [esp + 0x18]
push edx
call ebp
push str.nvstview.exe
lea edx, [esp + 0x1c]
mov ecx, 0x48ca3c
lea esi, [esp + 0x83c]
call fcn.00401170
add esp, 4
test al, al
jne 0x4025c3
push 1
push 0
mov eax, 0x7d3
call fcn.00403930
push eax
mov eax, esi
push eax
lea ecx, [esp + 0x28]
push str._s_s.lnk
push ecx
call fcn.0046c9c9
add esp, 0x18
push 0
lea edx, [esp + 0x634]
push edx
push 0x48ca3c
mov esi, edx
lea edi, [esp + 0x24]
call fcn.00401ff0
call fcn.00401390
mov edi, dword [esp + 0x14]
push str.nvstwiz.exe
lea edx, [esp + 0x1c]
mov ecx, 0x48ca3c
lea esi, [esp + 0x83c]
call fcn.00401170
add esp, 4
test al, al
je 0x402658
call fcn.00402750
push edi
lea ecx, [esp + 0x83c]
call fcn.00401a60
lea eax, [esp + 0x838]
push eax
push 0
push 0
push 0
push 0
call ebx
test eax, eax
jl 0x402737
xor bl, bl
cmp byte [edi + 0xab], bl
jne 0x40272a
push str.nvstview.exe
lea edx, [esp + 0x1c]
mov ecx, 0x48ca3c
lea esi, [esp + 0x83c]
call fcn.00401170
add esp, 4
test al, al
je 0x4026d8
mov bl, 1
lea ecx, [esp + 0x18]
push ecx
call ebp
push str.nvstview.exe
lea edx, [esp + 0x1c]
mov ecx, 0x48ca3c
lea esi, [esp + 0x83c]
call fcn.00401170
add esp, 4
test al, al
jne 0x4026b0
cmp byte [esp + 0x13], 0
jne 0x40272a
test bl, bl
je 0x40272a
push 1
push 0
mov eax, 0x7d3
call fcn.00403930
push eax
lea edx, [esp + 0x844]
push edx
lea eax, [esp + 0x28]
push str._s_s.lnk
push eax
call fcn.0046c9c9
add esp, 0x18
push 0
lea ecx, [esp + 0x634]
push ecx
push 0x48ca3c
mov esi, ecx
lea edi, [esp + 0x24]
call fcn.00401ff0
mov edi, dword [esp + 0x14]
push edi
lea ecx, [esp + 0x83c]
call fcn.00401a60
mov ecx, dword [esp + 0xa44]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0046c67d
add esp, 0xa3c
ret