Function at 0x180003ca0
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x38]
sub rsp, 0x130
mov rax, qword [0x1800983c0]
xor rax, rsp
mov qword [rbp - 0x68], rax
cmp byte [0x1800c7f87], 0
je 0x18000453a
mov qword [r11 + 8], rbx
movabs rbx, 0xd80958fc74e988a6
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
xor edi, edi
mov qword [r11 - 0x10], r12
mov qword [r11 - 0x18], r13
mov qword [r11 - 0x20], r14
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x48], xmm7
movaps xmmword [r11 - 0x58], xmm8
movaps xmmword [r11 - 0x68], xmm9
movaps xmmword [r11 - 0x78], xmm10
movaps xmmword [r11 - 0x88], xmm11
movaps xmmword [r11 - 0x98], xmm12
mov dword [0x1800b1b98], edi
mov dword [0x1800b1ba8], edi
mov qword [0x1800c9248], rbx
call fcn.180023c10
mov qword [rsp + 0x70], rdi
mov ecx, dword [rax]
movabs rax, 0x3a87e44bb9a01d54
mov qword [0x1800c9248], rax
mov dword [rsp + 0x70], ecx
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c70], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x70], rdi
mov qword [0x1800b1c78], rax
mov dword [rsp + 0x70], 1
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c80], rax
mov dword [0x1800b1ba8], edi
mov dword [0x1800b1b98], 3
call fcn.180023c10
movabs r12, 0x4f8644af03d0e0d6
mov dword [0x1800b1b98], edi
mov qword [0x1800c9248], r12
mov dword [0x1800b1ba8], edi
call fcn.180023c10
mov dword [0x1800b1b98], edi
mov dword [0x1800b1ba8], edi
mov qword [0x1800c9248], rbx
call fcn.180023c10
movabs rax, 0x837765a25378f0bb
mov dword [0x1800b1ba8], edi
mov qword [0x1800c9248], rax
mov qword [0x1800b1c70], rdi
mov dword [0x1800b1b98], 1
call fcn.180023c10
xorps xmm8, xmm8
xorps xmm7, xmm7
movups xmm1, xmmword [rax]
movsd xmm2, qword [rax + 0x10]
mulss xmm1, dword [0x180080fe0]
mulss xmm2, dword [0x180080fe0]
cvtss2sd xmm8, xmm1
cvtss2sd xmm7, xmm2
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm7
andps xmm1, xmmword [0x180081390]
cvtps2pd xmm6, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm1, xmm1
xorps xmm11, xmm11
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm7
xorps xmm1, xmmword [0x1800813b0]
cvtss2sd xmm1, xmm1
mulsd xmm1, xmm6
cvtsd2ss xmm11, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm8
cvtps2pd xmm2, xmm1
mulsd xmm2, xmm6
cvtpd2ps xmm10, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movabs rax, 0x14d6f5678d8f1b37
mov dword [0x1800b1b98], edi
xorps xmm9, xmm9
mov qword [0x1800c9248], rax
cvtsd2ss xmm9, xmm0
mov dword [0x1800b1ba8], edi
call fcn.180023c10
mov qword [0x1800c9248], rbx
movups xmm7, xmmword [rax]
movsd xmm12, qword [rax + 0x10]
mov dword [0x1800b1b98], edi
mov dword [0x1800b1ba8], edi
call fcn.180023c10
mov qword [rsp + 0x70], rdi
movabs r14, 0x3fef770d40960d5a
mov qword [0x1800c9248], r14
mov ecx, dword [rax]
mov dword [rsp + 0x70], ecx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], rdi
mov qword [0x1800b1c70], rax
mov dword [rsp + 0x70], 1
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c78], rax
mov dword [0x1800b1ba8], edi
mov dword [0x1800b1b98], 2
call fcn.180023c10
xorps xmm4, xmm4
xorps xmm1, xmm1
movaps xmm8, xmm7
shufps xmm8, xmm7, 0xaa
movups xmm2, xmmword [rax]
movsd xmm3, qword [rax + 0x10]
movaps xmm0, xmm2
subss xmm3, xmm12
subss xmm0, xmm7
shufps xmm2, xmm2, 0xaa
subss xmm2, xmm8
cvtss2sd xmm1, xmm0
cvtss2sd xmm4, xmm2
mulsd xmm1, xmm1
xorps xmm0, xmm0
mulsd xmm4, xmm4
cvtss2sd xmm0, xmm3
addsd xmm4, xmm1
xorps xmm1, xmm1
addsd xmm4, xmm0
ucomisd xmm1, xmm4
ja 0x180003f81
sqrtpd xmm0, xmm4
jmp 0x180003f89
movaps xmm0, xmm4
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
mov dword [0x1800b1b98], edi
mov dword [0x1800b1ba8], edi
mov qword [0x1800c9248], r12
movaps xmm6, xmm11
addss xmm0, dword [0x180081114]
mulss xmm6, xmm0
addss xmm6, xmm7
movaps xmm7, xmm10
mulss xmm7, xmm0
addss xmm7, xmm8
movaps xmm8, xmm9
mulss xmm8, xmm0
addss xmm8, xmm12
call fcn.180023c10
cmp byte [0x1800c7f88], dil
movabs rsi, 0x5e6cc07646bbeab8
movaps xmm12, xmmword [rsp + 0xa0]
movabs r13, 0x2975c866e6713290
mov ebx, dword [rax]
je 0x18000443c
mov dword [0x1800b1b98], edi
mov dword [0x1800b1ba8], edi
mov qword [0x1800c9248], r12
call fcn.180023c10
mov qword [rsp + 0x70], rdi
mov qword [0x1800c9248], r13
mov ecx, dword [rax]
mov dword [rsp + 0x70], ecx
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c70], rax
lea rax, [rsp + 0x78]
mov qword [0x1800b1c78], rax
mov dword [0x1800b1ba8], edi
mov dword [0x1800b1b98], 2
call fcn.180023c10
cmp dword [rax], edi
je 0x18000443c
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000443c
mov eax, dword [rsp + 0x78]
mov qword [rsp + 0x70], rdi
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c70], rax
mov qword [rsp + 0x110], r15
mov dword [0x1800b1ba8], edi
mov qword [0x1800c9248], r14
mov qword [0x1800b1c78], rdi
mov dword [0x1800b1b98], 2
call fcn.180023c10
mov qword [rsp + 0x70], rdi
mov dword [rsp + 0x70], ebx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], rdi
mov qword [0x1800b1c70], rax
mov dword [rsp + 0x70], 1
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c78], rax
mov dword [0x1800b1ba8], edi
mov qword [0x1800c9248], rsi
mov dword [0x1800b1b98], 2
call fcn.180023c10
movabs rax, 0x524ac5ecea15343e
mov qword [rsp + 0x70], rdi
mov qword [0x1800c9248], rax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c70], rax
mov dword [0x1800b1ba8], edi
mov dword [0x1800b1b98], 1
call fcn.180023c10
cmp dword [rax], edi
je 0x1800041f2
movabs rax, 0x997abd671d25ca0b
mov qword [rsp + 0x70], rdi
mov qword [0x1800c9248], rax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], rdi
mov qword [0x1800b1c70], rax
mov dword [rsp + 0x70], 1
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c78], rax
mov dword [0x1800b1ba8], edi
mov dword [0x1800b1b98], 2
call fcn.180023c10
cmp dword [rax], edi
je 0x1800041f2
movabs rax, 0x9a9112a0fe9a4713
mov qword [rsp + 0x70], rdi
mov qword [0x1800c9248], rax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c70], rax
mov dword [0x1800b1ba8], edi
mov qword [0x1800b1c78], rdi
mov dword [0x1800b1b98], 2
call fcn.180023c10
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
jmp 0x1800041f6
mov ecx, dword [rsp + 0x78]
call fcn.180012b40
movabs rax, 0x6ac7003fa6e5575e
mov qword [rsp + 0x70], rdi
mov qword [0x1800c9248], rax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c70], rax
mov dword [0x1800b1ba8], edi
mov dword [0x1800b1b98], 1
call fcn.180023c10
movabs r14, 0xe83d4f9ba2a38914
movabs r15, 0x8e2530aa8ada980e
cmp dword [rax], edi
je 0x1800042d7
mov qword [rsp + 0x70], rdi
mov dword [rsp + 0x70], ebx
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c70], rax
mov dword [0x1800b1ba8], edi
mov qword [0x1800c9248], r14
mov dword [0x1800b1b98], 1
call fcn.180023c10
mov qword [rsp + 0x70], rdi
mov qword [0x1800c9248], r15
movss xmm0, dword [rax]
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], rdi
movss dword [rsp + 0x70], xmm0
mov qword [0x1800b1c70], rax
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c78], rax
mov dword [0x1800b1ba8], edi
mov dword [0x1800b1b98], 2
call fcn.180023c10
mov ecx, dword [rsp + 0x78]
movaps xmm3, xmm8
mov dword [rsp + 0x30], edi
movaps xmm2, xmm7
mov dword [rsp + 0x28], edi
movaps xmm1, xmm6
mov dword [rsp + 0x20], edi
call fcn.180015f80
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180004434
mov r8d, dword [rsp + 0x78]
call fcn.1800158c0
mov qword [rsp + 0x70], rdi
mov dword [rsp + 0x70], ebx
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c70], rax
mov dword [0x1800b1ba8], edi
mov qword [0x1800c9248], r14
mov dword [0x1800b1b98], 1
call fcn.180023c10
mov qword [rsp + 0x70], rdi
mov qword [0x1800c9248], r15
movss xmm0, dword [rax]
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], rdi
movss dword [rsp + 0x70], xmm0
mov qword [0x1800b1c70], rax
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c78], rax
mov dword [0x1800b1ba8], edi
mov dword [0x1800b1b98], 2
call fcn.180023c10
movss xmm0, dword [0x180081218]
mov ecx, dword [rsp + 0x78]
mov dword [rsp + 0x68], 1
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], edi
mulss xmm9, xmm0
mulss xmm10, xmm0
mulss xmm11, xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
movaps xmm3, xmm10
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x28], xmm0
movaps xmm2, xmm11
movss dword [rsp + 0x20], xmm9
call fcn.180015dd0
mov qword [rsp + 0x70], rdi
mov dword [rsp + 0x70], ebx
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c70], rax
mov byte [0x1800c7f88], dil
mov dword [0x1800b1ba8], edi
mov qword [0x1800c9248], rsi
mov qword [0x1800b1c78], rdi
mov dword [0x1800b1b98], 2
call fcn.180023c10
mov r15, qword [rsp + 0x110]
mov dword [0x1800b1b98], edi
mov dword [0x1800b1ba8], edi
mov qword [0x1800c9248], r12
call fcn.180023c10
mov qword [rsp + 0x70], rdi
mov qword [0x1800c9248], r13
mov ecx, dword [rax]
mov dword [rsp + 0x70], ecx
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c70], rax
lea rax, [rsp + 0x78]
mov qword [0x1800b1c78], rax
mov dword [0x1800b1ba8], edi
mov dword [0x1800b1b98], 2
call fcn.180023c10
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm10, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x100]
mov r14, qword [rsp + 0x118]
mov r13, qword [rsp + 0x120]
mov r12, qword [rsp + 0x128]
cmp dword [rax], edi
jne 0x180004522
mov qword [rsp + 0x70], rdi
mov dword [rsp + 0x70], ebx
mov rax, qword [rsp + 0x70]
mov qword [0x1800b1c70], rax
mov byte [0x1800c7f88], 1
mov dword [0x1800b1ba8], edi
mov qword [0x1800c9248], rsi
mov qword [0x1800b1c78], rdi
mov dword [0x1800b1b98], 2
call fcn.180023c10
mov rsi, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x150]
mov rcx, qword [rbp - 0x68]
xor rcx, rsp
call fcn.18005e5a0
add rsp, 0x130
pop rbp
ret