Function at 0x1400017ed
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rbx
sub rsp, 0xa18
lea rbp, [rsp + 0x80]
mov byte [rbp + 0x98f], 8
movzx eax, byte [rbp + 0x98f]
mov ecx, eax
mov rax, qword [sym.imp.USER32.dll_GetAsyncKeyState]
call rax
cmp ax, 0x8001
sete al
test al, al
je 0x140002f89
movzx eax, byte [rbp + 0x98f]
mov edx, eax
mov rax, qword [sym.imp.libstdc_6.dll_std::cout]
mov rcx, rax
call sym.std::ostream::operator___int_
mov rcx, rax
mov rax, qword [0x140007630]
mov rdx, rax
call sym.std::ostream::operator___std::ostream____std::ostream__
call sym.alt_gr__
test al, al
je 0x140001880
mov ecx, 0x10
mov rax, qword [sym.imp.USER32.dll_GetKeyState]
call rax
cmp ax, 0xff81
je 0x14000187f
mov ecx, 0x10
mov rax, qword [sym.imp.USER32.dll_GetKeyState]
call rax
cmp ax, 0xff80
nop
cmp byte [rbp + 0x98f], 0x40
jbe 0x1400018a5
cmp byte [rbp + 0x98f], 0x5a
ja 0x1400018a5
call sym.uppercase__
xor eax, 1
test al, al
je 0x1400018a5
mov eax, 1
jmp 0x1400018aa
mov eax, 0
test al, al
je 0x1400018c8
add byte [rbp + 0x98f], 0x20
movzx eax, byte [rbp + 0x98f]
mov ecx, eax
call sym.Write_unsigned_char_
jmp 0x140002f9e
cmp byte [rbp + 0x98f], 0x40
jbe 0x1400018ed
cmp byte [rbp + 0x98f], 0x5a
ja 0x1400018ed
movzx eax, byte [rbp + 0x98f]
mov ecx, eax
call sym.Write_unsigned_char_
jmp 0x140002f9e
cmp byte [rbp + 0x98f], 0x5f
jbe 0x140001919
cmp byte [rbp + 0x98f], 0x69
ja 0x140001919
sub byte [rbp + 0x98f], 0x30
movzx eax, byte [rbp + 0x98f]
mov ecx, eax
call sym.Write_unsigned_char_
jmp 0x140002f9e
call sym.uppercase__
test al, al
je 0x140001935
call sym.alt_gr__
xor eax, 1
test al, al
je 0x140001935
mov eax, 1
jmp 0x14000193a
mov eax, 0
test al, al
je case.0x14000199c.189
cmp byte [rbp + 0x98f], 0x2f
jbe 0x140001967
cmp byte [rbp + 0x98f], 0x39
ja 0x140001967
movzx eax, byte [rbp + 0x98f]
mov ecx, eax
call sym.Write_unsigned_char_
jmp 0x140002f9e
movzx eax, byte [rbp + 0x98f]
sub eax, 0xba
cmp eax, 0x28
ja case.0x14000199c.189
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x1400070cc]
mov eax, dword [rdx + rax]
cdqe
lea rdx, [0x1400070cc]
add rax, rdx
jmp rax
lea rax, [rbp - 0x31]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp - 0x31]
lea rax, [rbp - 0x60]
mov r8, rdx
lea rdx, [0x140007050]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp - 0x31]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x14000199c.189
lea rax, [rbp - 1]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp - 1]
lea rax, [rbp - 0x30]
mov r8, rdx
lea rdx, [0x140007053]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp - 0x30]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp - 0x30]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp - 1]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x14000199c.189
lea rax, [rbp + 0x2f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x2f]
mov rax, rbp
mov r8, rdx
lea rdx, [0x140007055]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
mov rax, rbp
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov rax, rbp
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x2f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x14000199c.189
lea rax, [rbp + 0x5f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x5f]
lea rax, [rbp + 0x30]
mov r8, rdx
lea rdx, [0x140007058]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x30]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x30]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x5f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x14000199c.189
lea rax, [rbp + 0x8f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x8f]
lea rax, [rbp + 0x60]
mov r8, rdx
lea rdx, [0x14000705b]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x60]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x8f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x14000199c.189
lea rax, [rbp + 0xbf]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0xbf]
lea rax, [rbp + 0x90]
mov r8, rdx
lea rdx, [0x14000705e]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x90]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x90]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0xbf]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x14000199c.189
lea rax, [rbp + 0xef]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0xef]
lea rax, [rbp + 0xc0]
mov r8, rdx
lea rdx, [0x140007060]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0xc0]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0xc0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0xef]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x14000199c.189
lea rax, [rbp + 0x11f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x11f]
lea rax, [rbp + 0xf0]
mov r8, rdx
lea rdx, [0x140007062]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0xf0]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0xf0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x11f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x14000199c.189
lea rax, [rbp + 0x14f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x14f]
lea rax, [rbp + 0x120]
mov r8, rdx
lea rdx, [0x140007064]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x14f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x14000199c.189
lea rax, [rbp + 0x17f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x17f]
lea rax, [rbp + 0x150]
mov r8, rdx
lea rdx, str._____
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x150]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x150]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x17f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
nop
call sym.alt_gr__
test al, al
je 0x140001d45
mov ecx, 0x10
mov rax, qword [sym.imp.USER32.dll_GetKeyState]
call rax
cmp ax, 0xff81
je 0x140001d45
mov ecx, 0x10
mov rax, qword [sym.imp.USER32.dll_GetKeyState]
call rax
cmp ax, 0xff80
je 0x140001d45
mov eax, 1
jmp 0x140001d4a
mov eax, 0
test al, al
je case.0x140001dbf.49
movzx eax, byte [rbp + 0x98f]
cmp eax, 0xdb
je 0x14000213a
cmp eax, 0xdb
jg case.0x140001dbf.49
cmp eax, 0xbb
je 0x14000219b
cmp eax, 0xbb
jg case.0x140001dbf.49
cmp eax, 0x39
jg 0x140001dc1
cmp eax, 0x30
jl case.0x140001dbf.49
sub eax, 0x30
cmp eax, 9
ja case.0x140001dbf.49
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140007170]
mov eax, dword [rdx + rax]
cdqe
lea rdx, [0x140007170]
add rax, rdx
jmp rax
cmp eax, 0xba
je 0x1400021f9
jmp case.0x140001dbf.49
lea rax, [rbp + 0x1af]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x1af]
lea rax, [rbp + 0x180]
mov r8, rdx
lea rdx, [0x140007069]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x180]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x180]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x1af]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x140001dbf.49
lea rax, [rbp + 0x1df]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x1df]
lea rax, [rbp + 0x1b0]
mov r8, rdx
lea rdx, [0x14000706b]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x1b0]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x1b0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x1df]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x140001dbf.49
lea rax, [rbp + 0x20f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x20f]
lea rax, [rbp + 0x1e0]
mov r8, rdx
lea rdx, [0x14000706d]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x1e0]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x1e0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x20f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x140001dbf.49
lea rax, [rbp + 0x23f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x23f]
lea rax, [rbp + 0x210]
mov r8, rdx
lea rdx, [0x14000706f]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x210]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x210]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x23f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x140001dbf.49
lea rax, [rbp + 0x26f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x26f]
lea rax, [rbp + 0x240]
mov r8, rdx
lea rdx, [0x140007071]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x240]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x240]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x26f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x140001dbf.49
lea rax, [rbp + 0x29f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x29f]
lea rax, [rbp + 0x270]
mov r8, rdx
lea rdx, [0x140007073]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x270]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x270]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x29f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x140001dbf.49
lea rax, [rbp + 0x2cf]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x2cf]
lea rax, [rbp + 0x2a0]
mov r8, rdx
lea rdx, [0x140007075]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x2a0]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x2a0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x2cf]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x140001dbf.49
lea rax, [rbp + 0x2ff]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x2ff]
lea rax, [rbp + 0x2d0]
mov r8, rdx
lea rdx, [0x140007077]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x2d0]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x2d0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x2ff]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x140001dbf.49
lea rax, [rbp + 0x32f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x32f]
lea rax, [rbp + 0x300]
mov r8, rdx
lea rdx, [0x140007079]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x300]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x300]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x32f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x140001dbf.49
lea rax, [rbp + 0x35f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x35f]
lea rax, [rbp + 0x330]
mov r8, rdx
lea rdx, [0x14000707b]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x330]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x330]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x35f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x140001dbf.49
lea rax, [rbp + 0x38f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x38f]
lea rax, [rbp + 0x360]
mov r8, rdx
lea rdx, [0x14000707d]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x360]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x360]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x38f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.0x140001dbf.49
lea rax, [rbp + 0x3bf]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x3bf]
lea rax, [rbp + 0x390]
mov r8, rdx
lea rdx, [0x14000707f]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x390]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x390]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x3bf]
mov rcx, rax
call sym.std::allocator_char_::allocator__
nop
call sym.uppercase__
xor eax, 1
test al, al
je 0x14000229d
call sym.alt_gr__
xor eax, 1
test al, al
je 0x14000229d
mov ecx, 0x12
mov rax, qword [sym.imp.USER32.dll_GetKeyState]
call rax
cmp ax, 0xff81
je 0x14000229d
mov ecx, 0x12
mov rax, qword [sym.imp.USER32.dll_GetKeyState]
call rax
cmp ax, 0xff80
je 0x14000229d
mov eax, 1
jmp 0x1400022a2
mov eax, 0
test al, al
je case.default.0x1400022ee
movzx eax, byte [rbp + 0x98f]
cmp eax, 0x39
jg 0x14000231e
cmp eax, 0x30
jge 0x1400022f0
jmp case.default.0x1400022ee
sub eax, 0xba
cmp eax, 0x28
ja case.default.0x1400022ee
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140007198]
mov eax, dword [rdx + rax]
cdqe
lea rdx, [0x140007198]
add rax, rdx
jmp rax
sub eax, 0x30
cmp eax, 9
ja case.default.0x1400022ee
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x14000723c]
mov eax, dword [rdx + rax]
cdqe
lea rdx, [0x14000723c]
add rax, rdx
jmp rax
cmp eax, 0xe2
jg case.default.0x1400022ee
cmp eax, 0xba
jge 0x1400022c0
jmp case.default.0x1400022ee
lea rax, [rbp + 0x3ef]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x3ef]
lea rax, [rbp + 0x3c0]
mov r8, rdx
lea rdx, [0x140007082]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x3c0]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x3c0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x3ef]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.default.0x1400022ee
lea rax, [rbp + 0x41f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x41f]
lea rax, [rbp + 0x3f0]
mov r8, rdx
lea rdx, [0x140007085]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x3f0]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x3f0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x41f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.default.0x1400022ee
lea rax, [rbp + 0x44f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x44f]
lea rax, [rbp + 0x420]
mov r8, rdx
lea rdx, [0x140007087]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x420]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x420]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x44f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.default.0x1400022ee
lea rax, [rbp + 0x47f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x47f]
lea rax, [rbp + 0x450]
mov r8, rdx
lea rdx, [0x14000708a]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x450]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x450]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x47f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.default.0x1400022ee
lea rax, [rbp + 0x4af]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x4af]
lea rax, [rbp + 0x480]
mov r8, rdx
lea rdx, [0x14000708c]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x480]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x480]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x4af]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.default.0x1400022ee
lea rax, [rbp + 0x4df]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x4df]
lea rax, [rbp + 0x4b0]
mov r8, rdx
lea rdx, [0x14000708e]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x4b0]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x4b0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x4df]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.default.0x1400022ee
lea rax, [rbp + 0x50f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x50f]
lea rax, [rbp + 0x4e0]
mov r8, rdx
lea rdx, [0x140007090]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x4e0]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x4e0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x50f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.default.0x1400022ee
lea rax, [rbp + 0x53f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x53f]
lea rax, [rbp + 0x510]
mov r8, rdx
lea rdx, [0x140007092]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x510]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x510]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x53f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.default.0x1400022ee
lea rax, [rbp + 0x56f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x56f]
lea rax, [rbp + 0x540]
mov r8, rdx
lea rdx, [0x140007095]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x540]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x540]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x56f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.default.0x1400022ee
lea rax, [rbp + 0x59f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x59f]
lea rax, [rbp + 0x570]
mov r8, rdx
lea rdx, [0x140007097]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x570]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x570]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x59f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp case.default.0x1400022ee
mov ecx, 0x12
mov rax, qword [sym.imp.USER32.dll_GetKeyState]
call rax
cmp ax, 0xff81
je 0x140002bb3
mov ecx, 0x12
mov rax, qword [sym.imp.USER32.dll_GetKeyState]
call rax
cmp ax, 0xff80
je 0x140002bb3
mov eax, 1
jmp 0x140002bb8
mov eax, 0
test al, al
je case.default.0x140002bf3
movzx eax, byte [rbp + 0x98f]
sub eax, 0x6a
cmp eax, 5
ja case.default.0x140002bf3
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140007264]
mov eax, dword [rdx + rax]
cdqe
lea rdx, [0x140007264]
add rax, rdx
jmp rax
movzx eax, byte [rbp + 0x98f]
cmp eax, 0x20
je 0x140002ece
cmp eax, 0x20
jg 0x140002f89
cmp eax, 0xd
je 0x140002e6d
cmp eax, 0xd
jg 0x140002f89
cmp eax, 8
je 0x140002f2c
cmp eax, 9
jne 0x140002f89
lea rax, [rbp + 0x8ff]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x8ff]
lea rax, [rbp + 0x8d0]
mov r8, rdx
lea rdx, str._Tab_
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x8d0]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x8d0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x8ff]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp 0x140002f89
lea rax, [rbp + 0x92f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x92f]
lea rax, [rbp + 0x900]
mov r8, rdx
lea rdx, str._Return_
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x900]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x900]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x92f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp 0x140002f89
lea rax, [rbp + 0x95f]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x95f]
lea rax, [rbp + 0x930]
mov r8, rdx
lea rdx, [0x1400070c1]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x930]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x930]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x95f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp 0x140002f89
lea rax, [rbp + 0x98e]
mov rcx, rax
call fcn.140003c98
lea rdx, [rbp + 0x98e]
lea rax, [rbp + 0x960]
mov r8, rdx
lea rdx, str._Back_
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x960]
mov rcx, rax
call sym.Write_char_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x960]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x98e]
mov rcx, rax
call sym.std::allocator_char_::allocator__
nop
movzx eax, byte [rbp + 0x98f]
add eax, 1
mov byte [rbp + 0x98f], al
jmp 0x140001805
jmp 0x1400017fe
invalid
invalid
invalid
mov cl, 0xff
call [rdx + rsi*4]
invalid
mov dl, 0xff
invalid
invalid
fidiv word [rdx - 0x4cc00001]
invalid
mov dl, 0xff
invalid
invalid
je 0x1400072fd
js 0x1400072fa
je 0x140007287
add byte [rax], al
invalid
add byte [rdx + 0x61], ah
invalid
invalid
jae 0x1400072f5
invalid
outsd dx, dword [rsi]
outsb dx, byte [rsi]
jae 0x14000730f
jb 0x140007312
invalid
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
jb 0x14000736a
add byte [rax], al
add byte [rcx + 0x72], al
jb 0x14000736a
jne 0x140007372
jne 0x140007372
outsb dx, byte gs:[rsi]
je 0x140007329
outsd dx, dword fs:[rsi]
insd dword [rdi], dx
invalid
and byte [rbp + 0x72], ah
jb 0x140007383
jb 0x140007336
sub byte [rdi + rcx*2 + 0x4d], al
sub qword [rax], r8
sub dword [rax], eax
sub qword [rax], r8
sub dword [rax], eax
add byte [rcx + 0x72], al
jb 0x140007389
jne 0x140007391
jb 0x140007389
jne 0x140007391
outsb dx, byte gs:[rsi]
je 0x140007348
jae 0x140007393
imul ebp, dword [rsi + 0x67], 0x72616c75
imul esi, dword [rcx + rdi*2 + 0x20], 0x47495328
sub qword [rax], r8
outsb dx, byte [rsi]
jne 0x14000739a
invalid
sub qword [rax], r8
add byte [rax], al
add byte [rax], al
add byte [rdi + 0x76], cl
jbe 0x1400073a8
jb 0x1400073ab
insb byte [rdi], dx
outsd dx, dword [rsi]
ja 0x140007369
and byte [rdx + 0x61], dh
jb 0x1400073ac
outsb dx, byte [rsi]
and byte gs:[ebp + 0x72], ah
jb 0x1400073c2
jb 0x140007375
sub byte [rdi + 0x56], cl
push r14
push r10
push r15
sub dword [rax], eax
push rax
invalid
je 0x1400073ce
invalid
outsd dx, dword [rsi]
jae 0x1400073df
and byte [rdi + 0x66], ch
and byte [rbx + 0x69], dh
outsb dx, byte [esi]
imul esp, dword [rsi + 0x69], 0x636e6163
imul sp, word [rbx + 0x61], 0x636e
and byte gs:[rax], ch
push rax
push r11
push rbx
sub dword [rax], eax
add byte [rax], al
add byte [rdi + rbp*2 + 0x74], dl
push rsp
outsd dx, dword [rsi]
je 0x1400073ed
outsd dx, dword [rsi]
je 0x1400073ed
insb byte [rdi], dx
and byte [rdi + rbp*2 + 0x73], ch
jae 0x1400073b3
outsd dx, dword [rsi]
and byte [rbx + 0x69], dh
outsb dx, byte [esi]
imul esp, dword [rsi + 0x69], 0x636e6163
and byte gs:[rax], ch
push rsp
push r11
push rbx
sub dword [rax], eax
add byte [rax], al
add byte [rax], al
add byte [rax + rbp*2 + 0x65], dl
push rsp
invalid
invalid
add byte [rax], al
add byte [rax], al
push rsp
push 0x65722065
and byte [rdx + 0x65], dh
jae 0x14000742d
insb byte [rdi], dx
je 0x1400073db
imul esi, dword [rbx + 0x20], 0x206f6f74
jae 0x140007431
invalid
jb 0x140007435
jo 0x140007444
jae 0x14000743a
outsb dx, byte [rsi]
je 0x14000743d
and byte fs:[rax], ch
push rbp
push r10
push rdx
push r15
sub dword [rax], eax
push rbp
outsb dx, byte [rsi]
imul ebp, dword [rsi + 0x6f], 0x77
outsb dx, byte [rsi]
and byte [rbp + 0x72], ah
jb 0x140007461
jb 0x1400073f4
add byte [rax], al
add byte [rax], al
pop rdi
insd dword [rdi], dx
invalid
retf 0xffff
retf 0xffff
retf
invalid
retf 0xffff
ja 0x140007473
ja 0x14000747e
xor al, 0x20
jb 0x1400074c1
outsb dx, byte [rsi]
je str.__VirtualProtect_failed_with_code_0x_x
insd dword [rdi], dx
and byte gs:[rsi + 0x61], ah
imul ebp, dword [rbp + rsi*2 + 0x72], 0xa3a65
add byte [rax], al
add byte [rax], al
jb 0x1400074ca
jb 0x1400074ca
jae 0x1400074da
and byte [0x1a16894dd], ah
jae 0x14000748f
outsb dx, byte [rsi]
outsd dx, dword [rsi]
and byte [rcx + 0x6d], ch
insd dword [rdi], dx
invalid
outsb dx, byte [rsi]
add byte [rax], ah
and byte [rax], ah
push rsi
invalid
jb 0x1400074fa
jne 0x1400074e9
insb byte [rdi], dx
push rcx
jne 0x1400074f1
jb 0x140007507
and byte [rsi + 0x61], ah
imul ebp, dword [rbp + riz*2 + 0x64], 0x726f6620
and byte [0x1b9629503], ah
je 0x140007506
invalid
jae 0x1400074c3
invalid
and byte [rax], ah
push rsi
imul esi, dword [rdx + 0x74], 0x506c6175
push rax
jb 0x140007533
outsd dx, dword [rsi]
je 0x14000752b
invalid
invalid
xor byte [rax + 0x25], bh
js 0x1400074df
add byte [rax], ah
and byte [rax], ah
push rbp
outsb dx, byte [rsi]
imul ebp, dword [rsi + 0x6f], 0x77
outsb dx, byte [rsi]
and byte [rax + 0x73], dh
jne 0x140007553
outsd dx, dword [rsi]
and byte [rdx + 0x65], dh
jb 0x140007558
insb byte [rdi], dx
outsd dx, dword [rsi]
invalid
outsb dx, byte [rsi]
and byte [rax + 0x72], dh
outsd dx, dword [rsi]
je 0x140007570
invalid
jb 0x14000757c
jb 0x14000757c
imul ebp, dword [rdi + 0x6e], 0x2e642520
or al, byte [rax]
add byte [rax], al
add byte [rax], al
add byte [rax], al
and byte [rax], ah
push rbp
outsb dx, byte [rsi]
imul ebp, dword [rsi + 0x6f], 0x77
outsb dx, byte [rsi]
and byte [rax + 0x73], dh
jne 0x14000758b
outsd dx, dword [rsi]
and byte [rdx + 0x65], dh
insb byte [rdi], dx
outsd dx, dword [rsi]
invalid
and byte [rdx + 0x69], ah
je 0x140007558
jae 0x1400075a3
jp 0x1400075a1
and byte [0x1400aa3a6], ah
add byte [rax], al
add byte [rax], al
add byte [rax], al
and eax, 0x69622064
je 0x14000756f
jo 0x1400075c4
jne 0x1400075b8
outsd dx, dword fs:[rsi]
outsd dx, dword [rsi]
and byte [rdx + 0x65], dh
insb byte [rdi], dx
outsd dx, dword [rsi]
invalid
invalid
outsb dx, byte [rsi]
sub al, 0x20
je 0x1400075d8
jb 0x1400075e0
je 0x1400075e5
outsb dx, byte [rsi]
and byte [eip + 0x79202c70], ah
imul esp, dword [rbp + 0x6c], 0x676e6964
and byte [rax + rbp*2 + 0x65], dh
and byte [rsi + 0x61], dh
insb byte [rdi], dx
jne 0x1400075fa
and byte [0x1400aa40b], ah
add byte [rax], al
add byte [rax], al
add byte [rdx - 0x2b], ah
invalid
invalid
inc dword [rbx]
invalid
invalid
invalid
jb 0x14000764d
outsd dx, dword [rsi]
jb 0x1400075fe
and eax, 0xa64
add byte [rax], al
or al, byte [rax]
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
fadd dword [rdi]
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax + 0x60], ah
add byte [rax + 1], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax + 0x60], dh
add byte [rax + 1], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add al, dh
rol dword [rax], cl
add dword [rax], eax
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
clc
cmp eax, dword [rax]
add dword [rax], eax
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
invalid
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add al, bl
add byte [r8], r8b
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
invalid
add byte [rax], al
add byte [rax - 0x7f], bl
add byte [rax + 1], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax - 0x7f], al
add byte [rax + 1], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add al, ch
jb 0x140007673
add dword [rax], eax
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
push rax
invalid