Function at 0x140052550
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x98
mov ecx, 0x61
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400525eb
cmp byte [0x1400689e3], 0
sete al
mov byte [0x1400689e3], al
cmp al, 1
jne 0x1400525b9
mov byte [0x1400689cc], 0
mov byte [0x1400689f4], 0
mov byte [0x1400689e6], 0
mov byte [0x1400689cf], 0
mov byte [0x1400689e7], 0
mov byte [0x1400689cd], 0
mov byte [0x1400689e5], 0
mov byte [0x1400689ce], 0
jmp 0x1400525db
test al, al
jne 0x1400525db
mov byte [0x1400689e4], al
mov byte [0x1400689f5], al
mov byte [0x1400689e1], al
mov byte [0x1400689ca], al
mov byte [0x1400689cb], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x62
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14005267f
cmp byte [0x1400689cc], 0
sete al
mov byte [0x1400689cc], al
cmp al, 1
jne 0x14005264d
mov byte [0x1400689e3], 0
mov byte [0x1400689f4], 0
mov byte [0x1400689e6], 0
mov byte [0x1400689cf], 0
mov byte [0x1400689e7], 0
mov byte [0x1400689cd], 0
mov byte [0x1400689e5], 0
mov byte [0x1400689ce], 0
jmp 0x14005266f
test al, al
jne 0x14005266f
mov byte [0x1400689e4], al
mov byte [0x1400689f5], al
mov byte [0x1400689e1], al
mov byte [0x1400689ca], al
mov byte [0x1400689cb], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x63
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052713
cmp byte [0x1400689f4], 0
sete al
mov byte [0x1400689f4], al
cmp al, 1
jne 0x1400526e1
mov byte [0x1400689e3], 0
mov byte [0x1400689cc], 0
mov byte [0x1400689e6], 0
mov byte [0x1400689cf], 0
mov byte [0x1400689e7], 0
mov byte [0x1400689cd], 0
mov byte [0x1400689e5], 0
mov byte [0x1400689ce], 0
jmp 0x140052703
test al, al
jne 0x140052703
mov byte [0x1400689e4], al
mov byte [0x1400689f5], al
mov byte [0x1400689e1], al
mov byte [0x1400689ca], al
mov byte [0x1400689cb], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x65
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400527a7
cmp byte [0x1400689e6], 0
sete al
mov byte [0x1400689e6], al
cmp al, 1
jne 0x140052775
mov byte [0x1400689e3], 0
mov byte [0x1400689cc], 0
mov byte [0x1400689f4], 0
mov byte [0x1400689cf], 0
mov byte [0x1400689e7], 0
mov byte [0x1400689cd], 0
mov byte [0x1400689e5], 0
mov byte [0x1400689ce], 0
jmp 0x140052797
test al, al
jne 0x140052797
mov byte [0x1400689e4], al
mov byte [0x1400689f5], al
mov byte [0x1400689e1], al
mov byte [0x1400689ca], al
mov byte [0x1400689cb], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x64
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14005283b
cmp byte [0x1400689cf], 0
sete al
mov byte [0x1400689cf], al
cmp al, 1
jne 0x140052809
mov byte [0x1400689e3], 0
mov byte [0x1400689cc], 0
mov byte [0x1400689f4], 0
mov byte [0x1400689e6], 0
mov byte [0x1400689e7], 0
mov byte [0x1400689cd], 0
mov byte [0x1400689e5], 0
mov byte [0x1400689ce], 0
jmp 0x14005282b
test al, al
jne 0x14005282b
mov byte [0x1400689e4], al
mov byte [0x1400689f5], al
mov byte [0x1400689e1], al
mov byte [0x1400689ca], al
mov byte [0x1400689cb], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x66
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400528cf
cmp byte [0x1400689e5], 0
sete al
mov byte [0x1400689e5], al
cmp al, 1
jne 0x14005289d
mov byte [0x1400689e3], 0
mov byte [0x1400689cc], 0
mov byte [0x1400689f4], 0
mov byte [0x1400689e6], 0
mov byte [0x1400689cf], 0
mov byte [0x1400689e7], 0
mov byte [0x1400689cd], 0
mov byte [0x1400689ce], 0
jmp 0x1400528bf
test al, al
jne 0x1400528bf
mov byte [0x1400689e4], al
mov byte [0x1400689f5], al
mov byte [0x1400689e1], al
mov byte [0x1400689ca], al
mov byte [0x1400689cb], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x67
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052963
cmp byte [0x1400689e7], 0
sete al
mov byte [0x1400689e7], al
cmp al, 1
jne 0x140052931
mov byte [0x1400689e3], 0
mov byte [0x1400689cc], 0
mov byte [0x1400689f4], 0
mov byte [0x1400689e6], 0
mov byte [0x1400689cf], 0
mov byte [0x1400689cd], 0
mov byte [0x1400689e5], 0
mov byte [0x1400689ce], 0
jmp 0x140052953
test al, al
jne 0x140052953
mov byte [0x1400689e4], al
mov byte [0x1400689f5], al
mov byte [0x1400689e1], al
mov byte [0x1400689ca], al
mov byte [0x1400689cb], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x68
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400529f7
cmp byte [0x1400689cd], 0
sete al
mov byte [0x1400689cd], al
cmp al, 1
jne 0x1400529c5
mov byte [0x1400689e3], 0
mov byte [0x1400689cc], 0
mov byte [0x1400689f4], 0
mov byte [0x1400689e6], 0
mov byte [0x1400689cf], 0
mov byte [0x1400689e7], 0
mov byte [0x1400689e5], 0
mov byte [0x1400689ce], 0
jmp 0x1400529e7
test al, al
jne 0x1400529e7
mov byte [0x1400689e4], al
mov byte [0x1400689f5], al
mov byte [0x1400689e1], al
mov byte [0x1400689ca], al
mov byte [0x1400689cb], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x69
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052a92
cmp byte [0x1400689ce], 0
sete al
mov byte [0x1400689ce], al
cmp al, 1
jne 0x140052a60
mov byte [0x1400689e3], 0
mov byte [0x1400689cc], 0
mov byte [0x1400689f4], 0
mov byte [0x1400689e6], 0
mov byte [0x1400689cf], 0
mov byte [0x1400689e7], 0
mov byte [0x1400689cd], 0
mov byte [0x1400689e5], 0
mov byte [0x1400689ce], 0
jmp 0x140052a82
test al, al
jne 0x140052a82
mov byte [0x1400689e4], al
mov byte [0x1400689f5], al
mov byte [0x1400689e1], al
mov byte [0x1400689ca], al
mov byte [0x1400689cb], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x71
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052adb
cmp byte [0x1400689e4], 0
sete al
mov byte [0x1400689e4], al
cmp al, 1
jne 0x140052acb
mov byte [0x1400689e1], 0
mov byte [0x1400689e0], 0
mov byte [0x1400689f5], 0
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x72
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052b24
cmp byte [0x1400689f5], 0
sete al
mov byte [0x1400689f5], al
cmp al, 1
jne 0x140052b14
mov byte [0x1400689e1], 0
mov byte [0x1400689e0], 0
mov byte [0x1400689e4], 0
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x74
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052b7a
cmp byte [0x1400689e0], 0
sete al
mov byte [0x1400689e0], al
cmp al, 1
jne 0x140052b66
mov byte [0x1400689e4], 0
mov byte [0x1400689e1], 0
mov byte [0x1400689ca], 0
mov byte [0x1400689f5], 0
jmp 0x140052b7a
test al, al
jne 0x140052b7a
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x73
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052bd0
cmp byte [0x1400689e1], 0
sete al
mov byte [0x1400689e1], al
cmp al, 1
jne 0x140052bbc
mov byte [0x1400689e4], 0
mov byte [0x1400689e0], 0
mov byte [0x1400689ca], 0
mov byte [0x1400689f5], 0
jmp 0x140052bd0
test al, al
jne 0x140052bd0
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x75
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052c04
cmp byte [0x1400689e2], 0
sete al
mov byte [0x1400689e2], al
test al, al
jne 0x140052c04
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x7b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052c24
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cl, 0x70
call qword [sym.imp.USER32.dll_keybd_event]
cmp byte [0x1400689e3], 1
je 0x140052c79
cmp byte [0x1400689cc], 1
je 0x140052c79
cmp byte [0x1400689f4], 1
je 0x140052c79
cmp byte [0x1400689cf], 1
je 0x140052c79
cmp byte [0x1400689e6], 1
je 0x140052c79
cmp byte [0x1400689e7], 1
je 0x140052c79
cmp byte [0x1400689cd], 1
je 0x140052c79
cmp byte [0x1400689e5], 1
je 0x140052c79
cmp byte [0x1400689ce], 1
jne 0x140052ed1
mov qword [rsp + 0x58], r15
xor r15d, r15d
mov dword [rsp + 0xb0], r15d
call fcn.140052230
test eax, eax
js 0x140052ecc
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x60], r14
movaps xmmword [rsp + 0x40], xmm6
movss xmm6, dword [0x14005e6f0]
nop
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140052e9b
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140052e9b
mov ecx, r15d
call fcn.140051920
mov ecx, r15d
cvttsd2si r12d, xmm0
call fcn.140051170
mov ecx, r15d
cvttsd2si r13d, xmm0
call fcn.140052180
movzx eax, byte [0x1400689e2]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
cmp al, 1
jne 0x140052d40
movaps xmm0, xmm1
mulss xmm0, xmm6
subss xmm1, xmm0
cvttss2si ebp, xmm1
add ebp, 2
jmp 0x140052d44
cvttss2si ebp, xmm1
call fcn.1400520e0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
cmp al, 1
jne 0x140052d6a
movaps xmm0, xmm1
mulss xmm0, xmm6
subss xmm1, xmm0
cvttss2si r14d, xmm1
add r14d, 2
jmp 0x140052d6f
cvttss2si r14d, xmm1
xor ecx, ecx
mov dword [rsp + 0xa8], r14d
xor r9d, r9d
mov dword [rsp + 0xa0], ecx
cmp ebp, 1
jl 0x140052e18
mov r15d, ebp
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0xb8], r13d
mov r14d, ebp
nop
mov eax, r13d
mov qword [rsp + 0x20], 0
cdq
idiv ebp
mov esi, eax
mov eax, r12d
cdq
idiv ebp
mov edi, eax
mov eax, r15d
cdq
mov r8d, edi
idiv ebp
sub r8d, r9d
mov edx, esi
xor r9d, r9d
sub edx, ecx
mov ebx, eax
lea ecx, [r9 + 1]
call qword [sym.imp.USER32.dll_mouse_event]
mov ecx, ebx
sub ecx, dword [rsp + 0xa0]
call fcn.140050ee0
add r13d, dword [rsp + 0xb8]
add r15d, ebp
add r12d, dword [rsp + 0x30]
mov ecx, esi
mov dword [rsp + 0xa0], ebx
mov r9d, edi
sub r14, 1
jne 0x140052da0
mov r14d, dword [rsp + 0xa8]
mov r15d, dword [rsp + 0xb0]
sub r14d, ebp
mov ecx, r14d
call fcn.140050ee0
cmp byte [0x1400689e5], 1
je 0x140052e68
cmp byte [0x1400689e7], 1
je 0x140052e82
call fcn.140052230
cmp r15d, eax
jne 0x140052e82
cmp byte [0x1400689c9], 1
jne 0x140052e68
mov edx, 0x5a
mov ecx, 0x4b0
call qword [sym.imp.KERNEL32.dll_Beep]
mov edx, 0x5a
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Beep]
xor edx, edx
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
inc r15d
mov dword [rsp + 0xb0], r15d
call fcn.140052230
cmp r15d, eax
jle 0x140052cd0
mov rbx, qword [rsp + 0x90]
mov r14, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
movaps xmm6, xmmword [rsp + 0x40]
mov r15, qword [rsp + 0x58]
add rsp, 0x98
ret