Function at 0x74e330
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x20
mov ebx, ecx
mov ecx, 0x14
call sub.user32.dll_GetKeyState
test al, 1
je 0x74e354
cmp bx, 0xe7
jne 0x74e38a
mov bx, 0xc7
jmp 0x74e38a
mov eax, ebx
sub ax, 0x40
cmp ax, 0x1f
ja 0x74e37b
mov edx, 1
movzx ecx, ax
and ecx, 0x7f
shl edx, cl
mov eax, dword [0x0074e82c]
test edx, eax
setne al
jmp 0x74e37e
xor rax, rax
test al, al
je 0x74e38a
movzx bx, bl
add bx, 0x20
mov ecx, 0x10
call sub.user32.dll_GetAsyncKeyState
test ax, ax
jge 0x74e3a3
mov ecx, ebx
call fcn.0074e0d0
mov ebx, eax
cmp word [0x007c6378], 0xb4
jne 0x74e496
mov eax, ebx
sub ax, 0x40
cmp ax, 0x3f
ja 0x74e3de
mov edx, 1
movzx rcx, ax
and rcx, 0x7f
shl rdx, cl
mov rax, qword [0x0074e830]
test rdx, rax
setne al
jmp 0x74e3e1
xor rax, rax
test al, al
je 0x74e496
movzx rax, bx
cmp rax, 0x61
jg 0x74e42d
cmp rax, 0x61
je 0x74e453
cmp rax, 0x49
jg 0x74e419
cmp rax, 0x49
je 0x74e47d
sub rax, 0x41
test rax, rax
je 0x74e471
sub rax, 4
test rax, rax
jne 0x74e48d
jmp 0x74e477
sub rax, 0x4f
test rax, rax
je 0x74e483
sub rax, 6
test rax, rax
jne 0x74e48d
jmp 0x74e489
sub rax, 0x65
test rax, rax
je 0x74e459
sub rax, 4
test rax, rax
je 0x74e45f
sub rax, 6
test rax, rax
je 0x74e465
sub rax, 6
test rax, rax
jne 0x74e48d
jmp 0x74e46b
mov bx, 0xe1
jmp 0x74e48d
mov bx, 0xe9
jmp 0x74e48d
mov bx, 0xed
jmp 0x74e48d
mov bx, 0xf3
jmp 0x74e48d
mov bx, 0xfa
jmp 0x74e48d
mov bx, 0xc1
jmp 0x74e48d
mov bx, 0xc9
jmp 0x74e48d
mov bx, 0xcd
jmp 0x74e48d
mov bx, 0xd3
jmp 0x74e48d
mov bx, 0xda
mov word [0x007c6378], 0
cmp word [0x007c6378], 0x60
jne 0x74e588
mov eax, ebx
sub ax, 0x40
cmp ax, 0x3f
ja 0x74e4d0
mov edx, 1
movzx rcx, ax
and rcx, 0x7f
shl rdx, cl
mov rax, qword [0x0074e830]
test rdx, rax
setne al
jmp 0x74e4d3
xor rax, rax
test al, al
je 0x74e588
movzx rax, bx
cmp rax, 0x61
jg 0x74e51f
cmp rax, 0x61
je 0x74e545
cmp rax, 0x49
jg 0x74e50b
cmp rax, 0x49
je 0x74e56f
sub rax, 0x41
test rax, rax
je 0x74e563
sub rax, 4
test rax, rax
jne 0x74e57f
jmp 0x74e569
sub rax, 0x4f
test rax, rax
je 0x74e575
sub rax, 6
test rax, rax
jne 0x74e57f
jmp 0x74e57b
sub rax, 0x65
test rax, rax
je 0x74e54b
sub rax, 4
test rax, rax
je 0x74e551
sub rax, 6
test rax, rax
je 0x74e557
sub rax, 6
test rax, rax
jne 0x74e57f
jmp 0x74e55d
mov bx, 0xe0
jmp 0x74e57f
mov bx, 0xe8
jmp 0x74e57f
mov bx, 0xec
jmp 0x74e57f
mov bx, 0xf2
jmp 0x74e57f
mov bx, 0xf9
jmp 0x74e57f
mov bx, 0xc0
jmp 0x74e57f
mov bx, 0xc8
jmp 0x74e57f
mov bx, 0xcc
jmp 0x74e57f
mov bx, 0xd2
jmp 0x74e57f
mov bx, 0xd9
mov word [0x007c6378], 0
cmp word [0x007c6378], 0x7e
jne 0x74e60c
mov eax, ebx
sub ax, 0x40
cmp ax, 0x3f
ja 0x74e5be
mov edx, 1
movzx rcx, ax
and rcx, 0x7f
shl rdx, cl
mov rax, qword [0x0074e830]
test rdx, rax
setne al
jmp 0x74e5c1
xor rax, rax
test al, al
je 0x74e60c
mov eax, ebx
sub ax, 0x41
test ax, ax
je 0x74e5f9
sub ax, 0xe
test ax, ax
je 0x74e5ff
sub ax, 0x12
test ax, ax
je 0x74e5ed
sub ax, 0xe
test ax, ax
jne 0x74e603
jmp 0x74e5f3
mov bx, 0xe3
jmp 0x74e603
mov bx, 0xf5
jmp 0x74e603
mov bx, 0xc3
jmp 0x74e603
mov bx, 0xd5
mov word [0x007c6378], 0
cmp word [0x007c6378], 0x5e
jne 0x74e6fe
mov eax, ebx
sub ax, 0x40
cmp ax, 0x3f
ja 0x74e646
mov edx, 1
movzx rcx, ax
and rcx, 0x7f
shl rdx, cl
mov rax, qword [0x0074e830]
test rdx, rax
setne al
jmp 0x74e649
xor rax, rax
test al, al
je 0x74e6fe
movzx rax, bx
cmp rax, 0x61
jg 0x74e695
cmp rax, 0x61
je 0x74e6bb
cmp rax, 0x49
jg 0x74e681
cmp rax, 0x49
je 0x74e6e5
sub rax, 0x41
test rax, rax
je 0x74e6d9
sub rax, 4
test rax, rax
jne 0x74e6f5
jmp 0x74e6df
sub rax, 0x4f
test rax, rax
je 0x74e6eb
sub rax, 6
test rax, rax
jne 0x74e6f5
jmp 0x74e6f1
sub rax, 0x65
test rax, rax
je 0x74e6c1
sub rax, 4
test rax, rax
je 0x74e6c7
sub rax, 6
test rax, rax
je 0x74e6cd
sub rax, 6
test rax, rax
jne 0x74e6f5
jmp 0x74e6d3
mov bx, 0xe2
jmp 0x74e6f5
mov bx, 0xea
jmp 0x74e6f5
mov bx, 0xee
jmp 0x74e6f5
mov bx, 0xf4
jmp 0x74e6f5
mov bx, 0xfb
jmp 0x74e6f5
mov bx, 0xc2
jmp 0x74e6f5
mov bx, 0xca
jmp 0x74e6f5
mov bx, 0xce
jmp 0x74e6f5
mov bx, 0xd4
jmp 0x74e6f5
mov bx, 0xdb
mov word [0x007c6378], 0