Function at 0x1402af750
Capabilities:
Log keystrokes via polling

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
movaps xmmword [rsp + 0x120], xmm15
movaps xmmword [rsp + 0x110], xmm14
movaps xmmword [rsp + 0x100], xmm13
movaps xmmword [rsp + 0xf0], xmm12
movaps xmmword [rsp + 0xe0], xmm11
movaps xmmword [rsp + 0xd0], xmm10
movaps xmmword [rsp + 0xc0], xmm9
movaps xmmword [rsp + 0xb0], xmm8
movaps xmmword [rsp + 0xa0], xmm7
movapd xmmword [rsp + 0x90], xmm6
mov rsi, rcx
mov dword [rsp + 0x40], edx
shr rdx, 0x20
movsd xmm0, qword [0x14083dfb8]
mulsd xmm0, qword [0x1403f16c0]
mov dword [rsp + 0x44], edx
movsd xmm10, qword [0x1403dd5e0]
movapd xmm1, xmm10
divsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
cdqe
imul rcx, rax, 0x66666667
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x21
add ecx, edx
lea ecx, [rcx + rcx*4]
neg ecx
add eax, ecx
add eax, 1
mov dword [rsp + 0x3c], eax
movss xmm0, dword [0x14083dfb0]
movss dword [rsp + 0x28], xmm0
lea rax, [rsi + 4]
mov qword [rsp + 0x80], rax
mov eax, 0xce75f512
movsd xmm7, qword [0x1403f16c8]
movsd xmm9, qword [0x1403f16f0]
xorpd xmm6, xmm6
mov edx, 0x8c6d937d
mov ebp, 0x644ba5a1
mov ebx, 0xb7bee7ec
movsd xmm11, qword [0x1403f16d0]
mov r15d, 0x5bdc4cf9
movsd xmm12, qword [0x1403f16f8]
mov r14d, 0x158cc80d
movsd xmm13, qword [0x1403f16e8]
movsd xmm14, qword [0x1403f16e0]
movsd xmm15, qword [0x1403f1700]
mov r12d, 0xfac6748
mov r13d, 0x1436aaf4
mov edi, 0xd87fe35
jmp 0x1402af8d0
movss xmm1, dword [rsp + 0x28]
mov eax, 0x158cc80d
nop word [rax + rax]
cmp eax, 0xfc1c4e7e
jle 0x1402af940
cmp eax, 0x3c10a3a0
jg 0x1402afa50
cmp eax, 0x13b7273a
jle 0x1402afaee
cmp eax, 0x158cc80c
jle 0x1402afbde
cmp eax, 0x158cc80d
je 0x1402afdcd
cmp eax, 0x1e5862df
je 0x1402afe0d
cmp eax, 0x213751a4
jne 0x1402af8d0
movsd qword [rsp + 0x60], xmm8
cmp byte [0x14083df92], 0
mov eax, 0xdb0d1c94
mov ecx, 0xdfce3560
jmp 0x1402afe49
cmp eax, 0xaf22e753
jle 0x1402afaa0
cmp eax, 0xcdfe1b5c
jle 0x1402afb19
cmp eax, 0xdb0d1c93
jle 0x1402afc0d
cmp eax, 0xdb0d1c94
je 0x1402afe2b
cmp eax, 0xdfce3560
je 0x1402afe57
cmp eax, 0xfbe7dcb8
jne 0x1402af8d0
movss xmm1, dword [rsp + 0x40]
cvtss2sd xmm1, xmm1
movsd xmm2, qword [rsp + 0x20]
movsd xmm2, qword [rsp + 0x20]
movsd xmm2, qword [rsp + 0x20]
movsd xmm2, qword [rsp + 0x20]
movsd xmm2, qword [rsp + 0x20]
movsd xmm2, qword [rsp + 0x20]
movsd xmm2, qword [rsp + 0x20]
movsd xmm2, qword [rsp + 0x20]
movsd xmm2, qword [rsp + 0x20]
movsd xmm2, qword [rsp + 0x20]
mulsd xmm1, qword [rsp + 0x20]
movsd xmm2, qword [rsp + 0x30]
movsd xmm2, qword [rsp + 0x30]
divsd xmm1, qword [rsp + 0x30]
cvtsd2ss xmm1, xmm1
movss dword [rsi], xmm1
movss xmm1, dword [rsp + 0x44]
cvtss2sd xmm1, xmm1
movsd xmm2, qword [rsp + 0x20]
movsd xmm2, qword [rsp + 0x20]
movsd xmm2, qword [rsp + 0x20]
movsd xmm2, qword [rsp + 0x20]
mulsd xmm1, qword [rsp + 0x20]
movsd xmm2, qword [rsp + 0x30]
movsd xmm2, qword [rsp + 0x30]
movsd xmm2, qword [rsp + 0x30]
movsd xmm2, qword [rsp + 0x30]
movsd xmm2, qword [rsp + 0x30]
divsd xmm1, qword [rsp + 0x30]
cvtsd2ss xmm1, xmm1
movss dword [rsi + 4], xmm1
mov eax, 0x5bdc4cf9
jmp 0x1402af8d0
cmp eax, 0x644ba5a0
jle 0x1402afb6f
cmp eax, 0x720eb956
jle 0x1402afc3c
cmp eax, 0x720eb957
je 0x1402afe85
cmp eax, 0x79d60bb3
jne 0x1402b001a
movss xmm1, dword [rsp + 0x28]
xorps xmm8, xmm8
cvtss2sd xmm8, xmm1
mulsd xmm8, xmm15
mov eax, 0x213751a4
jmp 0x1402af8d0
cmp eax, 0x93fa5ed0
jg 0x1402afba4
cmp eax, 0x8c6d937c
jg 0x1402afc6b
cmp eax, 0x81faff8e
je 0x1402afeb4
cmp eax, 0x8b5f8225
jne 0x1402af8d0
movss xmm1, dword [rsp + 0x28]
xorps xmm8, xmm8
cvtss2sd xmm8, xmm1
mulsd xmm8, qword [0x1403f16d8]
mov eax, 0x213751a4
jmp 0x1402af8d0
cmp eax, 0xd87fe34
jg 0x1402afc9f
cmp eax, 0xfc1c4e7f
je 0x1402afee3
cmp eax, 0xbae2dad
jne 0x1402af8d0
mov eax, 0x8b5f8225
jmp 0x1402af8d0
cmp eax, 0xbbf3f073
jg 0x1402afcc9
cmp eax, 0xaf22e754
je 0x1402aff01
cmp eax, 0xb7bee7ec
jne 0x1402af8d0
movsd xmm1, qword [rsp + 0x58]
ucomisd xmm1, xmm6
seta byte [rsp + 0x2f]
mov eax, dword [0x14083eeb0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xa7f9a735
cmove eax, ebp
cmp dword [0x14083eeb4], 0xa
cmovl eax, ebp
jmp 0x1402af8d0
cmp eax, 0x47bdaecc
jg 0x1402afcf4
cmp eax, 0x3c10a3a1
je 0x1402aff2d
cmp eax, 0x3dea5be9
jne 0x1402af8d0
ucomisd xmm6, qword [rsp + 0x68]
mov eax, 0xaf22e754
cmova eax, r13d
jmp 0x1402af8d0
cmp eax, 0x9dd724b8
jg 0x1402afda7
cmp eax, 0x93fa5ed1
je 0x1402af8bc
cmp eax, 0x9b3f56ea
jne 0x1402af8d0
mov eax, dword [rsp + 0x3c]
cmp eax, 5
mov eax, 0x1e5862df
mov ecx, 0x13b7273b
cmovl eax, ecx
jmp 0x1402af8d0
cmp eax, 0x13b7273b
je 0x1402aff46
cmp eax, 0x1436aaf4
jne 0x1402af8d0
movss xmm1, dword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
movss dword [rax], xmm1
mov eax, 0xaf22e754
jmp 0x1402af8d0
cmp eax, 0xcdfe1b5d
je 0x1402aff6e
cmp eax, 0xce75f512
jne 0x1402af8d0
mov eax, dword [rsp + 0x3c]
cmp eax, 3
mov eax, 0x3c10a3a1
mov ecx, 0x6ed47389
cmovl eax, ecx
jmp 0x1402af8d0
cmp eax, 0x644ba5a1
je 0x1402aff85
cmp eax, 0x6ed47389
jne 0x1402af8d0
mov eax, dword [rsp + 0x3c]
cmp eax, 2
mov eax, 0xfc1c4e7f
mov ecx, 0x47bdaecd
cmovl eax, ecx
jmp 0x1402af8d0
cmp eax, 0x8c6d937d
je 0x1402aff98
cmp eax, 0x8c83dcc3
jne 0x1402af8d0
movss xmm1, dword [rsp + 0x28]
xorps xmm8, xmm8
cvtss2sd xmm8, xmm1
mulsd xmm8, xmm9
mov eax, 0x213751a4
jmp 0x1402af8d0
cmp eax, 0xd87fe35
je 0x1402affb1
cmp eax, 0xfac6748
jne 0x1402af8d0
mov eax, 0x213751a4
movsd xmm8, qword [rsp + 0x88]
jmp 0x1402af8d0
cmp eax, 0xbbf3f074
je 0x1402affc8
cmp eax, 0xcb52a89c
jne 0x1402af8d0
movsd xmm0, qword [rsp + 0x60]
mulsd xmm0, xmm11
mov eax, 0xdfce3560
jmp 0x1402af8d0
cmp eax, 0x47bdaecd
je 0x1402affee
cmp eax, 0x5bdc4cf9
jne 0x1402af8d0
movss xmm1, dword [rsp + 0x40]
cvtss2sd xmm1, xmm1
mulsd xmm1, qword [rsp + 0x20]
divsd xmm1, qword [rsp + 0x30]
cvtsd2ss xmm1, xmm1
mov qword [rsp + 0x48], rsi
mov rax, qword [rsp + 0x48]
movss dword [rax], xmm1
movss xmm1, dword [rsp + 0x44]
cvtss2sd xmm1, xmm1
mulsd xmm1, qword [rsp + 0x20]
divsd xmm1, qword [rsp + 0x30]
cvtsd2ss xmm1, xmm1
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movss dword [rax], xmm1
mov rax, qword [rsp + 0x48]
movss xmm1, dword [rax]
cvtss2sd xmm1, xmm1
movsd qword [rsp + 0x58], xmm1
ucomisd xmm10, qword [rsp + 0x58]
seta byte [rsp + 0x2e]
mov eax, dword [0x14083eeb0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xfbe7dcb8
cmove eax, edi
cmp dword [0x14083eeb4], 0xa
cmovl eax, edi
jmp 0x1402af8d0
cmp eax, 0x9dd724b9
je 0x1402b0007
cmp eax, 0xa7f9a735
jne 0x1402af8d0
movsd xmm1, qword [rsp + 0x58]
mov eax, 0xb7bee7ec
jmp 0x1402af8d0
movss xmm1, dword [rsp + 0x28]
cvtss2sd xmm1, xmm1
mulsd xmm1, xmm13
movsd qword [rsp + 0x88], xmm1
mov eax, dword [0x14083eeb0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x93fa5ed1
cmove eax, r12d
cmp dword [0x14083eeb4], 0xa
cmovl eax, r12d
jmp 0x1402af8d0
movss xmm1, dword [rsp + 0x28]
xorps xmm8, xmm8
cvtss2sd xmm8, xmm1
mulsd xmm8, xmm14
mov eax, 0x213751a4
jmp 0x1402af8d0
mov ecx, dword [0x14083dfc4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov edx, 0x8c6d937d
test ax, ax
mov eax, 0xdfce3560
mov ecx, 0xcb52a89c
cmove eax, ecx
movsd xmm0, qword [rsp + 0x60]
jmp 0x1402af8d0
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x14083eeb0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xfbe7dcb8
cmove eax, r15d
cmp dword [0x14083eeb4], 0xa
cmovl eax, r15d
jmp 0x1402af8d0
mov rax, qword [rsp + 0x48]
movss xmm1, dword [rax]
cvtss2sd xmm1, xmm1
movsd qword [rsp + 0x68], xmm1
movsd xmm1, qword [rsp + 0x68]
ucomisd xmm1, xmm7
mov eax, 0xaf22e754
mov ecx, 0x3dea5be9
cmova eax, ecx
jmp 0x1402af8d0
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax]
cvtss2sd xmm1, xmm1
movsd qword [rsp + 0x78], xmm1
movsd xmm1, qword [rsp + 0x78]
ucomisd xmm1, xmm7
mov eax, 0x77272497
mov ecx, 0x9dd724b9
cmova eax, ecx
jmp 0x1402af8d0
movss xmm1, dword [rsp + 0x28]
xorps xmm8, xmm8
cvtss2sd xmm8, xmm1
mulsd xmm8, xmm12
mov eax, 0x213751a4
jmp 0x1402af8d0
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax]
cvtss2sd xmm1, xmm1
movsd qword [rsp + 0x70], xmm1
ucomisd xmm10, qword [rsp + 0x70]
mov eax, 0x81faff8e
mov ecx, 0xcdfe1b5d
cmova eax, ecx
jmp 0x1402af8d0
mov eax, dword [rsp + 0x3c]
cmp eax, 4
mov eax, 0x9b3f56ea
mov ecx, 0x8c83dcc3
cmovl eax, ecx
jmp 0x1402af8d0
mov eax, dword [0x14083eeb0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x93fa5ed1
cmove eax, r14d
cmp dword [0x14083eeb4], 0xa
cmovl eax, r14d
jmp 0x1402af8d0
movsd xmm1, qword [rsp + 0x70]
ucomisd xmm1, xmm6
mov eax, 0x81faff8e
cmova eax, edx
jmp 0x1402af8d0
cmp byte [rsp + 0x2f], 0
mov eax, 0x720eb957
cmovne eax, r13d
jmp 0x1402af8d0
movss xmm1, dword [rsp + 0x44]
mov rax, qword [rsp + 0x50]
movss dword [rax], xmm1
mov eax, 0x77272497
jmp 0x1402af8d0
cmp byte [rsp + 0x2e], 0
mov eax, 0x720eb957
mov ecx, 0xbbf3f074
cmovne eax, ecx
jmp 0x1402af8d0
mov eax, dword [0x14083eeb0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xa7f9a735
cmove eax, ebx
cmp dword [0x14083eeb4], 0xa
cmovl eax, ebx
jmp 0x1402af8d0
mov eax, dword [rsp + 0x3c]
cmp eax, 1
mov eax, 0xbae2dad
mov ecx, 0x79d60bb3
cmove eax, ecx
jmp 0x1402af8d0
ucomisd xmm6, qword [rsp + 0x78]
mov eax, 0x77272497
cmova eax, edx
jmp 0x1402af8d0
cmp eax, 0x77272497
jne 0x1402af8d0
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xf0]
movaps xmm13, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0x110]
movaps xmm15, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret