Function at 0x18003a250
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x110]
sub rsp, 0x210
movaps xmmword [rsp + 0x1c0], xmm10
call fcn.18001b220
mov rcx, rax
call fcn.18006d240
mov esi, dword [0x1803ad344]
mov r14, rax
mov rax, qword [0x1803ad728]
add rax, 0x118
cmp rax, 0x40000
jbe 0x18003a380
lea rcx, [rax + 8]
movabs rdx, 0x7fffffff0000
cmp rcx, rdx
jae 0x18003a380
mov rcx, qword [rax]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x18003a380
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x18003a380
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x18003a380
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x18003a380
mov rbx, qword [rcx]
mov edi, 4
test rbx, rbx
je 0x18003a385
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [rdi + rcx]
cmp dword [0x1803e46f8], eax
jle 0x18003a354
lea rcx, [0x1803e46f8]
call fcn.18011c184
cmp dword [0x1803e46f8], 0xffffffff
jne 0x18003a354
mov ecx, 0x56e64b7d
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4550], rcx
lea rcx, [0x1803e46f8]
call fcn.18011c124
mov rdx, qword [0x1803e4550]
lea r8, [rbp + 0x30]
mov r9, rbx
mov qword [rbp + 0x30], 0
lea rcx, [rbp + 0x40]
mov dword [rbp + 0x38], 0
xorps xmm10, xmm10
call fcn.18006cc60
jmp 0x18003a398
mov edi, 4
xorps xmm10, xmm10
mov qword [rbp + 0x40], 0
mov dword [rbp + 0x48], 0
call fcn.18001b220
mov rbx, rax
test rax, rax
je 0x18003a45f
mov rcx, qword gs:[0x58]
mov rdx, qword [rcx + rsi*8]
mov ecx, dword [rdi + rdx]
cmp dword [0x1803e47cc], ecx
jle 0x18003a3f3
lea rcx, [0x1803e47cc]
call fcn.18011c184
cmp dword [0x1803e47cc], 0xffffffff
jne 0x18003a3f3
mov ecx, 0x6d5c7dd2
call fcn.180015290
lea rcx, [0x1803e47cc]
mov qword [0x1803e4ff8], rax
call fcn.18011c124
mov rax, qword [0x1803e4ff8]
mov rbx, qword [rbx + rax]
test rbx, rbx
je 0x18003a45f
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [rdi + rcx]
cmp dword [0x1803e4dd0], eax
jle 0x18003a450
lea rcx, [0x1803e4dd0]
call fcn.18011c184
cmp dword [0x1803e4dd0], 0xffffffff
jne 0x18003a450
mov ecx, 0xf3daab4b
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4468], rcx
lea rcx, [0x1803e4dd0]
call fcn.18011c124
mov rdx, rbx
lea rcx, [rbp + 0x50]
call qword [0x1803e4468]
jmp 0x18003a46e
mov qword [rbp + 0x50], 0
mov dword [rbp + 0x58], 0
call fcn.18001b220
mov rbx, rax
test rax, rax
je 0x18003a535
mov rcx, qword gs:[0x58]
mov rdx, qword [rcx + rsi*8]
mov ecx, dword [rdi + rdx]
cmp dword [0x1803e47cc], ecx
jle 0x18003a4c9
lea rcx, [0x1803e47cc]
call fcn.18011c184
cmp dword [0x1803e47cc], 0xffffffff
jne 0x18003a4c9
mov ecx, 0x6d5c7dd2
call fcn.180015290
lea rcx, [0x1803e47cc]
mov qword [0x1803e4ff8], rax
call fcn.18011c124
mov rax, qword [0x1803e4ff8]
mov rbx, qword [rbx + rax]
test rbx, rbx
je 0x18003a535
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [rdi + rcx]
cmp dword [0x1803e4dd0], eax
jle 0x18003a526
lea rcx, [0x1803e4dd0]
call fcn.18011c184
cmp dword [0x1803e4dd0], 0xffffffff
jne 0x18003a526
mov ecx, 0xf3daab4b
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4468], rcx
lea rcx, [0x1803e4dd0]
call fcn.18011c124
mov rdx, rbx
lea rcx, [rbp]
call qword [0x1803e4468]
jmp 0x18003a544
mov qword [rbp], 0
mov dword [rbp + 8], 0
test r14, r14
je 0x18003af20
cmp byte [0x1803ad7b7], 0
je 0x18003af20
mov ecx, dword [0x1803ad924]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18003af20
mov qword [rsp + 0x248], r12
mov qword [rsp + 0x250], r15
movaps xmmword [rsp + 0x200], xmm6
movaps xmmword [rsp + 0x1f0], xmm7
movaps xmmword [rsp + 0x1e0], xmm8
movaps xmmword [rsp + 0x1d0], xmm9
movaps xmmword [rsp + 0x1b0], xmm11
movaps xmmword [rsp + 0x1a0], xmm12
movaps xmmword [rsp + 0x190], xmm13
movaps xmmword [rsp + 0x180], xmm14
movaps xmmword [rsp + 0x170], xmm15
call fcn.18001b760
movss xmm13, dword [0x1802a8994]
mov r14, rax
addss xmm13, dword [0x1801c1820]
call fcn.18001b220
mov rcx, rax
call fcn.180019d70
mov rbx, qword [rax]
test rbx, rbx
jne 0x18003a606
mov qword [rbp - 0x60], rbx
mov dword [rbp - 0x58], ebx
jmp 0x18003a660
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [rdi + rcx]
cmp dword [0x1803e4dcc], eax
jle 0x18003a653
lea rcx, [0x1803e4dcc]
call fcn.18011c184
cmp dword [0x1803e4dcc], 0xffffffff
jne 0x18003a653
mov ecx, 0xde704526
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4d28], rcx
lea rcx, [0x1803e4dcc]
call fcn.18011c124
mov rdx, rbx
lea rcx, [rbp - 0x60]
call qword [0x1803e4d28]
call fcn.18001b220
mov rcx, rax
call fcn.180019d70
mov rbx, qword [rax]
test rbx, rbx
jne 0x18003a67e
mov qword [rbp - 0x50], rbx
mov dword [rbp - 0x48], ebx
jmp 0x18003a6d8
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [rdi + rcx]
cmp dword [0x1803e42a8], eax
jle 0x18003a6cb
lea rcx, [0x1803e42a8]
call fcn.18011c184
cmp dword [0x1803e42a8], 0xffffffff
jne 0x18003a6cb
mov ecx, 0x87b6d987
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4a80], rcx
lea rcx, [0x1803e42a8]
call fcn.18011c124
mov rdx, rbx
lea rcx, [rbp - 0x50]
call qword [0x1803e4a80]
call fcn.18001b220
mov rcx, rax
call fcn.180019d70
mov rbx, qword [rax]
test rbx, rbx
jne 0x18003a70a
xorps xmm11, xmm11
mov dword [rbp - 0x70], ebx
xorps xmm12, xmm12
movss dword [rbp - 0x6c], xmm11
movss dword [rbp - 0x68], xmm12
xorps xmm15, xmm15
jmp 0x18003a776
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [rdi + rcx]
cmp dword [0x1803e4da0], eax
jle 0x18003a757
lea rcx, [0x1803e4da0]
call fcn.18011c184
cmp dword [0x1803e4da0], 0xffffffff
jne 0x18003a757
mov ecx, 0xf3daab4b
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4e00], rcx
lea rcx, [0x1803e4da0]
call fcn.18011c124
mov rdx, rbx
lea rcx, [rbp - 0x70]
call qword [0x1803e4e00]
movss xmm15, dword [rbp - 0x70]
movss xmm12, dword [rbp - 0x68]
movss xmm11, dword [rbp - 0x6c]
movss xmm5, dword [rbp - 0x5c]
movss xmm3, dword [rbp - 0x60]
movaps xmm2, xmm5
movss xmm4, dword [rbp - 0x58]
movaps xmm0, xmm3
movss xmm8, dword [0x1801c148c]
movaps xmm1, xmm4
mulss xmm0, xmm3
movaps xmm7, xmm8
mulss xmm2, xmm5
mulss xmm1, xmm4
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
sqrtss xmm0, xmm2
divss xmm7, xmm0
movaps xmm9, xmm7
movaps xmm6, xmm7
mulss xmm9, xmm3
movss xmm3, dword [rbp - 0x50]
mulss xmm6, xmm5
movaps xmm0, xmm3
movss xmm5, dword [rbp - 0x4c]
mulss xmm0, xmm3
movaps xmm2, xmm5
mulss xmm2, xmm5
mulss xmm7, xmm4
movss xmm4, dword [rbp - 0x48]
addss xmm2, xmm0
xorps xmm0, xmm0
movaps xmm1, xmm4
mulss xmm1, xmm4
addss xmm2, xmm1
sqrtss xmm0, xmm2
divss xmm8, xmm0
movaps xmm14, xmm8
movaps xmm0, xmm8
mulss xmm14, xmm3
mulss xmm0, xmm5
mulss xmm8, xmm4
addss xmm14, xmm9
addss xmm0, xmm6
addss xmm8, xmm7
mulss xmm14, xmm13
mulss xmm0, xmm13
mulss xmm8, xmm13
addss xmm14, xmm15
addss xmm11, xmm0
addss xmm12, xmm8
call fcn.18001b220
mov rcx, rax
call fcn.180019d70
movaps xmm15, xmmword [rsp + 0x170]
movaps xmm13, xmmword [rsp + 0x190]
mov rbx, qword [rax]
test rbx, rbx
jne 0x18003a878
mov qword [rbp - 0x30], rbx
mov dword [rbp - 0x28], ebx
jmp 0x18003a8d2
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [rdi + rcx]
cmp dword [0x1803e4da0], eax
jle 0x18003a8c5
lea rcx, [0x1803e4da0]
call fcn.18011c184
cmp dword [0x1803e4da0], 0xffffffff
jne 0x18003a8c5
mov ecx, 0xf3daab4b
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4e00], rcx
lea rcx, [0x1803e4da0]
call fcn.18011c124
mov rdx, rbx
lea rcx, [rbp - 0x30]
call qword [0x1803e4e00]
movss dword [rbp - 0x14], xmm14
movss dword [rbp - 0x10], xmm11
movss dword [rbp - 0xc], xmm12
call fcn.18001b220
mov rcx, rax
call fcn.180019d70
movaps xmm14, xmmword [rsp + 0x180]
movaps xmm12, xmmword [rsp + 0x1a0]
movaps xmm11, xmmword [rsp + 0x1b0]
mov rbx, qword [rax]
test rbx, rbx
jne 0x18003a91d
mov qword [rbp - 0x40], rbx
mov dword [rbp - 0x38], ebx
jmp 0x18003a977
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [rdi + rcx]
cmp dword [0x1803e4da0], eax
jle 0x18003a96a
lea rcx, [0x1803e4da0]
call fcn.18011c184
cmp dword [0x1803e4da0], 0xffffffff
jne 0x18003a96a
mov ecx, 0xf3daab4b
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4e00], rcx
lea rcx, [0x1803e4da0]
call fcn.18011c124
mov rdx, rbx
lea rcx, [rbp - 0x40]
call qword [0x1803e4e00]
call fcn.18001b220
call fcn.18001b220
mov rcx, rax
call fcn.18006d240
mov r15, rax
call fcn.18001b220
mov rcx, rax
call fcn.180019d70
mov rcx, qword [rax]
call fcn.1800170a0
mov edx, dword [0x1803e4860]
mov rbx, rax
movaps xmm0, xmmword [0x1801c2390]
test edx, edx
je 0x18003a9bf
sub edx, 1
je 0x18003a9bf
cmp edx, 1
jne 0x18003a9f5
movss xmm1, dword [0x1801c12cc]
lea r8, [rbp + 0x10]
mov eax, dword [rbp - 0xc]
lea rcx, [rsp + 0x50]
movdqa xmmword [rbp + 0x10], xmm0
movaps xmm3, xmm1
movsd xmm0, qword [rbp - 0x14]
movsd qword [rsp + 0x50], xmm0
mov byte [rsp + 0x20], 0
mov dword [rsp + 0x58], eax
call qword [0x1803e4858]
test rbx, rbx
jne 0x18003aa05
mov qword [rsp + 0x3c], rbx
mov dword [rsp + 0x44], ebx
jmp 0x18003aa7c
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [rdi + rcx]
cmp dword [0x1803e46f8], eax
jle 0x18003aa52
lea rcx, [0x1803e46f8]
call fcn.18011c184
cmp dword [0x1803e46f8], 0xffffffff
jne 0x18003aa52
mov ecx, 0x56e64b7d
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4550], rcx
lea rcx, [0x1803e46f8]
call fcn.18011c124
mov rdx, qword [0x1803e4550]
lea r8, [rsp + 0x70]
mov r9, rbx
mov qword [rsp + 0x70], 0
lea rcx, [rsp + 0x3c]
mov dword [rsp + 0x78], 0
call fcn.18006cc60
mov rcx, qword [0x1803ad728]
call fcn.1800170a0
mov rbx, rax
test rax, rax
jne 0x18003aaae
xorps xmm1, xmm1
movss dword [rsp + 0x30], xmm10
xorps xmm0, xmm0
movss dword [rsp + 0x34], xmm1
movss dword [rsp + 0x38], xmm0
jmp 0x18003ab35
mov rax, qword gs:[0x58]
mov rdx, qword [rax + rsi*8]
mov eax, dword [rdi + rdx]
cmp dword [0x1803e46f8], eax
jle 0x18003aafb
lea rcx, [0x1803e46f8]
call fcn.18011c184
cmp dword [0x1803e46f8], 0xffffffff
jne 0x18003aafb
mov ecx, 0x56e64b7d
call fcn.1800123f0
lea rcx, [0x1803e46f8]
mov rdx, qword [rax]
mov qword [0x1803e4550], rdx
call fcn.18011c124
mov rdx, qword [0x1803e4550]
lea r8, [rbp - 0x80]
mov r9, rbx
mov qword [rbp - 0x80], 0
lea rcx, [rsp + 0x30]
mov dword [rbp - 0x78], 0
call fcn.18006cc60
movss xmm0, dword [rsp + 0x38]
movss xmm1, dword [rsp + 0x34]
movss xmm10, dword [rsp + 0x30]
movss xmm2, dword [rsp + 0x44]
xorps xmm6, xmm6
subss xmm2, xmm0
mov rcx, r15
movss xmm0, dword [rsp + 0x40]
subss xmm0, xmm1
movss xmm1, dword [rsp + 0x3c]
subss xmm1, xmm10
mulss xmm2, xmm2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
addss xmm1, xmm2
sqrtss xmm6, xmm1
call fcn.1800180a0
addss xmm6, dword [rax]
movss dword [rax], xmm6
call fcn.18001b220
mov rcx, rax
call fcn.180019d70
mov rbx, qword [rax]
test rbx, rbx
jne 0x18003ab9f
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x68], ebx
jmp 0x18003abfa
mov rax, qword gs:[0x58]
mov rdx, qword [rax + rsi*8]
mov eax, dword [rdi + rdx]
cmp dword [0x1803e4da0], eax
jle 0x18003abec
lea rcx, [0x1803e4da0]
call fcn.18011c184
cmp dword [0x1803e4da0], 0xffffffff
jne 0x18003abec
mov ecx, 0xf3daab4b
call fcn.1800123f0
lea rcx, [0x1803e4da0]
mov r8, qword [rax]
mov qword [0x1803e4e00], r8
call fcn.18011c124
mov rdx, rbx
lea rcx, [rsp + 0x60]
call qword [0x1803e4e00]
mov rcx, qword [0x1803ad728]
lea rdx, [rbp + 0x60]
mov r8d, 0x2f
call fcn.18001a710
mov rbx, qword [0x1803ad728]
mov rcx, r14
call fcn.18001b880
mov rcx, r14
mov qword [rax], rbx
call fcn.18001ba80
movabs rcx, 0x87bdcdb8cf403e36
mov byte [rax], 1
movabs rax, 0x8812c43d807c3243
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
mov qword [rbp - 0x30], rax
mov qword [rbp + 0x140], rcx
mov rax, qword [rbp + 0x140]
mov qword [rbp - 0x28], rax
movabs rax, 0x8812c455f3195e05
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
mov qword [rbp], rax
mov qword [rbp + 0x140], rcx
lea rcx, [rbp - 0x30]
mov rax, qword [rbp + 0x140]
mov qword [rbp + 8], rax
movdqa xmm0, xmmword [rbp]
pxor xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
call fcn.180010dc0
mov rcx, r14
mov rbx, rax
call fcn.18001bc00
mov rcx, r15
mov qword [rax], rbx
call fcn.1800180a0
mov rcx, r14
movss xmm6, dword [rax]
call fcn.18001ba00
movss dword [rax], xmm6
call fcn.18001a5e0
mov rcx, r14
mov rbx, rax
call fcn.18001bd00
mov rcx, r14
mov qword [rax], rbx
movss xmm9, dword [rsp + 0x68]
movss xmm8, dword [rsp + 0x64]
movss xmm2, dword [rbp + 0x68]
movss xmm1, dword [rbp + 0x64]
subss xmm2, xmm9
movss xmm6, dword [rbp + 0x60]
subss xmm1, xmm8
subss xmm6, dword [rsp + 0x60]
movsd xmm7, qword [rsp + 0x60]
movss dword [rsp + 0x68], xmm9
movss dword [rbp + 0x18], xmm9
addss xmm9, xmm2
addss xmm8, xmm1
addss xmm6, dword [rsp + 0x60]
call fcn.18001b980
movups xmm0, xmmword [rbp + 0x10]
movsd xmm0, xmm7
shufps xmm0, xmm0, 0x93
movss xmm0, xmm6
shufps xmm0, xmm0, 0x39
movups xmmword [rax], xmm0
movaps xmm0, xmm8
unpcklps xmm0, xmm9
movsd qword [rax + 0x10], xmm0
call fcn.18001a5e0
mov r12d, dword [rbp - 0xc]
mov rbx, rax
movsd xmm7, qword [rbp - 0x14]
movaps xmm9, xmmword [rsp + 0x1d0]
movaps xmm8, xmmword [rsp + 0x1e0]
test rax, rax
jne 0x18003ad96
mov qword [rsp + 0x3c], rax
mov dword [rsp + 0x44], eax
jmp 0x18003ae1f
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [rdi + rcx]
cmp dword [0x1803e4818], eax
jle 0x18003ade3
lea rcx, [0x1803e4818]
call fcn.18011c184
cmp dword [0x1803e4818], 0xffffffff
jne 0x18003ade3
mov ecx, 0xf93a4acc
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4d70], rcx
lea rcx, [0x1803e4818]
call fcn.18011c124
mov rdx, qword [0x1803e4d70]
lea rax, [rsp + 0x50]
mov r9, rbx
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x80]
movsd qword [rsp + 0x50], xmm7
lea rcx, [rsp + 0x3c]
mov dword [rsp + 0x58], r12d
mov qword [rbp - 0x80], 0
mov dword [rbp - 0x78], 0
call fcn.18006cca0
movsd xmm6, qword [rsp + 0x3c]
mov rcx, r14
mov ebx, dword [rsp + 0x44]
call fcn.18001bb80
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
call fcn.18001a5e0
mov rbx, rax
test rax, rax
jne 0x18003ae53
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], eax
jmp 0x18003aedc
mov rax, qword gs:[0x58]
mov rdx, qword [rax + rsi*8]
mov eax, dword [rdi + rdx]
cmp dword [0x1803e4818], eax
jle 0x18003aea0
lea rcx, [0x1803e4818]
call fcn.18011c184
cmp dword [0x1803e4818], 0xffffffff
jne 0x18003aea0
mov ecx, 0xf93a4acc
call fcn.1800123f0
lea rcx, [0x1803e4818]
mov rdx, qword [rax]
mov qword [0x1803e4d70], rdx
call fcn.18011c124
mov rdx, qword [0x1803e4d70]
lea rax, [rbp - 0x40]
mov r9, rbx
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x70]
movsd qword [rbp - 0x40], xmm7
lea rcx, [rsp + 0x30]
mov dword [rbp - 0x38], r12d
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x78], 0
call fcn.18006cca0
movsd xmm6, qword [rsp + 0x30]
mov rcx, r14
mov ebx, dword [rsp + 0x38]
call fcn.18001bb00
mov rdx, r14
mov rcx, r15
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
call fcn.180018010
movaps xmm7, xmmword [rsp + 0x1f0]
movaps xmm6, xmmword [rsp + 0x200]
mov r15, qword [rsp + 0x250]
mov r12, qword [rsp + 0x248]
movaps xmm10, xmmword [rsp + 0x1c0]
add rsp, 0x210
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret