Function at 0x180001770
Capabilities:
Get common file path
Link many functions at runtime
Terminate process

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x250
mov rax, qword [0x180097010]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov qword [0x1800979e0], rcx
test edx, edx
je 0x180001ab9
cmp edx, 1
jne 0x180001ce9
xor ebx, ebx
cmp qword [0x1800a7e78], rbx
jne 0x18000196c
xor edx, edx
mov qword [0x1800a7e78], rbx
mov r8d, 0x104
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memset
mov edx, 0x104
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea rax, [rsp + 0x30]
sub rax, 2
nop dword [rax]
cmp word [rax + 2], bx
lea rax, [rax + 2]
jne 0x1800017f0
movups xmm0, xmmword [0x180060b28]
lea rcx, [rsp + 0x30]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x180060b38]
movsd qword [rax + 0x10], xmm0
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x1800a7e78], rax
test rax, rax
je 0x18000196c
lea rdx, [0x180060b40]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800a7e78]
lea rdx, [0x180060b60]
mov qword [0x1800a7e80], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800a7e78]
lea rdx, [0x180060b80]
mov qword [0x1800a7eb0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800a7e78]
lea rdx, [0x180060ba0]
mov qword [0x1800a7e88], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800a7e78]
lea rdx, [0x180060bc0]
mov qword [0x1800a7ea0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800a7e78]
lea rdx, [0x180060bd8]
mov qword [0x1800a7eb8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800a7e78]
lea rdx, [0x180060bf0]
mov qword [0x1800a7e70], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800a7e78]
lea rdx, [0x180060c08]
mov qword [0x1800a7e60], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800a7e78]
lea rdx, [0x180060c20]
mov qword [0x1800a7ec0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800a7e78]
lea rdx, [0x180060c40]
mov qword [0x1800a7e90], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800a7e78]
lea rdx, [0x180060c50]
mov qword [0x1800a7e68], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800a7e78]
lea rdx, [0x180060c60]
mov qword [0x1800a7e98], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1800a7ea8], rax
call fcn.18004ff50
mov r8d, 0x104
lea rdx, [0x180097a40]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edx, 0x5c
lea rcx, [0x180097a40]
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
test rax, rax
je 0x1800019a1
mov word [rax + 2], bx
lea rax, [0x180097a40]
sub rax, 2
nop dword [rax]
cmp word [rax + 2], bx
lea rax, [rax + 2]
jne 0x1800019b0
movups xmm0, xmmword [str.mk1hook_log.txt]
lea rdx, [0x180088d68]
movups xmm1, xmmword [0x180088d58]
lea rcx, [0x180097a40]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfopen]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
lea rdx, [0x180088d6c]
lea rcx, [0x180097a40]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfopen]
xor ecx, ecx
mov rdi, rax
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__ctime64]
lea rdx, str.Logging_Started____s
mov rcx, rdi
mov r8, rax
call fcn.18004e830
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
call fcn.18005a000
call fcn.18005a480
mov rdi, rbx
lea rsi, [0x180000000]
nop word [rax + rax]
cmp qword [rsi + rdi*8 + 0x97cd0], 0
jne 0x180001a78
mov r8, qword [rsi + rdi*8 + 0x8c6c0]
lea rdx, str.ERROR:_Could_not_find__s_
inc ebx
lea rcx, str.PatternSolver::CheckMissingPatterns
call fcn.18004e880
inc rdi
cmp rdi, 0x26
jl 0x180001a50
test ebx, ebx
jle 0x180001aaf
mov r9d, 0x34
lea r8, [0x180060b18]
lea rdx, str.Could_not_start_MK1Hook__n_nOne_or_more_code_patterns_could_not_be_found__this_might_indicate_that_game_version_is_not_supported_or_the_plugin_has_not_been_updated._n_nMK1Hook_officially_is_only_tested_with_latest_Steam_version._nCheck_log_for_more_details._n_nDo_you_want_to_try_to_run_the_game_anyway__It_might_crash_or_have_missing_features__n
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 7
jne 0x180001aaf
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
call fcn.1800011a0
jmp 0x180001ce9
mov rcx, qword [0x180097c50]
xor ebx, ebx
mov qword [rsp + 0x260], rbp
test rcx, rcx
je 0x180001adc
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [0x180097c50], rbx
cmp byte [0x1800979e9], bl
je 0x180001b93
mov rax, qword [0x180097a30]
test rax, rax
je 0x180001afd
mov rsi, qword [rax + 0x98]
jmp 0x180001b00
mov rsi, rbx
mov rcx, qword [rsi + 0x30]
lea rdi, [rax + 8]
test rcx, rcx
je 0x180001b1a
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [0x180097a30]
and dword [rdi + 4], 0xfffffff8
mov qword [rdi + 0x80], rbx
mov qword [rdi + 0x90], rbx
test rax, rax
je 0x180001b37
dec dword [rax + 0xf4]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdi, qword [0x180097a30]
test rdi, rdi
je 0x180001b55
mov rsi, qword [rdi + 0xa0]
jmp 0x180001b58
mov rsi, rbx
call fcn.1800313a0
mov rcx, qword [rsi + 0x48]
call fcn.18005d7fc
mov rax, qword [0x180097a30]
and dword [rdi + 0xc], 0xfffffff7
mov qword [rdi + 0x90], rbx
mov qword [rdi + 0xa0], rbx
test rax, rax
je 0x180001b8a
dec dword [rax + 0xf4]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [0x1800a7f08]
movabs rbp, 0x23ee08fb823ee09
mov r8, qword [0x1800a7f00]
mov rax, rbp
sub rcx, r8
mov esi, ebx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x180001c2f
mov r9, rbx
nop dword [rax]
imul rdi, r9, 0x1c8
add rdi, r8
mov rax, qword [rdi + 0x1b8]
test rax, rax
je 0x180001bef
call rax
mov r8, qword [0x1800a7f00]
mov rcx, qword [rdi]
test rcx, rcx
je 0x180001c07
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [rdi], rbx
mov r8, qword [0x1800a7f00]
mov rcx, qword [0x1800a7f08]
inc esi
sub rcx, r8
mov r9d, esi
mov rax, rbp
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jb 0x180001bd0
mov rcx, qword [0x180097cc8]
mov rbp, qword [rsp + 0x260]
test rcx, rcx
je 0x180001c82
mov edx, dword [0x180097c5c]
test edx, edx
je 0x180001c82
mov r8d, dword [0x180097e08]
test r8d, r8d
je 0x180001c6c
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, qword [0x180097cc8]
mov edx, dword [0x180097c5c]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [0x180097cc8]
mov rax, qword [rcx]
call qword [rax + 0xb0]
mov rbx, qword [0x180097e10]
test rbx, rbx
je 0x180001ce9
mov rdi, qword [rbx + 0x108]
test rdi, rdi
je 0x180001cb5
mov rcx, qword [rdi]
test rcx, rcx
je 0x180001ca8
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov edx, 8
mov rcx, rdi
call fcn.18005d7fc
mov rdi, qword [rbx + 0x110]
test rdi, rdi
je 0x180001cdc
mov rcx, qword [rdi]
test rcx, rcx
je 0x180001ccf
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov edx, 8
mov rcx, rdi
call fcn.18005d7fc
mov edx, 0x120
mov rcx, rbx
call fcn.18005d7fc
mov eax, 1
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.18005d7a0
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret