Function at 0x14003c030
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x120
movaps xmmword [rsp + 0xa0], xmm13
mov rax, qword [0x140125040]
xor rax, rsp
mov qword [rsp + 0x78], rax
cmp byte [0x140125c1c], 0
movaps xmm13, xmm2
mov ebx, dword [0x140126854]
mov edi, dword [0x140126844]
je 0x14003c34b
mov ecx, dword [0x140125c60]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003c34b
lea rcx, [0x1401250c0]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x14003c0a4
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
cmp dword [0x14012510c], 0x7fffffff
jne 0x14003c0c6
mov ecx, 6
mov dword [0x14012510c], 0x7ffffffe
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, dword [0x140125c00]
xorps xmm1, xmm1
movaps xmmword [rsp + 0x100], xmm7
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [0x140125c2c]
mov dword [0x140126850], eax
movaps xmmword [rsp + 0xe0], xmm9
xorps xmm7, xmm7
movaps xmmword [rsp + 0xd0], xmm10
xorps xmm9, xmm9
movaps xmmword [rsp + 0xc0], xmm11
xorps xmm10, xmm10
cvtsi2sd xmm1, ebx
mov ebx, 1
movaps xmmword [rsp + 0xb0], xmm12
xorps xmm11, xmm11
movaps xmmword [rsp + 0x90], xmm14
xorps xmm12, xmm12
movsd xmm14, qword [0x14011bcd0]
comisd xmm13, xmm14
movaps xmmword [rsp + 0x80], xmm15
xorps xmm15, xmm15
cvtsi2sd xmm15, edi
divsd xmm1, xmm13
divsd xmm15, xmm13
mulsd xmm1, xmm0
mulsd xmm15, xmm0
movsd qword [rsp + 0x40], xmm1
jb 0x14003c300
mov qword [rsp + 0x130], rsi
movaps xmm2, xmm14
movaps xmmword [rsp + 0x110], xmm6
xor esi, esi
movaps xmmword [rsp + 0xf0], xmm8
nop
divsd xmm1, xmm2
lea rdx, [rsp + 0x48]
cvttsd2si edi, xmm1
movaps xmm1, xmm15
divsd xmm1, xmm2
cvttsd2si eax, xmm1
movd xmm8, eax
cvtdq2pd xmm8, xmm8
movaps xmm0, xmm8
movsd qword [rsp + 0x48], xmm8
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_modf]
addsd xmm11, xmm0
comisd xmm11, xmm14
jbe 0x14003c1ea
lea rdx, [rsp + 0x50]
movsd qword [rsp + 0x50], xmm12
movaps xmm0, xmm11
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_modf]
movaps xmm11, xmm0
movd xmm6, edi
lea rdx, [rsp + 0x50]
cvtdq2pd xmm6, xmm6
movaps xmm0, xmm6
movsd qword [rsp + 0x50], xmm6
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_modf]
addsd xmm7, xmm0
comisd xmm7, xmm14
jbe 0x14003c229
lea rdx, [rsp + 0x48]
movsd qword [rsp + 0x48], xmm12
movaps xmm0, xmm7
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_modf]
movaps xmm7, xmm0
cmp byte [0x1401290a9], sil
movaps xmm0, xmm8
mov rcx, qword [0x140125ba0]
subsd xmm0, xmm9
movaps xmm1, xmm6
subsd xmm1, xmm10
lea rax, [rcx - 1]
cvttsd2si edx, xmm0
cvttsd2si r8d, xmm1
je 0x14003c286
cmp rax, 0xfffffffffffffffd
ja 0x14003c2c4
movd xmm0, r8d
lea r8, [rsp + 0x58]
cvtdq2pd xmm0, xmm0
mov dword [rsp + 0x58], edx
mov word [rsp + 0x60], si
addsd xmm0, qword [0x1401290a0]
cvttsd2si eax, xmm0
mov dword [rsp + 0x5c], eax
jmp 0x14003c29f
cmp rax, 0xfffffffffffffffd
ja 0x14003c2c4
mov dword [rsp + 0x6c], r8d
lea r8, [rsp + 0x68]
mov dword [rsp + 0x68], edx
mov word [rsp + 0x70], si
mov edx, dword [0x140125b98]
mov r9d, 0xc
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movsd xmm1, qword [rsp + 0x40]
inc ebx
movaps xmm9, xmm8
movaps xmm10, xmm6
movd xmm2, ebx
cvtdq2pd xmm2, xmm2
comisd xmm13, xmm2
jae 0x14003c190
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x110]
mov rsi, qword [rsp + 0x130]
lea rcx, [0x1401250c0]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
movaps xmm15, xmmword [rsp + 0x80]
movaps xmm14, xmmword [rsp + 0x90]
movaps xmm12, xmmword [rsp + 0xb0]
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0x100]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140050ad0
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x18]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop rdi
ret