Function at 0x180003fa0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r13
push r14
lea rbp, [rax - 0xc8]
sub rsp, 0x1a0
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1800863c0]
xor rax, rsp
mov qword [rbp - 0x10], rax
movss xmm10, dword [0x18007a5c8]
xorps xmm0, xmm0
xor r14d, r14d
movss dword [rsp + 0x68], xmm0
xorps xmm8, xmm8
movss dword [rsp + 0x6c], xmm0
xorps xmm9, xmm9
movss dword [rsp + 0x70], xmm0
mov ecx, 0xf0002fc9
movss dword [rsp + 0x74], xmm0
movss dword [rsp + 0x60], xmm8
mov esi, r14d
movss dword [rsp + 0x64], xmm9
mov r13d, r14d
movss dword [rsp + 0x78], xmm0
xorps xmm15, xmm15
movaps xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x80], 0
call fcn.180001dc0
mov rcx, qword [rax]
mov rbx, qword [rcx]
mov rcx, rbx
call fcn.180001ae0
test al, al
mov edi, r14d
cmovne rdi, rbx
mov rcx, rdi
call fcn.180001ae0
test al, al
je 0x1800048cd
mov eax, dword [rdi + 0x228]
cmp eax, 3
je 0x180004083
cmp eax, 2
jne 0x1800048cd
mov rax, qword [0x1801357e8]
mov rdi, qword [0x1801358d0]
movaps xmmword [rsp + 0x190], xmm6
movaps xmmword [rsp + 0x180], xmm7
movss xmm1, dword [rax + 0x10]
mulss xmm1, dword [0x18007a46c]
movaps xmmword [rsp + 0x140], xmm11
movss xmm11, dword [rbp - 0x24]
movaps xmmword [rsp + 0x130], xmm12
movss xmm12, dword [rbp - 0x28]
movss dword [rbp - 0x78], xmm1
movss xmm1, dword [rax + 0x14]
mov rax, qword [0x1801358d8]
mulss xmm1, dword [0x18007a46c]
mov qword [rsp + 0x30], rax
movaps xmmword [rsp + 0x120], xmm13
movss xmm13, dword [rbp - 0x2c]
movaps xmmword [rsp + 0x110], xmm14
movss xmm14, dword [rbp - 0x30]
movss dword [rbp - 0x74], xmm1
cmp rdi, rax
je 0x1800043cf
mov qword [rsp + 0x1d0], r12
mov r12, qword gs:[0x58]
mov qword [rsp + 0x1d8], r15
mov r15d, dword [0x180135750]
mov rcx, qword [rdi]
call fcn.180001ae0
test al, al
je 0x1800043a2
mov rcx, qword [rdi]
call fcn.180017c20
test eax, eax
je 0x1800043a2
mov rcx, qword [rdi]
call fcn.180017c20
test eax, eax
je 0x1800043a2
mov rcx, qword [0x1801358e8]
lea rdx, [rbp - 0x40]
mov r8d, 0x7c159a2
call fcn.180017560
mov rcx, qword [rdi]
movaps xmm0, xmmword [rax]
movaps xmmword [rbp - 0x30], xmm0
call fcn.180017d20
mov rcx, rax
mov rbx, rax
call fcn.180001ae0
test al, al
jne 0x18000419f
mov rax, r14
jmp 0x1800041a7
mov rcx, rbx
call fcn.180006f90
mov rdx, rax
lea rcx, str.Replication__p__n
call fcn.1800018c0
movss xmm11, dword [rbp - 0x24]
lea rsi, [0x180071b40]
movss xmm12, dword [rbp - 0x28]
movss xmm13, dword [rbp - 0x2c]
movss xmm14, dword [rbp - 0x30]
nop word [rax + rax]
mov r8d, dword [rsi]
lea rdx, [rbp - 0x60]
mov rcx, qword [rdi]
call fcn.180017560
mov rcx, qword [rdi]
call fcn.180001ae0
cmp byte [0x180135791], r14b
movss xmm6, dword [rbp - 0x54]
movss xmm7, dword [rbp - 0x58]
movss xmm8, dword [rbp - 0x5c]
movss xmm9, dword [rbp - 0x60]
je 0x1800042e0
mov rax, qword [r12 + r15*8]
mov ecx, 4
movss dword [rbp - 0x50], xmm9
movss dword [rbp - 0x4c], xmm8
movss dword [rbp - 0x48], xmm7
mov ecx, dword [rcx + rax]
cmp dword [0x180135a10], ecx
movss dword [rbp - 0x44], xmm6
movss dword [rsp + 0x40], xmm14
movss dword [rsp + 0x44], xmm13
movss dword [rsp + 0x48], xmm12
movss dword [rsp + 0x4c], xmm11
jle 0x180004295
lea rcx, [0x180135a10]
call fcn.18006c2d4
cmp dword [0x180135a10], 0xffffffff
jne 0x180004295
mov rax, qword [0x180135808]
lea rcx, [0x180135a10]
add rax, 0x4614ec0
mov qword [0x1801359e8], rax
call fcn.18006c268
mov rax, qword [0x1801359e0]
lea r9, [0x180135a20]
mov qword [rbp - 0x30], rax
lea r8, [rbp - 0x50]
mov rax, qword [0x1801359e8]
lea rdx, [rsp + 0x40]
mov qword [rbp - 0x28], rax
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0x28], r14
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
call fcn.180068050
cmp rax, 2
je 0x18000447a
lea rdx, [rbp - 0x80]
movss dword [rsp + 0x50], xmm9
lea rcx, [rsp + 0x50]
movss dword [rsp + 0x54], xmm8
movss dword [rsp + 0x58], xmm7
movss dword [rsp + 0x5c], xmm6
call fcn.180001af0
test al, al
je 0x18000438a
movss xmm0, dword [rbp - 0x80]
movss xmm1, dword [rbp - 0x7c]
subss xmm1, dword [rbp - 0x74]
subss xmm0, dword [rbp - 0x78]
mov rax, qword [0x180135818]
mulss xmm1, xmm1
mov rcx, qword [rax + 0x93311e8]
mulss xmm0, xmm0
addss xmm1, xmm0
andps xmm1, xmmword [0x18007aae0]
movd ebx, xmm1
add ebx, 0x3f800000
shr ebx, 1
call fcn.180001ae0
movd xmm1, ebx
comiss xmm10, xmm1
jbe 0x18000438a
movd xmm0, dword [0x180086494]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x18000438a
mov r13, qword [rdi]
movaps xmm10, xmm1
movss dword [rsp + 0x60], xmm8
movaps xmm15, xmm9
movss dword [rsp + 0x64], xmm7
movss dword [rsp + 0x78], xmm6
add rsi, 4
lea rax, [0x180071b8c]
cmp rsi, rax
jne 0x1800041e0
mov rsi, qword [rbp - 0x70]
add rdi, 8
cmp rdi, qword [rsp + 0x30]
jne 0x180004136
mov r15, qword [rsp + 0x1d8]
mov r12, qword [rsp + 0x1d0]
movss xmm8, dword [rsp + 0x60]
movss xmm9, dword [rsp + 0x64]
cmp qword [0x1801358e8], r14
je 0x180004899
cmp byte [0x18013579e], r14b
je 0x180004899
lea rcx, [rsp + 0x30]
call fcn.180001920
cmp byte [0x180135791], r14b
movss xmm6, dword [0x18007a5c0]
movss xmm7, dword [0x18007a5a4]
je 0x1800045ef
test rsi, rsi
je 0x1800045ef
call fcn.1800174c0
mov rcx, rax
call fcn.180017e70
test eax, eax
je 0x1800045ef
lea rcx, [rsp + 0x30]
call fcn.180001920
mov rax, qword [rsp + 0x30]
xorps xmm0, xmm0
sub rax, qword [0x1801357f8]
cvtsi2ss xmm0, rax
divss xmm0, xmm6
mulss xmm0, xmm7
comiss xmm0, dword [0x1800864b4]
jbe 0x1800045ef
call fcn.180017b80
mov rcx, rax
mov rbx, rax
call fcn.180001ae0
test al, al
jne 0x1800044a0
mov rbx, r14
jmp 0x1800044ca
mov rsi, qword [rdi]
mov qword [rbp - 0x70], rsi
movss dword [rsp + 0x68], xmm9
movss dword [rsp + 0x6c], xmm8
movss dword [rsp + 0x70], xmm7
movss dword [rsp + 0x74], xmm6
jmp 0x1800043a2
mov rbx, qword [rbx + 0x90]
mov rcx, rbx
call fcn.180001ae0
test al, al
jne 0x1800044b8
mov rbx, r14
jmp 0x1800044ca
mov rbx, qword [rbx + 0x48]
mov rcx, rbx
call fcn.180001ae0
test al, al
cmove rbx, r14
mov rcx, rbx
call fcn.180001ae0
test al, al
je 0x180004564
lea rcx, [rbx + 0x88]
call fcn.180001ae0
test al, al
je 0x180004564
cmp byte [rbx + 0x88], r14b
je 0x180004564
call fcn.180017b80
mov rcx, rax
mov rbx, rax
call fcn.180001ae0
test al, al
jne 0x18000450c
mov rbx, r14
jmp 0x180004536
mov rbx, qword [rbx + 0x90]
mov rcx, rbx
call fcn.180001ae0
test al, al
jne 0x180004524
mov rbx, r14
jmp 0x180004536
mov rbx, qword [rbx + 0x48]
mov rcx, rbx
call fcn.180001ae0
test al, al
cmove rbx, r14
mov rcx, rbx
call fcn.180001ae0
test al, al
je 0x180004564
xor edx, edx
mov rcx, rbx
call qword [0x180135860]
lea rcx, [rbx + 0x88]
call fcn.180001ae0
test al, al
je 0x180004564
mov byte [rbx + 0x88], r14b
call fcn.1800174c0
movss xmm0, dword [rsp + 0x68]
lea r8, [rsp + 0x50]
movss xmm1, dword [rsp + 0x6c]
lea rdx, [rsp + 0x40]
movss xmm2, dword [rsp + 0x70]
mov rcx, rax
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [rsp + 0x74]
movss dword [rsp + 0x5c], xmm0
movss dword [rsp + 0x54], xmm1
movss dword [rsp + 0x58], xmm2
movss dword [rsp + 0x40], xmm14
movss dword [rsp + 0x44], xmm13
movss dword [rsp + 0x48], xmm12
movss dword [rsp + 0x4c], xmm11
call fcn.180017f10
call fcn.1800174c0
mov rcx, rax
call fcn.180017df0
xor edx, edx
call fcn.180017700
lea rcx, [rsp + 0x30]
call fcn.180001920
mov rcx, qword [rax]
mov qword [0x1801357f8], rcx
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800046e0
call fcn.180017b80
mov rcx, rax
mov rbx, rax
call fcn.180001ae0
test al, al
jne 0x18000461c
mov rbx, r14
jmp 0x180004646
mov rbx, qword [rbx + 0x90]
mov rcx, rbx
call fcn.180001ae0
test al, al
jne 0x180004634
mov rbx, r14
jmp 0x180004646
mov rbx, qword [rbx + 0x48]
mov rcx, rbx
call fcn.180001ae0
test al, al
cmove rbx, r14
mov rcx, rbx
call fcn.180001ae0
test al, al
je 0x1800046e0
lea rcx, [rbx + 0x88]
call fcn.180001ae0
test al, al
je 0x1800046e0
cmp byte [rbx + 0x88], r14b
je 0x1800046e0
call fcn.180017b80
mov rcx, rax
mov rbx, rax
call fcn.180001ae0
test al, al
jne 0x180004688
mov rbx, r14
jmp 0x1800046b2
mov rbx, qword [rbx + 0x90]
mov rcx, rbx
call fcn.180001ae0
test al, al
jne 0x1800046a0
mov rbx, r14
jmp 0x1800046b2
mov rbx, qword [rbx + 0x48]
mov rcx, rbx
call fcn.180001ae0
test al, al
cmove rbx, r14
mov rcx, rbx
call fcn.180001ae0
test al, al
je 0x1800046e0
xor edx, edx
mov rcx, rbx
call qword [0x180135860]
lea rcx, [rbx + 0x88]
call fcn.180001ae0
test al, al
je 0x1800046e0
mov byte [rbx + 0x88], r14b
mov ecx, dword [0x180135794]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180004899
test r13, r13
je 0x180004899
call fcn.1800174c0
mov rcx, rax
call fcn.180017e70
test eax, eax
je 0x180004899
lea rcx, [rsp + 0x30]
call fcn.180001920
mov rax, qword [rsp + 0x30]
xorps xmm0, xmm0
sub rax, qword [0x1801357f8]
cvtsi2ss xmm0, rax
divss xmm0, xmm6
mulss xmm0, xmm7
comiss xmm0, dword [0x1800864b4]
jbe 0x180004899
call fcn.180017b80
mov rcx, rax
mov rbx, rax
call fcn.180001ae0
test al, al
jne 0x18000475f
mov rbx, r14
jmp 0x180004789
mov rbx, qword [rbx + 0x90]
mov rcx, rbx
call fcn.180001ae0
test al, al
jne 0x180004777
mov rbx, r14
jmp 0x180004789
mov rbx, qword [rbx + 0x48]
mov rcx, rbx
call fcn.180001ae0
test al, al
cmove rbx, r14
mov rcx, rbx
call fcn.180001ae0
test al, al
je 0x18000481d
lea rcx, [rbx + 0x88]
call fcn.180001ae0
test al, al
je 0x18000481d
cmp byte [rbx + 0x88], r14b
je 0x18000481d
call fcn.180017b80
mov rcx, rax
mov rbx, rax
call fcn.180001ae0
test al, al
je 0x1800047ee
mov rbx, qword [rbx + 0x90]
mov rcx, rbx
call fcn.180001ae0
test al, al
je 0x1800047ee
mov rbx, qword [rbx + 0x48]
mov rcx, rbx
call fcn.180001ae0
test al, al
cmove rbx, r14
mov r14, rbx
mov rcx, r14
call fcn.180001ae0
test al, al
je 0x18000481d
xor edx, edx
mov rcx, r14
call qword [0x180135860]
lea rcx, [r14 + 0x88]
call fcn.180001ae0
test al, al
je 0x18000481d
mov byte [r14 + 0x88], 0
call fcn.1800174c0
movss xmm0, dword [rsp + 0x78]
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
movss dword [rsp + 0x5c], xmm0
mov rcx, rax
movss dword [rsp + 0x50], xmm15
movss dword [rsp + 0x54], xmm8
movss dword [rsp + 0x58], xmm9
movss dword [rsp + 0x40], xmm14
movss dword [rsp + 0x44], xmm13
movss dword [rsp + 0x48], xmm12
movss dword [rsp + 0x4c], xmm11
call fcn.180017f10
call fcn.1800174c0
mov rcx, rax
call fcn.180017df0
xor edx, edx
call fcn.180017700
lea rcx, [rsp + 0x30]
call fcn.180001920
mov rcx, qword [rax]
mov qword [0x1801357f8], rcx
movaps xmm13, xmmword [rsp + 0x120]
movaps xmm12, xmmword [rsp + 0x130]
movaps xmm11, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm6, xmmword [rsp + 0x190]
movaps xmm14, xmmword [rsp + 0x110]
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.18006be60
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x40]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r14
pop r13
pop rdi
pop rsi
pop rbp
ret