Function at 0x180023940
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x58]
sub rsp, 0x150
mov rax, qword [0x1801347c0]
xor rax, rsp
mov qword [rbp - 0x80], rax
cmp byte [0x1801b0229], 0
je 0x1800243f8
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 0x1800239e4
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x38], 2
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x38], rsi
mov qword [0x18014e950], rax
mov dword [rsp + 0x38], 0x19
mov rax, qword [rsp + 0x38]
mov qword [0x18014e958], rax
mov dword [0x18014e888], esi
mov qword [0x1801b3ad0], r14
mov dword [0x18014e878], 2
call fcn.18003c460
cmp dword [rax], esi
je 0x1800243e8
movabs rax, 0x4f8644af03d0e0d6
mov qword [rsp + 0x160], rbx
mov qword [0x1801b3ad0], rax
mov qword [rsp + 0x170], rdi
mov dword [0x18014e878], esi
mov dword [0x18014e888], esi
call fcn.18003c460
mov qword [rsp + 0x38], rsi
mov ecx, dword [rax]
movabs rax, 0x2975c866e6713290
mov qword [0x1801b3ad0], rax
mov dword [rsp + 0x38], ecx
mov rax, qword [rsp + 0x38]
mov qword [0x18014e950], rax
lea rax, [rsp + 0x40]
mov qword [0x18014e958], rax
mov dword [0x18014e888], esi
mov dword [0x18014e878], 2
call fcn.18003c460
mov ecx, dword [rsp + 0x40]
call fcn.18002a7b0
mov r8d, dword [rsp + 0x40]
mov rdx, qword [0x1801b3dc8]
mov rcx, qword [0x1801b3dc0]
call fcn.1800cf990
mov rbx, qword [0x1801b3dc8]
cmp rax, rbx
jne 0x180023ae4
movsxd rax, dword [0x1801b3ae4]
mov rcx, rbx
sub rcx, qword [0x1801b3dc0]
sar rcx, 2
cmp rcx, rax
ja 0x180023ae4
cmp rbx, qword [0x1801b3dd0]
je 0x180023ac9
mov eax, dword [rsp + 0x40]
mov dword [rbx], eax
mov rbx, qword [0x1801b3dc8]
add rbx, 4
mov qword [0x1801b3dc8], rbx
jmp 0x180023ae4
lea r8, [rsp + 0x40]
mov rdx, rbx
lea rcx, [0x1801b3dc0]
call fcn.18002d200
mov rbx, qword [0x1801b3dc8]
mov rdi, qword [0x1801b3dc0]
cmp rdi, rbx
je 0x18002431e
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 [0x180103f84]
movaps xmmword [rsp + 0x90], xmm15
movss xmm15, dword [0x180103c98]
nop dword [rax + rax]
mov ecx, dword [rdi]
mov dword [rsp + 0x38], ecx
call fcn.18002a7b0
movabs rax, 0x837765a25378f0bb
mov dword [0x18014e888], esi
mov qword [0x1801b3ad0], rax
mov qword [0x18014e950], rsi
mov dword [0x18014e878], 1
call fcn.18003c460
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 [0x18014e878], esi
mov dword [0x18014e888], esi
mov qword [0x1801b3ad0], rax
cvtdq2ps xmm10, xmm10
andps xmm1, xmmword [0x180108210]
cvtps2pd xmm8, xmm1
call fcn.18003c460
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 [0x180108240]
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 [0x18014e888], esi
mov qword [0x1801b3ad0], rax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x30]
mulss xmm6, xmm10
mov qword [0x18014e950], rax
mov dword [0x18014e878], 1
addss xmm6, xmm7
call fcn.18003c460
cmp dword [rax], esi
je 0x180023dc7
movabs rax, 0x997abd671d25ca0b
mov qword [rsp + 0x30], rsi
mov qword [0x1801b3ad0], rax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
mov qword [0x18014e950], rax
mov dword [rsp + 0x30], 1
mov rax, qword [rsp + 0x30]
mov qword [0x18014e958], rax
mov dword [0x18014e888], esi
mov dword [0x18014e878], 2
call fcn.18003c460
cmp dword [rax], esi
je 0x180023dc7
movabs rax, 0x9a9112a0fe9a4713
mov qword [rsp + 0x30], rsi
mov qword [0x1801b3ad0], rax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
mov qword [0x18014e950], rax
mov dword [rsp + 0x30], 1
mov rax, qword [rsp + 0x30]
mov qword [0x18014e958], rax
mov dword [0x18014e888], esi
mov dword [0x18014e878], 2
call fcn.18003c460
mov ecx, dword [rax]
mov dword [rsp + 0x38], ecx
jmp 0x180023dcb
mov ecx, dword [rsp + 0x38]
movabs rax, 0x3fef770d40960d5a
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x30], ecx
mov qword [0x1801b3ad0], rax
mov rax, qword [rsp + 0x30]
mov qword [0x18014e950], rax
mov dword [0x18014e888], esi
mov qword [0x18014e958], rsi
mov dword [0x18014e878], 2
call fcn.18003c460
comiss xmm13, xmm12
movups xmm2, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movups xmmword [rsp + 0x48], xmm2
movsd qword [rsp + 0x58], xmm0
jbe 0x180023e3e
comiss xmm2, xmm12
jbe 0x180023e3e
movaps xmm1, xmm13
subss xmm1, xmm2
movss dword [0x1801b3e7c], xmm1
jmp 0x180023e46
movss xmm1, dword [0x1801b3e7c]
comiss xmm12, xmm13
jbe 0x180023e62
comiss xmm12, xmm2
jbe 0x180023e62
movaps xmm1, xmm13
subss xmm1, xmm2
movss dword [0x1801b3e7c], xmm1
comiss xmm13, xmm12
jbe 0x180023e7e
comiss xmm12, xmm2
jbe 0x180023e7e
movaps xmm1, xmm13
addss xmm1, xmm2
movss dword [0x1801b3e7c], xmm1
comiss xmm12, xmm13
jbe 0x180023e9a
comiss xmm2, xmm12
jbe 0x180023e9a
movaps xmm1, xmm13
addss xmm1, xmm2
movss dword [0x1801b3e7c], xmm1
comiss xmm8, xmm12
movss xmm0, dword [rsp + 0x50]
movaps xmm2, xmm1
jbe 0x180023ebf
comiss xmm0, xmm12
jbe 0x180023ebf
movaps xmm1, xmm8
subss xmm1, xmm0
movss dword [0x1801b3e7c], xmm1
comiss xmm12, xmm8
jbe 0x180023edb
comiss xmm12, xmm0
jbe 0x180023edb
movaps xmm1, xmm8
subss xmm1, xmm0
movss dword [0x1801b3e7c], xmm1
comiss xmm8, xmm12
jbe 0x180023ef7
comiss xmm12, xmm0
jbe 0x180023ef7
movaps xmm1, xmm8
addss xmm1, xmm0
movss dword [0x1801b3e7c], xmm1
comiss xmm12, xmm8
jbe 0x180023f13
comiss xmm0, xmm12
jbe 0x180023f13
movaps xmm1, xmm8
addss xmm1, xmm0
movss dword [0x1801b3e7c], xmm1
comiss xmm6, xmm12
movss xmm0, dword [rsp + 0x58]
movaps xmm3, xmm1
jbe 0x180023f37
comiss xmm0, xmm12
jbe 0x180023f37
movaps xmm1, xmm6
subss xmm1, xmm0
movss dword [0x1801b3e7c], xmm1
comiss xmm12, xmm6
jbe 0x180023f52
comiss xmm12, xmm0
jbe 0x180023f52
movaps xmm1, xmm6
subss xmm1, xmm0
movss dword [0x1801b3e7c], xmm1
comiss xmm6, xmm12
jbe 0x180023f6d
comiss xmm12, xmm0
jbe 0x180023f6d
movaps xmm1, xmm6
addss xmm1, xmm0
movss dword [0x1801b3e7c], xmm1
comiss xmm12, xmm6
jbe 0x180023f88
comiss xmm0, xmm12
jbe 0x180023f88
movaps xmm1, xmm6
addss xmm1, xmm0
movss dword [0x1801b3e7c], xmm1
movss xmm0, dword [0x1801b3ae0]
movabs rcx, 0x1c99bb7b6e96d16f
mov edx, dword [rsp + 0x38]
mulss xmm1, xmm0
mulss xmm3, xmm0
mulss xmm2, xmm0
movss dword [rsp + 0x20], xmm1
call fcn.18002fcc0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18002401b
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x30], 2
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
mov qword [0x18014e950], rax
mov dword [rsp + 0x30], 0x18
mov rax, qword [rsp + 0x30]
mov qword [0x18014e958], rax
mov dword [0x18014e888], esi
mov qword [0x1801b3ad0], r14
mov dword [0x18014e878], 2
call fcn.18003c460
cmp dword [rax], esi
je 0x1800240c1
lea rax, [rsp + 0x38]
mov dword [0x18014e888], esi
mov qword [0x18014e950], rax
mov qword [0x1801b3ad0], r15
mov dword [0x18014e878], 1
call fcn.18003c460
mov rax, qword [0x1801b3dc0]
cmp rax, qword [0x1801b3dc8]
je 0x18002405a
mov qword [0x1801b3dc8], rax
lea rax, [rsp + 0x38]
mov dword [0x18014e888], esi
mov qword [0x18014e950], rax
mov qword [0x1801b3ad0], r15
mov dword [0x18014e878], 1
call fcn.18003c460
mov rax, qword [0x1801b3dc0]
cmp rax, qword [0x1801b3dc8]
je 0x180024099
mov qword [0x1801b3dc8], rax
lea rax, [rsp + 0x38]
mov dword [0x18014e888], esi
mov qword [0x18014e950], rax
mov qword [0x1801b3ad0], r15
mov dword [0x18014e878], 1
call fcn.18003c460
mov ecx, 0x45
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180024127
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x30], 2
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
mov qword [0x18014e950], rax
mov dword [rsp + 0x30], 0x24
mov rax, qword [rsp + 0x30]
mov qword [0x18014e958], rax
mov dword [0x18014e888], esi
mov qword [0x1801b3ad0], r14
mov dword [0x18014e878], 2
call fcn.18003c460
cmp dword [rax], esi
je 0x1800241b1
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x30]
mov qword [0x18014e950], rax
mov dword [0x18014e888], esi
mov qword [0x1801b3ad0], r12
mov dword [0x18014e878], 1
call fcn.18003c460
mov qword [rsp + 0x30], rsi
mov qword [0x1801b3ad0], 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 [0x18014e950], rax
movss dword [rsp + 0x30], xmm0
mov rax, qword [rsp + 0x30]
mov qword [0x18014e958], rax
mov dword [0x18014e888], esi
mov dword [0x18014e878], 2
call fcn.18003c460
mov ecx, 0x51
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180024217
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x30], 2
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
mov qword [0x18014e950], rax
mov dword [rsp + 0x30], 0x56
mov rax, qword [rsp + 0x30]
mov qword [0x18014e958], rax
mov dword [0x18014e888], esi
mov qword [0x1801b3ad0], r14
mov dword [0x18014e878], 2
call fcn.18003c460
cmp dword [rax], esi
je 0x1800242a1
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x30]
mov qword [0x18014e950], rax
mov dword [0x18014e888], esi
mov qword [0x1801b3ad0], r12
mov dword [0x18014e878], 1
call fcn.18003c460
mov qword [rsp + 0x30], rsi
mov qword [0x1801b3ad0], 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 [0x18014e950], rax
movss dword [rsp + 0x30], xmm0
mov rax, qword [rsp + 0x30]
mov qword [0x18014e958], rax
mov dword [0x18014e888], esi
mov dword [0x18014e878], 2
call fcn.18003c460
add rdi, 4
cmp rdi, rbx
jne 0x180023ba0
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 [0x18014e950], rax
mov dword [rsp + 0x30], 0x105
mov rax, qword [rsp + 0x30]
mov qword [0x18014e958], rax
mov dword [0x18014e888], esi
mov qword [0x1801b3ad0], rbx
mov dword [0x18014e878], 2
call fcn.18003c460
mov rdi, qword [rsp + 0x170]
cmp dword [rax], esi
je 0x180024388
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 [0x18014e950], rax
mov dword [rsp + 0x30], 0x106
mov rax, qword [rsp + 0x30]
mov qword [0x18014e958], rax
mov dword [0x18014e888], esi
mov qword [0x1801b3ad0], rbx
mov dword [0x18014e878], 2
call fcn.18003c460
mov rbx, qword [rsp + 0x160]
cmp dword [rax], esi
je 0x1800243e8
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.1800d0360
add rsp, 0x150
pop rbp
ret