Function at 0x180023950
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x58]
sub rsp, 0x150
mov rax, qword [0x180132408]
xor rax, rsp
mov qword [rbp - 0x80], rax
cmp byte [0x1801ae059], 0
je 0x180024414
mov qword [r11 + 0x10], rsi
mov ecx, 2
mov qword [r11 - 0x20], r14
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor esi, esi
movabs r14, 0xf3a21bcd95725a4a
test ax, ax
jne 0x1800239f4
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x38], 2
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x38], rsi
mov qword [0x18014c770], rax
mov dword [rsp + 0x38], 0x19
mov rax, qword [rsp + 0x38]
mov qword [0x18014c778], rax
mov dword [0x18014c6a8], esi
mov qword [0x1801b1910], r14
mov dword [0x18014c698], 2
call fcn.18003c7d0
cmp dword [rax], esi
je 0x180024404
movabs rax, 0x4f8644af03d0e0d6
mov qword [rsp + 0x160], rbx
mov qword [0x1801b1910], rax
mov qword [rsp + 0x170], rdi
mov dword [0x18014c698], esi
mov dword [0x18014c6a8], esi
call fcn.18003c7d0
mov qword [rsp + 0x38], rsi
mov ecx, dword [rax]
movabs rax, 0x2975c866e6713290
mov qword [0x1801b1910], rax
mov dword [rsp + 0x38], ecx
mov rax, qword [rsp + 0x38]
mov qword [0x18014c770], rax
lea rax, [rsp + 0x40]
mov qword [0x18014c778], rax
mov dword [0x18014c6a8], esi
mov dword [0x18014c698], 2
call fcn.18003c7d0
mov ecx, dword [rsp + 0x40]
call fcn.18002a830
mov r8d, dword [rsp + 0x40]
mov rdx, qword [0x1801b1c08]
mov rcx, qword [0x1801b1c00]
call fcn.1800cd1b0
mov rbx, qword [0x1801b1c08]
cmp rax, rbx
jne 0x180023af4
movsxd rax, dword [0x1801b1924]
mov rcx, rbx
sub rcx, qword [0x1801b1c00]
sar rcx, 2
cmp rcx, rax
ja 0x180023af4
cmp rbx, qword [0x1801b1c10]
je 0x180023ad9
mov eax, dword [rsp + 0x40]
mov dword [rbx], eax
mov rbx, qword [0x1801b1c08]
add rbx, 4
mov qword [0x1801b1c08], rbx
jmp 0x180023af4
lea r8, [rsp + 0x40]
mov rdx, rbx
lea rcx, [0x1801b1c00]
call fcn.18002d210
mov rbx, qword [0x1801b1c08]
mov rdi, qword [0x1801b1c00]
cmp rdi, rbx
je 0x18002433a
mov qword [rsp + 0x148], r12
movabs r12, 0xe83d4f9ba2a38914
mov qword [rsp + 0x140], r13
movabs r13, 0x8e2530aa8ada980e
mov qword [rsp + 0x130], r15
movabs r15, 0xae3cbe5bf394c9c9
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm7
movaps xmmword [rsp + 0x100], xmm8
movaps xmmword [rsp + 0xf0], xmm9
movaps xmmword [rsp + 0xe0], xmm10
movaps xmmword [rsp + 0xd0], xmm11
movaps xmmword [rsp + 0xc0], xmm12
xorps xmm12, xmm12
movaps xmmword [rsp + 0xb0], xmm13
movaps xmmword [rsp + 0xa0], xmm14
movss xmm14, dword [0x180102184]
movaps xmmword [rsp + 0x90], xmm15
movss xmm15, dword [0x180101e8c]
nop dword [rax + rax]
mov ecx, dword [rdi]
mov dword [rsp + 0x38], ecx
call fcn.18002a830
movabs rax, 0x837765a25378f0bb
mov dword [0x18014c6a8], esi
mov qword [0x1801b1910], rax
mov qword [0x18014c770], rsi
mov dword [0x18014c698], 1
call fcn.18003c7d0
xorps xmm11, xmm11
xorps xmm9, xmm9
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
mulss xmm0, xmm15
mulss xmm1, xmm15
cvtss2sd xmm11, xmm0
cvtss2sd xmm9, xmm1
movaps xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movd xmm10, dword [str._n_n]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movabs rax, 0x14d6f5678d8f1b37
mov dword [0x18014c698], esi
mov dword [0x18014c6a8], esi
mov qword [0x1801b1910], rax
cvtdq2ps xmm10, xmm10
andps xmm1, xmmword [0x180106410]
cvtps2pd xmm8, xmm1
call fcn.18003c7d0
movups xmm6, xmmword [rax]
movsd xmm7, qword [rax + 0x10]
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm2, xmm2
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm9
xorps xmm1, xmmword [0x180106440]
cvtss2sd xmm2, xmm1
mulsd xmm2, xmm8
cvtpd2ps xmm13, xmm2
mulss xmm13, xmm10
addss xmm13, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
shufps xmm6, xmm6, 0xaa
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm11
cvtps2pd xmm2, xmm1
mulsd xmm2, xmm8
cvtpd2ps xmm8, xmm2
mulss xmm8, xmm10
addss xmm8, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm6, xmm6
mov qword [rsp + 0x30], rsi
cvtsd2ss xmm6, xmm0
movabs rax, 0x524ac5ecea15343e
mov dword [0x18014c6a8], esi
mov qword [0x1801b1910], rax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x30]
mulss xmm6, xmm10
mov qword [0x18014c770], rax
mov dword [0x18014c698], 1
addss xmm6, xmm7
call fcn.18003c7d0
cmp dword [rax], esi
je 0x180023dd7
movabs rax, 0x997abd671d25ca0b
mov qword [rsp + 0x30], rsi
mov qword [0x1801b1910], rax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
mov qword [0x18014c770], rax
mov dword [rsp + 0x30], 1
mov rax, qword [rsp + 0x30]
mov qword [0x18014c778], rax
mov dword [0x18014c6a8], esi
mov dword [0x18014c698], 2
call fcn.18003c7d0
cmp dword [rax], esi
je 0x180023dd7
movabs rax, 0x9a9112a0fe9a4713
mov qword [rsp + 0x30], rsi
mov qword [0x1801b1910], rax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
mov qword [0x18014c770], rax
mov dword [rsp + 0x30], 1
mov rax, qword [rsp + 0x30]
mov qword [0x18014c778], rax
mov dword [0x18014c6a8], esi
mov dword [0x18014c698], 2
call fcn.18003c7d0
mov ecx, dword [rax]
mov dword [rsp + 0x38], ecx
jmp 0x180023ddb
mov ecx, dword [rsp + 0x38]
movabs rax, 0x3fef770d40960d5a
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x30], ecx
mov qword [0x1801b1910], rax
mov rax, qword [rsp + 0x30]
mov qword [0x18014c770], rax
mov dword [0x18014c6a8], esi
mov qword [0x18014c778], rsi
mov dword [0x18014c698], 2
call fcn.18003c7d0
comiss xmm13, xmm12
movups xmm2, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movups xmmword [rsp + 0x48], xmm2
movsd qword [rsp + 0x58], xmm0
jbe 0x180023e4e
comiss xmm2, xmm12
jbe 0x180023e4e
movaps xmm1, xmm13
subss xmm1, xmm2
movss dword [0x1801b1cbc], xmm1
jmp 0x180023e56
movss xmm1, dword [0x1801b1cbc]
comiss xmm12, xmm13
jbe 0x180023e72
comiss xmm12, xmm2
jbe 0x180023e72
movaps xmm1, xmm13
subss xmm1, xmm2
movss dword [0x1801b1cbc], xmm1
comiss xmm13, xmm12
jbe 0x180023e8e
comiss xmm12, xmm2
jbe 0x180023e8e
movaps xmm1, xmm13
addss xmm1, xmm2
movss dword [0x1801b1cbc], xmm1
comiss xmm12, xmm13
jbe 0x180023eaa
comiss xmm2, xmm12
jbe 0x180023eaa
movaps xmm1, xmm13
addss xmm1, xmm2
movss dword [0x1801b1cbc], xmm1
comiss xmm8, xmm12
movss xmm0, dword [rsp + 0x50]
movaps xmm2, xmm1
jbe 0x180023ecf
comiss xmm0, xmm12
jbe 0x180023ecf
movaps xmm1, xmm8
subss xmm1, xmm0
movss dword [0x1801b1cbc], xmm1
comiss xmm12, xmm8
jbe 0x180023eeb
comiss xmm12, xmm0
jbe 0x180023eeb
movaps xmm1, xmm8
subss xmm1, xmm0
movss dword [0x1801b1cbc], xmm1
comiss xmm8, xmm12
jbe 0x180023f07
comiss xmm12, xmm0
jbe 0x180023f07
movaps xmm1, xmm8
addss xmm1, xmm0
movss dword [0x1801b1cbc], xmm1
comiss xmm12, xmm8
jbe 0x180023f23
comiss xmm0, xmm12
jbe 0x180023f23
movaps xmm1, xmm8
addss xmm1, xmm0
movss dword [0x1801b1cbc], xmm1
comiss xmm6, xmm12
movss xmm0, dword [rsp + 0x58]
movaps xmm3, xmm1
jbe 0x180023f47
comiss xmm0, xmm12
jbe 0x180023f47
movaps xmm1, xmm6
subss xmm1, xmm0
movss dword [0x1801b1cbc], xmm1
comiss xmm12, xmm6
jbe 0x180023f62
comiss xmm12, xmm0
jbe 0x180023f62
movaps xmm1, xmm6
subss xmm1, xmm0
movss dword [0x1801b1cbc], xmm1
comiss xmm6, xmm12
jbe 0x180023f7d
comiss xmm12, xmm0
jbe 0x180023f7d
movaps xmm1, xmm6
addss xmm1, xmm0
movss dword [0x1801b1cbc], xmm1
comiss xmm12, xmm6
jbe 0x180023f98
comiss xmm0, xmm12
jbe 0x180023f98
movaps xmm1, xmm6
addss xmm1, xmm0
movss dword [0x1801b1cbc], xmm1
movss xmm0, dword [0x1801b1920]
movabs rcx, 0x1c99bb7b6e96d16f
mov edx, dword [rsp + 0x38]
mulss xmm1, xmm0
mulss xmm3, xmm0
mulss xmm2, xmm0
movss dword [rsp + 0x20], xmm1
call fcn.18002fce0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18002402b
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x30], 2
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
mov qword [0x18014c770], rax
mov dword [rsp + 0x30], 0x18
mov rax, qword [rsp + 0x30]
mov qword [0x18014c778], rax
mov dword [0x18014c6a8], esi
mov qword [0x1801b1910], r14
mov dword [0x18014c698], 2
call fcn.18003c7d0
cmp dword [rax], esi
je 0x1800240dd
lea rax, [rsp + 0x38]
mov dword [0x18014c6a8], esi
mov qword [0x18014c770], rax
mov qword [0x1801b1910], r15
mov dword [0x18014c698], 1
call fcn.18003c7d0
mov rax, qword [0x1801b1c08]
cmp qword [0x1801b1c00], rax
mov dword [0x18014c6a8], esi
cmovne rax, qword [0x1801b1c00]
mov qword [0x1801b1c08], rax
lea rax, [rsp + 0x38]
mov qword [0x18014c770], rax
mov qword [0x1801b1910], r15
mov dword [0x18014c698], 1
call fcn.18003c7d0
mov rax, qword [0x1801b1c08]
cmp qword [0x1801b1c00], rax
mov dword [0x18014c6a8], esi
cmovne rax, qword [0x1801b1c00]
mov qword [0x1801b1c08], rax
lea rax, [rsp + 0x38]
mov qword [0x18014c770], rax
mov qword [0x1801b1910], r15
mov dword [0x18014c698], 1
call fcn.18003c7d0
mov ecx, 0x45
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180024143
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x30], 2
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
mov qword [0x18014c770], rax
mov dword [rsp + 0x30], 0x24
mov rax, qword [rsp + 0x30]
mov qword [0x18014c778], rax
mov dword [0x18014c6a8], esi
mov qword [0x1801b1910], r14
mov dword [0x18014c698], 2
call fcn.18003c7d0
cmp dword [rax], esi
je 0x1800241cd
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x30]
mov qword [0x18014c770], rax
mov dword [0x18014c6a8], esi
mov qword [0x1801b1910], r12
mov dword [0x18014c698], 1
call fcn.18003c7d0
mov qword [rsp + 0x30], rsi
mov qword [0x1801b1910], r13
movss xmm0, dword [rax]
mov eax, dword [rsp + 0x38]
subss xmm0, xmm14
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
mov qword [0x18014c770], rax
movss dword [rsp + 0x30], xmm0
mov rax, qword [rsp + 0x30]
mov qword [0x18014c778], rax
mov dword [0x18014c6a8], esi
mov dword [0x18014c698], 2
call fcn.18003c7d0
mov ecx, 0x51
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180024233
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x30], 2
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
mov qword [0x18014c770], rax
mov dword [rsp + 0x30], 0x56
mov rax, qword [rsp + 0x30]
mov qword [0x18014c778], rax
mov dword [0x18014c6a8], esi
mov qword [0x1801b1910], r14
mov dword [0x18014c698], 2
call fcn.18003c7d0
cmp dword [rax], esi
je 0x1800242bd
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x30]
mov qword [0x18014c770], rax
mov dword [0x18014c6a8], esi
mov qword [0x1801b1910], r12
mov dword [0x18014c698], 1
call fcn.18003c7d0
mov qword [rsp + 0x30], rsi
mov qword [0x1801b1910], r13
movss xmm0, dword [rax]
mov eax, dword [rsp + 0x38]
addss xmm0, xmm14
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
mov qword [0x18014c770], rax
movss dword [rsp + 0x30], xmm0
mov rax, qword [rsp + 0x30]
mov qword [0x18014c778], rax
mov dword [0x18014c6a8], esi
mov dword [0x18014c698], 2
call fcn.18003c7d0
add rdi, 4
cmp rdi, rbx
jne 0x180023bb0
movaps xmm15, xmmword [rsp + 0x90]
movaps xmm14, xmmword [rsp + 0xa0]
movaps xmm13, xmmword [rsp + 0xb0]
movaps xmm12, xmmword [rsp + 0xc0]
movaps xmm11, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm6, xmmword [rsp + 0x120]
mov r15, qword [rsp + 0x130]
mov r13, qword [rsp + 0x140]
mov r12, qword [rsp + 0x148]
mov qword [rsp + 0x30], rsi
movabs rbx, 0xe2587f8cbbd87b1d
mov dword [rsp + 0x30], 2
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
mov qword [0x18014c770], rax
mov dword [rsp + 0x30], 0x105
mov rax, qword [rsp + 0x30]
mov qword [0x18014c778], rax
mov dword [0x18014c6a8], esi
mov qword [0x1801b1910], rbx
mov dword [0x18014c698], 2
call fcn.18003c7d0
mov rdi, qword [rsp + 0x170]
cmp dword [rax], esi
je 0x1800243a4
inc dword [str._n_n]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x30], 2
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
mov qword [0x18014c770], rax
mov dword [rsp + 0x30], 0x106
mov rax, qword [rsp + 0x30]
mov qword [0x18014c778], rax
mov dword [0x18014c6a8], esi
mov qword [0x1801b1910], rbx
mov dword [0x18014c698], 2
call fcn.18003c7d0
mov rbx, qword [rsp + 0x160]
cmp dword [rax], esi
je 0x180024404
dec dword [str._n_n]
mov rsi, qword [rsp + 0x168]
mov r14, qword [rsp + 0x138]
mov rcx, qword [rbp - 0x80]
xor rcx, rsp
call fcn.1800cdb80
add rsp, 0x150
pop rbp
ret