Function at 0x140052bf0
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x98
mov ecx, 0x61
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052c8b
cmp byte [0x1400e3303], 0
sete al
mov byte [0x1400e3303], al
cmp al, 1
jne 0x140052c59
mov byte [0x1400e31ec], 0
mov byte [0x1400e3318], 0
mov byte [0x1400e3306], 0
mov byte [0x1400e31ef], 0
mov byte [0x1400e3307], 0
mov byte [0x1400e31ed], 0
mov byte [0x1400e3305], 0
mov byte [0x1400e31ee], 0
jmp 0x140052c7b
test al, al
jne 0x140052c7b
mov byte [0x1400e3304], al
mov byte [0x1400e3319], al
mov byte [0x1400e3300], al
mov byte [0x1400e31ea], al
mov byte [0x1400e31eb], al
mov edx, __WSAFDIsSet
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x62
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052d1f
cmp byte [0x1400e31ec], 0
sete al
mov byte [0x1400e31ec], al
cmp al, 1
jne 0x140052ced
mov byte [0x1400e3303], 0
mov byte [0x1400e3318], 0
mov byte [0x1400e3306], 0
mov byte [0x1400e31ef], 0
mov byte [0x1400e3307], 0
mov byte [0x1400e31ed], 0
mov byte [0x1400e3305], 0
mov byte [0x1400e31ee], 0
jmp 0x140052d0f
test al, al
jne 0x140052d0f
mov byte [0x1400e3304], al
mov byte [0x1400e3319], al
mov byte [0x1400e3300], al
mov byte [0x1400e31ea], al
mov byte [0x1400e31eb], al
mov edx, __WSAFDIsSet
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x63
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052db3
cmp byte [0x1400e3318], 0
sete al
mov byte [0x1400e3318], al
cmp al, 1
jne 0x140052d81
mov byte [0x1400e3303], 0
mov byte [0x1400e31ec], 0
mov byte [0x1400e3306], 0
mov byte [0x1400e31ef], 0
mov byte [0x1400e3307], 0
mov byte [0x1400e31ed], 0
mov byte [0x1400e3305], 0
mov byte [0x1400e31ee], 0
jmp 0x140052da3
test al, al
jne 0x140052da3
mov byte [0x1400e3304], al
mov byte [0x1400e3319], al
mov byte [0x1400e3300], al
mov byte [0x1400e31ea], al
mov byte [0x1400e31eb], al
mov edx, __WSAFDIsSet
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x65
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052e47
cmp byte [0x1400e3306], 0
sete al
mov byte [0x1400e3306], al
cmp al, 1
jne 0x140052e15
mov byte [0x1400e3303], 0
mov byte [0x1400e31ec], 0
mov byte [0x1400e3318], 0
mov byte [0x1400e31ef], 0
mov byte [0x1400e3307], 0
mov byte [0x1400e31ed], 0
mov byte [0x1400e3305], 0
mov byte [0x1400e31ee], 0
jmp 0x140052e37
test al, al
jne 0x140052e37
mov byte [0x1400e3304], al
mov byte [0x1400e3319], al
mov byte [0x1400e3300], al
mov byte [0x1400e31ea], al
mov byte [0x1400e31eb], al
mov edx, __WSAFDIsSet
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x64
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052edb
cmp byte [0x1400e31ef], 0
sete al
mov byte [0x1400e31ef], al
cmp al, 1
jne 0x140052ea9
mov byte [0x1400e3303], 0
mov byte [0x1400e31ec], 0
mov byte [0x1400e3318], 0
mov byte [0x1400e3306], 0
mov byte [0x1400e3307], 0
mov byte [0x1400e31ed], 0
mov byte [0x1400e3305], 0
mov byte [0x1400e31ee], 0
jmp 0x140052ecb
test al, al
jne 0x140052ecb
mov byte [0x1400e3304], al
mov byte [0x1400e3319], al
mov byte [0x1400e3300], al
mov byte [0x1400e31ea], al
mov byte [0x1400e31eb], al
mov edx, __WSAFDIsSet
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x66
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052f6f
cmp byte [0x1400e3305], 0
sete al
mov byte [0x1400e3305], al
cmp al, 1
jne 0x140052f3d
mov byte [0x1400e3303], 0
mov byte [0x1400e31ec], 0
mov byte [0x1400e3318], 0
mov byte [0x1400e3306], 0
mov byte [0x1400e31ef], 0
mov byte [0x1400e3307], 0
mov byte [0x1400e31ed], 0
mov byte [0x1400e31ee], 0
jmp 0x140052f5f
test al, al
jne 0x140052f5f
mov byte [0x1400e3304], al
mov byte [0x1400e3319], al
mov byte [0x1400e3300], al
mov byte [0x1400e31ea], al
mov byte [0x1400e31eb], al
mov edx, __WSAFDIsSet
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x67
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140053003
cmp byte [0x1400e3307], 0
sete al
mov byte [0x1400e3307], al
cmp al, 1
jne 0x140052fd1
mov byte [0x1400e3303], 0
mov byte [0x1400e31ec], 0
mov byte [0x1400e3318], 0
mov byte [0x1400e3306], 0
mov byte [0x1400e31ef], 0
mov byte [0x1400e31ed], 0
mov byte [0x1400e3305], 0
mov byte [0x1400e31ee], 0
jmp 0x140052ff3
test al, al
jne 0x140052ff3
mov byte [0x1400e3304], al
mov byte [0x1400e3319], al
mov byte [0x1400e3300], al
mov byte [0x1400e31ea], al
mov byte [0x1400e31eb], al
mov edx, __WSAFDIsSet
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x68
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140053097
cmp byte [0x1400e31ed], 0
sete al
mov byte [0x1400e31ed], al
cmp al, 1
jne 0x140053065
mov byte [0x1400e3303], 0
mov byte [0x1400e31ec], 0
mov byte [0x1400e3318], 0
mov byte [0x1400e3306], 0
mov byte [0x1400e31ef], 0
mov byte [0x1400e3307], 0
mov byte [0x1400e3305], 0
mov byte [0x1400e31ee], 0
jmp 0x140053087
test al, al
jne 0x140053087
mov byte [0x1400e3304], al
mov byte [0x1400e3319], al
mov byte [0x1400e3300], al
mov byte [0x1400e31ea], al
mov byte [0x1400e31eb], al
mov edx, __WSAFDIsSet
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x69
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140053132
cmp byte [0x1400e31ee], 0
sete al
mov byte [0x1400e31ee], al
cmp al, 1
jne 0x140053100
mov byte [0x1400e3303], 0
mov byte [0x1400e31ec], 0
mov byte [0x1400e3318], 0
mov byte [0x1400e3306], 0
mov byte [0x1400e31ef], 0
mov byte [0x1400e3307], 0
mov byte [0x1400e31ed], 0
mov byte [0x1400e3305], 0
mov byte [0x1400e31ee], 0
jmp 0x140053122
test al, al
jne 0x140053122
mov byte [0x1400e3304], al
mov byte [0x1400e3319], al
mov byte [0x1400e3300], al
mov byte [0x1400e31ea], al
mov byte [0x1400e31eb], al
mov edx, __WSAFDIsSet
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, WSAStartup
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14005317b
cmp byte [0x1400e3304], 0
sete al
mov byte [0x1400e3304], al
cmp al, 1
jne 0x14005316b
mov byte [0x1400e3300], 0
mov byte [0x1400e32ff], 0
mov byte [0x1400e3319], 0
mov edx, __WSAFDIsSet
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, WSAStartup
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400531c4
cmp byte [0x1400e3319], 0
sete al
mov byte [0x1400e3319], al
cmp al, 1
jne 0x1400531b4
mov byte [0x1400e3300], 0
mov byte [0x1400e32ff], 0
mov byte [0x1400e3304], 0
mov edx, __WSAFDIsSet
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, reloc.WS2_32.dll_WSACleanup
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14005321a
cmp byte [0x1400e32ff], 0
sete al
mov byte [0x1400e32ff], al
cmp al, 1
jne 0x140053206
mov byte [0x1400e3304], 0
mov byte [0x1400e3300], 0
mov byte [0x1400e31ea], 0
mov byte [0x1400e3319], 0
jmp 0x14005321a
test al, al
jne 0x14005321a
mov edx, __WSAFDIsSet
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, reloc.WS2_32.dll_WSAStartup
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140053270
cmp byte [0x1400e3300], 0
sete al
mov byte [0x1400e3300], al
cmp al, 1
jne 0x14005325c
mov byte [0x1400e3304], 0
mov byte [0x1400e32ff], 0
mov byte [0x1400e31ea], 0
mov byte [0x1400e3319], 0
jmp 0x140053270
test al, al
jne 0x140053270
mov edx, __WSAFDIsSet
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x75
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400532a4
cmp byte [0x1400e3302], 0
sete al
mov byte [0x1400e3302], al
test al, al
jne 0x1400532a4
mov edx, __WSAFDIsSet
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x7b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400532c4
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cl, reloc.WS2_32.dll_WSASetLastError
call qword [sym.imp.USER32.dll_keybd_event]
cmp byte [0x1400e3303], 1
je 0x140053319
cmp byte [0x1400e31ec], 1
je 0x140053319
cmp byte [0x1400e3318], 1
je 0x140053319
cmp byte [0x1400e31ef], 1
je 0x140053319
cmp byte [0x1400e3306], 1
je 0x140053319
cmp byte [0x1400e3307], 1
je 0x140053319
cmp byte [0x1400e31ed], 1
je 0x140053319
cmp byte [0x1400e3305], 1
je 0x140053319
cmp byte [0x1400e31ee], 1
jne 0x140053586
mov qword [rsp + 0x58], r15
xor r15d, r15d
mov dword [rsp + 0xb0], r15d
call fcn.1400528d0
test eax, eax
js 0x140053581
mov qword [rsp + 0x90], rbx
mov ebx, 0x8000
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 [0x1400d13dc]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test bx, ax
je 0x140053550
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test bx, ax
je 0x140053550
mov ecx, r15d
call fcn.140051ff0
mov ecx, r15d
cvttsd2si r12d, xmm0
call fcn.140051860
mov ecx, r15d
cvttsd2si r13d, xmm0
call fcn.140052820
movzx eax, byte [0x1400e3302]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
cmp al, 1
jne 0x1400533e4
movaps xmm0, xmm1
mulss xmm0, xmm6
subss xmm1, xmm0
cvttss2si ebp, xmm1
add ebp, 2
jmp 0x1400533e8
cvttss2si ebp, xmm1
call fcn.140052780
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
cmp al, 1
jne 0x14005340e
movaps xmm0, xmm1
mulss xmm0, xmm6
subss xmm1, xmm0
cvttss2si r14d, xmm1
add r14d, 2
jmp 0x140053413
cvttss2si r14d, xmm1
xor ecx, ecx
mov dword [rsp + 0xa8], r14d
xor r9d, r9d
mov dword [rsp + 0xa0], ecx
cmp ebp, 1
jl 0x1400534cd
mov r15d, ebp
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0xb8], r13d
mov r14d, ebp
nop dword [rax]
nop word [rax + rax]
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.1400515d0
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 0x140053450
mov r14d, dword [rsp + 0xa8]
mov ebx, 0x8000
mov r15d, dword [rsp + 0xb0]
sub r14d, ebp
mov ecx, r14d
call fcn.1400515d0
cmp byte [0x1400e3305], 1
je 0x14005351d
cmp byte [0x1400e3307], 1
je 0x140053537
call fcn.1400528d0
cmp r15d, eax
jne 0x140053537
cmp byte [0x1400e31e9], 1
jne 0x14005351d
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.1400528d0
cmp r15d, eax
jle 0x140053374
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