Function at 0x1400431c0
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x98
mov ecx, dword [0x140085904]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14004325c
cmp byte [0x140085784], 0
sete al
mov byte [0x140085784], al
cmp al, 1
jne 0x14004322a
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 0x14004324c
test al, al
jne 0x14004324c
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 0x1400432f1
cmp byte [0x140085754], 0
sete al
mov byte [0x140085754], al
cmp al, 1
jne 0x1400432bf
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 0x1400432e1
test al, al
jne 0x1400432e1
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 0x140043386
cmp byte [0x14008578b], 0
sete al
mov byte [0x14008578b], al
cmp al, 1
jne 0x140043354
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 0x140043376
test al, al
jne 0x140043376
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 0x14004341b
cmp byte [0x140085789], 0
sete al
mov byte [0x140085789], al
cmp al, 1
jne 0x1400433e9
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 0x14004340b
test al, al
jne 0x14004340b
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 0x1400434b0
cmp byte [0x140085774], 0
sete al
mov byte [0x140085774], al
cmp al, 1
jne 0x14004347e
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 0x1400434a0
test al, al
jne 0x1400434a0
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 0x140043545
cmp byte [0x140085787], 0
sete al
mov byte [0x140085787], al
cmp al, 1
jne 0x140043513
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 0x140043535
test al, al
jne 0x140043535
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 0x1400435da
cmp byte [0x14008578a], 0
sete al
mov byte [0x14008578a], al
cmp al, 1
jne 0x1400435a8
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 0x1400435ca
test al, al
jne 0x1400435ca
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 0x14004366f
cmp byte [0x140085756], 0
sete al
mov byte [0x140085756], al
cmp al, 1
jne 0x14004363d
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 0x14004365f
test al, al
jne 0x14004365f
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 0x14004370b
cmp byte [0x140085757], 0
sete al
mov byte [0x140085757], al
cmp al, 1
jne 0x1400436d9
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 0x1400436fb
test al, al
jne 0x1400436fb
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 0x140043755
cmp byte [0x140085786], 0
sete al
mov byte [0x140085786], al
cmp al, 1
jne 0x140043745
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 0x14004379f
cmp byte [0x14008578c], 0
sete al
mov byte [0x14008578c], al
cmp al, 1
jne 0x14004378f
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 0x1400437f6
cmp byte [0x140085775], 0
sete al
mov byte [0x140085775], al
cmp al, 1
jne 0x1400437e2
mov byte [0x140085786], 0
mov byte [0x140085776], 0
mov byte [0x140085752], 0
mov byte [0x14008578c], 0
jmp 0x1400437f6
test al, al
jne 0x1400437f6
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 0x14004384d
cmp byte [0x140085776], 0
sete al
mov byte [0x140085776], al
cmp al, 1
jne 0x140043839
mov byte [0x140085786], 0
mov byte [0x140085775], 0
mov byte [0x140085752], 0
mov byte [0x14008578c], 0
jmp 0x14004384d
test al, al
jne 0x14004384d
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 0x140043881
cmp byte [0x140085777], 0
sete al
mov byte [0x140085777], al
test al, al
jne 0x140043881
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 0x1400438a1
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 0x140043900
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.14003e330
mov r8d, 1
lea rdx, [0x140053200]
lea rcx, [0x1400858a8]
call fcn.14003e330
mov ecx, dword [0x140085914]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400439c3
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.14003e330
mov r8d, 1
lea rdx, [0x140053200]
lea rcx, [0x1400858a8]
call fcn.14003e330
mov r8d, 1
lea rdx, [0x140053200]
lea rcx, [0x1400857f0]
call fcn.14003e330
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 0x140043a18
cmp byte [0x140085754], 1
je 0x140043a18
cmp byte [0x14008578b], 1
je 0x140043a18
cmp byte [0x140085774], 1
je 0x140043a18
cmp byte [0x140085789], 1
je 0x140043a18
cmp byte [0x14008578a], 1
je 0x140043a18
cmp byte [0x140085756], 1
je 0x140043a18
cmp byte [0x140085787], 1
je 0x140043a18
cmp byte [0x140085757], 1
jne 0x140043c72
mov qword [rsp + 0x58], r15
xor r15d, r15d
mov dword [rsp + 0xb0], r15d
call fcn.140042ff0
test eax, eax
js 0x140043c6d
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 [0x140053968]
nop
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140043c3c
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140043c3c
mov ecx, r15d
call fcn.140042f40
movzx eax, byte [0x140085777]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
cmp al, 1
jne 0x140043ac6
movaps xmm0, xmm1
mulss xmm0, xmm6
subss xmm1, xmm0
cvttss2si ebp, xmm1
add ebp, 2
jmp 0x140043aca
cvttss2si ebp, xmm1
call fcn.140042ea0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
cmp al, 1
jne 0x140043af0
movaps xmm0, xmm1
mulss xmm0, xmm6
subss xmm1, xmm0
cvttss2si r14d, xmm1
add r14d, 2
jmp 0x140043af5
cvttss2si r14d, xmm1
mov ecx, r15d
mov dword [rsp + 0xa8], r14d
call fcn.1400426e0
mov ecx, r15d
cvttsd2si ebx, xmm0
call fcn.140041f30
xor ecx, ecx
xor r9d, r9d
mov dword [rsp + 0xa0], ecx
cvttsd2si eax, xmm0
mov dword [rsp + 0x30], eax
cmp ebp, 1
jl 0x140043bb7
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.140043110
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 0x140043b41
mov r14d, dword [rsp + 0xa8]
mov r15d, dword [rsp + 0xb0]
sub r14d, ebp
mov ecx, r14d
call fcn.140043110
cmp byte [0x140085787], 1
je 0x140043c07
cmp byte [0x14008578a], 1
je 0x140043c23
call fcn.140042ff0
cmp r15d, eax
jne 0x140043c23
cmp byte [0x140085751], 1
jne 0x140043c07
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.140042ff0
cmp r15d, eax
jle 0x140043a70
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