Function at 0x140001240
Capabilities:
Log keystrokes via polling
Manipulate console buffer

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x150
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
mov rax, qword [0x140006040]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov ecx, 0x73aa
call fcn.1400024a4
xor esi, esi
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x20], rsi
xor edx, edx
mov ecx, 0xc0000000
mov r14, rax
lea r9d, [rsi + 1]
call qword [sym.imp.KERNEL32.dll_CreateConsoleScreenBuffer]
mov rcx, rax
mov qword [rsp + 0xc0], rax
call qword [sym.imp.KERNEL32.dll_SetConsoleActiveScreenBuffer]
lea rdx, str.
mov dword [rsp + 0xc8], esi
call fcn.140001f60
lea rdx, str................
call fcn.140001f60
lea rdx, str...............
call fcn.140001f60
lea rdx, [0x1400043f0]
call fcn.140001f60
lea rdx, [0x140004418]
call fcn.140001f60
lea rdx, [0x140004440]
call fcn.140001f60
lea rdx, str.............
call fcn.140001f60
lea rdx, str..........
call fcn.140001f60
lea rdx, str..............
call fcn.140001f60
lea rdx, str.......
call fcn.140001f60
lea rdx, str............
call fcn.140001f60
lea rdx, str...........
call fcn.140001f60
lea rdx, str....DD...
call fcn.140001f60
lea rdx, str.........
call fcn.140001f60
lea rdx, str......D........
call fcn.140001f60
lea rdx, str.
call fcn.140001f60
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
mov rax, 0xfffffffffffffcb4
lea r15, [r14 + 0x3ac]
sub rax, r14
mov r12, 0xfffffffffffffc74
mov qword [rsp + 0x50], rax
mov r13, 0xfffffffffffffc94
sub r13, r14
mov rax, 0xfffffffffffffcd4
sub rax, r14
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x58], rax
sub r12, r14
mov rax, 0xfffffffffffffcf4
sub rax, r14
mov qword [rsp + 0x60], rax
mov rax, 0xfffffffffffffd14
sub rax, r14
mov qword [rsp + 0x70], rax
mov rax, 0xfffffffffffffd34
sub rax, r14
mov qword [rsp + 0x78], rax
mov rax, 0xfffffffffffffd54
sub rax, r14
mov qword [rsp + 0x80], rax
mov rax, 0xfffffffffffffd74
sub rax, r14
mov qword [rsp + 0x88], rax
mov rax, 0xfffffffffffffd94
sub rax, r14
mov qword [rsp + 0x90], rax
mov rax, 0xfffffffffffffdb4
movss xmm9, dword [0x14000463c]
lea rdi, [0x1400060c0]
movsd xmm11, qword [0x140004620]
sub rax, r14
movss xmm12, dword [0x140004638]
movsd xmm8, qword [0x140004630]
movsd xmm6, qword [0x140004628]
movss xmm10, dword [0x14000461c]
mov qword [rsp + 0x98], rax
mov rax, 0xfffffffffffffdd4
sub rax, r14
mov qword [rsp + 0xa0], rax
mov rax, 0xfffffffffffffdf4
sub rax, r14
mov qword [rsp + 0xa8], rax
mov rax, 0xfffffffffffffe14
sub rax, r14
mov qword [rsp + 0xb0], rax
mov rax, 0xfffffffffffffe34
sub rax, r14
mov qword [rsp + 0xb8], rax
mov rax, 0xfffffffffffffc54
sub rax, r14
mov qword [rsp + 0x68], rax
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
xorps xmm7, xmm7
mov qword [rsp + 0x40], rax
mov rcx, rax
sub rcx, rbx
cvtsi2ss xmm7, rcx
mov ecx, 0x41
divss xmm7, xmm9
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x140001530
mov ecx, 0x25
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140001584
movss xmm1, dword [0x1400060b8]
movaps xmm0, xmm7
cmp qword [0x1400060d8], 7
addss xmm0, xmm7
cvttss2si ecx, dword [0x1400060bc]
mov rdx, rdi
cmova rdx, qword [0x1400060c0]
subss xmm1, xmm0
shl ecx, 4
cvttss2si eax, xmm1
movss dword [0x1400060b8], xmm1
add eax, ecx
cdqe
cmp word [rdx + rax*2], 0x23
jne 0x140001584
addss xmm0, xmm1
movss dword [0x1400060b8], xmm0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400015a4
mov ecx, 0x27
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400015f7
cmp qword [0x1400060d8], 7
movaps xmm1, xmm7
cvttss2si ecx, dword [0x1400060bc]
mov rdx, rdi
cmova rdx, qword [0x1400060c0]
addss xmm1, xmm7
shl ecx, 4
movaps xmm0, xmm1
addss xmm0, dword [0x1400060b8]
cvttss2si eax, xmm0
movss dword [0x1400060b8], xmm0
add eax, ecx
cdqe
cmp word [rdx + rax*2], 0x23
jne 0x1400015f7
subss xmm0, xmm1
movss dword [0x1400060b8], xmm0
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x140001617
mov ecx, 0x26
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000166b
movss xmm1, dword [0x1400060bc]
movaps xmm0, xmm7
cvttss2si eax, dword [0x1400060b8]
cmp qword [0x1400060d8], 7
mov rdx, rdi
cmova rdx, qword [0x1400060c0]
addss xmm0, xmm7
subss xmm1, xmm0
cvttss2si ecx, xmm1
movss dword [0x1400060bc], xmm1
shl ecx, 4
add eax, ecx
cdqe
cmp word [rdx + rax*2], 0x23
jne 0x14000166b
addss xmm0, xmm1
movss dword [0x1400060bc], xmm0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400016ab
mov ecx, 0x28
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400016ab
mov r10, qword [0x1400060d8]
mov r11, qword [0x1400060c0]
movss xmm3, dword [0x1400060b8]
movss xmm0, dword [0x1400060bc]
jmp 0x140001708
movss xmm3, dword [0x1400060b8]
movaps xmm0, xmm7
mov r10, qword [0x1400060d8]
addss xmm0, xmm7
mov r11, qword [0x1400060c0]
cmp r10, 7
cvttss2si eax, xmm3
mov rdx, rdi
cmova rdx, r11
movaps xmm1, xmm0
addss xmm0, dword [0x1400060bc]
cvttss2si ecx, xmm0
movss dword [0x1400060bc], xmm0
shl ecx, 4
add eax, ecx
cdqe
cmp word [rdx + rax*2], 0x23
jne 0x140001708
subss xmm0, xmm1
movss dword [0x1400060bc], xmm0
cvtps2pd xmm4, xmm0
mov rbp, r15
mov r14d, 0x2588
mov r13d, 0x20
movaps xmm0, xmm3
subss xmm0, xmm12
movaps xmm1, xmm4
subsd xmm1, xmm11
cvtps2pd xmm2, xmm0
nop dword [rax]
movd xmm0, esi
mov r8d, 2
cvtdq2pd xmm0, xmm0
mov rdx, rbp
lea ebx, [r8 + 0x3b]
divsd xmm0, xmm8
addsd xmm0, xmm2
cvttsd2si r9d, xmm0
nop dword [rax]
nop word [rax + rax]
lea eax, [r8 - 2]
cmp r10, 7
movd xmm0, eax
mov rcx, rdi
cvtdq2pd xmm0, xmm0
cmova rcx, r11
divsd xmm0, xmm6
addsd xmm0, xmm1
cvttsd2si eax, xmm0
shl eax, 4
add eax, r9d
movsxd rdi, eax
cmp word [rcx + rdi*2], 0x23
jne 0x14000179d
mov word [rdx - 0x3ac], r14w
jmp 0x1400017c4
cmp r10, 7
lea rax, [0x1400060c0]
cmova rax, r11
cmp word [rax + rdi*2], 0x44
jne 0x1400017bc
mov word [rdx - 0x3ac], bx
jmp 0x1400017c4
mov word [rdx - 0x3ac], r13w
mov r11, qword [0x1400060d8]
lea eax, [r8 - 1]
mov r10, qword [0x1400060c0]
lea rcx, [0x1400060c0]
movd xmm0, eax
cmp r11, 7
cvtdq2pd xmm0, xmm0
cmova rcx, r10
divsd xmm0, xmm6
addsd xmm0, xmm1
cvttsd2si eax, xmm0
shl eax, 4
add eax, r9d
movsxd rdi, eax
cmp word [rcx + rdi*2], 0x23
jne 0x140001813
mov word [rdx - 0x1d6], r14w
jmp 0x14000183a
cmp r11, 7
lea rax, [0x1400060c0]
cmova rax, r10
cmp word [rax + rdi*2], 0x44
jne 0x140001832
mov word [rdx - 0x1d6], bx
jmp 0x14000183a
mov word [rdx - 0x1d6], r13w
mov r11, qword [0x1400060d8]
lea rcx, [0x1400060c0]
mov r10, qword [0x1400060c0]
cmp r11, 7
movd xmm0, r8d
cvtdq2pd xmm0, xmm0
cmova rcx, r10
divsd xmm0, xmm6
addsd xmm0, xmm1
cvttsd2si eax, xmm0
shl eax, 4
add eax, r9d
movsxd rdi, eax
cmp word [rcx + rdi*2], 0x23
jne 0x140001882
mov word [rdx], r14w
jmp 0x1400018a1
cmp r11, 7
lea rax, [0x1400060c0]
cmova rax, r10
cmp word [rax + rdi*2], 0x44
jne 0x14000189d
mov word [rdx], bx
jmp 0x1400018a1
mov word [rdx], r13w
mov r11, qword [0x1400060d8]
lea eax, [r8 + 1]
mov r10, qword [0x1400060c0]
lea rcx, [0x1400060c0]
movd xmm0, eax
cmp r11, 7
cvtdq2pd xmm0, xmm0
cmova rcx, r10
divsd xmm0, xmm6
addsd xmm0, xmm1
cvttsd2si eax, xmm0
shl eax, 4
add eax, r9d
movsxd rdi, eax
cmp word [rcx + rdi*2], 0x23
jne 0x1400018f0
mov word [rdx + 0x1d6], r14w
jmp 0x140001917
cmp r11, 7
lea rax, [0x1400060c0]
cmova rax, r10
cmp word [rax + rdi*2], 0x44
jne 0x14000190f
mov word [rdx + 0x1d6], bx
jmp 0x140001917
mov word [rdx + 0x1d6], r13w
mov r11, qword [0x1400060d8]
lea eax, [r8 + 2]
mov r10, qword [0x1400060c0]
lea rcx, [0x1400060c0]
movd xmm0, eax
cmp r11, 7
cvtdq2pd xmm0, xmm0
cmova rcx, r10
divsd xmm0, xmm6
addsd xmm0, xmm1
cvttsd2si eax, xmm0
shl eax, 4
add eax, r9d
movsxd rdi, eax
cmp word [rcx + rdi*2], 0x23
jne 0x140001966
mov word [rdx + 0x3ac], r14w
jmp 0x14000198d
cmp r11, 7
lea rax, [0x1400060c0]
cmova rax, r10
cmp word [rax + rdi*2], 0x44
jne 0x140001985
mov word [rdx + 0x3ac], bx
jmp 0x14000198d
mov word [rdx + 0x3ac], r13w
mov r11, qword [0x1400060d8]
lea eax, [r8 + 3]
mov r10, qword [0x1400060c0]
lea rcx, [0x1400060c0]
movd xmm0, eax
cmp r11, 7
cvtdq2pd xmm0, xmm0
cmova rcx, r10
divsd xmm0, xmm6
addsd xmm0, xmm1
cvttsd2si eax, xmm0
shl eax, 4
add eax, r9d
movsxd rdi, eax
cmp word [rcx + rdi*2], 0x23
jne 0x1400019dc
mov word [rdx + 0x582], r14w
jmp 0x140001a03
cmp r11, 7
lea rax, [0x1400060c0]
cmova rax, r10
cmp word [rax + rdi*2], 0x44
jne 0x1400019fb
mov word [rdx + 0x582], bx
jmp 0x140001a03
mov word [rdx + 0x582], r13w
mov r11, qword [0x1400060d8]
lea eax, [r8 + 4]
mov r10, qword [0x1400060c0]
lea rcx, [0x1400060c0]
movd xmm0, eax
cmp r11, 7
cvtdq2pd xmm0, xmm0
cmova rcx, r10
divsd xmm0, xmm6
addsd xmm0, xmm1
cvttsd2si eax, xmm0
shl eax, 4
add eax, r9d
movsxd rdi, eax
cmp word [rcx + rdi*2], 0x23
jne 0x140001a52
mov word [rdx + 0x758], r14w
jmp 0x140001a79
cmp r11, 7
lea rax, [0x1400060c0]
cmova rax, r10
cmp word [rax + rdi*2], 0x44
jne 0x140001a71
mov word [rdx + 0x758], bx
jmp 0x140001a79
mov word [rdx + 0x758], r13w
mov r11, qword [0x1400060d8]
lea eax, [r8 + 5]
mov r10, qword [0x1400060c0]
lea rcx, [0x1400060c0]
movd xmm0, eax
cmp r11, 7
cvtdq2pd xmm0, xmm0
cmova rcx, r10
divsd xmm0, xmm6
addsd xmm0, xmm1
cvttsd2si eax, xmm0
shl eax, 4
add eax, r9d
movsxd rdi, eax
cmp word [rcx + rdi*2], 0x23
jne 0x140001ac8
mov word [rdx + 0x92e], r14w
jmp 0x140001aef
cmp r11, 7
lea rax, [0x1400060c0]
cmova rax, r10
cmp word [rax + rdi*2], 0x44
jne 0x140001ae7
mov word [rdx + 0x92e], bx
jmp 0x140001aef
mov word [rdx + 0x92e], r13w
mov r11, qword [0x1400060d8]
lea eax, [r8 + 6]
mov r10, qword [0x1400060c0]
lea rcx, [0x1400060c0]
movd xmm0, eax
cmp r11, 7
cvtdq2pd xmm0, xmm0
cmova rcx, r10
divsd xmm0, xmm6
addsd xmm0, xmm1
cvttsd2si eax, xmm0
shl eax, 4
add eax, r9d
movsxd rdi, eax
cmp word [rcx + rdi*2], 0x23
jne 0x140001b3e
mov word [rdx + 0xb04], r14w
jmp 0x140001b65
cmp r11, 7
lea rax, [0x1400060c0]
cmova rax, r10
cmp word [rax + rdi*2], 0x44
jne 0x140001b5d
mov word [rdx + 0xb04], bx
jmp 0x140001b65
mov word [rdx + 0xb04], r13w
add r8d, 9
add rdx, 0x1086
lea eax, [r8 - 2]
cmp eax, 0x3f
jge 0x140001b93
mov r10, qword [0x1400060d8]
lea rdi, [0x1400060c0]
mov r11, qword [0x1400060c0]
jmp 0x140001760
inc esi
add rbp, 2
cmp esi, 0xeb
jge 0x140001bbb
mov r10, qword [0x1400060d8]
lea rdi, [0x1400060c0]
mov r11, qword [0x1400060c0]
jmp 0x140001730
mov rcx, qword [rsp + 0x38]
lea r8, str.X_3.2f__Y_3.2f_FPS_3.2f
movaps xmm0, xmm10
xorps xmm1, xmm1
divss xmm0, xmm7
mov edx, 0x28
cvtss2sd xmm3, xmm3
cvtss2sd xmm1, xmm0
movq r9, xmm3
movsd qword [rsp + 0x28], xmm1
movsd qword [rsp + 0x20], xmm4
call fcn.140001020
mov r13, qword [rsp + 0x48]
lea rdi, [0x1400060c0]
mov r14, qword [rsp + 0x58]
mov rdx, r15
mov r15, qword [rsp + 0x50]
mov r8d, 0x10
mov rbx, qword [rsp + 0x60]
nop dword [rax]
cmp qword [0x1400060d8], 7
mov rcx, rdi
mov rax, qword [rsp + 0x68]
cmova rcx, qword [0x1400060c0]
add rax, rdx
movzx ecx, word [rax + rcx]
lea rax, [r12 + rdx]
mov word [rdx - 0x1d6], cx
mov rcx, rdi
cmp qword [0x1400060d8], 7
cmova rcx, qword [0x1400060c0]
movzx ecx, word [rax + rcx]
lea rax, [rdx + r13]
mov word [rdx], cx
mov rcx, rdi
cmp qword [0x1400060d8], 7
cmova rcx, qword [0x1400060c0]
movzx ecx, word [rax + rcx]
lea rax, [r15 + rdx]
mov word [rdx + 0x1d6], cx
mov rcx, rdi
cmp qword [0x1400060d8], 7
cmova rcx, qword [0x1400060c0]
movzx ecx, word [rax + rcx]
lea rax, [r14 + rdx]
mov word [rdx + 0x3ac], cx
mov rcx, rdi
cmp qword [0x1400060d8], 7
cmova rcx, qword [0x1400060c0]
movzx ecx, word [rax + rcx]
lea rax, [rbx + rdx]
mov word [rdx + 0x582], cx
mov rcx, rdi
cmp qword [0x1400060d8], 7
cmova rcx, qword [0x1400060c0]
movzx ecx, word [rax + rcx]
mov rax, qword [rsp + 0x70]
mov word [rdx + 0x758], cx
mov rcx, rdi
cmp qword [0x1400060d8], 7
cmova rcx, qword [0x1400060c0]
add rax, rdx
movzx ecx, word [rax + rcx]
mov rax, qword [rsp + 0x78]
mov word [rdx + 0x92e], cx
mov rcx, rdi
cmp qword [0x1400060d8], 7
cmova rcx, qword [0x1400060c0]
add rax, rdx
movzx ecx, word [rax + rcx]
mov rax, qword [rsp + 0x80]
mov word [rdx + 0xb04], cx
mov rcx, rdi
cmp qword [0x1400060d8], 7
cmova rcx, qword [0x1400060c0]
add rax, rdx
movzx ecx, word [rax + rcx]
mov rax, qword [rsp + 0x88]
mov word [rdx + 0xcda], cx
mov rcx, rdi
cmp qword [0x1400060d8], 7
cmova rcx, qword [0x1400060c0]
add rax, rdx
movzx ecx, word [rax + rcx]
mov rax, qword [rsp + 0x90]
mov word [rdx + 0xeb0], cx
mov rcx, rdi
cmp qword [0x1400060d8], 7
cmova rcx, qword [0x1400060c0]
add rax, rdx
movzx ecx, word [rax + rcx]
mov rax, qword [rsp + 0x98]
mov word [rdx + 0x1086], cx
mov rcx, rdi
cmp qword [0x1400060d8], 7
cmova rcx, qword [0x1400060c0]
add rax, rdx
movzx ecx, word [rax + rcx]
mov word [rdx + 0x125c], cx
mov rcx, rdi
cmp qword [0x1400060d8], 7
cmova rcx, qword [0x1400060c0]
mov rax, qword [rsp + 0xa0]
add rax, rdx
movzx ecx, word [rax + rcx]
mov rax, qword [rsp + 0xa8]
mov word [rdx + 0x1432], cx
mov rcx, rdi
cmp qword [0x1400060d8], 7
cmova rcx, qword [0x1400060c0]
add rax, rdx
movzx ecx, word [rax + rcx]
mov rax, qword [rsp + 0xb0]
mov word [rdx + 0x1608], cx
mov rcx, rdi
cmp qword [0x1400060d8], 7
cmova rcx, qword [0x1400060c0]
add rax, rdx
movzx ecx, word [rax + rcx]
mov rax, qword [rsp + 0xb8]
mov word [rdx + 0x17de], cx
mov rcx, rdi
cmp qword [0x1400060d8], 7
cmova rcx, qword [0x1400060c0]
add rax, rdx
movzx ecx, word [rax + rcx]
mov word [rdx + 0x19b4], cx
add rdx, 2
sub r8, 1
jne 0x140001c20
mov r14, qword [rsp + 0x38]
lea r13d, [r8 + 0x23]
mov rcx, 0xfffffffffffffffd
mov ebx, 0x2592
lea r15, [r14 + 0x3ac]
lea rax, [r14 + 0x3450]
cmp rcx, 0xffffffffffffffff
jge 0x140001ecb
mov dword [rax - 2], 0x230023
movzx edx, r13w
mov dword [rax + 2], 0x230023
jmp 0x140001edb
mov dword [rax - 2], 0x25922592
mov edx, ebx
mov dword [rax + 2], 0x25922592
mov word [rax + 6], dx
inc rcx
add rax, 0x1d6
cmp rcx, 6
jl 0x140001eb1
cvttss2si eax, dword [0x1400060bc]
xor esi, esi
mov r8d, 0x39d5
mov r9d, esi
mov dword [rsp + 0x30], esi
mov rdx, r14
imul ecx, eax, 0xeb
cvttss2si eax, dword [0x1400060b8]
add eax, ecx
mov rcx, qword [rsp + 0xc0]
cdqe
mov word [r14 + rax*2 + 0x1d6], 0x4f
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
mov word [r14 + 0x73aa], si
call qword [sym.imp.KERNEL32.dll_WriteConsoleOutputCharacterW]
mov rbx, qword [rsp + 0x40]
jmp 0x1400014f2