Function at 0x140065500
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1f58]
mov eax, 0x2058
call fcn.14009c4c0
sub rsp, rax
xor dil, dil
mov qword [rsp + 0x2050], rbx
mov sil, 1
mov r15d, 1
movabs r14, 0x7fffffffffffffff
movabs r12, 0x7ffffffffd050f7f
nop dword [rax + rax]
cmp dword [0x1400e1898], 0
mov ecx, dword [0x1400e23b4]
jne 0x14006556a
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jmp 0x14006557f
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test r15b, al
je 0x14006557c
test dil, dil
sete dil
test dil, dil
je 0x1400659bd
cmp dil, sil
je 0x140065652
lea rcx, [rsp + 0x40]
mov r8d, 0x5dc
test dil, dil
je 0x140065600
lea r9, str.Sewing_started_
mov edx, r15d
call fcn.140062870
mov rax, qword [0x1400e18b0]
cmp rax, qword [0x1400e18b8]
je 0x1400655e7
mov r8d, 0x2010
lea rdx, [rsp + 0x40]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
add qword [0x1400e18b0], 0x2010
mov ecx, 0x45
call fcn.140061e80
jmp 0x14006564e
lea r8, [rsp + 0x40]
mov rdx, rax
call fcn.1400693f0
mov ecx, 0x45
call fcn.140061e80
jmp 0x14006564e
lea r9, str.Sewing_paused.
mov edx, 4
call fcn.140062870
mov rax, qword [0x1400e18b0]
cmp rax, qword [0x1400e18b8]
je 0x140065641
mov r8d, 0x2010
lea rdx, [rsp + 0x40]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
add qword [0x1400e18b0], 0x2010
jmp 0x14006564e
lea r8, [rsp + 0x40]
mov rdx, rax
call fcn.1400693f0
movzx esi, dil
test dil, dil
je 0x14006595b
mov ecx, 0x45
call fcn.140061e80
mov r9d, r15d
mov dword [rsp + 0x20], r15d
mov edx, 0x3b0
mov ecx, 0xfdfdfd
mov r8d, 0x230
call fcn.1400623f0
test al, al
je 0x1400656b9
mov edx, 0x3b7
mov dword [rsp + 0x20], 2
mov ecx, 0xffffff
mov r9d, 2
mov r8d, 0x243
call fcn.1400623f0
test al, al
je 0x1400656b9
mov ecx, 0x11
xor edx, edx
call fcn.140062030
movsxd rbx, dword [0x1400e1894]
lea rcx, [rbp + 0x1fa0]
call fcn.1400614c0
mov rax, qword [rbp + 0x1fa0]
mov qword [rbp + 0x1f90], rax
test rbx, rbx
je 0x140065714
js 0x140065714
imul r8, rbx, 0xf4240
mov rdx, r14
sub rdx, r8
cmp rax, rdx
je 0x14006570d
mov ecx, 0xff
cmovge ecx, r15d
test cl, cl
jns 0x14006570d
lea rcx, [r8 + rax]
mov qword [rbp + 0x1f90], rcx
jmp 0x140065714
mov qword [rbp + 0x1f90], r14
lea rcx, [rbp + 0x1f90]
call fcn.140069320
mov edx, 0x3bf
mov dword [rsp + 0x20], 2
mov ecx, 0xffffff
mov r9d, 2
mov r8d, 0x231
call fcn.1400623f0
test al, al
je 0x14006577a
mov edx, 0x3bf
mov dword [rsp + 0x20], 2
mov ecx, 0xffffff
mov r9d, 2
mov r8d, 0x23f
call fcn.1400623f0
test al, al
je 0x14006577a
mov ecx, 0x1e
xor edx, edx
call fcn.140062030
movsxd rbx, dword [0x1400e188c]
lea rcx, [rbp + 0x1fa8]
call fcn.1400614c0
mov rax, qword [rbp + 0x1fa8]
mov qword [rbp + 0x1f90], rax
test rbx, rbx
je 0x1400657d5
js 0x1400657d5
imul r8, rbx, 0xf4240
mov rdx, r14
sub rdx, r8
cmp rax, rdx
je 0x1400657ce
mov ecx, 0xff
cmovge ecx, r15d
test cl, cl
jns 0x1400657ce
lea rcx, [r8 + rax]
mov qword [rbp + 0x1f90], rcx
jmp 0x1400657d5
mov qword [rbp + 0x1f90], r14
lea rcx, [rbp + 0x1f90]
call fcn.140069320
mov edx, 0x3bf
mov dword [rsp + 0x20], 2
mov ecx, 0xffffff
mov r9d, 2
mov r8d, 0x231
call fcn.1400623f0
test al, al
je 0x140065862
mov edx, 0x3bf
mov dword [rsp + 0x20], 2
mov ecx, 0xffffff
mov r9d, 2
mov r8d, 0x23b
call fcn.1400623f0
test al, al
je 0x140065862
mov edx, 0x3bf
mov dword [rsp + 0x20], 2
mov ecx, 0xffffff
mov r9d, 2
mov r8d, 0x245
call fcn.1400623f0
test al, al
je 0x140065862
mov ecx, 0x1f
xor edx, edx
call fcn.140062030
movsxd rbx, dword [0x1400e1890]
lea rcx, [rsp + 0x30]
call fcn.1400614c0
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x1f90], rax
test rbx, rbx
je 0x1400658b9
js 0x1400658b9
imul r8, rbx, 0xf4240
mov rdx, r14
sub rdx, r8
cmp rax, rdx
je 0x1400658b2
mov ecx, 0xff
cmovge ecx, r15d
test cl, cl
jns 0x1400658b2
lea rcx, [r8 + rax]
mov qword [rbp + 0x1f90], rcx
jmp 0x1400658b9
mov qword [rbp + 0x1f90], r14
lea rcx, [rbp + 0x1f90]
call fcn.140069320
mov edx, 0x3b6
mov dword [rsp + 0x20], 2
mov ecx, 0xffffff
mov r9d, 2
mov r8d, 0x230
call fcn.1400623f0
test al, al
je 0x14006595b
mov edx, 0x3b6
mov dword [rsp + 0x20], 2
mov ecx, 0xffffff
mov r9d, 2
mov r8d, 0x23f
call fcn.1400623f0
test al, al
je 0x14006595b
mov edx, 0x3ca
mov dword [rsp + 0x20], 2
mov ecx, 0xffffff
mov r9d, 2
mov r8d, 0x23a
call fcn.1400623f0
test al, al
je 0x14006595b
mov ecx, 0x20
xor edx, edx
call fcn.140062030
lea rcx, [rbp + 0x1f98]
call fcn.1400614c0
mov rax, qword [rbp + 0x1f98]
jmp 0x140065975
lea rcx, [rbp + 0x1f98]
call fcn.1400614c0
mov rax, qword [rbp + 0x1f98]
mov qword [rbp + 0x1f90], rax
cmp rax, r12
je 0x1400659a5
mov ecx, 0xff
cmovge ecx, r15d
test cl, cl
jns 0x1400659a5
add rax, 0x2faf080
lea rcx, [rbp + 0x1f90]
mov qword [rbp + 0x1f90], rax
call fcn.140069320
jmp 0x140065550
lea rcx, [rbp + 0x1f90]
mov qword [rbp + 0x1f90], r14
call fcn.140069320
jmp 0x140065550
mov rbx, qword [rsp + 0x2050]
add rsp, 0x2058
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret