Function at 0x140003560
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
push rbx
lea rbp, [r11 - 0x5f]
sub rsp, 0x88
mov rax, qword [0x1400f7028]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rax, qword [0x14012d138]
mov rbx, rcx
cmp byte [rax + 0x89], 0
je 0x140003d85
mov qword [r11 + 0x10], rsi
mov ecx, 0x38
mov qword [r11 + 0x18], rdi
mov qword [r11 - 0x18], r14
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [r11 - 0x38], xmm9
movaps xmmword [r11 - 0x48], xmm13
mov dword [rbp - 0x19], 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400035e8
mov eax, 9
mov dword [rbp - 0xd], 8
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], ax
lea r8d, [rax + 0x1f]
lea ecx, [rax - 8]
call qword [sym.imp.USER32.dll_SendInput]
movss xmm1, dword [rbx]
movss xmm0, dword [rbx + 4]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movss xmm13, dword [0x1400ddfc0]
movss xmm6, dword [rbx + 0x3c]
mulss xmm0, xmm13
divss xmm0, dword [0x1400ddedc]
subss xmm6, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll__fdclass
xorps xmm9, xmm9
test ax, ax
jg 0x14000363c
movss xmm1, dword [0x1400ddfdc]
movaps xmm0, xmm6
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
movaps xmm1, xmm0
jmp 0x14000363f
xorps xmm1, xmm1
movss xmm4, dword [0x1400de098]
movaps xmm2, xmm1
movss xmm3, dword [0x1400de6b0]
subss xmm2, xmm4
movss xmm0, dword [0x1400de024]
xorps xmm6, xmm6
andps xmm2, xmm3
comiss xmm0, xmm2
jbe 0x14000366f
movaps xmm0, xmm2
movaps xmm6, xmm4
movaps xmm2, xmm1
subss xmm2, dword [0x1400de090]
andps xmm2, xmm3
comiss xmm0, xmm2
jbe 0x14000368d
movss xmm6, dword [0x1400de090]
movaps xmm0, xmm2
movaps xmm2, xmm1
subss xmm2, dword [0x1400de088]
andps xmm2, xmm3
comiss xmm0, xmm2
jbe 0x1400036ab
movss xmm6, dword [0x1400de088]
movaps xmm0, xmm2
movaps xmm2, xmm1
subss xmm2, xmm9
andps xmm2, xmm3
comiss xmm0, xmm2
jbe 0x1400036c1
movaps xmm0, xmm2
xorps xmm6, xmm6
movaps xmm2, xmm1
subss xmm2, dword [0x1400ddf74]
andps xmm2, xmm3
comiss xmm0, xmm2
jbe 0x1400036df
movss xmm6, dword [0x1400ddf74]
movaps xmm0, xmm2
movaps xmm2, xmm1
subss xmm2, dword [0x1400ddf90]
andps xmm2, xmm3
comiss xmm0, xmm2
jbe 0x1400036fd
movss xmm6, dword [0x1400ddf90]
movaps xmm0, xmm2
movaps xmm2, xmm1
subss xmm2, dword [0x1400ddfa8]
andps xmm2, xmm3
comiss xmm0, xmm2
jbe 0x14000371b
movss xmm6, dword [0x1400ddfa8]
movaps xmm0, xmm2
subss xmm1, xmm13
andps xmm1, xmm3
comiss xmm0, xmm1
jbe 0x14000372c
movaps xmm6, xmm13
ucomiss xmm6, xmm4
mov ebx, 0xa
lea r14d, [rbx + 3]
lea edi, [rbx + 1]
lea esi, [rbx + 2]
jp 0x1400037fa
jne 0x1400037fa
lea ecx, [rbx + 0x2f]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140003774
lea r8d, [rbx + 0x1e]
mov dword [rbp - 0xd], 8
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], bx
lea ecx, [rbx - 9]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0x30
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000379f
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], di
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbd
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400037ca
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], si
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbb
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400037fa
mov r8d, 0x28
mov dword [rbp - 0xd], 8
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], r14w
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
ucomiss xmm6, dword [0x1400de090]
jp 0x1400038be
jne 0x1400038be
mov ecx, 0x39
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140003838
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], bx
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0x30
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140003863
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], di
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbd
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000388e
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], si
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbb
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400038be
mov r8d, 0x28
mov dword [rbp - 0xd], 8
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], r14w
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
ucomiss xmm6, dword [0x1400de088]
jp 0x140003986
jne 0x140003986
mov ecx, 0x39
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400038fc
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], bx
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0x30
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14000392b
mov r8d, 0x28
mov dword [rbp - 0xd], 8
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], di
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbd
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140003956
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], si
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbb
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140003986
mov r8d, 0x28
mov dword [rbp - 0xd], 8
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], r14w
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
ucomiss xmm6, xmm9
movaps xmm9, xmmword [rsp + 0x60]
jp 0x140003a4d
jne 0x140003a4d
mov ecx, 0x39
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400039c7
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], bx
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0x30
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400039f6
mov r8d, 0x28
mov dword [rbp - 0xd], 8
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], di
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbd
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140003a21
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], si
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbb
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140003a4d
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], r14w
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
ucomiss xmm6, dword [0x1400ddf74]
jp 0x140003b15
jne 0x140003b15
mov ecx, 0x39
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140003a8b
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], bx
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0x30
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140003aba
mov r8d, 0x28
mov dword [rbp - 0xd], 8
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], di
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbd
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140003ae9
mov r8d, 0x28
mov dword [rbp - 0xd], 8
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], si
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbb
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140003b15
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], r14w
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
ucomiss xmm6, dword [0x1400ddf90]
jp 0x140003bd9
jne 0x140003bd9
mov ecx, 0x39
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140003b53
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], bx
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0x30
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140003b7e
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], di
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbd
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140003bad
mov r8d, 0x28
mov dword [rbp - 0xd], 8
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], si
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbb
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140003bd9
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], r14w
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
ucomiss xmm6, dword [0x1400ddfa8]
jp 0x140003ca1
jne 0x140003ca1
mov ecx, 0x39
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140003c1b
mov r8d, 0x28
mov dword [rbp - 0xd], 8
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], bx
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0x30
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140003c46
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], di
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbd
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140003c75
mov r8d, 0x28
mov dword [rbp - 0xd], 8
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], si
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbb
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140003ca1
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], r14w
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
ucomiss xmm6, xmm13
movaps xmm13, xmmword [rsp + 0x50]
movaps xmm6, xmmword [rsp + 0x70]
jp 0x140003d6d
jne 0x140003d6d
mov ecx, 0x39
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140003ceb
mov r8d, 0x28
mov dword [rbp - 0xd], 8
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], bx
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0x30
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140003d16
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], di
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbd
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140003d41
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], si
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xbb
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140003d6d
mov r8d, 0x28
mov dword [rbp - 0xd], ebx
lea rdx, [rbp - 0x19]
mov word [rbp - 0xf], r14w
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov rdi, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x80]
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.1400c94e0
add rsp, 0x88
pop rbx
pop rbp
ret