Function at 0x18000e5f0
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x78
mov ecx, 0x24
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x18000e635
movzx eax, byte [0x1800a6b65]
test eax, eax
je 0x18000e619
mov byte [rsp + 0x20], 0
jmp 0x18000e61e
mov byte [rsp + 0x20], 1
movzx eax, byte [rsp + 0x20]
mov byte [0x1800a6b65], al
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov ecx, 0xc0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x18000e676
movzx eax, byte [0x1800a8545]
test eax, eax
je 0x18000e65a
mov byte [rsp + 0x21], 0
jmp 0x18000e65f
mov byte [rsp + 0x21], 1
movzx eax, byte [rsp + 0x21]
mov byte [0x1800a8545], al
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov ecx, 0x23
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x18000e68f
call fcn.18000c7c0
nop
mov ecx, 0xc0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x18000e6ca
movzx eax, byte [0x1800a8545]
test eax, eax
jne 0x18000e6b7
mov dword [rsp + 0x24], 1
jmp 0x18000e6bf
mov dword [rsp + 0x24], 0
movzx eax, byte [rsp + 0x24]
mov byte [0x1800a8545], al
mov ecx, 0x71
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x18000e705
movzx eax, byte [0x1800a6b5d]
test eax, eax
jne 0x18000e6f2
mov dword [rsp + 0x28], 1
jmp 0x18000e6fa
mov dword [rsp + 0x28], 0
movzx eax, byte [rsp + 0x28]
mov byte [0x1800a6b5d], al
mov ecx, 0x72
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x18000e740
movzx eax, byte [0x1800a6b36]
test eax, eax
jne 0x18000e72d
mov dword [rsp + 0x2c], 1
jmp 0x18000e735
mov dword [rsp + 0x2c], 0
movzx eax, byte [rsp + 0x2c]
mov byte [0x1800a6b36], al
mov ecx, 0x73
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x18000e77b
movzx eax, byte [0x1800a6b71]
test eax, eax
jne 0x18000e768
mov dword [rsp + 0x30], 1
jmp 0x18000e770
mov dword [rsp + 0x30], 0
movzx eax, byte [rsp + 0x30]
mov byte [0x1800a6b71], al
mov ecx, 0x74
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x18000e7b6
movzx eax, byte [0x1800a6b70]
test eax, eax
jne 0x18000e7a3
mov dword [rsp + 0x34], 1
jmp 0x18000e7ab
mov dword [rsp + 0x34], 0
movzx eax, byte [rsp + 0x34]
mov byte [0x1800a6b70], al
mov ecx, 0x75
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x18000e803
movzx eax, byte [0x1800a6b72]
test eax, eax
jne 0x18000e7de
mov dword [rsp + 0x38], 1
jmp 0x18000e7e6
mov dword [rsp + 0x38], 0
movzx eax, byte [rsp + 0x38]
mov byte [0x1800a6b72], al
movzx eax, byte [0x1800a6b72]
test eax, eax
je 0x18000e803
mov byte [0x1800a8515], 0
mov ecx, 0x77
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x18000e83e
movzx eax, byte [0x1800a8517]
test eax, eax
jne 0x18000e82b
mov dword [rsp + 0x3c], 1
jmp 0x18000e833
mov dword [rsp + 0x3c], 0
movzx eax, byte [rsp + 0x3c]
mov byte [0x1800a8517], al
mov ecx, 0x6b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x18000e877
movss xmm0, dword [0x1800a11f0]
comiss xmm0, dword [0x1800a6b50]
jbe 0x18000e877
movss xmm0, dword [0x1800a6b50]
addss xmm0, dword [0x1800a119c]
movss dword [0x1800a6b50], xmm0
mov ecx, 0x6d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x18000e8b0
movss xmm0, dword [0x1800a6b50]
comiss xmm0, dword [0x1800a119c]
jbe 0x18000e8b0
movss xmm0, dword [0x1800a6b50]
subss xmm0, dword [0x1800a119c]
movss dword [0x1800a6b50], xmm0
mov ecx, 0x22
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x18000e8e9
movss xmm0, dword [0x1800a11ac]
comiss xmm0, dword [0x1800a6b54]
jbe 0x18000e8e9
movss xmm0, dword [0x1800a6b54]
addss xmm0, dword [0x1800a112c]
movss dword [0x1800a6b54], xmm0
mov ecx, 0x21
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x18000e922
movss xmm0, dword [0x1800a6b54]
comiss xmm0, dword [0x1800a1188]
jbe 0x18000e922
movss xmm0, dword [0x1800a6b54]
subss xmm0, dword [0x1800a112c]
movss dword [0x1800a6b54], xmm0
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x18000ea6e
mov ecx, 0x32
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0x7fff
je 0x18000e95c
mov ecx, 0x32
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0xffff8000
jne 0x18000e984
movzx eax, byte [0x1800a6b62]
test eax, eax
jne 0x18000e971
mov dword [rsp + 0x40], 1
jmp 0x18000e979
mov dword [rsp + 0x40], 0
movzx eax, byte [rsp + 0x40]
mov byte [0x1800a6b62], al
mov ecx, 0x33
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0x7fff
je 0x18000e9aa
mov ecx, 0x33
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0xffff8000
jne 0x18000e9d2
movzx eax, byte [0x1800a6b34]
test eax, eax
jne 0x18000e9bf
mov dword [rsp + 0x44], 1
jmp 0x18000e9c7
mov dword [rsp + 0x44], 0
movzx eax, byte [rsp + 0x44]
mov byte [0x1800a6b34], al
mov ecx, 0x34
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0x7fff
je 0x18000e9f8
mov ecx, 0x34
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0xffff8000
jne 0x18000ea20
movzx eax, byte [0x1800a6b4e]
test eax, eax
jne 0x18000ea0d
mov dword [rsp + 0x48], 1
jmp 0x18000ea15
mov dword [rsp + 0x48], 0
movzx eax, byte [rsp + 0x48]
mov byte [0x1800a6b4e], al
mov ecx, 0x35
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0x7fff
je 0x18000ea46
mov ecx, 0x35
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0xffff8000
jne 0x18000ea6e
movzx eax, byte [0x1800a6b5f]
test eax, eax
jne 0x18000ea5b
mov dword [rsp + 0x4c], 1
jmp 0x18000ea63
mov dword [rsp + 0x4c], 0
movzx eax, byte [rsp + 0x4c]
mov byte [0x1800a6b5f], al
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x18000ec56
mov ecx, 0x32
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0x7fff
je 0x18000eaa8
mov ecx, 0x32
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0xffff8000
jne 0x18000ead0
movzx eax, byte [0x1800a6b37]
test eax, eax
jne 0x18000eabd
mov dword [rsp + 0x50], 1
jmp 0x18000eac5
mov dword [rsp + 0x50], 0
movzx eax, byte [rsp + 0x50]
mov byte [0x1800a6b37], al
mov ecx, 0x33
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0x7fff
je 0x18000eaf6
mov ecx, 0x33
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0xffff8000
jne 0x18000eb1e
movzx eax, byte [0x1800a6b67]
test eax, eax
jne 0x18000eb0b
mov dword [rsp + 0x54], 1
jmp 0x18000eb13
mov dword [rsp + 0x54], 0
movzx eax, byte [rsp + 0x54]
mov byte [0x1800a6b67], al
mov ecx, 0x34
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0x7fff
je 0x18000eb44
mov ecx, 0x34
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0xffff8000
jne 0x18000eb6c
movzx eax, byte [0x1800a6b61]
test eax, eax
jne 0x18000eb59
mov dword [rsp + 0x58], 1
jmp 0x18000eb61
mov dword [rsp + 0x58], 0
movzx eax, byte [rsp + 0x58]
mov byte [0x1800a6b61], al
mov ecx, 0x35
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0x7fff
je 0x18000eb92
mov ecx, 0x35
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0xffff8000
jne 0x18000ebba
movzx eax, byte [0x1800a6b5e]
test eax, eax
jne 0x18000eba7
mov dword [rsp + 0x5c], 1
jmp 0x18000ebaf
mov dword [rsp + 0x5c], 0
movzx eax, byte [rsp + 0x5c]
mov byte [0x1800a6b5e], al
mov ecx, 0x36
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0x7fff
je 0x18000ebe0
mov ecx, 0x36
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0xffff8000
jne 0x18000ec08
movzx eax, byte [0x1800a6b63]
test eax, eax
jne 0x18000ebf5
mov dword [rsp + 0x60], 1
jmp 0x18000ebfd
mov dword [rsp + 0x60], 0
movzx eax, byte [rsp + 0x60]
mov byte [0x1800a6b63], al
mov ecx, 0x37
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0x7fff
je 0x18000ec2e
mov ecx, 0x37
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0xffff8000
jne 0x18000ec56
movzx eax, byte [0x1800a6b63]
test eax, eax
jne 0x18000ec43
mov dword [rsp + 0x64], 1
jmp 0x18000ec4b
mov dword [rsp + 0x64], 0
movzx eax, byte [rsp + 0x64]
mov byte [0x1800a6b63], al
add rsp, 0x78
ret