Function at 0x452a00
Capabilities:
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x521e28]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x218], ecx
mov word [ebp - 0x210], 0
push 0x206
push 0
lea eax, [ebp - 0x20e]
push eax
call fcn.004ad2c0
add esp, 0xc
mov dword [ebp - 0x214], 0
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x21c], ecx
cmp dword [ebp - 0x21c], 0x14
ja case.default.0x452a5e
mov edx, dword [ebp - 0x21c]
jmp dword [edx*4 + 0x453094]
push 0x104
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp - 0x218]
call fcn.00452150
test eax, eax
je 0x452abc
lea ecx, [ebp - 0x210]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00405230
push 0x50066c
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push str.nspupopt.nsx
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x214], 1
jmp 0x45307c
push 0x104
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp - 0x218]
call fcn.00452150
test eax, eax
je 0x452b18
lea ecx, [ebp - 0x210]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00405230
push 0x500694
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push str.nspupsrv.nsx
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x214], 1
jmp 0x45307c
push 0x104
lea eax, [ebp - 0x210]
push eax
push 0x11
mov ecx, dword [ebp - 0x218]
call fcn.00452a00
test eax, eax
je 0x452b67
lea ecx, [ebp - 0x210]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00405230
push 0x5006bc
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x214], 1
jmp 0x45307c
push 0x104
lea edx, [ebp - 0x210]
push edx
mov ecx, dword [ebp - 0x218]
call fcn.00452020
test eax, eax
je 0x452bb4
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00405230
push str.nspupdt.exe
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x214], 1
jmp 0x45307c
push 0x104
lea ecx, [ebp - 0x210]
push ecx
mov ecx, dword [ebp - 0x218]
call fcn.00452020
test eax, eax
je 0x452c01
lea edx, [ebp - 0x210]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00405230
push str.nsutility.exe
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x214], 1
jmp 0x45307c
push 0x104
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp - 0x218]
call fcn.00452150
test eax, eax
je 0x452c4e
lea ecx, [ebp - 0x210]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00405230
push 0x50070c
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x214], 1
jmp 0x45307c
push 0x104
lea edx, [ebp - 0x210]
push edx
mov ecx, dword [ebp - 0x218]
call fcn.00452150
test eax, eax
je 0x452c9b
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00405230
push str.nspupcpy.exe
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x214], 1
jmp 0x45307c
push 0x104
lea ecx, [ebp - 0x210]
push ecx
mov ecx, dword [ebp - 0x218]
call fcn.00452020
test eax, eax
je 0x452ce8
lea edx, [ebp - 0x210]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00405230
push str.nspupwat.exe
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x214], 1
jmp 0x45307c
lea eax, [ebp - 0x210]
push eax
call fcn.00450200
add esp, 4
push 0x500760
lea ecx, [ebp - 0x210]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea edx, [ebp - 0x210]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x452d3f
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00405230
mov dword [ebp - 0x214], 1
jmp 0x452d8b
push 0x104
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x452d8b
lea ecx, [ebp - 0x210]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00401cd0
add esp, 0xc
push str.nspupdt.dll
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [ebp - 0x214], eax
jmp 0x45307c
push 0x104
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp - 0x218]
call fcn.00452150
test eax, eax
je 0x452de7
lea ecx, [ebp - 0x210]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00405230
push str.conf
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push str.nsputls.nsx
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x214], 1
jmp 0x45307c
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00421700
add esp, 8
mov dword [ebp - 0x214], eax
jmp 0x45307c
push 0x208
lea edx, [ebp - 0x210]
push edx
push 0
call fcn.00421f40
add esp, 0xc
mov dword [ebp - 0x214], eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea ecx, [ebp - 0x210]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00405230
jmp 0x45307c
push 0x208
lea ecx, [ebp - 0x210]
push ecx
push 3
call fcn.00421f40
add esp, 0xc
mov dword [ebp - 0x214], eax
lea edx, [ebp - 0x210]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00405230
jmp 0x45307c
push 0x208
lea eax, [ebp - 0x210]
push eax
push 1
call fcn.00421f40
add esp, 0xc
test eax, eax
jne 0x452eb4
mov dword [ebp - 0x214], 0
jmp 0x45307c
lea ecx, [ebp - 0x210]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
push 0x104
lea edx, [ebp - 0x210]
push edx
call fcn.00425a40
add esp, 8
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00405230
mov dword [ebp - 0x214], 1
jmp 0x45307c
lea eax, [ebp - 0x210]
push eax
call fcn.00450120
add esp, 4
lea ecx, [ebp - 0x210]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00405230
push 0x5007b4
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x214], 1
jmp 0x45307c
lea edx, [ebp - 0x210]
push edx
call fcn.00450120
add esp, 4
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00405230
push 0x5007c0
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x214], 1
jmp 0x45307c
lea ecx, [ebp - 0x210]
push ecx
push 0
push 0
push 0x8023
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea edx, [ebp - 0x210]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00405230
push 0x5007dc
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x214], 1
jmp 0x45307c
lea eax, [ebp - 0x210]
push eax
push 0
push 0
push 0x8023
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea ecx, [ebp - 0x210]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00405230
push 0x5007e8
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x214], 1
jmp 0x45307c
push str.Temp_
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
jmp 0x45307c
push str.TempUpdate_
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x214], 1
jmp 0x45307c
push 0x104
lea ecx, [ebp - 0x210]
push ecx
push 0x11
mov ecx, dword [ebp - 0x218]
call fcn.00452a00
cmp eax, 1
jne 0x453066
push str.nspupmnl.nsx
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x214], 1
jmp 0x45307c
mov dword [ebp - 0x214], 0
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ad2aa
mov esp, ebp
pop ebp
ret 0xc