Function at 0x1404ab1a0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x178
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xe0], xmm8
movaps xmmword [rbp + 0xd0], xmm7
movaps xmmword [rbp + 0xc0], xmm6
mov qword [rbp + 0xb8], 0xfffffffffffffffe
cmp byte [0x140ae7d41], 0
je 0x1404ab1f6
mov ecx, dword [0x140ae7d78]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1404ab220
movaps xmm6, xmmword [rbp + 0xc0]
movaps xmm7, xmmword [rbp + 0xd0]
movaps xmm8, xmmword [rbp + 0xe0]
add rsp, 0x178
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movsxd r8, dword [0x140ad7690]
cmp r8, 0xffffffffffffffff
je 0x1404ab439
mov eax, dword [0x140ae9550]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete byte [rbp + 0x78]
mov eax, dword [0x140ae9554]
sete cl
cmp eax, 0xa
setl al
setl byte [rbp]
or al, cl
mov ecx, 0x80d00a0c
mov eax, 0x1d766c62
cmove ecx, eax
mov edi, 0xc47d1353
cmove edi, eax
mov ebx, 0x2eaf983b
mov eax, 0x2df64dc5
cmove ebx, eax
mov edx, 0xb4343df2
lea r9, [0x140ae7938]
mov esi, 0xa4b8111f
jmp 0x1404ab2a0
mov edx, 0xa4b8111f
nop word cs:[rax + rax]
nop dword [rax]
mov eax, edx
cmp edx, 0xdd958dc1
jle 0x1404ab2d0
cmp eax, 0x2df64dc4
jle 0x1404ab2f0
cmp eax, 0x2df64dc5
je 0x1404ab28e
cmp eax, 0x2eaf983b
jne 0x1404ab356
mov edx, 0xdd958dc2
jmp 0x1404ab2a0
cmp eax, 0xb4343df1
jg 0x1404ab310
cmp eax, 0x80d00a0c
je 0x1404ab332
mov edx, eax
cmp eax, 0xa4b8111f
jne 0x1404ab2a0
mov qword [rbp + 0x10], r9
mov edx, ebx
jmp 0x1404ab2a0
mov edx, edi
cmp eax, 0xdd958dc2
je 0x1404ab2a0
mov edx, eax
cmp eax, 0x1d766c62
jne 0x1404ab2a0
mov rax, qword [rbp + 0x10]
mov edx, 0xc47d1353
jmp 0x1404ab2a0
cmp eax, 0xb4343df2
je 0x1404ab33c
mov edx, eax
cmp eax, 0xc47d1353
jne 0x1404ab2a0
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov qword [rbp + 0x30], rax
mov edx, ecx
jmp 0x1404ab2a0
mov edx, 0x6b2314b5
jmp 0x1404ab2a0
movzx eax, byte [rbp + 0x78]
cmp byte [rbp], 0
mov edx, 0x2df64dc5
cmovne edx, esi
test al, al
cmovne edx, esi
jmp 0x1404ab2a0
mov edx, eax
cmp eax, 0x6b2314b5
jne 0x1404ab2a0
mov rax, qword [rbp + 0x30]
shl r8, 5
movups xmm0, xmmword [rax + r8]
movups xmm1, xmmword [rax + r8 + 0x10]
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x40], xmm1
cmp qword [rbp + 0x30], 0
je 0x1404ab1f6
mov eax, dword [rbp + 0x48]
add eax, 0xffffffa6
cmp eax, 0xf
ja 0x1404ab1f6
cmp dword [rbp + 0x4c], 1
jne 0x1404abd60
lea rdi, [rbp + 0x38]
mov rdx, qword [rbp + 0x38]
mov rcx, rbp
mov r8d, 0x64
call fcn.140383630
mov r8d, dword [0x140aca8e0]
add r8, qword [0x140ae7828]
lea rcx, [0x140ae75f8]
lea rdx, [rbp + 0x10]
mov r9d, Ordinal_32
call fcn.140384320
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x80], eax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x78], rax
movss xmm7, dword [0x1406840d8]
divss xmm7, dword [rbp + 0x28]
addss xmm7, dword [0x14066ec44]
mov eax, dword [0x140aca858]
add rax, qword [rbp + 0x30]
mov ecx, 0x775d920
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp ecx, 0x775d920
je 0x1404ab432
cmp ecx, 0x3215b1d2
jne 0x1404ab420
jmp 0x1404ab445
mov ecx, 0x3215b1d2
jmp 0x1404ab420
mov byte [0x140ae76d8], 0
jmp 0x1404ab1f6
mov qword [rbp - 0x60], rax
mov rdx, qword [rbp - 0x60]
lea rcx, [0x140ae75f8]
mov r8d, 8
call fcn.1403808d0
mov ecx, dword [0x140aca85c]
add rax, rcx
lea rcx, [0x140ae75f8]
lea rdx, [rbp - 0x10]
mov r9d, ntohs
mov r8, rax
call fcn.14039be70
mulss xmm7, dword [0x14066f4e0]
mov rbx, qword [rbp + 0x30]
mov eax, dword [0x140aca858]
mov dword [rbp + 0xa0], eax
mov edx, 0xb0b669ee
lea rsi, [0x140ae75f8]
nop word cs:[rax + rax]
nop
cmp edx, 0x763d0018
je 0x1404ab4e4
cmp edx, 0xb0b669ee
jne 0x1404ab4b0
mov edx, dword [rbp + 0xa0]
add rdx, rbx
mov r8d, 8
mov rcx, rsi
call fcn.1403808d0
mov ecx, dword [0x140aca860]
mov edx, 0x763d0018
jmp 0x1404ab4b0
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x58], rcx
mov r8, qword [rbp + 0x68]
add r8, qword [rbp + 0x58]
lea rcx, [0x140ae75f8]
lea rdx, [rbp - 0x60]
mov r9d, ntohs
call fcn.14039be70
mov rdx, qword [rbp + 0x30]
mov rcx, qword [0x140ae7980]
call fcn.140487090
movaps xmm6, xmm0
mov rdx, qword [rbp + 0x30]
mov rcx, qword [0x140ae7980]
call fcn.1404871b0
mov edx, 1
xorps xmm0, xmm0
ucomiss xmm0, xmm6
jae 0x1404ab8c6
cmp byte [0x140ae7c33], 0
je 0x1404ab8d2
mov rax, qword [rbp + 0x30]
mov qword [0x140ae76c8], rax
mov qword [rbp + 0x88], rdi
mov rcx, qword [rbp + 0x88]
mov rcx, qword [rcx]
mov qword [0x140ae76d0], rcx
mov edx, dword [0x140aca8ec]
add rdx, rax
lea rcx, [0x140ae75f8]
mov r8d, 8
call fcn.1403808d0
mov ecx, dword [0x140aca8f4]
add rax, rcx
lea rcx, [0x140ae75f8]
mov r8d, 1
mov rdx, rax
call fcn.1405a8290
mov byte [rbp + 0xb7], al
mov al, byte [rbp + 0xb7]
mov rax, qword [rbp + 0x88]
mov rax, qword [rax]
mov qword [rbp + 0xa0], rax
mov eax, 0x6f36ab55
mov r12d, 0xa2f365cd
lea rdi, [0x140ae75f8]
movss xmm6, dword [0x140675e60]
mov r13d, 0x8230697b
mov ebx, 0xb9d133e8
mov esi, 0x6a152e2d
mov r14d, 0x1c42da65
jmp 0x1404ab600
mov eax, 0x1c42da65
nop dword [rax + rax]
cmp eax, 0xd5d6c407
jle 0x1404ab650
cmp eax, 0x61cec23c
jle 0x1404ab690
cmp eax, 0x6c3398a0
jg 0x1404ab739
cmp eax, 0x61cec23d
je 0x1404ab7e5
cmp eax, 0x6a152e2d
jne 0x1404ab600
cmp byte [rbp + 0xb4], 0
mov eax, 0x6634eeb
cmovne eax, r13d
movzx r15d, byte [rbp + 0xb5]
jmp 0x1404ab600
cmp eax, 0xc5dc64af
jle 0x1404ab6e0
cmp eax, 0xce05d392
jg 0x1404ab794
cmp eax, 0xc5dc64b0
je 0x1404ab7f7
cmp eax, 0xcb4dc6b6
jne 0x1404ab600
mov eax, dword [rbp + 0x48]
mov dword [rbp + 0x98], eax
mov eax, 0xd123d11d
jmp 0x1404ab600
cmp eax, 0x1c42da64
jle 0x1404ab7d0
cmp eax, 0x1c42da65
je 0x1404ab845
cmp eax, 0x3947f6d1
jne 0x1404ab600
mov eax, dword [0x140ae9468]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x6c3398a1
cmove eax, r14d
cmp dword [0x140ae946c], 0xa
cmovl eax, r14d
jmp 0x1404ab600
cmp eax, 0x8230697b
je 0x1404ab86b
cmp eax, 0xa2f365cd
je 0x1404ab88a
cmp eax, 0xb9d133e8
jne 0x1404ab600
mov eax, dword [rbp + 0x98]
cmp eax, 0x67
sete byte [rbp + 0xb4]
mov eax, dword [0x140ae9468]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xce05d393
cmove eax, r12d
cmp dword [0x140ae946c], 0xa
cmovl eax, r12d
jmp 0x1404ab600
cmp eax, 0x6c3398a1
je 0x1404ab5f6
cmp eax, 0x6f36ab55
jne 0x1404ab600
mov edx, dword [0x140aca8c4]
add rdx, qword [rbp + 0xa0]
mov r8d, 4
mov rcx, rdi
call fcn.1403881e0
movss dword [rbp + 0xac], xmm0
mov rax, qword [rbp + 0x88]
mov rax, qword [rax]
mov qword [rbp + 0x68], rax
mov eax, dword [0x140aca8c0]
mov qword [rbp + 0x58], rax
mov eax, 0xc5dc64b0
jmp 0x1404ab600
cmp eax, 0xce05d393
je 0x1404ab894
cmp eax, 0xd123d11d
jne 0x1404ab600
mov eax, dword [0x140ae9468]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xce05d393
cmove eax, ebx
cmp dword [0x140ae946c], 0xa
cmovl eax, ebx
jmp 0x1404ab600
cmp eax, 0xd5d6c408
jne 0x1404ab8a4
mov eax, 0x61cec23d
jmp 0x1404ab600
mov eax, 0x6634eeb
movzx r15d, byte [rbp + 0xb3]
jmp 0x1404ab600
mov rdx, qword [rbp + 0x68]
add rdx, qword [rbp + 0x58]
mov r8d, 4
mov rcx, rdi
call fcn.1403881e0
movss xmm1, dword [rbp + 0xac]
addss xmm1, xmm6
ucomiss xmm1, xmm0
setae byte [rbp + 0xb6]
movzx eax, byte [rbp + 0xb6]
cmp byte [0x140ae7c31], 0
mov byte [rbp + 0xb5], al
mov eax, 0xcb4dc6b6
cmove eax, r13d
jmp 0x1404ab600
mov eax, dword [0x140ae9468]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x6c3398a1
cmove eax, esi
cmp dword [0x140ae946c], 0xa
cmovl eax, esi
jmp 0x1404ab600
movzx eax, byte [rbp + 0xb7]
and al, byte [rbp + 0xb6]
and al, 1
mov byte [rbp + 0xb3], al
mov eax, 0xd5d6c408
jmp 0x1404ab600
mov eax, 0x3947f6d1
jmp 0x1404ab600
mov eax, dword [rbp + 0x98]
mov eax, 0xb9d133e8
jmp 0x1404ab600
cmp eax, 0x6634eeb
jne 0x1404ab600
test r15b, 1
mov edx, 1
jne 0x1404ab8d2
xor edi, edi
mov eax, 0xbbe4760e
jmp 0x1404abd20
xor edi, edi
mov eax, 0xbbe4760e
jmp 0x1404abd20
mov rax, qword [rbp + 0x78]
mov qword [rbp - 0x50], rax
mov eax, dword [rbp + 0x80]
mov dword [rbp - 0x48], eax
lea rcx, [rbp - 0x10]
lea rdx, [rbp + 0x58]
lea r8, [rbp - 0x50]
call fcn.140384bb0
movss xmm0, dword [rbp + 0x58]
mulss xmm0, xmm0
movss dword [rbp + 0x88], xmm0
lea rax, [rbp + 0x5c]
mov qword [rbp + 0x68], rax
mov eax, 0x9063c7ac
xorps xmm6, xmm6
mov rsi, qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_sqrtf]
nop dword [rax]
cmp eax, 0xcb4e1326
je 0x1404ab96b
cmp eax, 0x9063c7ac
jne 0x1404ab920
mov rax, qword [rbp + 0x68]
movss xmm1, dword [rax]
mulss xmm1, xmm1
addss xmm1, dword [rbp + 0x88]
movss xmm0, dword [rbp + 0x60]
mulss xmm0, xmm0
addss xmm0, xmm1
ucomiss xmm0, xmm6
jb 0x1404ab95a
sqrtss xmm0, xmm0
jmp 0x1404ab95c
call rsi
movss dword [rbp + 0xa0], xmm0
mov eax, 0xcb4e1326
jmp 0x1404ab920
movss xmm6, dword [rbp + 0xa0]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x40], rax
mov eax, dword [rbp - 8]
mov dword [rbp - 0x38], eax
lea rcx, [rbp + 0x68]
lea rdx, [rbp - 0x40]
call fcn.140383a30
divss xmm6, dword [0x1406840d0]
addss xmm6, xmm6
addss xmm7, dword [0x14066ebf4]
divss xmm6, xmm7
movss xmm0, dword [rbp + 0x68]
mov eax, dword [0x140ae7668]
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
subss xmm0, xmm1
cvtss2sd xmm0, xmm0
mov eax, 0xf8232b0c
movaps xmm8, xmmword [0x14066ec30]
nop word cs:[rax + rax]
cmp eax, 0x71ec9cf5
je 0x1404aba3c
cmp eax, 0xf8232b0c
jne 0x1404ab9e0
movsd qword [rbp + 0xa0], xmm0
mov eax, 0x90a1e229
nop dword [rax + rax]
cmp eax, 0x82f76cd9
je 0x1404aba25
cmp eax, 0x90a1e229
jne 0x1404aba00
movsd xmm1, qword [rbp + 0xa0]
cvtsd2ss xmm1, xmm1
andps xmm1, xmm8
mov eax, 0x82f76cd9
jmp 0x1404aba00
movss dword [rbp + 0x88], xmm1
movss xmm1, dword [rbp + 0x88]
mov eax, 0x71ec9cf5
jmp 0x1404ab9e0
movss dword [rbp + 0xa0], xmm1
movss xmm0, dword [rbp + 0xa0]
movss xmm1, dword [0x14066f4d8]
divss xmm1, xmm6
mov edx, 1
ucomiss xmm0, xmm1
jae 0x1404abae8
mov eax, dword [0x140ae766c]
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
movss xmm1, dword [rbp + 0x6c]
subss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
mov eax, 0xf8232b0c
cmp eax, 0x71ec9cf5
je 0x1404abaf4
cmp eax, 0xf8232b0c
jne 0x1404aba91
movsd qword [rbp + 0xa0], xmm0
mov eax, 0x90a1e229
cmp eax, 0x82f76cd9
je 0x1404abad1
cmp eax, 0x90a1e229
jne 0x1404abaac
movsd xmm1, qword [rbp + 0xa0]
cvtsd2ss xmm1, xmm1
andps xmm1, xmm8
mov eax, 0x82f76cd9
jmp 0x1404abaac
movss dword [rbp + 0x88], xmm1
movss xmm1, dword [rbp + 0x88]
mov eax, 0x71ec9cf5
jmp 0x1404aba91
xor edi, edi
mov eax, 0xbbe4760e
jmp 0x1404abd20
movss dword [rbp + 0xa0], xmm1
movss xmm0, dword [rbp + 0xa0]
movss xmm1, dword [0x14066ed30]
divss xmm1, xmm6
xor edi, edi
ucomiss xmm0, xmm1
jae 0x1404abd09
movss xmm7, dword [0x14066f4e0]
divss xmm7, xmm6
lea r15, [rbp + 0xa0]
lea r12, [rbp + 0x88]
lea rbx, [rbp - 0x30]
lea rsi, [rbp - 0x20]
jmp 0x1404abb57
movss dword [rbp + 0x98], xmm1
ucomiss xmm7, dword [rbp + 0x98]
ja 0x1404abcee
add edi, 1
cmp edi, 0x59
jg 0x1404abcdc
mov rdx, qword [rbp + 0x38]
mov rcx, r15
mov r8d, edi
call fcn.140383630
mov rax, qword [rbp + 0xa0]
mov qword [rbp - 0x30], rax
mov eax, dword [rbp + 0xa8]
mov dword [rbp - 0x28], eax
mov rcx, r12
mov rdx, rbx
call fcn.140383a30
mov eax, dword [rbp + 0x90]
mov dword [rbp - 0x18], eax
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x20], rax
mov rcx, rsi
call fcn.1404abed0
test al, al
je 0x1404abce5
mov eax, dword [0x140ae7668]
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
movss xmm1, dword [rbp + 0x88]
subss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
mov eax, 0xf8232b0c
cmp eax, 0x71ec9cf5
je 0x1404abc3c
cmp eax, 0xf8232b0c
jne 0x1404abbe0
movsd qword [rbp + 0x98], xmm0
mov eax, 0x90a1e229
nop dword [rax + rax]
cmp eax, 0x82f76cd9
je 0x1404abc25
cmp eax, 0x90a1e229
jne 0x1404abc00
movsd xmm1, qword [rbp + 0x98]
cvtsd2ss xmm1, xmm1
andps xmm1, xmm8
mov eax, 0x82f76cd9
jmp 0x1404abc00
movss dword [rbp + 0xac], xmm1
movss xmm1, dword [rbp + 0xac]
mov eax, 0x71ec9cf5
jmp 0x1404abbe0
movss dword [rbp + 0x98], xmm1
ucomiss xmm7, dword [rbp + 0x98]
jbe 0x1404abb54
mov eax, dword [0x140ae766c]
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
movss xmm1, dword [rbp + 0x8c]
subss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
mov eax, 0xf8232b0c
nop
cmp eax, 0x71ec9cf5
je 0x1404abb3f
cmp eax, 0xf8232b0c
jne 0x1404abc80
movsd qword [rbp + 0x98], xmm0
mov eax, 0x90a1e229
nop
cmp eax, 0x82f76cd9
je 0x1404abcc5
cmp eax, 0x90a1e229
jne 0x1404abca0
movsd xmm1, qword [rbp + 0x98]
cvtsd2ss xmm1, xmm1
andps xmm1, xmm8
mov eax, 0x82f76cd9
jmp 0x1404abca0
movss dword [rbp + 0xac], xmm1
movss xmm1, dword [rbp + 0xac]
mov eax, 0x71ec9cf5
jmp 0x1404abc80
mov ecx, 2
xor eax, eax
jmp 0x1404abcf5
mov ecx, 1
xor eax, eax
jmp 0x1404abcf5
mov al, 1
mov ecx, 2
xor edx, edx
cmp ecx, 2
sete cl
setne dl
test al, al
setne dil
and dil, cl
mov eax, 0xbbe4760e
jmp 0x1404abd20
mov eax, 0x1d0e94a6
nop word cs:[rax + rax]
nop
cmp eax, 0xbbe4760e
je 0x1404abd10
cmp eax, 0x1d0e94a6
jne 0x1404abd20
lea rax, [rbp + 0x10]
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0x78]
test edx, edx
jne 0x1404ab1f6
test dil, dil
je 0x1404abd60
cmp byte [0x140ae7aa8], 0
je 0x1404abd6d
lea rcx, [0x140ae75f8]
call fcn.1404aae60
mov al, 1
jmp 0x1404abd62
xor eax, eax
mov byte [0x140ae7aa8], al
jmp 0x1404ab1f6
movsxd rax, dword [0x140ae7d84]
lea rax, [rax + rax*2]
mov ecx, 0x5a33bae0
cmp ecx, 0x5a33bae0
je 0x1404abd8f
cmp ecx, 0xf6ccee1e
jne 0x1404abd7d
jmp 0x1404abd96
mov ecx, 0xf6ccee1e
jmp 0x1404abd7d
mov qword [rbp + 0x78], rax
mov rcx, rbp
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
lea rdx, [rbp + 0x78]
call fcn.1405d7730
mov eax, 0x5e15d214
mov esi, 0x62585c7c
mov edi, 0xddf0c9aa
cmp eax, 0x3b36225d
jle 0x1404abdec
cmp eax, 0x3b36225e
je 0x1404abe21
cmp eax, 0x62585c7c
je 0x1404abe28
cmp eax, 0x5e15d214
jne 0x1404abdbd
mov rcx, rbp
call fcn.1405d7260
mov rax, qword [rbp + 0x10]
mov eax, 0xf23a7574
jmp 0x1404abdbd
cmp eax, 0xddf0c9aa
je 0x1404abd50
cmp eax, 0xf23a7574
jne 0x1404abdbd
mov eax, dword [0x140ae9570]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x3b36225e
cmove eax, esi
cmp dword [0x140ae9574], 0xa
cmovl eax, esi
jmp 0x1404abdbd
mov eax, 0x62585c7c
jmp 0x1404abdbd
mov eax, dword [0x140ae9570]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x3b36225e
cmove eax, edi
cmp dword [0x140ae9574], 0xa
cmovl eax, edi
jmp 0x1404abdbd