Function at 0x140001ef0
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x68
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x70], 1
call fcn.140003000
cmp byte [0x140008801], 0
jne 0x1400024d6
mov qword [rsp + 0x78], rbx
mov ebx, 3
mov qword [rsp + 0x60], rdi
xor edi, edi
movaps xmmword [rsp + 0x50], xmm6
xorps xmm6, xmm6
movaps xmmword [rsp + 0x40], xmm7
movss xmm7, dword [0x140005aac]
movaps xmmword [rsp + 0x30], xmm8
movss xmm8, dword [0x140005aa8]
movaps xmmword [rsp + 0x20], xmm9
movss xmm9, dword [0x140005aa4]
nop dword [rax + rax]
mov ecx, dword [0x14000881c]
cmp ecx, 0x1a4
je 0x1400024a3
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
jne 0x140002087
cmp byte [0x140008811], dil
je 0x140001fc9
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.The_left_door_is_closed
call fcn.140002e30
mov rcx, rax
lea rdx, [0x140002df0]
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]
mov rcx, rax
lea rdx, [0x140002df0]
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]
cmp byte [0x140008810], dil
je 0x140002005
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.The_right_door_is_closed
call fcn.140002e30
mov rcx, rax
lea rdx, [0x140002df0]
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]
mov rcx, rax
lea rdx, [0x140002df0]
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]
call fcn.140001900
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Clock
call fcn.140002e30
mov edx, dword [0x14000881c]
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___int____ptr64]
mov rcx, rax
lea rdx, [0x140005670]
call fcn.140002e30
mov rcx, rax
lea rdx, [0x140002df0]
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]
cmp dword [0x140008808], ebx
jne 0x140002087
movss xmm1, dword [0x140008054]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
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___float____ptr64]
mov rcx, rax
lea rdx, [0x14000567c]
call fcn.140002e30
mov rcx, rax
lea rdx, [0x140002df0]
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]
cmp byte [0x140008813], dil
mov eax, 1
cmovne eax, ebx
cmp byte [0x140008811], dil
je 0x1400020a1
inc eax
cmp byte [0x140008810], dil
je 0x1400020ac
inc eax
cmp byte [0x140008812], dil
je 0x1400020b7
inc eax
cmp byte [0x140008802], dil
je 0x1400020c2
inc eax
movss xmm1, dword [0x140008054]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm9
subss xmm1, xmm0
comiss xmm6, xmm1
movss dword [0x140008054], xmm1
jb 0x1400020f0
mov dword [0x140008054], edi
movaps xmm1, xmm6
cmp byte [0x140008800], dil
movaps xmm0, xmm1
je 0x140002125
comiss xmm7, xmm1
jbe 0x140002125
addss xmm0, xmm8
addss xmm0, xmm8
comiss xmm0, xmm7
movss dword [0x140008054], xmm0
jbe 0x140002125
mov dword [0x140008054], 0x42c80000
movaps xmm0, xmm7
comiss xmm6, xmm0
jb 0x140002190
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [0x140002df0]
mov byte [0x140008813], dil
mov byte [0x140008811], dil
mov byte [0x140008810], dil
mov byte [0x140008812], dil
mov byte [0x140008802], dil
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]
mov rcx, rax
lea rdx, str.Battery_has_run_out__Everything_has_been_shut_down.
call fcn.140002e30
mov rcx, rax
lea rdx, [0x140002df0]
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]
mov rcx, rax
lea rdx, [0x140002df0]
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]
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000226a
mov eax, dword [0x140008808]
test eax, eax
jne 0x1400021e2
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [0x140002df0]
mov byte [0x140008813], dil
mov dword [0x140008808], 1
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]
mov rcx, rax
lea rdx, str.Went_to_the_left
jmp 0x1400023b8
cmp eax, 1
jne 0x1400023f4
movss xmm0, dword [0x140008054]
comiss xmm0, xmm6
jbe 0x1400023f4
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [0x140002df0]
mov byte [0x140008812], al
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]
mov rcx, rax
lea rdx, str.Theres
call fcn.140002e30
cmp dword [0x1400080e0], 5
jne 0x14000224a
cmp dword [0x140008118], 1
jne 0x14000224a
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [0x140005438]
jmp 0x1400023b8
cmp dword [0x140008120], 5
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
jne 0x1400023b1
lea rdx, [0x140005448]
jmp 0x1400023b8
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400022e2
cmp dword [0x140008808], edi
lea rdx, [0x140002df0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov byte [0x140008813], dil
jne 0x1400022b2
mov dword [0x140008808], ebx
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]
mov rcx, rax
lea rdx, str.Went_to_look_behind
jmp 0x1400023b8
mov dword [0x140008808], edi
mov byte [0x140008800], dil
mov byte [0x140008812], dil
mov byte [0x140008802], dil
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]
mov rcx, rax
lea rdx, str.Went_back_to_the_desk
jmp 0x1400023b8
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400023df
mov eax, dword [0x140008808]
test eax, eax
jne 0x140002334
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [0x140002df0]
mov byte [0x140008813], dil
mov dword [0x140008808], 2
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]
mov rcx, rax
lea rdx, str.Went_to_the_right
jmp 0x1400023b8
cmp eax, 2
jne 0x1400023f4
movss xmm0, dword [0x140008054]
comiss xmm0, xmm6
jbe 0x1400023f4
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [0x140002df0]
mov byte [0x140008802], 1
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]
mov rcx, rax
lea rdx, str.Theres
call fcn.140002e30
cmp dword [0x1400080e0], 5
jne 0x14000239a
cmp dword [0x140008118], 2
jne 0x14000239a
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [0x140005438]
jmp 0x1400023b8
cmp dword [0x1400080a0], 5
lea rdx, [0x140005440]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
je 0x1400023b8
lea rdx, str.no_one_there
call fcn.140002e30
mov rcx, rax
lea rdx, [0x140002df0]
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]
mov rcx, rax
lea rdx, [0x140002df0]
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 0x1400023f4
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400023f4
call fcn.140001bf0
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ecx, byte [0x140008800]
test ax, ax
cmovg ecx, edi
mov byte [0x140008800], cl
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ecx, byte [0x140008812]
test ax, ax
cmovg ecx, edi
mov byte [0x140008812], cl
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ecx, byte [0x140008802]
test ax, ax
cmovg ecx, edi
inc dword [0x1400080e8]
inc dword [0x140008128]
inc dword [0x140008068]
mov byte [0x140008802], cl
lea rcx, [0x1400080e0]
call fcn.1400014c0
lea rcx, [0x140008120]
call fcn.1400014c0
lea rcx, [0x140008060]
call fcn.1400014c0
inc dword [0x14000881c]
lea rcx, [rsp + 0x70]
call fcn.140003000
cmp byte [0x140008801], dil
je 0x140001f60
jmp 0x1400024b6
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Congrats_you_win___n
call fcn.140002e30
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x50]
mov rdi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x78]
movaps xmm9, xmmword [rsp + 0x20]
add rsp, 0x68
ret