Function at 0x18004ac40
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x78]
sub rsp, 0x170
mov rax, qword [0x18010d3c0]
xor rax, rsp
mov qword [rbp - 0x50], rax
cmp byte [0x1801498a5], 0
je 0x18004b2ff
mov ecx, dword [0x180149864]
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rdi
mov qword [r11 - 0x10], r14
movaps xmmword [r11 - 0x28], xmm6
movaps xmmword [r11 - 0x38], xmm7
movaps xmmword [r11 - 0x48], xmm8
movaps xmmword [r11 - 0x58], xmm9
movaps xmmword [r11 - 0x68], xmm10
movaps xmmword [r11 - 0x78], xmm11
movaps xmmword [r11 - 0x88], xmm12
test ecx, ecx
je 0x18004b31b
cmp ecx, 1
jne 0x18004b2aa
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18004acd5
mov edx, 0x19
call fcn.1800486e0
test eax, eax
je 0x18004b2aa
mov qword [rsp + 0x198], r12
mov qword [rsp + 0x160], r15
call fcn.18001daf0
mov ecx, eax
lea rdx, [rbp - 0x54]
call fcn.180048e30
mov r8d, dword [rbp - 0x54]
mov rdx, qword [0x180112b88]
mov rcx, qword [0x180112b80]
call fcn.180059940
mov r15, qword [0x180112b88]
cmp rax, r15
jne 0x18004ad68
movsxd rax, dword [0x180112478]
mov rcx, r15
sub rcx, qword [0x180112b80]
sar rcx, 2
cmp rcx, rax
ja 0x18004ad68
cmp r15, qword [0x180112b90]
je 0x18004ad55
mov eax, dword [rbp - 0x54]
mov dword [r15], eax
mov r15, qword [0x180112b88]
add r15, 4
mov qword [0x180112b88], r15
jmp 0x18004ad68
lea r8, [rbp - 0x54]
mov rdx, r15
call fcn.18004ee10
mov r15, qword [0x180112b88]
mov r12, qword [0x180112b80]
mov qword [rsp + 0x188], rsi
movaps xmmword [rsp + 0xe0], xmm13
movaps xmmword [rsp + 0xd0], xmm14
movaps xmmword [rsp + 0xc0], xmm15
cmp r12, r15
je 0x18004b221
movss xmm15, dword [0x1800fff4c]
xor r14d, r14d
movss xmm14, dword [0x1801000d0]
xorps xmm9, xmm9
nop dword [rax]
nop dword [rax + rax]
mov ebx, dword [r12]
lea rcx, [rsp + 0x70]
xor edx, edx
call fcn.180046ed0
xorps xmm8, xmm8
xorps xmm7, xmm7
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
mulss xmm0, xmm15
movsd qword [rbp - 0x80], xmm1
mulss xmm1, xmm15
cvtss2sd xmm8, xmm0
cvtss2sd xmm7, xmm1
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 [0x1801001f0]
cvtps2pd xmm6, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm2, xmm2
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm7
xorps xmm1, xmmword [0x180100220]
cvtss2sd xmm2, xmm1
mulsd xmm2, xmm6
cvtpd2ps xmm11, xmm2
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 xmm12, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
lea rcx, [rsp + 0x70]
movd xmm6, dword [0x180112488]
xorps xmm13, xmm13
cvtsd2ss xmm13, xmm0
cvtdq2ps xmm6, xmm6
call fcn.180046e80
mov ecx, ebx
movsd xmm1, qword [rax + 0x10]
movaps xmm7, xmm11
mulss xmm7, xmm6
movaps xmm8, xmm12
movups xmm0, xmmword [rax]
movaps xmm10, xmm13
mulss xmm8, xmm6
mulss xmm10, xmm6
addss xmm7, xmm0
shufps xmm0, xmm0, 0xaa
addss xmm8, xmm0
movsd qword [rbp - 0x80], xmm1
addss xmm10, xmm1
call fcn.180047190
test eax, eax
je 0x18004aed5
xor edx, edx
mov ecx, ebx
call fcn.18001d2a0
test eax, eax
je 0x18004aed5
xor edx, edx
mov ecx, ebx
call fcn.18001d410
mov ebx, eax
xor r8d, r8d
lea rcx, [rsp + 0x70]
mov edx, ebx
call fcn.18001b7d0
comiss xmm7, xmm9
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
movsd qword [rbp - 0x60], xmm0
jbe 0x18004af12
comiss xmm1, xmm9
jbe 0x18004af12
movaps xmm3, xmm7
subss xmm3, xmm1
movss dword [0x18014eb60], xmm3
jmp 0x18004af1a
movss xmm3, dword [0x18014eb60]
comiss xmm9, xmm7
jbe 0x18004af35
comiss xmm9, xmm1
jbe 0x18004af35
movaps xmm3, xmm7
subss xmm3, xmm1
movss dword [0x18014eb60], xmm3
comiss xmm7, xmm9
jbe 0x18004af50
comiss xmm9, xmm1
jbe 0x18004af50
movaps xmm3, xmm7
addss xmm3, xmm1
movss dword [0x18014eb60], xmm3
comiss xmm9, xmm7
jbe 0x18004af6b
comiss xmm1, xmm9
jbe 0x18004af6b
movaps xmm3, xmm7
addss xmm3, xmm1
movss dword [0x18014eb60], xmm3
comiss xmm8, xmm9
movss xmm0, dword [rbp - 0x68]
movaps xmm1, xmm3
jbe 0x18004af8f
comiss xmm0, xmm9
jbe 0x18004af8f
movaps xmm3, xmm8
subss xmm3, xmm0
movss dword [0x18014eb60], xmm3
comiss xmm9, xmm8
jbe 0x18004afab
comiss xmm9, xmm0
jbe 0x18004afab
movaps xmm3, xmm8
subss xmm3, xmm0
movss dword [0x18014eb60], xmm3
comiss xmm8, xmm9
jbe 0x18004afc7
comiss xmm9, xmm0
jbe 0x18004afc7
movaps xmm3, xmm8
addss xmm3, xmm0
movss dword [0x18014eb60], xmm3
comiss xmm9, xmm8
jbe 0x18004afe3
comiss xmm0, xmm9
jbe 0x18004afe3
movaps xmm3, xmm8
addss xmm3, xmm0
movss dword [0x18014eb60], xmm3
comiss xmm10, xmm9
movss xmm0, dword [rbp - 0x60]
movaps xmm2, xmm3
jbe 0x18004b007
comiss xmm0, xmm9
jbe 0x18004b007
movaps xmm3, xmm10
subss xmm3, xmm0
movss dword [0x18014eb60], xmm3
comiss xmm9, xmm10
jbe 0x18004b023
comiss xmm9, xmm0
jbe 0x18004b023
movaps xmm3, xmm10
subss xmm3, xmm0
movss dword [0x18014eb60], xmm3
comiss xmm10, xmm9
jbe 0x18004b03f
comiss xmm9, xmm0
jbe 0x18004b03f
movaps xmm3, xmm10
addss xmm3, xmm0
movss dword [0x18014eb60], xmm3
comiss xmm9, xmm10
jbe 0x18004b05b
comiss xmm0, xmm9
jbe 0x18004b05b
movaps xmm3, xmm10
addss xmm3, xmm0
movss dword [0x18014eb60], xmm3
movss xmm0, dword [0x1801123a0]
mov ecx, ebx
mulss xmm3, xmm0
mulss xmm2, xmm0
mulss xmm1, xmm0
call fcn.1800475e0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18004b098
mov edx, 0x18
call fcn.1800486e0
test eax, eax
je 0x18004b214
mov ecx, ebx
mov edi, r14d
call fcn.18001caf0
test eax, eax
jne 0x18004b0bf
cmp edi, 0x19
jg 0x18004b0bf
mov ecx, ebx
call fcn.18001cab0
mov ecx, ebx
inc edi
call fcn.18001caf0
test eax, eax
je 0x18004b0a6
call fcn.180016290
test eax, eax
je 0x18004b100
mov ecx, ebx
call fcn.18001c9f0
mov ecx, eax
mov esi, eax
mov edi, r14d
call fcn.18001ca70
test eax, eax
jne 0x18004b0f9
nop
cmp edi, 0x19
jg 0x18004b0f9
mov ecx, esi
call fcn.18001ca30
mov ecx, esi
inc edi
call fcn.18001ca70
test eax, eax
je 0x18004b0e0
mov ecx, esi
call fcn.18001ccd0
movss xmm0, dword [0x1801123f4]
mov ecx, ebx
mov dword [rsp + 0x68], 1
mov dword [rsp + 0x60], r14d
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x40], r14d
movss dword [rsp + 0x38], xmm9
mulss xmm12, xmm0
mov dword [rbp - 0x58], ebx
mulss xmm11, xmm0
movss dword [rsp + 0x30], xmm9
mulss xmm13, xmm0
mulss xmm12, xmm14
mulss xmm11, xmm14
mulss xmm13, xmm14
movaps xmm3, xmm12
movss dword [rsp + 0x28], xmm9
movaps xmm2, xmm11
movss dword [rsp + 0x20], xmm13
call fcn.18001bab0
lea rcx, [rbp - 0x58]
call fcn.1800472f0
mov rax, qword [0x180112b80]
cmp rax, qword [0x180112b88]
je 0x18004b18b
mov qword [0x180112b88], rax
lea rcx, [rbp - 0x58]
call fcn.1800472f0
mov rax, qword [0x180112b80]
cmp rax, qword [0x180112b88]
je 0x18004b1ab
mov qword [0x180112b88], rax
lea rcx, [rbp - 0x58]
call fcn.1800472f0
movsxd rcx, dword [rbp - 0x58]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [0x180112b80]
xorps xmm0, xmm0
mov rdx, qword [0x180112b90]
mov qword [0x180112b90], r14
movdqu xmmword [0x180112b80], xmm0
test rcx, rcx
je 0x18004b214
sub rdx, rcx
and rdx, 0xfffffffffffffffc
cmp rdx, 0x1000
jb 0x18004b20f
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004b314
mov rcx, r8
call fcn.18005a100
add r12, 4
cmp r12, r15
jne 0x18004adc0
mov edx, 0x105
call fcn.180048740
test eax, eax
je 0x18004b24c
movd xmm0, dword [0x180112488]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x18011236c]
cvttss2si eax, xmm0
mov dword [0x180112488], eax
mov edx, 0x106
call fcn.180048740
test eax, eax
je 0x18004b277
movd xmm0, dword [0x180112488]
cvtdq2ps xmm0, xmm0
subss xmm0, dword [0x18011236c]
cvttss2si eax, xmm0
mov dword [0x180112488], eax
movaps xmm14, xmmword [rsp + 0xd0]
movaps xmm13, xmmword [rsp + 0xe0]
mov rsi, qword [rsp + 0x188]
movaps xmm15, xmmword [rsp + 0xc0]
mov r15, qword [rsp + 0x160]
mov r12, qword [rsp + 0x198]
movaps xmm8, xmmword [rsp + 0x130]
movaps xmm7, xmmword [rsp + 0x140]
movaps xmm6, xmmword [rsp + 0x150]
movaps xmm9, xmmword [rsp + 0x120]
mov r14, qword [rsp + 0x168]
movaps xmm10, xmmword [rsp + 0x110]
mov rdi, qword [rsp + 0x190]
movaps xmm11, xmmword [rsp + 0x100]
mov rbx, qword [rsp + 0x180]
movaps xmm12, xmmword [rsp + 0xf0]
mov rcx, qword [rbp - 0x50]
xor rcx, rsp
call fcn.180059b80
add rsp, 0x170
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18004b33d
mov edx, 0x19
call fcn.1800486e0
test eax, eax
je 0x18004b2aa
cmp byte [0x180149885], 0
je 0x18004b34f
cmp dword [0x18014eb88], 0
jne 0x18004b362
call fcn.18001daf0
lea rdx, [0x18014eb88]
mov ecx, eax
call fcn.180048e30
xor edx, edx
lea rcx, [rsp + 0x70]
call fcn.180046ed0
xorps xmm8, xmm8
xorps xmm7, xmm7
movups xmm1, xmmword [rax]
movsd xmm2, qword [rax + 0x10]
mulss xmm1, dword [0x1800fff4c]
movsd qword [rbp - 0x80], xmm2
mulss xmm2, dword [0x1800fff4c]
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 [0x1801001f0]
cvtps2pd xmm6, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm1, xmm1
xorps xmm10, xmm10
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm7
xorps xmm1, xmmword [0x180100220]
cvtss2sd xmm1, xmm1
mulsd xmm1, xmm6
cvtsd2ss xmm10, 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 xmm11, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
lea rcx, [rsp + 0x70]
xorps xmm12, xmm12
xorps xmm7, xmm7
cvtsi2ss xmm7, dword [0x180112484]
cvtsd2ss xmm12, xmm0
call fcn.180046e80
mov ecx, dword [0x18014eb88]
movsd xmm1, qword [rax + 0x10]
movaps xmm8, xmm10
mulss xmm8, xmm7
movaps xmm9, xmm11
movups xmm0, xmmword [rax]
mulss xmm9, xmm7
mulss xmm7, xmm12
addss xmm8, xmm0
shufps xmm0, xmm0, 0xaa
addss xmm9, xmm0
movsd qword [rbp - 0x80], xmm1
addss xmm7, xmm1
call fcn.180047190
test eax, eax
je 0x18004b489
mov ecx, dword [0x18014eb88]
xor edx, edx
call fcn.18001d2a0
test eax, eax
je 0x18004b489
mov ecx, dword [0x18014eb88]
xor edx, edx
call fcn.18001d410
mov dword [0x18014eb88], eax
jmp 0x18004b48f
mov eax, dword [0x18014eb88]
xor r8d, r8d
lea rcx, [rsp + 0x70]
mov edx, eax
call fcn.18001b7d0
xorps xmm6, xmm6
comiss xmm8, xmm6
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
movsd qword [rbp - 0x60], xmm0
jbe 0x18004b4cf
comiss xmm1, xmm6
jbe 0x18004b4cf
movaps xmm3, xmm8
subss xmm3, xmm1
movss dword [0x18014eb60], xmm3
jmp 0x18004b4d7
movss xmm3, dword [0x18014eb60]
comiss xmm6, xmm8
jbe 0x18004b4f2
comiss xmm6, xmm1
jbe 0x18004b4f2
movaps xmm3, xmm8
subss xmm3, xmm1
movss dword [0x18014eb60], xmm3
comiss xmm8, xmm6
jbe 0x18004b50d
comiss xmm6, xmm1
jbe 0x18004b50d
movaps xmm3, xmm8
addss xmm3, xmm1
movss dword [0x18014eb60], xmm3
comiss xmm6, xmm8
jbe 0x18004b528
comiss xmm1, xmm6
jbe 0x18004b528
movaps xmm3, xmm8
addss xmm3, xmm1
movss dword [0x18014eb60], xmm3
comiss xmm9, xmm6
movss xmm0, dword [rbp - 0x68]
movaps xmm1, xmm3
jbe 0x18004b54b
comiss xmm0, xmm6
jbe 0x18004b54b
movaps xmm3, xmm9
subss xmm3, xmm0
movss dword [0x18014eb60], xmm3
comiss xmm6, xmm9
jbe 0x18004b566
comiss xmm6, xmm0
jbe 0x18004b566
movaps xmm3, xmm9
subss xmm3, xmm0
movss dword [0x18014eb60], xmm3
comiss xmm9, xmm6
jbe 0x18004b581
comiss xmm6, xmm0
jbe 0x18004b581
movaps xmm3, xmm9
addss xmm3, xmm0
movss dword [0x18014eb60], xmm3
comiss xmm6, xmm9
jbe 0x18004b59c
comiss xmm0, xmm6
jbe 0x18004b59c
movaps xmm3, xmm9
addss xmm3, xmm0
movss dword [0x18014eb60], xmm3
comiss xmm7, xmm6
movss xmm0, dword [rbp - 0x60]
movaps xmm2, xmm3
jbe 0x18004b5bd
comiss xmm0, xmm6
jbe 0x18004b5bd
movaps xmm3, xmm7
subss xmm3, xmm0
movss dword [0x18014eb60], xmm3
comiss xmm6, xmm7
jbe 0x18004b5d6
comiss xmm6, xmm0
jbe 0x18004b5d6
movaps xmm3, xmm7
subss xmm3, xmm0
movss dword [0x18014eb60], xmm3
comiss xmm7, xmm6
jbe 0x18004b5ef
comiss xmm6, xmm0
jbe 0x18004b5ef
movaps xmm3, xmm7
addss xmm3, xmm0
movss dword [0x18014eb60], xmm3
comiss xmm6, xmm7
jbe 0x18004b608
comiss xmm0, xmm6
jbe 0x18004b608
movaps xmm3, xmm7
addss xmm3, xmm0
movss dword [0x18014eb60], xmm3
movss xmm0, dword [0x1801123a0]
mov ecx, dword [0x18014eb88]
mulss xmm3, xmm0
mulss xmm2, xmm0
mulss xmm1, xmm0
call fcn.1800475e0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18004b649
mov edx, 0x18
call fcn.1800486e0
test eax, eax
je 0x18004b73d
mov edi, dword [0x18014eb88]
xor r14d, r14d
mov ecx, edi
mov ebx, r14d
call fcn.18001caf0
test eax, eax
jne 0x18004b679
cmp ebx, 0x19
jg 0x18004b679
mov ecx, edi
call fcn.18001cab0
mov ecx, edi
inc ebx
call fcn.18001caf0
test eax, eax
je 0x18004b660
call fcn.180016290
test eax, eax
je 0x18004b6c0
mov ecx, edi
call fcn.18001c9f0
mov ecx, eax
mov edi, eax
mov ebx, r14d
call fcn.18001ca70
test eax, eax
jne 0x18004b6b9
nop dword [rax]
cmp ebx, 0x19
jg 0x18004b6b9
mov ecx, edi
call fcn.18001ca30
mov ecx, edi
inc ebx
call fcn.18001ca70
test eax, eax
je 0x18004b6a0
mov ecx, edi
call fcn.18001ccd0
movss xmm1, dword [0x1801123f4]
movss xmm0, dword [0x1801000d0]
mov ecx, dword [0x18014eb88]
mov dword [rsp + 0x68], 1
mov dword [rsp + 0x60], r14d
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x40], r14d
movss dword [rsp + 0x38], xmm6
mulss xmm11, xmm1
mulss xmm10, xmm1
movss dword [rsp + 0x30], xmm6
mulss xmm12, xmm1
mulss xmm11, xmm0
mulss xmm10, xmm0
mulss xmm12, xmm0
movaps xmm3, xmm11
movss dword [rsp + 0x28], xmm6
movaps xmm2, xmm10
movss dword [rsp + 0x20], xmm12
call fcn.18001bab0
mov eax, dword [0x18014eb3c]
mov dword [0x18014eb88], eax
mov edx, 0x105
call fcn.180048740
test eax, eax
je 0x18004b768
movd xmm0, dword [0x180112484]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x18011236c]
cvttss2si eax, xmm0
mov dword [0x180112484], eax
mov edx, 0x106
call fcn.180048740
test eax, eax
je 0x18004b2aa
movd xmm0, dword [0x180112484]
cvtdq2ps xmm0, xmm0
subss xmm0, dword [0x18011236c]
cvttss2si eax, xmm0
mov dword [0x180112484], eax
jmp 0x18004b2aa