Function at 0x18002ce40
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rsi
push r12
sub rsp, 0x68
mov rax, qword [0x1800413b0]
xor rax, rsp
mov qword [rsp + 0x38], rax
xor r12d, r12d
mov qword [r11 + 0x10], rbx
cmp qword [0x180041cd0], r12
mov rsi, rcx
mov qword [r11 + 0x20], rdi
jne 0x18002cf49
lea ecx, [r12 + 0x18]
call fcn.180031f8c
xorps xmm0, xmm0
mov qword [rsp + 0x20], rax
xor edx, edx
lea rcx, str.LWJGL
mov rbx, rax
movups xmmword [rax], xmm0
mov qword [rax], r12
mov qword [rax + 8], r12
mov qword [rax + 0x10], r12
call qword [sym.imp.USER32.dll_FindWindowA]
mov qword [rbx], rax
test rax, rax
jne 0x18002ced3
xor edx, edx
lea rcx, str.GLFW30
call qword [sym.imp.USER32.dll_FindWindowA]
mov qword [rbx], rax
test rax, rax
jne 0x18002ced3
lea rcx, str.____Failed_to_get_window_handle_n
call fcn.180004030
jmp 0x18002cf42
lea r8, [0x18002d7e0]
mov edx, 0xfffffffc
mov rcx, rax
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov qword [0x180041db0], rax
call fcn.18002dbc0
lea rcx, str.opengl32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.wglSwapBuffers
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 8], rax
test rax, rax
jne 0x18002cf28
lea rcx, str.____Failed_to_get_swapbuffers_n
call fcn.180004030
jmp 0x18002cf42
lea r8, [rbx + 0x10]
mov rcx, rax
lea rdx, [0x18002d890]
call fcn.18002dcf0
xor ecx, ecx
call fcn.18002e1d0
mov qword [0x180041cd0], rbx
mov ecx, 0x23
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18002d0e2
mov qword [rsp + 0x90], rbp
movabs rbp, 0x311cdad160000
mov qword [rsp + 0x60], r13
movabs r13, 0x7ffffffffe8287bf
mov qword [rsp + 0x58], r14
movabs r14, 0x112e0be826d694b3
mov qword [rsp + 0x50], r15
movabs r15, 0x7fffffffffffffff
movaps xmmword [rsp + 0x40], xmm6
movsd xmm6, qword [0x18003b048]
nop dword [rax]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x18002cfce
imul rax, rax, 0x64
jmp 0x18002cfec
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
lea rdi, [rax + 0x17d7840]
cmp rax, r13
jl 0x18002d000
mov rdi, r15
nop dword [rax + rax]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x18002d01e
imul rax, rax, 0x64
jmp 0x18002d03c
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, rdi
jge 0x18002d0b2
mov rbx, rdi
sub rbx, rax
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
imul rdx, rax, 0x64
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
comisd xmm0, xmm6
lea rcx, [rdx + rbp]
seta r8b
test r8b, r8b
jne 0x18002d06e
lea rcx, [rdx + rbx]
lea rax, [rdx + rbx]
add rdx, rbp
test r8b, r8b
cmove rdx, rax
mov rax, r14
imul rdx
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0x3b9aca00
mov qword [rsp + 0x28], rdx
sub ecx, eax
mov dword [rsp + 0x30], ecx
lea rcx, [rsp + 0x28]
call qword [sym.imp.MSVCP140.dll__Thrd_sleep]
jmp 0x18002d000
mov ecx, 0x23
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18002cfb0
movaps xmm6, xmmword [rsp + 0x40]
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x90]
mov rcx, qword [0x180041cd0]
mov rdi, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x88]
test rcx, rcx
je 0x18002d167
mov r8, qword [0x180041db0]
mov edx, 0xfffffffc
mov rcx, qword [rcx]
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
xor ecx, ecx
call fcn.18002e210
call fcn.18002d770
mov rcx, qword [0x180041cc8]
test rcx, rcx
je 0x18002d148
call fcn.18002d5b0
mov rcx, qword [0x180041cc8]
mov edx, 1
call fcn.180031f14
mov qword [0x180041cc8], r12
xor ecx, ecx
call fcn.18002e0d0
mov rcx, qword [0x180041cd0]
mov edx, 0x18
call fcn.180031f14
mov qword [0x180041cd0], r12
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1800319c0
add rsp, 0x68
pop r12
pop rsi
ret