Function at 0x180017150
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x160
mov rax, qword [0x1800c0040]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov rbx, rcx
mov qword [rsp + 0x40], rcx
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
mov rdx, rax
movabs rsi, 0x346dc5d63886594b
mov rax, rsi
imul rdx
mov rdi, rdx
sar rdi, 0xb
mov rax, rdi
shr rax, 0x3f
add rdi, rax
mov ecx, dword [0x1800e7ebc]
cmp dword [0x1800ea6e0], ecx
cmovg ecx, dword [0x1800ea6e0]
test ecx, ecx
js 0x1800171f3
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1800171ca
mov rax, qword [rbx]
mov qword [rsp + 0x28], 0xea60
mov qword [rsp + 0x20], rax
lea r9, str.findGameWindow:_searching_for_window_Class_Name:__s_...__timeout_set_to__I64u_milliseconds_
mov r8d, 0xfb
lea rdx, str.C:UsersTOTOMAN2_source_reposMetroExodus_EE_QolsModdllmain.cpp
xor ecx, ecx
call fcn.180066a10
mov rcx, qword [0x1800ea4d8]
test rcx, rcx
jne 0x180017260
nop
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x18001720d
mov rcx, qword [rbx]
xor edx, edx
call qword [sym.imp.USER32.dll_FindWindowA]
mov qword [0x1800ea4d8], rax
mov ecx, 0x14
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
mov rcx, rax
mov rax, rsi
imul rcx
sar rdx, 0xb
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub rdx, rdi
cmp rdx, 0xea60
ja 0x180017340
mov rcx, qword [0x1800ea4d8]
test rcx, rcx
je 0x180017200
mov r8d, 0x100
lea rdx, [rsp + 0x50]
call qword [sym.imp.USER32.dll_GetWindowTextA]
mov ecx, dword [0x1800e7ebc]
cmp dword [0x1800ea6e0], ecx
cmovg ecx, dword [0x1800ea6e0]
test ecx, ecx
js 0x1800172cc
mov rcx, qword [0x1800ea4d8]
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x18001729c
mov rax, qword [rbx]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea r9, str.findGameWindow:_Successfully_found_Window_with_Class_name:__s__Window_Title:__s_g_game_hWindow:__p
mov r8d, 0x10f
lea rdx, str.C:UsersTOTOMAN2_source_reposMetroExodus_EE_QolsModdllmain.cpp
xor ecx, ecx
call fcn.180066a10
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180017306
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180017301
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180017410
mov rcx, r8
call fcn.18007f494
mov al, 1
mov byte [rbx], 0
mov qword [rbx + 0x18], 0xf
mov qword [rbx + 0x10], 0
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.18007f0c0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
mov edx, dword [0x1800e7ebc]
mov eax, edx
mov r8d, dword [0x1800ea6e0]
cmp r8d, edx
cmovg eax, r8d
cmp eax, 0xfffffffe
jl 0x180017386
lea r9, str.findGameWindow:_ERROR:_timeout_reached__
mov r8d, 0x103
lea rdx, str.C:UsersTOTOMAN2_source_reposMetroExodus_EE_QolsModdllmain.cpp
mov ecx, 0xfffffffe
call fcn.180066a10
mov r8d, dword [0x1800ea6e0]
mov edx, dword [0x1800e7ebc]
mov rcx, qword [0x1800ea4d8]
test rcx, rcx
jne 0x180017260
cmp r8d, edx
cmovg edx, r8d
cmp edx, 0xfffffffe
jl 0x1800173d3
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1800173af
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
lea r9, str.findGameWindow:_failed_to_find_window_Class_Name:__s__g_game_hWindow_is_now_set_to_NULL_
mov r8d, 0x109
lea rdx, str.C:UsersTOTOMAN2_source_reposMetroExodus_EE_QolsModdllmain.cpp
mov ecx, 0xfffffffe
call fcn.180066a10
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x180017409
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180017404
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180017410
mov rcx, r8
call fcn.18007f494
xor al, al
jmp 0x180017308
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3