Function at 0x180019730
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x30
mov edi, edx
mov rbx, rcx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov dword [rsp + 0x20], eax
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rax
xor r8d, r8d
lea rdx, [0x1800705fa]
call fcn.18002a330
mov dword [rsp + 0x20], 1
mov ecx, select
call qword [sym.imp.USER32.dll_GetKeyState]
movzx esi, ax
shr si, 0xf
lea rbp, [0x180000000]
cmp edi, 0xba
jl 0x180019d88
cmp edi, 0xde
jg case.0x1800197c5.197
lea eax, [rdi - 0xba]
cmp eax, 0x24
ja case.0x1800197c5.197
cdqe
movzx eax, byte [rax + rbp + 0x1b30c]
mov ecx, dword [rbp + rax*4 + 0x1b2dc]
add rcx, rbp
jmp rcx
mov rcx, qword [rbx + 0x18]
test sil, sil
je 0x18001984e
cmp rcx, 1
jb 0x180019838
mov rax, rbx
cmp rcx, 0xf
jbe 0x1800197e2
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x3a
cmp edi, 0x23
jne 0x18001a773
mov rax, qword [rbx + 0x18]
cmp rax, 5
jb 0x18001a75a
mov rdi, rbx
cmp rax, 0xf
jbe 0x180019812
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 5
mov r8d, 5
lea rdx, str._End_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 5], 0
jmp case.default.0x18001afc4
lea r9, [0x180070bec]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
cmp rcx, 1
jb 0x18001986f
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019860
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x3b
jmp case.0x1800197c5.197
lea r9, [0x180072464]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
mov rcx, qword [rbx + 0x18]
test sil, sil
je 0x1800198ce
cmp rcx, 1
jb 0x1800198b5
mov rax, rbx
cmp rcx, 0xf
jbe 0x1800198a3
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x2b
jmp case.0x1800197c5.197
lea r9, [0x180072468]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
cmp rcx, 1
jb 0x1800198f2
mov rax, rbx
cmp rcx, 0xf
jbe 0x1800198e0
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x3d
jmp case.0x1800197c5.197
lea r9, [0x18007246c]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
mov rcx, qword [rbx + 0x18]
test sil, sil
je 0x180019951
cmp rcx, 1
jb 0x180019938
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019926
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x3c
jmp case.0x1800197c5.197
lea r9, [0x180072470]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
cmp rcx, 1
jb 0x180019975
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019963
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x2c
jmp case.0x1800197c5.197
lea r9, [0x180071f10]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
mov rcx, qword [rbx + 0x18]
test sil, sil
je 0x1800199d4
cmp rcx, 1
jb 0x1800199bb
mov rax, rbx
cmp rcx, 0xf
jbe 0x1800199a9
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x5f
jmp case.0x1800197c5.197
lea r9, [0x180072474]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
cmp rcx, 1
jb 0x1800199f8
mov rax, rbx
cmp rcx, 0xf
jbe 0x1800199e6
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x2d
jmp case.0x1800197c5.197
lea r9, [0x180072478]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
mov rcx, qword [rbx + 0x18]
test sil, sil
je 0x180019a57
cmp rcx, 1
jb 0x180019a3e
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019a2c
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x3e
jmp case.0x1800197c5.197
lea r9, [0x18007247c]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
cmp rcx, 1
jb 0x180019a7b
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019a69
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x2e
jmp case.0x1800197c5.197
lea r9, [0x180071fa0]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
mov rcx, qword [rbx + 0x18]
test sil, sil
je 0x180019ada
cmp rcx, 1
jb 0x180019ac1
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019aaf
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x3f
jmp case.0x1800197c5.197
lea r9, [0x180072480]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
cmp rcx, 1
jb 0x180019afe
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019aec
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x2f
jmp case.0x1800197c5.197
lea r9, [0x180070be8]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
mov rcx, qword [rbx + 0x18]
test sil, sil
je 0x180019b5d
cmp rcx, 1
jb 0x180019b44
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019b32
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x7e
jmp case.0x1800197c5.197
lea r9, [0x180072484]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
cmp rcx, 1
jb 0x180019b81
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019b6f
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x60
jmp case.0x1800197c5.197
lea r9, [0x180072488]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
mov rcx, qword [rbx + 0x18]
test sil, sil
je 0x180019be0
cmp rcx, 1
jb 0x180019bc7
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019bb5
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x7b
jmp case.0x1800197c5.197
lea r9, [0x18007248c]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
cmp rcx, 1
jb 0x180019c04
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019bf2
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x5b
jmp case.0x1800197c5.197
lea r9, [0x180071f0c]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
mov rcx, qword [rbx + 0x18]
test sil, sil
je 0x180019c63
cmp rcx, 1
jb 0x180019c4a
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019c38
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x7c
jmp case.0x1800197c5.197
lea r9, [0x180072490]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
cmp rcx, 1
jb 0x180019c87
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019c75
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x5c
jmp case.0x1800197c5.197
lea r9, [0x180072494]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
mov rcx, qword [rbx + 0x18]
test sil, sil
je 0x180019ce6
cmp rcx, 1
jb 0x180019ccd
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019cbb
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x7d
jmp case.0x1800197c5.197
lea r9, [0x180072498]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
cmp rcx, 1
jb 0x180019d0a
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019cf8
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x5d
jmp case.0x1800197c5.197
lea r9, [0x180071320]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
test sil, sil
je 0x180019d47
mov qword [rbx + 0x10], 1
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180019d3d
mov rax, qword [rbx]
mov word [rax], 0x22
jmp case.0x1800197c5.197
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x180019d6f
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019d5d
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x27
jmp case.0x1800197c5.197
lea r9, [0x18007249c]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.0x1800197c5.197
cmp edi, 0x1b
jne 0x180019de2
mov rax, qword [rbx + 0x18]
cmp rax, 5
jb 0x180019dc9
mov rdi, rbx
cmp rax, 0xf
jbe 0x180019da3
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 5
mov r8d, 5
lea rdx, [0x1800724a0]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 5], 0
jmp case.default.0x18001afc4
lea r9, [0x1800724a0]
mov edx, 5
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x70
jne 0x180019e2d
mov rcx, qword [rbx + 0x18]
cmp rcx, 4
jb 0x180019e14
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019dfd
mov rax, qword [rbx]
mov qword [rbx + 0x10], 4
mov dword [rax], 0x5d31465b
mov byte [rax + 4], 0
jmp case.default.0x18001afc4
lea r9, str._F1_
mov edx, 4
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x71
jne 0x180019e78
mov rcx, qword [rbx + 0x18]
cmp rcx, 4
jb 0x180019e5f
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019e48
mov rax, qword [rbx]
mov qword [rbx + 0x10], 4
mov dword [rax], 0x5d32465b
mov byte [rax + 4], 0
jmp case.default.0x18001afc4
lea r9, str._F2_
mov edx, 4
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x72
jne 0x180019ec3
mov rcx, qword [rbx + 0x18]
cmp rcx, 4
jb 0x180019eaa
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019e93
mov rax, qword [rbx]
mov qword [rbx + 0x10], 4
mov dword [rax], 0x5d33465b
mov byte [rax + 4], 0
jmp case.default.0x18001afc4
lea r9, str._F3_
mov edx, 4
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x73
jne 0x180019f0e
mov rcx, qword [rbx + 0x18]
cmp rcx, 4
jb 0x180019ef5
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019ede
mov rax, qword [rbx]
mov qword [rbx + 0x10], 4
mov dword [rax], 0x5d34465b
mov byte [rax + 4], 0
jmp case.default.0x18001afc4
lea r9, str._F4_
mov edx, 4
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x74
jne 0x180019f59
mov rcx, qword [rbx + 0x18]
cmp rcx, 4
jb 0x180019f40
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019f29
mov rax, qword [rbx]
mov qword [rbx + 0x10], 4
mov dword [rax], 0x5d35465b
mov byte [rax + 4], 0
jmp case.default.0x18001afc4
lea r9, str._F5_
mov edx, 4
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x75
jne 0x180019fa4
mov rcx, qword [rbx + 0x18]
cmp rcx, 4
jb 0x180019f8b
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019f74
mov rax, qword [rbx]
mov qword [rbx + 0x10], 4
mov dword [rax], 0x5d36465b
mov byte [rax + 4], 0
jmp case.default.0x18001afc4
lea r9, str._F6_
mov edx, 4
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x76
jne 0x180019fef
mov rcx, qword [rbx + 0x18]
cmp rcx, 4
jb 0x180019fd6
mov rax, rbx
cmp rcx, 0xf
jbe 0x180019fbf
mov rax, qword [rbx]
mov qword [rbx + 0x10], 4
mov dword [rax], 0x5d37465b
mov byte [rax + 4], 0
jmp case.default.0x18001afc4
lea r9, str._F7_
mov edx, 4
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x77
jne 0x18001a03a
mov rcx, qword [rbx + 0x18]
cmp rcx, 4
jb 0x18001a021
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001a00a
mov rax, qword [rbx]
mov qword [rbx + 0x10], 4
mov dword [rax], 0x5d38465b
mov byte [rax + 4], 0
jmp case.default.0x18001afc4
lea r9, str._F8_
mov edx, 4
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x78
jne 0x18001a085
mov rcx, qword [rbx + 0x18]
cmp rcx, 4
jb 0x18001a06c
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001a055
mov rax, qword [rbx]
mov qword [rbx + 0x10], 4
mov dword [rax], 0x5d39465b
mov byte [rax + 4], 0
jmp case.default.0x18001afc4
lea r9, str._F9_
mov edx, 4
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x79
jne 0x18001a0df
mov rax, qword [rbx + 0x18]
cmp rax, 5
jb 0x18001a0c6
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a0a0
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 5
mov r8d, 5
lea rdx, str._F10_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 5], 0
jmp case.default.0x18001afc4
lea r9, str._F10_
mov edx, 5
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x7a
jne 0x18001a139
mov rax, qword [rbx + 0x18]
cmp rax, 5
jb 0x18001a120
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a0fa
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 5
mov r8d, 5
lea rdx, str._F11_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 5], 0
jmp case.default.0x18001afc4
lea r9, str._F11_
mov edx, 5
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x7b
jne 0x18001a193
mov rax, qword [rbx + 0x18]
cmp rax, 5
jb 0x18001a17a
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a154
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 5
mov r8d, 5
lea rdx, str._F12_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 5], 0
jmp case.default.0x18001afc4
lea r9, str._F12_
mov edx, 5
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x2c
jne 0x18001a1e5
mov rcx, qword [rbx + 0x18]
cmp rcx, 8
jb 0x18001a1cc
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001a1ae
mov rax, qword [rbx]
mov qword [rbx + 0x10], 8
movabs rcx, 0x5d6e72635372505b
mov qword [rax], rcx
mov byte [rax + 8], 0
jmp case.default.0x18001afc4
lea r9, str._PrScrn_
mov edx, 8
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x91
jne 0x18001a242
mov rax, qword [rbx + 0x18]
cmp rax, 0xd
jb 0x18001a229
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a203
mov rdi, qword [rbx]
mov qword [rbx + 0x10], reloc.WS2_32.dll_listen
mov r8d, reloc.WS2_32.dll_listen
lea rdx, str._Scroll_Lock_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 0xd], 0
jmp case.default.0x18001afc4
lea r9, str._Scroll_Lock_
mov edx, reloc.WS2_32.dll_listen
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x13
jne 0x18001a29c
mov rax, qword [rbx + 0x18]
cmp rax, 7
jb 0x18001a283
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a25d
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 7
mov r8d, 7
lea rdx, str._Pause_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 7], 0
jmp case.default.0x18001afc4
lea r9, str._Pause_
mov edx, 7
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x14
jne 0x18001a2f6
mov rax, qword [rbx + 0x18]
cmp rax, 0xb
jb 0x18001a2dd
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a2b7
mov rdi, qword [rbx]
mov qword [rbx + 0x10], select
mov r8d, listen
lea rdx, str._Caps_Lock_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 0xb], 0
jmp case.default.0x18001afc4
lea r9, str._Caps_Lock_
mov edx, listen
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 8
jne 0x18001a350
mov rax, qword [rbx + 0x18]
cmp rax, 0xb
jb 0x18001a337
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a311
mov rdi, qword [rbx]
mov qword [rbx + 0x10], select
mov r8d, listen
lea rdx, str._Backspace_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 0xb], 0
jmp case.default.0x18001afc4
lea r9, str._Backspace_
mov edx, listen
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0xd
jne 0x18001a3a2
mov rcx, qword [rbx + 0x18]
cmp rcx, 8
jb 0x18001a389
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001a36b
mov rax, qword [rbx]
mov qword [rbx + 0x10], 8
movabs rcx, 0xa5d7265746e455b
mov qword [rax], rcx
mov byte [rax + 8], 0
jmp case.default.0x18001afc4
lea r9, str._Enter__n
mov edx, 8
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x20
jne 0x18001a3e8
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001a3cf
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001a3bd
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x20
jmp case.default.0x18001afc4
lea r9, [0x180070d04]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 9
jne 0x18001a442
mov rax, qword [rbx + 0x18]
cmp rax, 5
jb 0x18001a429
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a403
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 5
mov r8d, 5
lea rdx, str._Tab_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 5], 0
jmp case.default.0x18001afc4
lea r9, str._Tab_
mov edx, 5
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0xa2
jne 0x18001a49f
mov rax, qword [rbx + 0x18]
cmp rax, 6
jb 0x18001a486
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a460
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 6
mov r8d, 6
lea rdx, str._Ctrl_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 6], 0
jmp case.default.0x18001afc4
lea r9, str._Ctrl_
mov edx, 6
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0xa3
jne 0x18001a4fc
mov rax, qword [rbx + 0x18]
cmp rax, 6
jb 0x18001a4e3
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a4bd
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 6
mov r8d, 6
lea rdx, str._CTRL_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 6], 0
jmp case.default.0x18001afc4
lea r9, str._CTRL_
mov edx, 6
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0xa4
jne 0x18001a559
mov rax, qword [rbx + 0x18]
cmp rax, 5
jb 0x18001a540
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a51a
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 5
mov r8d, 5
lea rdx, str._Alt_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 5], 0
jmp case.default.0x18001afc4
lea r9, str._Alt_
mov edx, 5
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x5b
jne 0x18001a5b3
mov rax, qword [rbx + 0x18]
cmp rax, 5
jb 0x18001a59a
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a574
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 5
mov r8d, 5
lea rdx, str._Win_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 5], 0
jmp case.default.0x18001afc4
lea r9, str._Win_
mov edx, 5
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x5c
jne 0x18001a60d
mov rax, qword [rbx + 0x18]
cmp rax, 5
jb 0x18001a5f4
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a5ce
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 5
mov r8d, 5
lea rdx, str._WIN_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 5], 0
jmp case.default.0x18001afc4
lea r9, str._WIN_
mov edx, 5
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x5d
jne 0x18001a658
mov rcx, qword [rbx + 0x18]
cmp rcx, 4
jb 0x18001a63f
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001a628
mov rax, qword [rbx]
mov qword [rbx + 0x10], 4
mov dword [rax], 0xfcbcd2d3
mov byte [rax + 4], 0
jmp case.default.0x18001afc4
lea r9, [0x18007258c]
mov edx, 4
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x2d
jne 0x18001a6aa
mov rcx, qword [rbx + 0x18]
cmp rcx, 8
jb 0x18001a691
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001a673
mov rax, qword [rbx]
mov qword [rbx + 0x10], 8
movabs rcx, 0x5d747265736e495b
mov qword [rax], rcx
mov byte [rax + 8], 0
jmp case.default.0x18001afc4
lea r9, str._Insert_
mov edx, 8
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x2e
jne 0x18001a6fc
mov rcx, qword [rbx + 0x18]
cmp rcx, 8
jb 0x18001a6e3
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001a6c5
mov rax, qword [rbx]
mov qword [rbx + 0x10], 8
movabs rcx, 0x5d6574656c65445b
mov qword [rax], rcx
mov byte [rax + 8], 0
jmp case.default.0x18001afc4
lea r9, str._Delete_
mov edx, 8
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x24
jne case.0x1800197c5.197
mov rax, qword [rbx + 0x18]
cmp rax, 6
jb 0x18001a741
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a71b
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 6
mov r8d, 6
lea rdx, str._Home_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 6], 0
jmp case.default.0x18001afc4
lea r9, str._Home_
mov edx, 6
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
lea r9, str._End_
mov edx, 5
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x21
jne 0x18001a7cd
mov rax, qword [rbx + 0x18]
cmp rax, 6
jb 0x18001a7b4
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a78e
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 6
mov r8d, 6
lea rdx, str._PgUp_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 6], 0
jmp case.default.0x18001afc4
lea r9, str._PgUp_
mov edx, 6
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x22
jne 0x18001a81f
mov rcx, qword [rbx + 0x18]
cmp rcx, 8
jb 0x18001a806
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001a7e8
mov rax, qword [rbx]
mov qword [rbx + 0x10], 8
movabs rcx, 0x5d6e776f4467505b
mov qword [rax], rcx
mov byte [rax + 8], 0
jmp case.default.0x18001afc4
lea r9, str._PgDown_
mov edx, 8
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 3
jne 0x18001a871
mov rcx, qword [rbx + 0x18]
cmp rcx, 8
jb 0x18001a858
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001a83a
mov rax, qword [rbx]
mov qword [rbx + 0x10], 8
movabs rcx, 0x5d6c65636e61435b
mov qword [rax], rcx
mov byte [rax + 8], 0
jmp case.default.0x18001afc4
lea r9, str._Cancel_
mov edx, 8
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0xc
jne 0x18001a8cb
mov rax, qword [rbx + 0x18]
cmp rax, 7
jb 0x18001a8b2
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a88c
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 7
mov r8d, 7
lea rdx, str._Clear_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 7], 0
jmp case.default.0x18001afc4
lea r9, str._Clear_
mov edx, 7
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x29
jne 0x18001a91d
mov rcx, qword [rbx + 0x18]
cmp rcx, 8
jb 0x18001a904
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001a8e6
mov rax, qword [rbx]
mov qword [rbx + 0x10], 8
movabs rcx, 0x5d7463656c65535b
mov qword [rax], rcx
mov byte [rax + 8], 0
jmp case.default.0x18001afc4
lea r9, str._Select_
mov edx, 8
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x2a
jne 0x18001a977
mov rax, qword [rbx + 0x18]
cmp rax, 7
jb 0x18001a95e
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a938
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 7
mov r8d, 7
lea rdx, str._Print_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 7], 0
jmp case.default.0x18001afc4
lea r9, str._Print_
mov edx, 7
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x2b
jne 0x18001a9d1
mov rax, qword [rbx + 0x18]
cmp rax, 9
jb 0x18001a9b8
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001a992
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 9
mov r8d, 9
lea rdx, str._Execute_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 9], 0
jmp case.default.0x18001afc4
lea r9, str._Execute_
mov edx, 9
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x25
jne 0x18001aa1c
mov rcx, qword [rbx + 0x18]
cmp rcx, 4
jb 0x18001aa03
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001a9ec
mov rax, qword [rbx]
mov qword [rbx + 0x10], 4
mov dword [rax], 0x5dfba15b
mov byte [rax + 4], 0
jmp case.default.0x18001afc4
lea r9, [0x18007261c]
mov edx, 4
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x27
jne 0x18001aa67
mov rcx, qword [rbx + 0x18]
cmp rcx, 4
jb 0x18001aa4e
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001aa37
mov rax, qword [rbx]
mov qword [rbx + 0x10], 4
mov dword [rax], 0x5dfaa15b
mov byte [rax + 4], 0
jmp case.default.0x18001afc4
lea r9, [0x180072624]
mov edx, 4
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x26
jne 0x18001aab2
mov rcx, qword [rbx + 0x18]
cmp rcx, 4
jb 0x18001aa99
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001aa82
mov rax, qword [rbx]
mov qword [rbx + 0x10], 4
mov dword [rax], 0x5dfca15b
mov byte [rax + 4], 0
jmp case.default.0x18001afc4
lea r9, [0x18007262c]
mov edx, 4
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x28
jne 0x18001aafd
mov rcx, qword [rbx + 0x18]
cmp rcx, 4
jb 0x18001aae4
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001aacd
mov rax, qword [rbx]
mov qword [rbx + 0x10], 4
mov dword [rax], 0x5dfda15b
mov byte [rax + 4], 0
jmp case.default.0x18001afc4
lea r9, [0x180072634]
mov edx, 4
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x90
jne 0x18001ab5a
mov rax, qword [rbx + 0x18]
cmp rax, 9
jb 0x18001ab41
mov rdi, rbx
cmp rax, 0xf
jbe 0x18001ab1b
mov rdi, qword [rbx]
mov qword [rbx + 0x10], 9
mov r8d, 9
lea rdx, str._NumLock_
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 9], 0
jmp case.default.0x18001afc4
lea r9, str._NumLock_
mov edx, 9
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x6b
jne 0x18001aba0
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001ab87
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001ab75
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x2b
jmp case.default.0x18001afc4
lea r9, [0x180072468]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x6d
jne 0x18001abe6
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001abcd
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001abbb
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x2d
jmp case.default.0x18001afc4
lea r9, [0x180072478]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x6a
jne 0x18001ac2c
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001ac13
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001ac01
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x2a
jmp case.default.0x18001afc4
lea r9, [0x1800705f8]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x6f
jne 0x18001ac72
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001ac59
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001ac47
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x2f
jmp case.default.0x18001afc4
lea r9, [0x180070be8]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0xbe
je 0x18001b230
cmp edi, 0x6e
je 0x18001b230
cmp edi, 0x60
jne 0x18001accd
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001acb4
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001aca2
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x30
jmp case.default.0x18001afc4
lea r9, str.03456789_____
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x61
jne 0x18001ad13
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001acfa
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001ace8
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x31
jmp case.default.0x18001afc4
lea r9, [0x180070054]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x62
jne 0x18001ad59
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001ad40
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001ad2e
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x32
jmp case.default.0x18001afc4
lea r9, str.2_______
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x63
jne 0x18001ad9f
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001ad86
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001ad74
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x33
jmp case.default.0x18001afc4
lea r9, [0x180072650]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x64
jne 0x18001ade5
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001adcc
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001adba
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x34
jmp case.default.0x18001afc4
lea r9, [0x180072654]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x65
jne 0x18001ae2b
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001ae12
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001ae00
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x35
jmp case.default.0x18001afc4
lea r9, [0x180072658]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x66
jne 0x18001ae71
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001ae58
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001ae46
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x36
jmp case.default.0x18001afc4
lea r9, [0x18007265c]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x67
jne 0x18001aeb7
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001ae9e
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001ae8c
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x37
jmp case.default.0x18001afc4
lea r9, [0x180072660]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x68
jne 0x18001aefd
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001aee4
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001aed2
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x38
jmp case.default.0x18001afc4
lea r9, [0x180072664]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x69
jne 0x18001af43
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001af2a
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001af18
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x39
jmp case.default.0x18001afc4
lea r9, [0x180072668]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
cmp edi, 0x61
jl 0x18001af90
cmp edi, 0x7a
jg case.default.0x18001afc4
mov ecx, shutdown
call qword [sym.imp.USER32.dll_GetKeyState]
mov qword [rbx + 0x10], 1
test ax, ax
mov rax, rbx
je 0x18001af7e
test sil, sil
jne 0x18001b21a
sub dil, 0x20
jmp 0x18001b21a
test sil, sil
je 0x18001b21a
sub dil, 0x20
jmp 0x18001b21a
cmp edi, 0x30
jl 0x18001b269
cmp edi, 0x39
jg 0x18001b26e
test sil, sil
je 0x18001b20f
add edi, 0xffffffd0
cmp edi, 9
ja case.default.0x18001afc4
movsxd rax, edi
mov ecx, dword [rbp + rax*4 + 0x1b334]
add rcx, rbp
jmp rcx
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001afee
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001afdc
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x29
jmp case.default.0x18001afc4
lea r9, [0x180071990]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001b02f
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001b01d
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x21
jmp case.default.0x18001afc4
lea r9, [0x18007266c]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001b070
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001b05e
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x40
jmp case.default.0x18001afc4
lea r9, [0x180072670]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001b0b1
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001b09f
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x23
jmp case.default.0x18001afc4
lea r9, [0x180072674]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001b0f2
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001b0e0
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x24
jmp case.default.0x18001afc4
lea r9, [0x180072678]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001b133
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001b121
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x25
jmp case.default.0x18001afc4
lea r9, [0x18007267c]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001b174
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001b162
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x5e
jmp case.default.0x18001afc4
lea r9, [0x180072680]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001b1b5
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001b1a3
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x26
jmp case.default.0x18001afc4
lea r9, [0x180072684]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001b1f6
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001b1e4
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x28
jmp case.default.0x18001afc4
lea r9, [0x180072688]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
jmp case.default.0x18001afc4
mov qword [rbx + 0x10], 1
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x18001b224
mov rax, qword [rbx]
mov byte [rax], dil
mov byte [rax + 1], 0
jmp case.default.0x18001afc4
mov rcx, qword [rbx + 0x18]
cmp rcx, 1
jb 0x18001b255
mov rax, rbx
cmp rcx, 0xf
jbe 0x18001b246
mov rax, qword [rbx]
mov qword [rbx + 0x10], 1
mov word [rax], 0x2e
jmp 0x18001b269
lea r9, [0x180071fa0]
mov edx, 1
mov rcx, rbx
call fcn.18002a840
cmp edi, 1
je case.default.0x18001afc4
lea eax, [rdi - 0x41]
cmp eax, 0x19
ja case.default.0x18001afc4
mov ecx, shutdown
call qword [sym.imp.USER32.dll_GetKeyState]
mov qword [rbx + 0x10], 1
test ax, ax
je 0x18001b29f
mov rax, rbx
test sil, sil
je 0x18001b21a
add dil, 0x20
jmp 0x18001b21a
test sil, sil
jne 0x18001b217
add dil, 0x20
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x18001b2b9
mov rcx, qword [rbx]
mov byte [rcx], dil
mov byte [rcx + 1], 0
mov rax, rbx
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret