Function at 0x493810
Capabilities:
Get common file path
Link many functions at runtime
Query environment variable
Query or enumerate registry value
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x53ba20]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x5139ac
push 1
push 0x5139c4
call fcn.0042f9d0
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 8
push eax
call edi
push 0x5139dc
push 1
push 0x513a00
mov dword [0x56787c], eax
call fcn.0042f9d0
add esp, 8
push eax
call edi
push 0x513a1c
push 1
push 0x513a00
mov dword [0x55b1a8], eax
call fcn.0042f9d0
add esp, 8
push eax
call edi
push 0x513a40
push 1
push 0x513a5c
mov dword [0x55b1a4], eax
call fcn.0042f9d0
add esp, 8
push eax
call edi
push 0x513a74
push 1
push 0x512ee8
mov dword [0x567880], eax
call fcn.0042f9d0
add esp, 8
push eax
call edi
push 0x513a98
push 1
push 0x512ee8
mov dword [0x55b1ac], eax
call fcn.0042f9d0
add esp, 8
push eax
call edi
push 0x513ab0
push 1
push 0x513ac4
mov dword [0x55b1b0], eax
call fcn.0042f9d0
add esp, 8
push eax
call edi
mov esi, dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [0x55b1b4], eax
test eax, eax
jne 0x493924
push 0x513adc
lea eax, [ebp - 0x20c]
push 0x513928
push eax
call fcn.0042fa90
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x10
push 0x4fc6f4
push eax
push 0
call esi
push 0x513b10
push 1
push 0x513ac4
call fcn.0042f9d0
add esp, 8
push eax
call edi
mov dword [0x55b1b8], eax
test eax, eax
jne 0x49396f
push 0x513b24
lea eax, [ebp - 0x20c]
push 0x513928
push eax
call fcn.0042fa90
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x10
push 0x4fc6f4
push eax
push 0
call esi
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0x5552b4
call ebx
mov esi, eax
test esi, esi
jne 0x493a97
lea eax, [ebp - 0x214]
push eax
push 0x513b58
push reloc.ACLUI.dll_CreateSecurityPage
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x493a71
lea eax, [ebp - 0x210]
mov dword [ebp - 0x210], 0x208
push eax
push 0x5552b4
push esi
push esi
push 0x513b9c
push dword [ebp - 0x214]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push 0x513bac
push 0x104
push 0x5552b4
call fcn.004d6277
add esp, 0xc
push 0x5552b4
call ebx
mov esi, eax
test esi, esi
jne 0x493a97
push 0x513bc4
push 0x104
push 0x5552b4
call fcn.004c905a
add esp, 0xc
push 0x5552b4
call ebx
mov esi, eax
test esi, esi
jne 0x493a97
push 0x104
push 0x5552b4
push str._ProgramFiles_Debugging_Tools_for_Windows__x86_dbghelp.dll
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
push 0x5552b4
call ebx
mov esi, eax
test esi, esi
jne 0x493a97
push 0x5552b4
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push 0x513c74
push 0x104
push 0x5552b4
call fcn.004d6277
add esp, 0xc
push 0x5552b4
call ebx
mov esi, eax
test esi, esi
jne 0x493a97
push 1
push 0x513c90
call fcn.0042f9d0
mov esi, eax
add esp, 8
test esi, esi
jne 0x493a97
push 1
push 0x513ca8
call fcn.0042f9d0
add esp, 8
mov esi, eax
push 0x104
push 0x5552b4
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5552b4
call ebx
mov ebx, eax
push 0x5137e4
push ebx
call edi
push 0x5137f4
push ebx
mov dword [0x55b150], eax
call edi
push 0x513810
push ebx
mov dword [0x55b184], eax
call edi
push 0x513828
push ebx
mov dword [0x55b188], eax
call edi
push 0x51383c
push ebx
mov dword [0x55b180], eax
call edi
push 0x513848
push ebx
mov dword [0x55b164], eax
call edi
push 0x513858
push ebx
mov dword [0x55b160], eax
call edi
push 0x51386c
push ebx
mov dword [0x55b15c], eax
call edi
push 0x513880
push ebx
mov dword [0x556aa0], eax
call edi
push 0x513890
push ebx
mov dword [0x55b168], eax
call edi
push 0x5138a0
push ebx
mov dword [0x55b154], eax
call edi
mov dword [0x55b178], eax
test eax, eax
je 0x493b4b
mov ecx, 0x4a2d40
jmp 0x493b64
push 0x5138b4
push ebx
call edi
xor ecx, ecx
mov dword [0x55b174], eax
test eax, eax
mov edx, 0x4a2d70
cmovne ecx, edx
push 0x5138c4
push ebx
mov dword [0x55b170], ecx
call edi
push 0x5138d8
push ebx
mov dword [0x55b17c], eax
call edi
push 0x5138e8
push ebx
mov dword [0x55b190], eax
call edi
push 0x5138f4
push ebx
mov dword [0x55b16c], eax
call edi
push 0x513908
push ebx
mov dword [0x55b18c], eax
call edi
cmp byte [0x5554bc], 0
mov dword [0x55b158], eax
pop ebx
jne 0x493bc8
cmp dword [0x55b150], 0
je 0x493bd8
cmp word [0x5554be], 0
je 0x493bd8
push 0x5554be
push 0x50e664
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
cmp dword [0x55b190], 0
jne 0x493bfd
push 0x5138d8
push 1
push 0x513ca8
call fcn.0042f9d0
add esp, 8
push eax
call edi
mov dword [0x55b190], eax
push 0x513cc4
push esi
call edi
mov dword [0x55b19c], eax
test eax, eax
je 0x493c15
mov ecx, 0x48fa70
jmp 0x493c3d
push 0x513cdc
push 1
push 0x513ca8
call fcn.0042f9d0
add esp, 8
push eax
call edi
xor ecx, ecx
mov dword [0x55b194], eax
test eax, eax
mov edx, 0x48fa90
cmovne ecx, edx
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x513cf0
push 0x512ee8
mov dword [0x55b198], ecx
call esi
push eax
call edi
push 0x513d08
push 0x512ee8
mov dword [0x567870], eax
call esi
push eax
call edi
push 0x513d24
push 0x512ee8
mov dword [0x55b1bc], eax
call esi
push eax
call edi
push 0x513d3c
push 0x4fc270
mov dword [0x567878], eax
call esi
push eax
call edi
push 0x513d50
push 0x513a5c
mov dword [0x556ab4], eax
call esi
push eax
call edi
push 0x513d6c
push 1
push 0x4fc254
mov dword [0x55b1c0], eax
call fcn.0042f9d0
add esp, 8
push eax
call edi
push 0x513d84
push 0x4fbe00
mov dword [0x556a98], eax
call esi
push eax
call edi
push 0x513d9c
push 1
push 0x513dac
mov dword [0x556a9c], eax
call fcn.0042f9d0
add esp, 8
push eax
call edi
push 0x513dc0
push 1
push 0x512ee8
mov dword [0x55b1c4], eax
call fcn.0042f9d0
add esp, 8
push eax
call edi
push 0x513ddc
push 1
push 0x512ee8
mov dword [0x567874], eax
call fcn.0042f9d0
add esp, 8
push eax
call edi
push 0x513df8
push 1
push 0x513a5c
mov dword [0x55714c], eax
call fcn.0042f9d0
add esp, 8
push eax
call edi
push 0x513e0c
push 1
mov dword [0x556af8], eax
push 0x512ee8
call fcn.0042f9d0
add esp, 8
push eax
call edi
push 0x513e20
push 1
push 0x512ee8
mov dword [0x556afc], eax
call fcn.0042f9d0
add esp, 8
push eax
call edi
mov ecx, dword [ebp - 4]
pop edi
mov dword [0x55b1c8], eax
xor ecx, ebp
mov al, 1
pop esi
call fcn.004c3287
mov esp, ebp
pop ebp
ret