Function at 0x140042cc0
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x98
mov ecx, dword [0x140085904]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140042d5c
cmp byte [0x140085784], 0
sete al
mov byte [0x140085784], al
cmp al, 1
jne 0x140042d2a
mov byte [0x140085754], 0
mov byte [0x14008578b], 0
mov byte [0x140085789], 0
mov byte [0x140085774], 0
mov byte [0x14008578a], 0
mov byte [0x140085756], 0
mov byte [0x140085787], 0
mov byte [0x140085757], 0
jmp 0x140042d4c
test al, al
jne 0x140042d4c
mov byte [0x140085786], al
mov byte [0x14008578c], al
mov byte [0x140085776], al
mov byte [0x140085752], al
mov byte [0x140085753], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x140085900]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140042df1
cmp byte [0x140085754], 0
sete al
mov byte [0x140085754], al
cmp al, 1
jne 0x140042dbf
mov byte [0x140085784], 0
mov byte [0x14008578b], 0
mov byte [0x140085789], 0
mov byte [0x140085774], 0
mov byte [0x14008578a], 0
mov byte [0x140085756], 0
mov byte [0x140085787], 0
mov byte [0x140085757], 0
jmp 0x140042de1
test al, al
jne 0x140042de1
mov byte [0x140085786], al
mov byte [0x14008578c], al
mov byte [0x140085776], al
mov byte [0x140085752], al
mov byte [0x140085753], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x14008592c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140042e86
cmp byte [0x14008578b], 0
sete al
mov byte [0x14008578b], al
cmp al, 1
jne 0x140042e54
mov byte [0x140085784], 0
mov byte [0x140085754], 0
mov byte [0x140085789], 0
mov byte [0x140085774], 0
mov byte [0x14008578a], 0
mov byte [0x140085756], 0
mov byte [0x140085787], 0
mov byte [0x140085757], 0
jmp 0x140042e76
test al, al
jne 0x140042e76
mov byte [0x140085786], al
mov byte [0x14008578c], al
mov byte [0x140085776], al
mov byte [0x140085752], al
mov byte [0x140085753], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x140085950]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140042f1b
cmp byte [0x140085789], 0
sete al
mov byte [0x140085789], al
cmp al, 1
jne 0x140042ee9
mov byte [0x140085784], 0
mov byte [0x140085754], 0
mov byte [0x14008578b], 0
mov byte [0x140085774], 0
mov byte [0x14008578a], 0
mov byte [0x140085756], 0
mov byte [0x140085787], 0
mov byte [0x140085757], 0
jmp 0x140042f0b
test al, al
jne 0x140042f0b
mov byte [0x140085786], al
mov byte [0x14008578c], al
mov byte [0x140085776], al
mov byte [0x140085752], al
mov byte [0x140085753], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x140085954]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140042fb0
cmp byte [0x140085774], 0
sete al
mov byte [0x140085774], al
cmp al, 1
jne 0x140042f7e
mov byte [0x140085784], 0
mov byte [0x140085754], 0
mov byte [0x14008578b], 0
mov byte [0x140085789], 0
mov byte [0x14008578a], 0
mov byte [0x140085756], 0
mov byte [0x140085787], 0
mov byte [0x140085757], 0
jmp 0x140042fa0
test al, al
jne 0x140042fa0
mov byte [0x140085786], al
mov byte [0x14008578c], al
mov byte [0x140085776], al
mov byte [0x140085752], al
mov byte [0x140085753], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x14008590c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140043045
cmp byte [0x140085787], 0
sete al
mov byte [0x140085787], al
cmp al, 1
jne 0x140043013
mov byte [0x140085784], 0
mov byte [0x140085754], 0
mov byte [0x14008578b], 0
mov byte [0x140085789], 0
mov byte [0x140085774], 0
mov byte [0x14008578a], 0
mov byte [0x140085756], 0
mov byte [0x140085757], 0
jmp 0x140043035
test al, al
jne 0x140043035
mov byte [0x140085786], al
mov byte [0x14008578c], al
mov byte [0x140085776], al
mov byte [0x140085752], al
mov byte [0x140085753], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x140085928]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400430da
cmp byte [0x14008578a], 0
sete al
mov byte [0x14008578a], al
cmp al, 1
jne 0x1400430a8
mov byte [0x140085784], 0
mov byte [0x140085754], 0
mov byte [0x14008578b], 0
mov byte [0x140085789], 0
mov byte [0x140085774], 0
mov byte [0x140085756], 0
mov byte [0x140085787], 0
mov byte [0x140085757], 0
jmp 0x1400430ca
test al, al
jne 0x1400430ca
mov byte [0x140085786], al
mov byte [0x14008578c], al
mov byte [0x140085776], al
mov byte [0x140085752], al
mov byte [0x140085753], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x140085960]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14004316f
cmp byte [0x140085756], 0
sete al
mov byte [0x140085756], al
cmp al, 1
jne 0x14004313d
mov byte [0x140085784], 0
mov byte [0x140085754], 0
mov byte [0x14008578b], 0
mov byte [0x140085789], 0
mov byte [0x140085774], 0
mov byte [0x14008578a], 0
mov byte [0x140085787], 0
mov byte [0x140085757], 0
jmp 0x14004315f
test al, al
jne 0x14004315f
mov byte [0x140085786], al
mov byte [0x14008578c], al
mov byte [0x140085776], al
mov byte [0x140085752], al
mov byte [0x140085753], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x14008591c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14004320b
cmp byte [0x140085757], 0
sete al
mov byte [0x140085757], al
cmp al, 1
jne 0x1400431d9
mov byte [0x140085784], 0
mov byte [0x140085754], 0
mov byte [0x14008578b], 0
mov byte [0x140085789], 0
mov byte [0x140085774], 0
mov byte [0x14008578a], 0
mov byte [0x140085756], 0
mov byte [0x140085787], 0
mov byte [0x140085757], 0
jmp 0x1400431fb
test al, al
jne 0x1400431fb
mov byte [0x140085786], al
mov byte [0x14008578c], al
mov byte [0x140085776], al
mov byte [0x140085752], al
mov byte [0x140085753], al
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x140085918]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140043255
cmp byte [0x140085786], 0
sete al
mov byte [0x140085786], al
cmp al, 1
jne 0x140043245
mov byte [0x140085776], 0
mov byte [0x140085775], 0
mov byte [0x14008578c], 0
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x140085910]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14004329f
cmp byte [0x14008578c], 0
sete al
mov byte [0x14008578c], al
cmp al, 1
jne 0x14004328f
mov byte [0x140085776], 0
mov byte [0x140085775], 0
mov byte [0x140085786], 0
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x140085924]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400432f6
cmp byte [0x140085775], 0
sete al
mov byte [0x140085775], al
cmp al, 1
jne 0x1400432e2
mov byte [0x140085786], 0
mov byte [0x140085776], 0
mov byte [0x140085752], 0
mov byte [0x14008578c], 0
jmp 0x1400432f6
test al, al
jne 0x1400432f6
mov edx, 0x96
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, dword [0x140085948]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14004334d
cmp byte [0x140085776], 0
sete al
mov byte [0x140085776], al
cmp al, 1
jne 0x140043339
mov byte [0x140085786], 0
mov byte [0x140085775], 0
mov byte [0x140085752], 0
mov byte [0x14008578c], 0
jmp 0x14004334d
test al, al
jne 0x14004334d
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 0x140043381
cmp byte [0x140085777], 0
sete al
mov byte [0x140085777], al
test al, al
jne 0x140043381
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 0x1400433a1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cl, 0x70
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, dword [0x140085908]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140043400
mov r8d, 1
mov byte [0x140085753], 0
lea rdx, [0x140053200]
mov byte [0x140085776], 0
lea rcx, [0x140085870]
mov byte [0x140085752], 0
mov byte [0x140085786], 0
call fcn.14003de20
mov r8d, 1
lea rdx, [0x140053200]
lea rcx, [0x1400858a8]
call fcn.14003de20
mov ecx, dword [0x140085914]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400434c3
mov r8d, 1
mov byte [0x140085753], 0
lea rdx, [0x140053200]
mov byte [0x140085776], 0
lea rcx, [0x140085870]
mov byte [0x140085752], 0
mov byte [0x140085786], 0
call fcn.14003de20
mov r8d, 1
lea rdx, [0x140053200]
lea rcx, [0x1400858a8]
call fcn.14003de20
mov r8d, 1
lea rdx, [0x140053200]
lea rcx, [0x1400857f0]
call fcn.14003de20
mov byte [0x140085754], 0
mov byte [0x14008578b], 0
mov byte [0x140085774], 0
mov byte [0x140085784], 0
mov byte [0x140085789], 0
mov byte [0x14008578a], 0
mov byte [0x140085756], 0
mov byte [0x140085787], 0
mov byte [0x140085757], 0
add rsp, 0x98
ret
cmp byte [0x140085784], 1
je 0x140043518
cmp byte [0x140085754], 1
je 0x140043518
cmp byte [0x14008578b], 1
je 0x140043518
cmp byte [0x140085774], 1
je 0x140043518
cmp byte [0x140085789], 1
je 0x140043518
cmp byte [0x14008578a], 1
je 0x140043518
cmp byte [0x140085756], 1
je 0x140043518
cmp byte [0x140085787], 1
je 0x140043518
cmp byte [0x140085757], 1
jne 0x140043772
mov qword [rsp + 0x58], r15
xor r15d, r15d
mov dword [rsp + 0xb0], r15d
call fcn.140042af0
test eax, eax
js 0x14004376d
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 [0x140053970]
nop
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14004373c
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14004373c
mov ecx, r15d
call fcn.140042a40
movzx eax, byte [0x140085777]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
cmp al, 1
jne 0x1400435c6
movaps xmm0, xmm1
mulss xmm0, xmm6
subss xmm1, xmm0
cvttss2si ebp, xmm1
add ebp, 2
jmp 0x1400435ca
cvttss2si ebp, xmm1
call fcn.1400429a0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
cmp al, 1
jne 0x1400435f0
movaps xmm0, xmm1
mulss xmm0, xmm6
subss xmm1, xmm0
cvttss2si r14d, xmm1
add r14d, 2
jmp 0x1400435f5
cvttss2si r14d, xmm1
mov ecx, r15d
mov dword [rsp + 0xa8], r14d
call fcn.1400421e0
mov ecx, r15d
cvttsd2si ebx, xmm0
call fcn.140041a30
xor ecx, ecx
xor r9d, r9d
mov dword [rsp + 0xa0], ecx
cvttsd2si eax, xmm0
mov dword [rsp + 0x30], eax
cmp ebp, 1
jl 0x1400436b7
mov r15d, eax
mov r12d, ebp
mov eax, ebp
mov r13d, ebx
mov qword [rsp + 0x38], rax
mov r14d, ebx
mov eax, r15d
mov qword [rsp + 0x20], 0
cdq
idiv ebp
mov esi, eax
mov eax, r13d
cdq
idiv ebp
mov edi, eax
mov eax, r12d
cdq
mov r8d, edi
idiv ebp
mov edx, esi
sub r8d, r9d
sub edx, ecx
xor r9d, r9d
mov ecx, 1
mov ebx, eax
call qword [sym.imp.USER32.dll_mouse_event]
mov ecx, ebx
sub ecx, dword [rsp + 0xa0]
call fcn.140042c10
add r15d, dword [rsp + 0x30]
add r13d, r14d
add r12d, ebp
mov dword [rsp + 0xa0], ebx
sub qword [rsp + 0x38], 1
mov ecx, esi
mov r9d, edi
jne 0x140043641
mov r14d, dword [rsp + 0xa8]
mov r15d, dword [rsp + 0xb0]
sub r14d, ebp
mov ecx, r14d
call fcn.140042c10
cmp byte [0x140085787], 1
je 0x140043707
cmp byte [0x14008578a], 1
je 0x140043723
call fcn.140042af0
cmp r15d, eax
jne 0x140043723
cmp byte [0x140085751], 1
jne 0x140043707
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 r9d, r9d
mov qword [rsp + 0x20], 0
xor r8d, r8d
xor edx, edx
mov ecx, 4
call qword [sym.imp.USER32.dll_mouse_event]
inc r15d
mov dword [rsp + 0xb0], r15d
call fcn.140042af0
cmp r15d, eax
jle 0x140043570
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