Function at 0x180082780
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
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 [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
mov rax, qword [0x1803490c0]
xor rax, rsp
mov qword [rbp - 0x51], rax
mov r14, rcx
xor r12d, r12d
mov ecx, dword [0x180349edc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18008280b
cmp byte [0x18034cb3c], r12b
sete byte [0x18034cb3c]
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x18034cb3c], r12b
je 0x180083186
cmp byte [r14 + 8], r12b
je 0x180083186
mov ecx, dword [0x18034bc1c]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x18034e9f0], ecx
jle 0x18008288c
lea rcx, [0x18034e9f0]
call fcn.1800960a8
cmp dword [0x18034e9f0], 0xffffffff
jne 0x18008288c
mov qword [0x18034e9e0], r12
lea rcx, [rsp + 0x40]
call fcn.180085cf0
mov rdx, qword [rax]
mov qword [0x18034e9e0], rdx
mov qword [0x18034e9e8], 0xa
lea rcx, [0x18034e9f0]
call fcn.18009603c
lea rcx, [rsp + 0x40]
call fcn.180085cf0
mov rcx, qword [rsp + 0x40]
mov rdx, rcx
sub rdx, qword [0x18034e9e0]
movabs rax, 0x431bde82d7b634db
imul rdx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, qword [0x18034e9e8]
je 0x1800828e2
mov r8d, 1
mov r9d, 0xff
cmovl r8d, r9d
test r8b, r8b
js 0x180083186
mov qword [0x18034e9e0], rcx
mov rcx, qword [0x18034e858]
add rcx, 0x18
lea rdx, [rsp + 0x48]
call fcn.180066ab0
mov rcx, qword [0x18034e858]
add rcx, 0x70
lea rdx, [rbp - 0x69]
call fcn.180080c10
nop
mov rsi, qword [rbp - 0x69]
mov r15, qword [rbp - 0x61]
cmp rsi, r15
je 0x18008317d
add rsi, 8
movsd xmm11, qword [rbp - 0x71]
movsd xmm12, qword [rbp - 0x79]
movsd xmm13, qword [rsp + 0x48]
movsd xmm8, qword [0x180332258]
movsd xmm9, qword [0x180332220]
movsd xmm10, qword [0x180332238]
nop word [rax + rax]
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x18008316c
mov rax, qword [0x18034e858]
mov r8, qword [rax + 0x28]
cmp rdx, r8
je 0x18008316c
test r8, r8
je 0x18008299e
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
call r9
cmp al, 1
je 0x18008316c
lea rcx, [rsi - 8]
call fcn.180067160
cmp eax, 0xa
jl 0x18008316c
lea rdx, [rsp + 0x20]
lea rcx, [rsi - 8]
call fcn.180066ab0
movsd xmm1, qword [rax + 0x10]
subsd xmm1, xmm11
movsd xmm0, qword [rax + 8]
subsd xmm0, xmm12
movsd xmm2, qword [rax]
subsd xmm2, xmm13
mulsd xmm2, xmm2
mulsd xmm0, xmm0
addsd xmm2, xmm0
mulsd xmm1, xmm1
addsd xmm2, xmm1
xorps xmm0, xmm0
ucomisd xmm0, xmm2
ja 0x1800829fe
sqrtpd xmm0, xmm2
jmp 0x180082a06
movaps xmm0, xmm2
call fcn.1800c2f68
comisd xmm0, xmm8
ja 0x18008316c
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x48], xmm0
mov qword [rbp - 0x71], rax
mov rdi, qword [rsi]
cmp qword [rsi + 8], rax
jne 0x180082a39
mov rbx, r12
mov qword [rbp - 0x79], rbx
mov byte [rbp - 0x71], al
mov qword [rsp + 0x48], rdi
jmp 0x180082aa3
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 0xb
lea rdx, str.boundingBox
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034cfe8]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x2f8]
mov r8, rax
mov rdx, qword [rsi + 8]
mov rcx, rdi
call r9
mov rbx, rax
mov qword [rsp + 0x48], rdi
mov byte [rbp - 0x71], 0
mov qword [rbp - 0x79], rax
lea rcx, [rsp + 0x20]
call fcn.180004130
nop
test rbx, rbx
jne 0x180082ab3
xorps xmm6, xmm6
xorps xmm7, xmm7
jmp 0x180082b6f
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.maxX
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x338]
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
movaps xmm6, xmm0
lea rcx, [rsp + 0x20]
call fcn.180004130
xorps xmm1, xmm1
movups xmmword [rsp + 0x20], xmm1
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.minX
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x338]
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
movaps xmm7, xmm0
lea rcx, [rsp + 0x20]
call fcn.180004130
subsd xmm6, xmm7
comisd xmm6, xmm9
jbe 0x180082c5a
test rbx, rbx
jne 0x180082b8e
xorps xmm7, xmm7
xorps xmm6, xmm6
jmp 0x180082c4a
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.minY
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x338]
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
movaps xmm7, xmm0
lea rcx, [rsp + 0x20]
call fcn.180004130
xorps xmm1, xmm1
movups xmmword [rsp + 0x20], xmm1
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.maxY
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x338]
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
movaps xmm6, xmm0
lea rcx, [rsp + 0x20]
call fcn.180004130
subsd xmm6, xmm7
comisd xmm6, xmm10
jbe 0x180082c5a
jmp 0x18008316c
test rbx, rbx
jne 0x180082c64
xorps xmm6, xmm6
jmp 0x180082cc2
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.minX
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x338]
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
movaps xmm6, xmm0
lea rcx, [rsp + 0x20]
call fcn.180004130
movss xmm0, dword [r14 + 0x20]
cvtps2pd xmm0, xmm0
subsd xmm6, xmm0
test rbx, rbx
je 0x180082d97
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.minX
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x380]
movaps xmm3, xmm6
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
nop
lea rcx, [rsp + 0x20]
call fcn.180004130
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.maxX
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x338]
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
movaps xmm7, xmm0
lea rcx, [rsp + 0x20]
call fcn.180004130
jmp 0x180082d9a
xorps xmm7, xmm7
movss xmm6, dword [r14 + 0x20]
cvtps2pd xmm6, xmm6
addsd xmm6, xmm7
test rbx, rbx
je 0x180082e6f
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.maxX
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x380]
movaps xmm3, xmm6
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
nop
lea rcx, [rsp + 0x20]
call fcn.180004130
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.minZ
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x338]
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
movaps xmm6, xmm0
lea rcx, [rsp + 0x20]
call fcn.180004130
jmp 0x180082e72
xorps xmm6, xmm6
movss xmm0, dword [r14 + 0x20]
cvtps2pd xmm0, xmm0
subsd xmm6, xmm0
test rbx, rbx
je 0x180082f47
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.minZ
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x380]
movaps xmm3, xmm6
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
nop
lea rcx, [rsp + 0x20]
call fcn.180004130
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.maxZ
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x338]
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
movaps xmm7, xmm0
lea rcx, [rsp + 0x20]
call fcn.180004130
jmp 0x180082f4a
xorps xmm7, xmm7
movss xmm6, dword [r14 + 0x20]
cvtps2pd xmm6, xmm6
addsd xmm6, xmm7
test rbx, rbx
je 0x18008301f
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.maxZ
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x380]
movaps xmm3, xmm6
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
nop
lea rcx, [rsp + 0x20]
call fcn.180004130
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.minY
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x338]
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
movaps xmm6, xmm0
lea rcx, [rsp + 0x20]
call fcn.180004130
jmp 0x180083022
xorps xmm6, xmm6
movss xmm0, dword [r14 + 0x24]
cvtps2pd xmm0, xmm0
subsd xmm6, xmm0
test rbx, rbx
je 0x1800830f7
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.minY
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x380]
movaps xmm3, xmm6
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
nop
lea rcx, [rsp + 0x20]
call fcn.180004130
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.maxY
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x338]
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
movaps xmm7, xmm0
lea rcx, [rsp + 0x20]
call fcn.180004130
jmp 0x1800830fa
xorps xmm7, xmm7
movss xmm6, dword [r14 + 0x24]
cvtps2pd xmm6, xmm6
addsd xmm6, xmm7
test rbx, rbx
je 0x18008316c
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 4
lea rdx, str.maxY
lea rcx, [rsp + 0x20]
call fcn.180004d60
nop
lea rdx, [rsp + 0x20]
lea rcx, [0x18034d170]
call fcn.180070790
mov r8, qword [rdi]
mov r9, qword [r8 + 0x380]
movaps xmm3, xmm6
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call r9
nop
lea rcx, [rsp + 0x20]
call fcn.180004130
nop
add rsi, 0x20
lea rax, [rsi - 8]
cmp rax, r15
jne 0x180082960
lea rcx, [rbp - 0x69]
call fcn.180080b40
mov rcx, qword [rbp - 0x51]
xor rcx, rsp
call fcn.180095fe0
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
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]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret