Function at 0x140004180
Capabilities:
Check if file exists
Get file attributes
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x14003e040]
xor rax, rsp
mov qword [rbp + 0x10], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rbp - 8], xmm0
mov qword [rbp + 8], rax
lea rax, [rsp + 0x78]
mov qword [rbp - 0x28], rax
movups xmmword [rsp + 0x78], xmm0
xor r14d, r14d
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], r14
mov r8d, 0x12
lea rdx, str.hoyofps_config.ini
lea rcx, [rsp + 0x78]
call fcn.140006f40
nop
lea rax, [rsp + 0x78]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], r14
mov ecx, 0x60
call fcn.140007e44
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp - 0x10], rax
mov qword [rbp], r14
mov qword [rbp + 8], r14
mov ecx, 0x40
call fcn.140007e44
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp], rax
lea rcx, [rsp + 0x78]
cmp qword [rbp - 0x70], 7
cmova rcx, qword [rsp + 0x78]
lea rdx, [0x140037c60]
call fcn.140013d34
mov rsi, rax
mov rdi, 0xffffffffffffffff
test rax, rax
jne 0x14000427a
mov ebx, edi
jmp 0x140004290
lea r9, [rbp - 0x18]
mov rdx, rsi
call fcn.140001730
mov ebx, eax
mov rcx, rsi
call fcn.14001398c
mov dword [rbp - 0x18], ebx
mov rdx, qword [rbp - 0x70]
cmp rdx, 7
jbe 0x1400042d7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400042cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004d9a
call fcn.1400080f8
mov ebx, dword [rbp - 0x18]
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r14w
lea r13, [0x14003eb18]
lea r12, [0x14003eaf8]
lea r15, [0x14003eb38]
test ebx, ebx
je 0x14000430e
lea rcx, str._Config_Not_Found___n
jmp 0x14000468a
lea rax, [rbp - 0x48]
mov qword [rbp - 0x28], rax
mov rdx, r13
lea rcx, [rbp - 0x48]
call fcn.140006740
mov rbx, rax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov r8d, 8
lea rdx, [0x1400381a0]
lea rcx, [rsp + 0x30]
call fcn.140006f40
nop
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
mov r8d, 7
lea rdx, str.Setting
lea rcx, [rsp + 0x50]
call fcn.140006f40
nop
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x18]
call fcn.140001a40
mov rbx, rax
cmp r13, rax
je 0x140004439
mov rdx, qword [0x14003eb30]
cmp rdx, 7
jbe 0x1400043fa
mov rcx, qword [0x14003eb18]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x1400043f5
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004da0
mov rcx, r8
call fcn.1400080f8
mov qword [0x14003eb28], r14
mov qword [0x14003eb30], 7
mov word [0x14003eb18], r14w
movups xmm0, xmmword [rbx]
movups xmmword [0x14003eb18], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [0x14003eb28], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
mov rdx, qword [rbp - 0x50]
cmp rdx, 7
jbe 0x140004479
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004474
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004da0
call fcn.1400080f8
lea rax, [rbp - 0x48]
mov qword [rsp + 0x70], rax
mov rdx, r12
lea rcx, [rbp - 0x48]
call fcn.140006740
mov rbx, rax
lea rax, [rsp + 0x50]
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
mov r8d, 0xb
lea rdx, str.GenshinPath
lea rcx, [rsp + 0x50]
call fcn.140006f40
nop
lea rax, [rsp + 0x30]
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov r8d, 7
lea rdx, str.Setting
lea rcx, [rsp + 0x30]
call fcn.140006f40
nop
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x18]
call fcn.140001a40
mov rbx, rax
cmp r12, rax
je 0x1400045a4
mov rdx, qword [0x14003eb10]
cmp rdx, 7
jbe 0x140004565
mov rcx, qword [0x14003eaf8]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140004560
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004d94
mov rcx, r8
call fcn.1400080f8
mov qword [0x14003eb08], r14
mov qword [0x14003eb10], 7
mov word [0x14003eaf8], r14w
movups xmm0, xmmword [rbx]
movups xmmword [0x14003eaf8], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [0x14003eb08], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
mov rdx, qword [rbp - 0x50]
cmp rdx, 7
jbe 0x1400045e4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400045df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004d94
call fcn.1400080f8
cmp byte [0x14003eae4], 0
je 0x14000463f
cmp r15, r12
je 0x140004614
mov rdx, r12
cmp qword [0x14003eb10], 7
cmova rdx, qword [0x14003eaf8]
mov r8, qword [0x14003eb08]
mov rcx, r15
call fcn.140006860
mov rcx, r15
cmp qword [0x14003eb50], 7
cmova rcx, qword [0x14003eb38]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140004813
lea rcx, str._Genshin_Path_Error__n_Plase_open_Genshin_to_set_game_path._n
jmp 0x14000468a
mov rdx, r13
cmp qword [0x14003eb30], 7
cmova rdx, qword [0x14003eb18]
mov r8, qword [0x14003eb28]
mov rcx, r15
call fcn.140006860
mov rcx, r15
cmp qword [0x14003eb50], 7
cmova rcx, qword [0x14003eb38]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140004813
lea rcx, str._HKSR_Path_Error__n_Plase_open_StarRail_to_set_game_path._n
call fcn.140001210
nop
cmp byte [0x14003eae4], 0
je 0x1400046b2
lea rcx, str.YuanShen.exe
call fcn.1400031a0
test eax, eax
jne 0x1400046cf
lea rcx, str.GenshinImpact.exe
jmp 0x1400046b9
lea rcx, str.StarRail.exe
call fcn.1400031a0
test eax, eax
jne 0x1400046cf
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140004690
mov r8d, eax
xor edx, edx
mov ecx, 0x101001
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rsi, rax
test rax, rax
jne 0x1400046f8
lea rcx, str.OpenProcess_failed___Get_game_path_
call fcn.140002cd0
jmp 0x140004cf1
mov dword [rbp - 0x28], 0x2000
mov edx, 0x2010
xor ecx, ecx
mov r9d, 4
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
jne 0x140004734
lea rcx, str.Alloc_Memory_failed___Get_game_path_
call fcn.140002cd0
xor sil, sil
jmp 0x140004cf1
lea r9, [rbp - 0x28]
mov r8, rbx
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryFullProcessImageNameW]
test eax, eax
jne 0x14000476f
lea rcx, str.Get_game_path_failed_
call fcn.140002cd0
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor sil, sil
jmp 0x140004cf1
mov r8, rdi
inc r8
cmp word [rbx + r8*2], 0
jne 0x140004772
mov rdx, rbx
cmp byte [0x14003eae4], 0
mov rcx, r12
jne 0x14000478f
mov rcx, r13
call fcn.140006860
inc rdi
cmp word [rbx + rdi*2], 0
jne 0x140004794
mov r8, rdi
mov rdx, rbx
mov rcx, r15
call fcn.140006860
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov dword [rbp - 0x20], 0x103
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rbp - 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp dword [rbp - 0x20], 0x103
je 0x1400047c4
mov edx, 0xffffffff
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [0x14003819c]
call fcn.140013a2c
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
mov r8d, 0x11
lea rdx, [0x140038330]
lea rcx, [rsp + 0x50]
call fcn.140006f40
nop
lea rax, [rsp + 0x30]
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov r8d, 7
lea rdx, str.Setting
lea rcx, [rsp + 0x30]
call fcn.140006f40
nop
mov r9d, 2
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x18]
call fcn.140001d20
mov byte [0x14003eae6], al
cmp al, 2
jne 0x1400048d8
mov r9d, 0x24
lea r8, str.Setting
lea rdx, str.Is_set_Anti_miscontact_Console_window_must_be_selected_to_set_Fps_____n
mov rcx, qword [0x14003fe80]
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x1400048cc
mov byte [0x14003eae6], 1
jmp 0x1400048d8
cmp eax, 7
jne 0x1400048d8
mov byte [0x14003eae6], 0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
mov r8d, 0xa
lea rdx, str.GSTarget30
lea rcx, [rsp + 0x50]
call fcn.140006f40
nop
lea rax, [rsp + 0x30]
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov r8d, 7
lea rdx, str.Setting
lea rcx, [rsp + 0x30]
call fcn.140006f40
nop
mov r9d, 0x3c
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x18]
call fcn.140001d20
mov dword [0x14003eae8], eax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
mov r8d, 0xa
lea rdx, str.GSTarget60
lea rcx, [rsp + 0x50]
call fcn.140006f40
nop
lea rax, [rsp + 0x30]
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov r8d, 7
lea rdx, str.Setting
lea rcx, [rsp + 0x30]
call fcn.140006f40
nop
mov r9d, 0x3e8
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x18]
call fcn.140001d20
mov dword [0x14003eaf4], eax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
mov r8d, 0xe
lea rdx, str.EnableErrorMsg
lea rcx, [rsp + 0x50]
call fcn.140006f40
nop
lea rax, [rsp + 0x30]
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov r8d, 7
lea rdx, str.Setting
lea rcx, [rsp + 0x30]
call fcn.140006f40
nop
mov r9b, 1
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x18]
call fcn.140001f20
mov byte [0x14003eae5], al
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
mov r8d, 0xd
lea rdx, str.IsHookGameSet
lea rcx, [rsp + 0x50]
call fcn.140006f40
nop
lea rax, [rsp + 0x30]
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov r8d, 7
lea rdx, str.Setting
lea rcx, [rsp + 0x30]
call fcn.140006f40
nop
xor r9d, r9d
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x18]
call fcn.140001f20
mov byte [0x14003fe78], al
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
mov r8d, 0xc
lea rdx, str.TargetDevice
lea rcx, [rsp + 0x50]
call fcn.140006f40
nop
lea rax, [rsp + 0x30]
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov r8d, 7
lea rdx, str.Setting
lea rcx, [rsp + 0x30]
call fcn.140006f40
nop
mov r9d, 2
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x18]
call fcn.140001d20
mov dword [0x14003eaec], eax
cmp eax, 0x20
jbe 0x140004b7f
mov dword [0x14003eaec], 2
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
mov r8d, 0x13
lea rdx, str.GameProcessPriority
lea rcx, [rsp + 0x50]
call fcn.140006f40
nop
lea rax, [rsp + 0x30]
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov r8d, 7
lea rdx, str.Setting
lea rcx, [rsp + 0x30]
call fcn.140006f40
nop
mov r9d, 3
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x18]
call fcn.140001d20
mov byte [0x14003eae7], al
movzx ecx, al
test al, al
je 0x140004c57
sub ecx, 1
je 0x140004c4b
sub ecx, 1
je 0x140004c3f
sub ecx, 1
je 0x140004c27
cmp ecx, 1
je 0x140004c33
mov byte [0x14003eae7], 3
mov dword [0x14003eae0], 0x20
jmp 0x140004c61
mov dword [0x14003eae0], 0x4000
jmp 0x140004c61
mov dword [0x14003eae0], 0x8000
jmp 0x140004c61
mov dword [0x14003eae0], 0x80
jmp 0x140004c61
mov dword [0x14003eae0], 0x100
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
mov r8d, 3
lea rdx, [0x1400384e0]
lea rcx, [rsp + 0x50]
call fcn.140006f40
nop
lea rax, [rsp + 0x30]
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov r8d, 7
lea rdx, str.Setting
lea rcx, [rsp + 0x30]
call fcn.140006f40
nop
mov r9d, 0x78
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x18]
call fcn.140001d20
mov dword [0x14003eaf0], eax
mov ecx, eax
call fcn.140003430
mov sil, 1
mov r8, qword [rbp]
mov r8, qword [r8 + 8]
lea rdx, [rbp]
lea rcx, [rbp]
call fcn.140007770
mov edx, 0x40
mov rcx, qword [rbp]
call fcn.1400080f8
mov rcx, qword [rbp - 0x10]
mov rdi, qword [rcx + 8]
cmp byte [rdi + 0x19], 0
jne 0x140004d59
mov r8, qword [rdi + 0x10]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.1400078c0
mov rbx, rdi
mov rdi, qword [rdi]
lea rcx, [rbx + 0x20]
call fcn.140007ab0
mov edx, 0x60
mov rcx, rbx
call fcn.1400080f8
cmp byte [rdi + 0x19], 0
je 0x140004d22
mov rcx, qword [rbp - 0x10]
mov edx, 0x60
call fcn.1400080f8
movzx eax, sil
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.140007e20
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140014134
int3
call fcn.140014134
int3
call fcn.140014134
int3