Function at 0x100016c0
Capabilities:
Get common file path
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
mov eax, dword [0x10014008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub eax, 0
je 0x10001cfa
sub eax, 1
jne 0x10001d21
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str..Mt8protech
call esi
push 0xf2
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
movups xmm0, xmmword [str._vcruntime140.dll]
lea ecx, [ebp - 0x108]
add ecx, eax
mov ax, word [0x10011cfc]
movups xmmword [ecx], xmm0
mov word [ecx + 0x10], ax
mov al, byte [0x10011cfe]
mov byte [ecx + 0x12], al
lea eax, [ebp - 0x108]
push eax
call esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str._CreateFrameInfo
push eax
mov dword [0x10015360], eax
call esi
push str._CxxThrowException
push dword [0x10015360]
mov dword [0x10015364], eax
call esi
push str._EH_prolog
push dword [0x10015360]
mov dword [0x10015368], eax
call esi
push str._FindAndUnlinkFrame
push dword [0x10015360]
mov dword [0x1001536c], eax
call esi
push str._IsExceptionObjectToBeDestroyed
push dword [0x10015360]
mov dword [0x10015370], eax
call esi
push str._NLG_Dispatch2
push dword [0x10015360]
mov dword [0x10015374], eax
call esi
push str._NLG_Return
push dword [0x10015360]
mov dword [0x10015378], eax
call esi
push str._NLG_Return2
push dword [0x10015360]
mov dword [0x1001537c], eax
call esi
push str._SetWinRTOutOfMemoryExceptionCallback
push dword [0x10015360]
mov dword [0x10015380], eax
call esi
push str.__AdjustPointer
push dword [0x10015360]
mov dword [0x10015384], eax
call esi
push str.__BuildCatchObject
push dword [0x10015360]
mov dword [0x10015388], eax
call esi
push str.__BuildCatchObjectHelper
push dword [0x10015360]
mov dword [0x1001538c], eax
call esi
push str.__CxxDetectRethrow
push dword [0x10015360]
mov dword [0x10015390], eax
call esi
push str.__CxxExceptionFilter
push dword [0x10015360]
mov dword [0x10015394], eax
call esi
push str.__CxxFrameHandler
push dword [0x10015360]
mov dword [0x10015398], eax
call esi
push str.__CxxFrameHandler2
push dword [0x10015360]
mov dword [0x1001539c], eax
call esi
push str.__CxxFrameHandler3
push dword [0x10015360]
mov dword [0x100153a0], eax
call esi
push str.__CxxLongjmpUnwind
push dword [0x10015360]
mov dword [0x100153a4], eax
call esi
push str.__CxxQueryExceptionSize
push dword [0x10015360]
mov dword [0x100153a8], eax
call esi
push str.__CxxRegisterExceptionObject
push dword [0x10015360]
mov dword [0x100153ac], eax
call esi
push str.__CxxUnregisterExceptionObject
push dword [0x10015360]
mov dword [0x100153b0], eax
call esi
push str.__DestructExceptionObject
push dword [0x10015360]
mov dword [0x100153b4], eax
call esi
push str.__FrameUnwindFilter
push dword [0x10015360]
mov dword [0x100153b8], eax
call esi
push str.__GetPlatformExceptionInfo
push dword [0x10015360]
mov dword [0x100153bc], eax
call esi
push str.__RTCastToVoid
push dword [0x10015360]
mov dword [0x100153c0], eax
call esi
push str.__RTDynamicCast
push dword [0x10015360]
mov dword [0x100153c4], eax
call esi
push str.__RTtypeid
push dword [0x10015360]
mov dword [0x100153c8], eax
call esi
push str.__TypeMatch
push dword [0x10015360]
mov dword [0x100153cc], eax
call esi
push str.__current_exception
push dword [0x10015360]
mov dword [0x100153d0], eax
call esi
push str.__current_exception_context
push dword [0x10015360]
mov dword [0x100153d4], eax
call esi
push str.__intrinsic_setjmp
push dword [0x10015360]
mov dword [0x100153d8], eax
call esi
push str.__processing_throw
push dword [0x10015360]
mov dword [0x100153dc], eax
call esi
push str.__report_gsfailure
push dword [0x10015360]
mov dword [0x100153e0], eax
call esi
push str.__std_exception_copy
push dword [0x10015360]
mov dword [0x100153e4], eax
call esi
push str.__std_exception_destroy
push dword [0x10015360]
mov dword [0x100153e8], eax
call esi
push str.__std_terminate
push dword [0x10015360]
mov dword [0x100153ec], eax
call esi
push str.__std_type_info_compare
push dword [0x10015360]
mov dword [0x100153f0], eax
call esi
push str.__std_type_info_destroy_list
push dword [0x10015360]
mov dword [0x100153f4], eax
call esi
push str.__std_type_info_hash
push dword [0x10015360]
mov dword [0x100153f8], eax
call esi
push str.__std_type_info_name
push dword [0x10015360]
mov dword [0x100153fc], eax
call esi
push str.__telemetry_main_invoke_trigger
push dword [0x10015360]
mov dword [0x10015400], eax
call esi
push str.__telemetry_main_return_trigger
push dword [0x10015360]
mov dword [0x10015404], eax
call esi
push str.__unDName
push dword [0x10015360]
mov dword [0x10015408], eax
call esi
push str.__unDNameEx
push dword [0x10015360]
mov dword [0x1001540c], eax
call esi
push str.__uncaught_exception
push dword [0x10015360]
mov dword [0x10015410], eax
call esi
push str.__uncaught_exceptions
push dword [0x10015360]
mov dword [0x10015414], eax
call esi
push str.__vcrt_GetModuleFileNameW
push dword [0x10015360]
mov dword [0x10015418], eax
call esi
push str.__vcrt_GetModuleHandleW
push dword [0x10015360]
mov dword [0x1001541c], eax
call esi
push str.__vcrt_InitializeCriticalSectionEx
push dword [0x10015360]
mov dword [0x10015420], eax
call esi
push str.__vcrt_LoadLibraryExW
push dword [0x10015360]
mov dword [0x10015424], eax
call esi
push str._chkesp
push dword [0x10015360]
mov dword [0x10015428], eax
call esi
push str._except_handler2
push dword [0x10015360]
mov dword [0x1001542c], eax
call esi
push str._except_handler3
push dword [0x10015360]
mov dword [0x10015430], eax
call esi
push str._except_handler4_common
push dword [0x10015360]
mov dword [0x10015434], eax
call esi
push str._get_purecall_handler
push dword [0x10015360]
mov dword [0x10015438], eax
call esi
mov dword [0x1001543c], eax
push str._get_unexpected
push dword [0x10015360]
call esi
push str._global_unwind2
push dword [0x10015360]
mov dword [0x10015440], eax
call esi
push str._is_exception_typeof
push dword [0x10015360]
mov dword [0x10015444], eax
call esi
push str._local_unwind2
push dword [0x10015360]
mov dword [0x10015448], eax
call esi
push str._local_unwind4
push dword [0x10015360]
mov dword [0x1001544c], eax
call esi
push str._longjmpex
push dword [0x10015360]
mov dword [0x10015450], eax
call esi
push str._purecall
push dword [0x10015360]
mov dword [0x10015454], eax
call esi
push str._seh_longjmp_unwind
push dword [0x10015360]
mov dword [0x10015458], eax
call esi
push str._seh_longjmp_unwind4
push dword [0x10015360]
mov dword [0x1001545c], eax
call esi
push str._set_purecall_handler
push dword [0x10015360]
mov dword [0x10015460], eax
call esi
push str._set_se_translator
push dword [0x10015360]
mov dword [0x10015464], eax
call esi
push str._setjmp3
push dword [0x10015360]
mov dword [0x10015468], eax
call esi
push str.longjmp
push dword [0x10015360]
mov dword [0x1001546c], eax
call esi
push str.memchr
push dword [0x10015360]
mov dword [0x10015470], eax
call esi
push str.memcmp
push dword [0x10015360]
mov dword [0x10015474], eax
call esi
push str.memcpy
push dword [0x10015360]
mov dword [0x10015478], eax
call esi
push str.memmove
push dword [0x10015360]
mov dword [0x1001547c], eax
call esi
push str.memset
push dword [0x10015360]
mov dword [0x10015480], eax
call esi
push str.set_unexpected
push dword [0x10015360]
mov dword [0x10015484], eax
call esi
push str.strchr
push dword [0x10015360]
mov dword [0x10015488], eax
call esi
mov dword [0x1001548c], eax
push str.strrchr
push dword [0x10015360]
call esi
push str.strstr
push dword [0x10015360]
mov dword [0x10015490], eax
call esi
push str.unexpected
push dword [0x10015360]
mov dword [0x10015494], eax
call esi
push str.wcschr
push dword [0x10015360]
mov dword [0x10015498], eax
call esi
push str.wcsrchr
push dword [0x10015360]
mov dword [0x1001549c], eax
call esi
push str.wcsstr
push dword [0x10015360]
mov dword [0x100154a0], eax
call esi
mov dword [0x100154a4], eax
pop esi
jmp 0x10001d21
push dword [0x10015360]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [0x100154a8]
test eax, eax
je 0x10001d21
push 0
push 5
push 0x100154ac
push eax
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov ecx, dword [ebp - 4]
mov eax, 1
xor ecx, ebp
call fcn.10001f5b
mov esp, ebp
pop ebp
ret 0xc