Function at 0x180005c30
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push r13
push r15
sub rsp, 0x70
movaps xmmword [rsp + 0x40], xmm6
mov r13, rcx
call fcn.180014740
lea r8, [rsp + 0x98]
mov qword [rsp + 0x98], 0
mov edx, 1
mov dword [rsp + 0xa0], 0x41200000
lea rcx, [rsp + 0xa0]
mov dword [rsp + 0xa4], 0x42c80000
movss xmm6, dword [rax + 0xe4]
call fcn.180021790
xor edx, edx
lea rcx, str.FPS_Overlay
mov r8d, 0x6b
call fcn.18000d200
cvtps2pd xmm1, xmm6
lea rcx, str.FPS:__.1f
movq rdx, xmm1
call fcn.180045b80
call fcn.180012210
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
mov r9, rax
cmp rbx, 0x989680
jne 0x180005cdb
imul rbx, r9, 0x64
jmp 0x180005d59
cmp rbx, 0x16e3600
jne 0x180005d38
movabs r10, 0xb2f4fc0794908cf3
mov rax, r10
imul r9
mov rax, r10
lea r8, [r9 + rdx]
sar r8, 0x18
mov rcx, r8
shr rcx, 0x3f
add r8, rcx
imul rcx, r8, 0x16e3600
sub r9, rcx
imul rcx, r9, 0x3b9aca00
imul rcx
lea rbx, [rcx + rdx]
sar rbx, 0x18
mov rax, rbx
shr rax, 0x3f
add rbx, rax
imul rax, r8, 0x3b9aca00
jmp 0x180005d56
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rbx, rax
imul rax, rcx, 0x3b9aca00
add rbx, rax
xorps xmm6, xmm6
mov rax, rbx
sub rax, qword [0x180060980]
cvtsi2ss xmm6, rax
divss xmm6, dword [0x18004f754]
call fcn.18000a110
mov rcx, rax
mov r15, rax
call fcn.18000a450
test al, al
jne 0x180005db9
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.World_is_invalid__skipping_logic.
call fcn.180001150
lea rdx, [0x180001670]
mov rcx, rax
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x70
pop r15
pop r13
pop rbx
jmp qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor edx, edx
mov qword [rsp + 0x68], rsi
mov rcx, r15
call fcn.180009d90
mov rcx, rax
mov rsi, rax
call fcn.18000a450
test al, al
jne 0x180005dff
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Player_character_is_invalid__skipping_logic.
call fcn.180001150
lea rdx, [0x180001670]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x180006178
mov qword [rsp + 0xa8], rbp
mov ecx, 0xa2
mov qword [rsp + 0x60], rdi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx edi, ax
mov ecx, 0xa3
shr edi, 0xf
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ebp, ax
mov ecx, 0x71
shr ebp, 0xf
and bpl, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test dil, 1
je 0x180005eb1
test rsi, rsi
je 0x180005eb1
mov rcx, rsi
call fcn.180009bf0
test rax, rax
je 0x180005eb1
mov rcx, rsi
call fcn.18000a450
test al, al
je 0x180005e8e
mov rcx, rsi
call fcn.180009bf0
mov rcx, rax
mov rdi, rax
call fcn.18000a450
test al, al
je 0x180005e8e
mov rdx, rdi
mov rcx, rsi
call fcn.180009000
mov rdx, rdi
mov rcx, rsi
call fcn.180008e90
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Left_Ctrl_Pressed:_Stopped_Montage
call fcn.180001150
lea rdx, [0x180001670]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
test bpl, bpl
je 0x180005f6f
test rsi, rsi
je 0x180005f6f
mov rcx, rsi
call fcn.18000a450
test al, al
jne 0x180005ed8
lea rcx, str.Error:_Player_pawn_is_not_valid._n
jmp 0x180005f47
mov rcx, rsi
call fcn.180009bf0
mov rcx, rax
mov rdi, rax
call fcn.18000a450
test al, al
jne 0x180005ef8
lea rcx, str.Error:_No_montage_is_currently_playing_or_montage_is_not_valid._n
jmp 0x180005f47
mov eax, dword [rdi + 0x150]
test eax, eax
jle 0x180005f40
mov rcx, qword [rdi + 0x148]
dec eax
test rcx, rcx
je 0x1800061d2
test eax, eax
js 0x1800061d2
cmp eax, dword [rdi + 0x150]
jge 0x1800061d2
cdqe
mov r8, rdi
imul rdx, rax, 0x58
mov rdx, qword [rdx + rcx + 0x30]
mov rcx, rsi
call fcn.180008d20
jmp 0x180005f4c
lea rcx, str.Error:_No_valid_sections_in_the_montage._n
call fcn.180007ba0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Right_Ctrl_Pressed:_Stopped_Right_side_Animation
call fcn.180001150
lea rdx, [0x180001670]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor esi, esi
mov qword [rsp + 0x58], r12
cmp byte [0x180060989], sil
mov qword [rsp + 0x50], r14
je 0x180006083
xor edx, edx
mov rcx, r15
call fcn.180009f50
mov rcx, rax
call fcn.18000a450
test al, al
je 0x180006083
movups xmm0, xmmword [r15 + 0x88]
movq r13, xmm0
test r13, r13
je 0x180006060
psrldq xmm0, 8
movq r12, xmm0
test r12d, r12d
jle 0x180006060
mov rax, r12
shr rax, 0x20
cmp eax, r12d
jl 0x180006060
mov edi, esi
test r12d, r12d
jle 0x180006060
mov ebp, esi
test rbp, rbp
js 0x18000618c
cmp edi, r12d
jge 0x18000618c
mov r14, qword [r13 + rbp*8]
mov rcx, r14
call fcn.18000a130
test al, al
je 0x180006033
mov rcx, r14
call fcn.18000a2c0
test al, al
je 0x180006033
mov r14, qword [r14 + 0x128]
mov rcx, r14
call fcn.18000a450
test al, al
je 0x180006056
mov rdx, r14
mov rcx, r15
call fcn.180006a90
jmp 0x180006056
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Skipping_level_because_its_not_loaded_or_visible.
call fcn.180001150
lea rdx, [0x180001670]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
inc edi
inc rbp
cmp edi, r12d
jl 0x180005fe4
mov rdi, qword [r15 + 0x30]
mov rcx, rdi
call fcn.18000a450
test al, al
je 0x18000607b
mov rdx, rdi
mov rcx, r15
call fcn.180006a90
mov r13, qword [rsp + 0x90]
comiss xmm6, dword [0x18004f750]
jb 0x180006161
xor edx, edx
mov rcx, r15
call fcn.180009f50
mov rcx, rax
call fcn.18000a450
test al, al
je 0x18000615a
movups xmm0, xmmword [r15 + 0x88]
movq r12, xmm0
test r12, r12
je 0x18000613c
psrldq xmm0, 8
movq r14, xmm0
test r14d, r14d
jle 0x18000613c
mov rax, r14
shr rax, 0x20
cmp eax, r14d
jl 0x18000613c
test r14d, r14d
jle 0x18000613c
mov rdi, rsi
test rdi, rdi
js 0x1800061af
cmp esi, r14d
jge 0x1800061af
mov rbp, qword [r12 + rdi*8]
mov rcx, rbp
call fcn.18000a130
test al, al
je 0x180006132
mov rcx, rbp
call fcn.18000a2c0
test al, al
je 0x180006132
mov rbp, qword [rbp + 0x128]
mov rcx, rbp
call fcn.18000a450
test al, al
je 0x180006132
mov r8, rbp
mov rdx, r15
mov rcx, r13
call fcn.1800070a0
inc esi
inc rdi
cmp esi, r14d
jl 0x1800060e3
mov rdi, qword [r15 + 0x30]
mov rcx, rdi
call fcn.18000a450
test al, al
je 0x18000615a
mov r8, rdi
mov rdx, r15
mov rcx, r13
call fcn.1800070a0
mov qword [0x180060980], rbx
mov r12, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov rbp, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x70
pop r15
pop r13
pop rbx
ret
lea rdx, str.Index_was_out_of_range_
lea rcx, [rsp + 0x20]
call fcn.1800038d0
lea rdx, [0x18005d428]
lea rcx, [rsp + 0x20]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rdx, str.Index_was_out_of_range_
lea rcx, [rsp + 0x20]
call fcn.1800038d0
lea rdx, [0x18005d428]
lea rcx, [rsp + 0x20]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rdx, str.Index_was_out_of_range_
lea rcx, [rsp + 0x20]
call fcn.1800038d0
lea rdx, [0x18005d428]
lea rcx, [rsp + 0x20]
call sub.VCRUNTIME140.dll__CxxThrowException
int3