Function at 0x140005900
Capabilities:
Create process on windows
Create thread
Get file size
Log keystrokes via polling
Set console window title
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 - 0x37]
sub rsp, 0xb0
mov rax, qword [0x14003e040]
xor rax, rsp
mov qword [rbp + 0x27], rax
xor r13d, r13d
lea rdx, [0x140037c50]
mov ecx, 2
call fcn.1400123e4
lea rcx, str.HoyoGameFPSunlocker
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
mov edx, 0x100
mov rcx, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov qword [0x14003fe80], rax
test rax, rax
jne 0x140005983
lea rcx, str.Get_Console_HWND_Failed_
call fcn.140002cd0
call fcn.140005880
mov edx, 0x1000
xor ecx, ecx
mov r9d, 4
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r14, rax
test rax, rax
je 0x140005cac
mov rcx, rax
call fcn.140004e60
test al, al
je 0x140006315
call fcn.140004180
test al, al
je 0x140006315
mov rcx, qword [0x14003eb48]
cmp rcx, 8
jb 0x140005cac
inc rcx
call fcn.140002ef0
mov rsi, rax
mov rcx, qword [0x14003eb48]
inc rcx
call fcn.140002ef0
mov r12, rax
mov qword [rbp + 0xf], rax
mov ecx, 0x20
call fcn.140002ef0
mov r15, rax
lea rdx, [0x14003eb38]
cmp rsi, rdx
je 0x140005a34
cmp qword [0x14003eb50], 7
cmova rdx, qword [0x14003eb38]
mov r8, qword [0x14003eb48]
mov rcx, rsi
call fcn.140006860
mov rdx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140005a41
mov rdx, qword [rsi]
lea rcx, str.FPS_unlocker_2.8.2_n_nThis_program_is_Free_and_OpenSource_in__n_https:__github.com_winTEuser_Genshin_StarRail_fps_unlocker__n
call fcn.140001210
cmp byte [0x14003eae4], r13b
jne 0x140005a62
lea rcx, str.When_V_sync_is_opened__you_need_open_setting_then_quit_to_apply_change_in_StarRail._n
call fcn.140001210
mov rcx, rsi
call fcn.1400064d0
mov r8, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 1], xmm1
cmp qword [rsi + 0x10], rax
cmovb r8, qword [rsi + 0x10]
mov rdx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140005a92
mov rdx, qword [rsi]
lea rcx, [rbp - 0x11]
call fcn.140006f40
nop
lea rdx, [rbp - 0x11]
mov rcx, r12
call fcn.1400066a0
mov rdx, qword [rbp + 7]
cmp rdx, 7
jbe 0x140005ae8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005ae3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000631c
call fcn.1400080f8
mov rcx, rsi
call fcn.1400064d0
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 1], xmm1
mov rax, qword [rsi + 0x10]
cmp rax, rcx
jb 0x140006322
sub rax, rcx
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
mov rax, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140005b2e
mov rax, qword [rsi]
lea rdx, [rax + rcx*2]
lea rcx, [rbp - 0x11]
call fcn.140006f40
nop
lea rdx, [rbp - 0x11]
mov rcx, r15
call fcn.1400066a0
mov rdx, qword [rbp + 7]
cmp rdx, 7
jbe 0x140005b88
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005b83
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000631c
call fcn.1400080f8
cmp byte [0x14003eae4], 0
je 0x140005c20
mov qword [rbp + 0x17], r13
mov rcx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140005ba6
mov rcx, qword [rsi]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x10000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
test rax, rax
je 0x140005c0b
lea rdx, [rbp + 0x17]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov rdx, qword [rbp + 0x17]
shl rdx, 0x20
mov ecx, eax
or rdx, rcx
mov qword [rbp + 0x17], rdx
cmp rdx, 0x800000
setb byte [0x14003fe7a]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140005c20
lea rcx, str.OpenFile_Fail__
call fcn.140002cd0
nop word [rax + rax]
mov rcx, r15
cmp qword [r15 + 0x18], 7
jbe 0x140005c2d
mov rcx, qword [r15]
call fcn.1400031a0
mov ebx, eax
test eax, eax
je 0x140005c8a
mov r9d, 0x11
lea r8, [0x140038dc8]
lea rdx, str.Game_has_being_running___n
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 1
jne 0x140005c20
mov r8d, ebx
xor edx, edx
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140005c20
mov ecx, 0xa0
call fcn.1400141bc
mov rdi, rax
lea rbx, [rax + 0x20]
test rax, rax
jne 0x140005cde
lea rcx, str.malloc_failed_
call fcn.140002cd0
mov eax, 0xffffffff
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140007e20
lea r11, [rsp + 0xb0]
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
xor edx, edx
mov r8d, 0xa0
mov rcx, rdi
call fcn.14002bb60
mov rax, r12
cmp qword [r12 + 0x18], 7
jbe 0x140005cfd
mov rax, qword [r12]
mov rcx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140005d0a
mov rcx, qword [rsi]
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x140005d47
lea rcx, str.CreateProcess_Fail_
jmp 0x140005ca7
xor edx, edx
mov r8d, 0x8000
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [rbp - 0x21], r13d
cmp byte [0x14003eae4], 0
jne 0x140005d8f
cmp byte [0x14003fe79], 0
je 0x140005d8f
mov rcx, r12
cmp qword [r12 + 0x18], 7
jbe 0x140005d87
mov rcx, qword [r12]
call fcn.1400055e0
mov dword [rbp - 0x21], eax
mov qword [rbp - 0x19], r13
mov qword [rbp + 0x17], r13
mov dword [rbp - 0x29], r13d
mov edx, 0x1000
xor ecx, ecx
mov r9d, 4
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r13, rax
test rax, rax
jne 0x140005dd6
lea rcx, str.VirtualAlloc_Failed___PE_buffer_
call fcn.140002cd0
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140005cac
cmp byte [0x14003eae4], 0
je 0x140005e0d
cmp byte [0x14003fe7a], 0
jne 0x140005e0d
mov rdx, r15
cmp qword [r15 + 0x18], 7
jbe 0x140005df5
mov rdx, qword [r15]
lea r9, [rbp + 0x17]
mov r8, r13
mov rcx, qword [rdi]
call fcn.140003330
test al, al
jne 0x140005e2b
jmp 0x140005cac
lea r9, [rbp + 0x17]
mov r8, r13
lea rdx, str.unityplayer.dll
mov rcx, qword [rdi]
call fcn.140003330
test al, al
je 0x140005cac
mov rax, qword [rbp + 0x17]
test rax, rax
je 0x140005cac
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x19]
lea r8, [rbp - 0x29]
lea rdx, str..text
mov rcx, r13
call fcn.140003100
test al, al
je 0x1400062ea
mov ebx, dword [rbp - 0x29]
mov r9d, 4
mov r8d, 0x3000
mov edx, ebx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r14, rax
test rax, rax
jne 0x140005e97
lea rcx, str.VirtualAlloc_Failed___text_
call fcn.140002cd0
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140005cac
mov qword [rsp + 0x20], 0
mov r9, rbx
mov r8, r14
mov r12, qword [rbp - 0x19]
mov rdx, r12
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
jne 0x140005ee5
lea rcx, str.Readmem_Fail____text_
call fcn.140002cd0
xor edx, edx
mov r8d, 0x8000
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140005cac
mov rdx, rbx
mov rcx, r14
cmp byte [0x14003eae4], 0
je 0x140005f57
lea r8, str.7F_0E_E8_____________66_0F_6E_C8
call fcn.1400029f0
mov rcx, rax
test rax, rax
je 0x140005f15
movsxd rax, dword [rax + 3]
add rcx, 9
add rcx, rax
jmp 0x140005f70
lea r8, str.7F_0F_8B_05_____________66_0F_6E_C8
mov rdx, rbx
mov rcx, r14
call fcn.1400029f0
test rax, rax
jne 0x140005f6c
lea rcx, str.Genshin_Pattern_Outdated__nPlase_wait_new_update_in_github._n_n
call fcn.140002cd0
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
mov r8d, 0x8000
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualFree]
jmp 0x140005cac
lea r8, str.66_0F_6E_05_____________F2_0F_10_3D_____________0F_5B_C0
call fcn.1400029f0
test rax, rax
je 0x1400062de
lea rcx, [rax + 4]
mov eax, dword [rcx]
add eax, 4
movsxd rbx, eax
sub rbx, r14
add rbx, rcx
add rbx, r12
cmp byte [0x14003eae4], 0
je 0x140006073
cmp byte [0x14003fe78], 0
je 0x140006073
mov rax, qword [rbp + 0x17]
mov qword [rbp + 0x17], rax
cmp byte [0x14003fe7a], 0
je 0x140005fce
lea r9, [rbp + 0x17]
mov r8, r13
lea rdx, str.userassembly.dll
mov rcx, qword [rdi]
call fcn.140003330
test al, al
je 0x14000606c
mov rax, qword [rbp + 0x17]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x19]
lea r8, [rbp - 0x29]
lea rdx, str.il2cpp
mov rcx, r13
call fcn.140003100
test al, al
je 0x14000605c
xor edx, edx
mov r8d, 0x8000
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov r12d, dword [rbp - 0x29]
mov r9d, 4
mov r8d, 0x3000
mov edx, r12d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r14, rax
test rax, rax
jne 0x14000602b
lea rcx, str.VirtualAlloc_Failed___il2cpp_GI_
jmp 0x140006063
mov qword [rsp + 0x20], 0
mov r9, r12
mov r8, rax
mov r12, qword [rbp - 0x19]
mov rdx, r12
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
jne 0x140006073
lea rcx, str.Readmem_Fail____il2cpp_GI_
call fcn.140002cd0
jmp 0x14000606c
lea rcx, str.Get_Section_Fail___il2cpp_GI_
call fcn.140002cd0
mov r12, qword [rbp - 0x19]
mov byte [0x14003fe78], 0
mov eax, dword [rbp - 0x21]
mov dword [rsp + 0x28], eax
mov rax, qword [rdi]
mov qword [rsp + 0x20], rax
mov r9, rbx
mov r8, r12
mov edx, dword [rbp - 0x29]
mov rcx, r14
call fcn.140005340
test rax, rax
jne 0x1400060a4
lea rcx, str.Inject_Fail___n
jmp 0x140005ca7
mov rcx, qword [rsi]
call fcn.140013d48
mov rcx, rsi
call fcn.140013d48
mov rbx, qword [rbp + 0xf]
mov rcx, qword [rbx]
call fcn.140013d48
mov rcx, rbx
call fcn.140013d48
mov rcx, qword [r15]
call fcn.140013d48
mov rcx, r15
call fcn.140013d48
xor edx, edx
mov r8d, 0x8000
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor edx, edx
mov r8d, 0x8000
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov edx, 0x20
mov rcx, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
mov edx, dword [0x14003eae0]
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
mov edx, dword [rdi + 0x10]
lea rcx, str.PID:__d_n__nDone___n__nUse_Right_Ctrl_Key_with
call fcn.140001210
xor r14d, r14d
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea r8, [0x1400057f0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x14000615b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140006167
lea rcx, str.Create_Thread__Thread_display__Error_
call fcn.140002cd0
mov dword [rbp + 0x1f], 0x103
mov ebx, dword [0x14003eaf0]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 1
lea rdx, [rbp + 0x1f]
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp dword [rbp + 0x1f], 0x103
jne 0x140006293
mov r15d, 0xa
cmp dword [0x14003eaf0], ebx
je 0x1400061bb
cmp esi, 0x10
jb 0x1400061bb
mov ecx, ebx
call fcn.140003430
mov esi, r14d
mov dword [0x14003eaf0], ebx
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x14003fe80]
je 0x1400061dd
cmp byte [0x14003eae6], 1
je 0x14000626c
mov ecx, 0x28
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400061ff
mov ecx, 0xa3
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400061ff
add ebx, 0xffffffec
mov ecx, 0x25
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140006221
mov ecx, 0xa3
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140006221
add ebx, 0xfffffffe
mov ecx, 0x26
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140006243
mov ecx, 0xa3
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140006243
add ebx, 0x14
mov ecx, 0x27
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140006265
mov ecx, 0xa3
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140006265
add ebx, 2
cmp ebx, r15d
cmovbe ebx, r15d
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
inc esi
lea rdx, [rbp + 0x1f]
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp dword [rbp + 0x1f], 0x103
je 0x1400061a4
lea rcx, str._nGame_Terminated___n
call fcn.140001270
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.140013d48
add byte [0x14003fe7b], 1
je 0x1400062d4
nop dword [rax]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x14003fe7b], r14b
jne 0x1400062c0
mov eax, 1
jmp 0x140005cb1
lea rcx, str.StarRail_Pattern_Outdated__nPlase_wait_new_update_in_github._n_n
jmp 0x140005f33
lea rcx, str.Get_Target_Section_Fail___text_
call fcn.140002cd0
xor edx, edx
mov r8d, 0x8000
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140005cac
xor eax, eax
jmp 0x140005cb1
call fcn.140014134
int3
call fcn.140006af0
int3