Function at 0x180003680
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rsp + 0x70], xmm12
mov rax, qword [0x18009e0c0]
xor rax, rsp
mov qword [rbp - 0x41], rax
mov rbx, rdx
xor r13d, r13d
cmp byte [0x1800a07f4], r13b
jne 0x180003729
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a07f8], rax
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [0x1800a0800], rax
mov byte [0x1800a07f4], 1
jmp 0x180003730
mov rax, qword [0x1800a0800]
cmp byte [rax + 0x4cc], r13b
je 0x180003b26
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx r15d, ax
shr r15d, 0xf
and r15b, 1
cmp byte [0x1800a07f4], r13b
jne 0x1800037a1
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a07f8], rax
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [0x1800a0800], rax
mov byte [0x1800a07f4], 1
jmp 0x1800037a8
mov rax, qword [0x1800a0800]
cmp byte [rax + 0x4e2], r13b
je 0x1800037d4
test r15b, r15b
jne 0x1800037d4
mov ecx, 5
call qword [sym.imp.KERNEL32.dll_Sleep]
mov qword [0x1800a0870], r13
mov byte [0x1800a0861], r13b
jmp 0x180003b31
mov rcx, rbx
call fcn.18000e1b0
mov rsi, rax
mov rcx, rbx
call fcn.18000e360
mov r14, rax
mov rcx, rbx
call fcn.18000eb90
mov rdi, rax
test rsi, rsi
je 0x180003b26
test r14, r14
je 0x180003b26
test rax, rax
je 0x180003b26
movzx ecx, byte [0x1800a07f4]
test cl, cl
jne 0x180003860
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a07f8], rax
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [0x1800a0800], rax
mov cl, 1
mov byte [0x1800a07f4], cl
jmp 0x180003867
mov rax, qword [0x1800a0800]
cmp byte [rax + 0x4e0], r13b
je 0x18000389c
mov rdx, rbx
mov rcx, rsi
call fcn.18000dd20
mov rdx, rbx
mov rcx, rax
call fcn.18000bc40
test al, al
je 0x180003b26
movzx ecx, byte [0x1800a07f4]
mov rax, qword [0x1800a0800]
test cl, cl
jne 0x1800038e2
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a07f8], rax
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [0x1800a0800], rax
mov byte [0x1800a07f4], 1
cmp byte [rax + 0x4e1], r13b
jne 0x1800038fe
mov rdx, rbx
mov rcx, rdi
call fcn.18000bd20
test al, al
jne 0x180003b26
mov r8, rbx
lea rdx, [rbp - 0x79]
mov rcx, rsi
call fcn.18000cd10
movsd xmm11, qword [rbp - 0x69]
movsd xmm12, qword [rbp - 0x71]
movsd xmm10, qword [rbp - 0x79]
movsd xmm8, qword [0x180090cc0]
mov rcx, qword [0x1800a0870]
test rcx, rcx
je 0x180003941
cmp byte [0x1800a0861], r13b
jne 0x180003a94
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, qword [0x1800a0868]
cmp rax, 0x64
jbe 0x180003a86
movsd xmm7, qword [0x180090d98]
mov qword [0x1800a0870], r13
mov r8, rbx
lea rdx, [rbp - 0x61]
mov rcx, r14
call fcn.18000f260
nop
mov r14, qword [rbp - 0x61]
mov rdi, r14
mov r12, qword [rbp - 0x59]
cmp r14, r12
je 0x180003a34
nop dword [rax + rax]
mov rax, qword [rbx]
mov r9, qword [rax + 0xc0]
mov r8, rsi
mov rdx, qword [rdi]
mov rcx, rbx
call r9
test al, al
jne 0x180003a27
mov r8, rbx
lea rdx, [rbp - 0x79]
mov rcx, qword [rdi]
call fcn.18000cd10
movaps xmm0, xmm12
subsd xmm0, qword [rbp - 0x71]
movaps xmm1, xmm8
call fcn.180062910
movaps xmm6, xmm0
movaps xmm0, xmm10
subsd xmm0, qword [rbp - 0x79]
movaps xmm1, xmm8
call fcn.180062910
addsd xmm6, xmm0
movaps xmm0, xmm11
subsd xmm0, qword [rbp - 0x69]
movaps xmm1, xmm8
call fcn.180062910
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x180003a0c
xorps xmm0, xmm0
sqrtsd xmm0, xmm6
jmp 0x180003a14
movaps xmm0, xmm6
call fcn.180065578
comisd xmm7, xmm0
jb 0x180003a27
movaps xmm7, xmm0
mov rax, qword [rdi]
mov qword [0x1800a0870], rax
add rdi, 8
cmp rdi, r12
jne 0x180003990
test r14, r14
je 0x180003a79
mov rax, qword [rbp - 0x51]
sub rax, r14
sar rax, 3
lea rdx, [rax*8]
mov rax, r14
cmp rdx, 0x1000
jb 0x180003a71
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004337
mov rcx, r14
call fcn.18004317c
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov qword [0x1800a0868], rax
mov byte [0x1800a0861], r15b
mov rcx, qword [0x1800a0870]
test rcx, rcx
je 0x180003b31
mov r8, rbx
lea rdx, [rbp - 0x61]
call fcn.18000cd10
movsd xmm9, qword [rbp - 0x61]
subsd xmm9, xmm10
movsd xmm10, qword [rbp - 0x51]
subsd xmm10, xmm11
movsd xmm0, qword [rbp - 0x59]
subsd xmm0, xmm12
movaps xmm1, xmm8
call fcn.180062910
movaps xmm6, xmm0
movaps xmm1, xmm8
movaps xmm0, xmm9
call fcn.180062910
addsd xmm6, xmm0
movaps xmm1, xmm8
movaps xmm0, xmm10
call fcn.180062910
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x180003b06
sqrtsd xmm6, xmm6
jmp 0x180003b11
movaps xmm0, xmm6
call fcn.180065578
movaps xmm6, xmm0
movsd xmm1, qword [0x180090c90]
comisd xmm1, xmm6
jb 0x180003b81
mov qword [0x1800a0870], r13
mov ecx, 5
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rbp - 0x41]
xor rcx, rsp
call fcn.180042db0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rdi, qword [0x1800a0870]
test rdi, rdi
je 0x180004325
test rbx, rbx
je 0x180004325
mov rax, qword [rbx]
mov r8, qword [rax + 0xf8]
mov rdx, rdi
mov rcx, rbx
call r8
mov r14, rax
test rax, rax
je 0x180004325
mov r8d, 1
lea rdx, str.getHealth
lea rcx, [rbp - 0x61]
call fcn.180017060
mov r8, rax
cmp qword [rax + 0x18], 0xf
jbe 0x180003bdc
mov r8, qword [rax]
mov rax, qword [rbx]
mov r10, qword [rax + 0x108]
lea r9, [0x18008f8d0]
mov rdx, r14
mov rcx, rbx
call r10
mov r15, rax
mov rdx, qword [rbp - 0x49]
cmp rdx, 0xf
jbe 0x180003c34
inc rdx
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003c2f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000433d
call fcn.18004317c
movdqa xmm0, xmmword [0x180090de0]
movdqu xmmword [rbp - 0x51], xmm0
mov byte [rbp - 0x61], 0
mov rax, qword [rbx]
mov r8, qword [rax + 0xb8]
mov rdx, r14
mov rcx, rbx
call r8
xor r9d, r9d
mov r8, rdi
mov rdx, rbx
mov rcx, r15
call fcn.180018d20
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x180004325
cmp byte [0x1800a07f4], 0
jne 0x180003cc2
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a07f8], rax
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [0x1800a0800], rax
mov byte [0x1800a07f4], 1
jmp 0x180003cc9
mov rax, qword [0x1800a0800]
movss xmm0, dword [rax + 0x4d4]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm6
jb 0x180003b31
mov rdx, rbx
mov rcx, rsi
call fcn.18000c920
mov rdx, rbx
mov rcx, rsi
call fcn.18000c800
movaps xmm7, xmm0
mov rdx, rbx
mov rcx, rsi
call fcn.18000c6e0
cvtpd2ps xmm0, xmm10
cvtpd2ps xmm1, xmm9
call fcn.180061878
mulss xmm0, dword [0x180090d60]
divss xmm0, dword [0x180090cf4]
subss xmm0, dword [0x180090d54]
subss xmm0, xmm7
movss xmm7, dword [0x180090d6c]
movaps xmm1, xmm7
call fcn.1800626c4
movaps xmm9, xmm0
comiss xmm9, dword [0x180090d60]
jb 0x180003d54
addss xmm9, dword [0x180090db8]
movss xmm1, dword [0x180090db4]
comiss xmm1, xmm9
jbe 0x180003d67
addss xmm9, xmm7
movaps xmm6, xmm9
andps xmm6, xmmword [0x1800910a0]
movzx ecx, byte [0x1800a07f4]
test cl, cl
jne 0x180003dc5
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a07f8], rax
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rdi, rax
mov qword [0x1800a0800], rax
mov cl, 1
mov byte [0x1800a07f4], cl
jmp 0x180003dcc
mov rdi, qword [0x1800a0800]
cvttss2si eax, xmm6
cmp eax, dword [rdi + 0x4d8]
jg 0x180003b31
comiss xmm6, dword [0x180090cb8]
jbe 0x180003b31
test cl, cl
jne 0x180003e32
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a07f8], rax
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rdi, rax
mov qword [0x1800a0800], rax
mov byte [0x1800a07f4], 1
call fcn.1800491c4
xorps xmm8, xmm8
cvtsi2ss xmm8, eax
movss xmm11, dword [0x180090d88]
divss xmm8, xmm11
mulss xmm8, dword [0x180090c78]
subss xmm8, dword [0x180090c70]
addss xmm8, dword [rdi + 0x4dc]
call fcn.1800491c4
xorps xmm7, xmm7
cvtsi2ss xmm7, eax
divss xmm7, xmm11
call fcn.1800491c4
xorps xmm10, xmm10
cvtsi2ss xmm10, eax
divss xmm10, xmm11
mulss xmm10, dword [0x180090d18]
addss xmm10, dword [0x180090c70]
addss xmm10, xmm8
mulss xmm7, dword [0x180090c30]
addss xmm7, dword [0x180090c24]
mulss xmm10, xmm7
mulss xmm10, xmm9
movaps xmm1, xmm10
andps xmm1, xmmword [0x1800910a0]
movss xmm0, dword [0x180090d1c]
comiss xmm0, xmm1
jb 0x180003ef3
mov edx, 8
mov ecx, 1
call fcn.1800190b0
cmp eax, 2
jg 0x180003ef3
mulss xmm10, dword [0x180090dac]
call fcn.1800491c4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm11
mulss xmm0, dword [0x180090c00]
movss xmm6, dword [0x180090c04]
subss xmm6, xmm0
mulss xmm6, xmm10
mov rdx, rbx
mov rcx, rsi
call fcn.18000c800
movaps xmm7, xmm0
addss xmm7, xmm6
mov rdx, rbx
mov rcx, rsi
call fcn.18000c920
movaps xmm8, xmm0
addss xmm8, xmm6
mov rdx, rbx
mov rcx, rsi
call fcn.18000c6e0
movaps xmm6, xmm0
call fcn.1800491c4
movd xmm2, eax
cvtdq2ps xmm2, xmm2
divss xmm2, xmm11
mulss xmm2, dword [0x180090c0c]
addss xmm2, dword [0x180090c08]
movd xmm1, dword [0x18009ed78]
cvtdq2ps xmm1, xmm1
mulss xmm2, xmm1
addss xmm6, xmm2
mov edx, 0xa
mov ecx, 1
call fcn.1800190b0
cmp eax, 1
jne 0x180003f9f
neg dword [0x18009ed78]
movss xmm0, dword [0x180090d50]
minss xmm0, xmm6
movss xmm6, dword [0x180090db0]
maxss xmm6, xmm0
mov rax, qword [rbx]
mov r8, qword [rax + 0xf8]
mov rdx, rsi
mov rcx, rbx
call r8
mov rdi, rax
test rax, rax
je 0x180004093
mov r8d, 1
lea rdx, str.rotationYaw
lea rcx, [rbp - 0x61]
call fcn.180017060
mov r8, rax
cmp qword [rax + 0x18], 0xf
jbe 0x180003ff9
mov r8, qword [rax]
mov rax, qword [rbx]
mov r10, qword [rax + 0x2f0]
lea r9, [0x18008f7bc]
mov rdx, rdi
mov rcx, rbx
call r10
mov r14, rax
mov rdx, qword [rbp - 0x49]
cmp rdx, 0xf
jbe 0x180004051
inc rdx
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000404c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004343
call fcn.18004317c
movdqa xmm0, xmmword [0x180090de0]
movdqu xmmword [rbp - 0x51], xmm0
mov byte [rbp - 0x61], 0
mov rax, qword [rbx]
mov r8, qword [rax + 0xb8]
mov rdx, rdi
mov rcx, rbx
call r8
test r14, r14
je 0x180004093
mov rax, qword [rbx]
mov r9, qword [rax + 0x378]
movaps xmm3, xmm7
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call r9
mov rax, qword [rbx]
mov r8, qword [rax + 0xf8]
mov rdx, rsi
mov rcx, rbx
call r8
mov rdi, rax
test rax, rax
je 0x180004170
mov r8d, 1
lea rdx, str.prevRotationYaw
lea rcx, [rbp - 0x61]
call fcn.180017060
mov r8, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1800040d5
mov r8, qword [rax]
mov rax, qword [rbx]
mov r10, qword [rax + 0x2f0]
lea r9, [0x18008f7bc]
mov rdx, rdi
mov rcx, rbx
call r10
mov r14, rax
mov rdx, qword [rbp - 0x49]
cmp rdx, 0xf
jbe 0x18000412d
inc rdx
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180004128
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004349
call fcn.18004317c
movdqa xmm0, xmmword [0x180090de0]
movdqu xmmword [rbp - 0x51], xmm0
mov byte [rbp - 0x61], 0
mov rax, qword [rbx]
mov r8, qword [rax + 0xb8]
mov rdx, rdi
mov rcx, rbx
call r8
test r14, r14
je 0x180004170
mov rax, qword [rbx]
mov r9, qword [rax + 0x378]
movaps xmm3, xmm8
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call r9
mov rax, qword [rbx]
mov r8, qword [rax + 0xf8]
mov rdx, rsi
mov rcx, rbx
call r8
mov rdi, rax
test rax, rax
je 0x18000424c
mov r8d, 1
lea rdx, str.rotationPitch
lea rcx, [rbp - 0x61]
call fcn.180017060
mov r8, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1800041b2
mov r8, qword [rax]
mov rax, qword [rbx]
mov r10, qword [rax + 0x2f0]
lea r9, [0x18008f7bc]
mov rdx, rdi
mov rcx, rbx
call r10
mov r14, rax
mov rdx, qword [rbp - 0x49]
cmp rdx, 0xf
jbe 0x18000420a
inc rdx
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180004205
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000434f
call fcn.18004317c
movdqa xmm0, xmmword [0x180090de0]
movdqu xmmword [rbp - 0x51], xmm0
mov byte [rbp - 0x61], 0
mov rax, qword [rbx]
mov r8, qword [rax + 0xb8]
mov rdx, rdi
mov rcx, rbx
call r8
test r14, r14
je 0x18000424c
mov rax, qword [rbx]
mov r9, qword [rax + 0x378]
movaps xmm3, xmm6
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call r9
mov rax, qword [rbx]
mov r9, qword [rax + 0xf8]
mov rdx, rsi
mov rcx, rbx
call r9
mov rdi, rax
test rax, rax
je 0x180003b31
mov r8d, 1
lea rdx, str.prevRotationPitch
lea rcx, [rbp - 0x61]
call fcn.180017060
mov r8, rax
cmp qword [rax + 0x18], 0xf
jbe 0x18000428e
mov r8, qword [rax]
mov rax, qword [rbx]
mov r10, qword [rax + 0x2f0]
lea r9, [0x18008f7bc]
mov rdx, rdi
mov rcx, rbx
call r10
mov r14, rax
mov rdx, qword [rbp - 0x49]
cmp rdx, 0xf
jbe 0x1800042e2
inc rdx
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800042dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004331
call fcn.18004317c
movdqa xmm0, xmmword [0x180090de0]
movdqu xmmword [rbp - 0x51], xmm0
mov byte [rbp - 0x61], 0
mov rax, qword [rbx]
mov rdx, rdi
mov rcx, rbx
call qword [rax + 0xb8]
test r14, r14
je 0x180003b31
mov rax, qword [rbx]
movaps xmm3, xmm6
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call qword [rax + 0x378]
jmp 0x180003b31
mov qword [0x1800a0870], r13
jmp 0x180003b31
call fcn.1800490f4
int3
call fcn.1800490f4
int3
call fcn.1800490f4
int3
call fcn.1800490f4
int3
call fcn.1800490f4
int3
call fcn.1800490f4
int3