Function at 0x1400112df
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x140013a70
push rbp
push rdi
sub rsp, 0x188
lea rbp, [rsp + 0x20]
lea rcx, [0x14002e0f3]
call fcn.1400113fc
mov eax, 4
imul rax, rax, 0
lea rcx, [0x140021150]
mov dword [rcx + rax], 0x3c
mov eax, 4
imul rax, rax, 0
lea rcx, [0x140024140]
mov dword [rcx + rax], 0xe
movzx eax, byte [0x140020d21]
test eax, eax
je 0x140013eda
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, 4
imul rax, rax, 0
lea rcx, [0x140021150]
mov edx, dword [0x140027130]
cmp dword [rcx + rax], edx
jne 0x140013b47
mov eax, 4
imul rax, rax, 0
lea rcx, [0x140024140]
mov edx, dword [0x140027134]
cmp dword [rcx + rax], edx
jne 0x140013b47
mov eax, dword [0x140020d24]
inc eax
mov dword [0x140020d24], eax
call qword [sym.imp.ucrtbased.dll_rand]
cdq
mov ecx, 0x77
idiv ecx
mov eax, edx
inc eax
mov dword [0x140027130], eax
call qword [sym.imp.ucrtbased.dll_rand]
cdq
mov ecx, 0x1b
idiv ecx
mov eax, edx
inc eax
mov dword [0x140027134], eax
mov eax, dword [0x140020d24]
sub eax, 2
mov dword [rbp + 4], eax
jmp 0x140013b5d
mov eax, dword [rbp + 4]
dec eax
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 0
jl 0x140013ba7
movsxd rax, dword [rbp + 4]
lea rcx, [0x140021150]
mov edx, dword [rbp + 4]
inc edx
movsxd rdx, edx
lea r8, [0x140021150]
mov eax, dword [rcx + rax*4]
mov dword [r8 + rdx*4], eax
movsxd rax, dword [rbp + 4]
lea rcx, [0x140024140]
mov edx, dword [rbp + 4]
inc edx
movsxd rdx, edx
lea r8, [0x140024140]
mov eax, dword [rcx + rax*4]
mov dword [r8 + rdx*4], eax
jmp 0x140013b55
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x140013bcf
cmp dword [0x140021140], 2
je 0x140013bcf
mov dword [0x140021140], 3
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x140013bf7
cmp dword [0x140021140], 0
je 0x140013bf7
mov dword [0x140021140], 1
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x140013c1f
cmp dword [0x140021140], 3
je 0x140013c1f
mov dword [0x140021140], 2
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x140013c47
cmp dword [0x140021140], 1
je 0x140013c47
mov dword [0x140021140], 0
cmp dword [0x140021140], 3
jne 0x140013c78
mov eax, 4
imul rax, rax, 0
lea rcx, [0x140024140]
mov eax, dword [rcx + rax]
dec eax
mov ecx, 4
imul rcx, rcx, 0
lea rdx, [0x140024140]
mov dword [rdx + rcx], eax
cmp dword [0x140021140], 2
jne 0x140013ca9
mov eax, 4
imul rax, rax, 0
lea rcx, [0x140024140]
mov eax, dword [rcx + rax]
inc eax
mov ecx, 4
imul rcx, rcx, 0
lea rdx, [0x140024140]
mov dword [rdx + rcx], eax
cmp dword [0x140021140], 1
jne 0x140013cda
mov eax, 4
imul rax, rax, 0
lea rcx, [0x140021150]
mov eax, dword [rcx + rax]
inc eax
mov ecx, 4
imul rcx, rcx, 0
lea rdx, [0x140021150]
mov dword [rdx + rcx], eax
cmp dword [0x140021140], 0
jne 0x140013d0b
mov eax, 4
imul rax, rax, 0
lea rcx, [0x140021150]
mov eax, dword [rcx + rax]
dec eax
mov ecx, 4
imul rcx, rcx, 0
lea rdx, [0x140021150]
mov dword [rdx + rcx], eax
mov eax, 4
imul rax, rax, 0
lea rcx, [0x140021150]
cmp dword [rcx + rax], 0
je 0x140013d63
mov eax, 4
imul rax, rax, 0
lea rcx, [0x140024140]
cmp dword [rcx + rax], 0
je 0x140013d63
mov eax, 4
imul rax, rax, 0
lea rcx, [0x140021150]
cmp dword [rcx + rax], 0x78
je 0x140013d63
mov eax, 4
imul rax, rax, 0
lea rcx, [0x140024140]
cmp dword [rcx + rax], 0x1c
jne 0x140013d6a
mov byte [0x140020d21], 0
mov dword [rbp + 0x24], 1
jmp 0x140013d7b
mov eax, dword [rbp + 0x24]
inc eax
mov dword [rbp + 0x24], eax
mov eax, dword [0x140020d24]
cmp dword [rbp + 0x24], eax
jge 0x140013dd7
mov eax, 4
imul rax, rax, 0
lea rcx, [0x140021150]
movsxd rdx, dword [rbp + 0x24]
lea r8, [0x140021150]
mov edx, dword [r8 + rdx*4]
cmp dword [rcx + rax], edx
jne 0x140013dd5
mov eax, 4
imul rax, rax, 0
lea rcx, [0x140024140]
movsxd rdx, dword [rbp + 0x24]
lea r8, [0x140024140]
mov edx, dword [r8 + rdx*4]
cmp dword [rcx + rax], edx
jne 0x140013dd5
mov byte [0x140020d21], 0
jmp 0x140013d73
imul eax, dword [0x140027134], 0x78
add eax, dword [0x140027130]
cdqe
lea rcx, str.____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
mov byte [rcx + rax], 0x2a
mov dword [rbp + 0x44], 0
jmp 0x140013e02
mov eax, dword [rbp + 0x44]
inc eax
mov dword [rbp + 0x44], eax
mov eax, dword [0x140020d24]
cmp dword [rbp + 0x44], eax
jge 0x140013e39
movsxd rax, dword [rbp + 0x44]
lea rcx, [0x140024140]
imul eax, dword [rcx + rax*4], 0x78
movsxd rcx, dword [rbp + 0x44]
lea rdx, [0x140021150]
add eax, dword [rdx + rcx*4]
cdqe
lea rcx, str.____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
mov byte [rcx + rax], 0x4f
jmp 0x140013dfa
mov eax, dword [0x140020d24]
dec eax
mov dword [rbp + 0x154], eax
lea rdx, str.count:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140011087
mov ecx, dword [rbp + 0x154]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x14001cdc4]
mov rcx, rax
call fcn.140011087
lea rdx, str.____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140011087
mov dword [rbp + 0x64], 0
jmp 0x140013e9e
mov eax, dword [rbp + 0x64]
inc eax
mov dword [rbp + 0x64], eax
mov eax, dword [0x140020d24]
cmp dword [rbp + 0x64], eax
jge 0x140013ed5
movsxd rax, dword [rbp + 0x64]
lea rcx, [0x140024140]
imul eax, dword [rcx + rax*4], 0x78
movsxd rcx, dword [rbp + 0x64]
lea rdx, [0x140021150]
add eax, dword [rdx + rcx*4]
cdqe
lea rcx, str.____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
mov byte [rcx + rax], 0x20
jmp 0x140013e96
jmp 0x140013ab9
mov dword [rbp + 0x84], 0
jmp 0x140013ef4
mov eax, dword [rbp + 0x84]
inc eax
mov dword [rbp + 0x84], eax
cmp dword [rbp + 0x84], 0x1e
jge 0x140013f0d
mov dl, 0xa
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001132f
jmp 0x140013ee6
lea rdx, str.GAME_OVER_n
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140011087
mov eax, dword [0x140020d24]
dec eax
mov dword [rbp + 0x154], eax
lea rdx, str.Score:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140011087
mov ecx, dword [rbp + 0x154]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x14001cdc4]
mov rcx, rax
call fcn.140011087
call qword [sym.imp.ucrtbased.dll_getchar]
xor eax, eax
lea rsp, [rbp + 0x168]
pop rdi
pop rbp
ret