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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x455008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x208
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x210], 0
push 0
push eax
call fcn.00417b90
add esp, 0xc
lea eax, [ebp - 0x20c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
test eax, eax
je 0x41209f
push 0x450740
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0041fb02
add esp, 0xc
cmp word [ebp - 0x20c], 0
je 0x41209f
lea eax, [ebp - 0x20c]
push eax
call esi
mov esi, eax
test esi, esi
je 0x412099
push 0x446a70
push esi
call ebx
test eax, eax
jne 0x412091
push esi
call edi
xor esi, esi
test esi, esi
jne 0x4124dc
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0x45075c
call esi
mov esi, eax
test esi, esi
je 0x4120c5
push 0x446a70
push esi
call ebx
test eax, eax
jne 0x4120bd
push esi
call edi
jmp 0x4120c5
test esi, esi
jne 0x4124dc
push str.C:DebuggersWOW64dbghelp.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x4120ef
push 0x446a70
push esi
call ebx
test eax, eax
jne 0x4120e7
push esi
call edi
jmp 0x4120ef
test esi, esi
jne 0x4124dc
push str.C:Debuggers_x86dbghelp.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x41211b
push 0x446a70
push esi
call ebx
test eax, eax
jne 0x412113
push esi
call edi
xor esi, esi
jmp 0x41211b
test esi, esi
jne 0x4124dc
lea eax, [ebp - 0x210]
push eax
push 0x450810
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x412264
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x214], 0x208
push eax
push 0
push 0
push 0x450870
push dword [ebp - 0x210]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4121c5
push str.x86dbghelp.dll
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0041fb02
add esp, 0xc
cmp word [ebp - 0x20c], 0
je 0x4121c3
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x4121c5
push 0x446a70
push esi
call ebx
test eax, eax
jne 0x4121b9
push esi
call edi
xor esi, esi
test esi, esi
jne 0x412246
jmp 0x4121c5
xor esi, esi
xor eax, eax
mov dword [ebp - 0x214], 0x208
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x20c]
push eax
push 0
push 0
push 0x4508c0
push dword [ebp - 0x210]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412246
push str.x86dbghelp.dll
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0041fb02
add esp, 0xc
cmp word [ebp - 0x20c], 0
je 0x412244
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x412246
push 0x446a70
push esi
call ebx
test eax, eax
jne 0x412246
push esi
call edi
xor esi, esi
push dword [ebp - 0x210]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x210], 0
test esi, esi
jne 0x4124dc
xor eax, eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20c]
push 0x104
push eax
push str._ProgramFiles_x86__Windows_Kits10Debuggersx86dbghelp.dll
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
cmp word [ebp - 0x20c], 0
je 0x4122bc
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x4122bc
push 0x446a70
push esi
call ebx
test eax, eax
jne 0x4122b4
push esi
call edi
xor esi, esi
jmp 0x4122bc
test esi, esi
jne 0x4124dc
xor eax, eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20c]
push 0x104
push eax
push str._ProgramFiles_x86__Windows_Kits8.1Debuggersx86dbghelp.dll
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
cmp word [ebp - 0x20c], 0
je 0x412314
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x412314
push 0x446a70
push esi
call ebx
test eax, eax
jne 0x41230c
push esi
call edi
xor esi, esi
jmp 0x412314
test esi, esi
jne 0x4124dc
xor eax, eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20c]
push 0x104
push eax
push str._ProgramFiles_x86__Windows_Kits8.0Debuggersx86dbghelp.dll
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
cmp word [ebp - 0x20c], 0
je 0x41236c
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x41236c
push 0x446a70
push esi
call ebx
test eax, eax
jne 0x412364
push esi
call edi
xor esi, esi
jmp 0x41236c
test esi, esi
jne 0x4124dc
xor eax, eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20c]
push 0x104
push eax
push str._ProgramFiles_Debugging_Tools_for_Windows__x86_dbghelp.dll
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
cmp word [ebp - 0x20c], 0
je 0x4123c4
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x4123c4
push 0x446a70
push esi
call ebx
test eax, eax
jne 0x4123bc
push esi
call edi
xor esi, esi
jmp 0x4123c4
test esi, esi
jne 0x4124dc
lea eax, [ebp - 0x210]
push eax
push 0x450af0
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x41247c
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x214], 0x208
push eax
push 0
push 0
push 0x450b34
push dword [ebp - 0x210]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x412462
push 0x450b44
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0041fb02
add esp, 0xc
cmp word [ebp - 0x20c], 0
je 0x41249e
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x412462
push 0x446a70
push esi
call ebx
test eax, eax
jne 0x412462
push esi
call edi
xor esi, esi
push dword [ebp - 0x210]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x210], 0
test esi, esi
jne 0x4124dc
push 0x450b44
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x4124ba
push 0x446a70
push esi
call ebx
test eax, eax
jne 0x4124b6
push esi
call edi
jmp 0x4124ba
push dword [ebp - 0x210]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x210], 0
jmp 0x41247c
test esi, esi
jne 0x4124dc
push 0x450b5c
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x4124dc
push 0x446a70
push esi
call ebx
test eax, eax
jne 0x4124dc
push esi
call edi
xor esi, esi
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00415f69
mov esp, ebp
pop ebp
ret