Function at 0x18006ce10
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
sub rsp, 0x98
cmp byte [0x1802592c7], 0
je 0x18006d0e0
mov rcx, qword [0x1801dc900]
mov qword [rax + 8], rbx
mov qword [rax - 8], rdi
movaps xmmword [rax - 0x18], xmm6
mov byte [0x180259301], 1
call fcn.180013fb0
mov rcx, qword [0x1801dc900]
lea rdx, str.GADGET_PARACHUTE
mov eax, dword [rcx + 8]
mov qword [rcx + rax*8 + 0x130], rdx
movabs rdx, 0xd24d37cc275948cc
inc dword [rcx + 8]
mov rcx, qword [0x1801dc900]
call fcn.180014030
mov rcx, qword [0x1801dc900]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.180013fb0
mov rcx, qword [0x1801dc900]
movabs rdi, 0xd80958fc74e988a6
mov rdx, rdi
call fcn.180014030
mov rax, qword [0x1801dc900]
mov r9b, 1
mov r8d, 1
mov edx, ebx
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.1800219d0
mov rcx, qword [0x1801dc900]
call fcn.180013fb0
mov rcx, qword [0x1801dc900]
mov rdx, rdi
call fcn.180014030
mov rax, qword [0x1801dc900]
xorps xmm6, xmm6
movss xmm0, dword [0x180184c74]
movss dword [rsp + 0x70], xmm6
movss dword [rsp + 0x68], xmm6
mov rdx, qword [rax]
movss dword [rsp + 0x60], xmm6
movss dword [rsp + 0x58], xmm6
movss dword [rsp + 0x50], xmm6
mov edx, dword [rdx]
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm6
call fcn.1800718d0
mov rcx, qword [0x1801dc900]
call fcn.180013fb0
mov rcx, qword [0x1801dc900]
mov rdx, rdi
call fcn.180014030
mov rax, qword [0x1801dc900]
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.180071860
test eax, eax
je 0x18006d0c8
mov rcx, qword [0x1801dc900]
call fcn.180013fb0
mov rcx, qword [0x1801dc900]
mov rdx, rdi
call fcn.180014030
mov rcx, qword [0x1801dc900]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.180013fb0
mov rdx, qword [0x1801dc900]
mov qword [rsp + 0xa8], 0
mov dword [rsp + 0xa8], ebx
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
movabs rdx, 0x47e4e977581c5b55
mov rcx, qword [0x1801dc900]
call fcn.180014030
mov rax, qword [0x1801dc900]
mov rcx, qword [rax]
cmp dword [rcx], 0
jne 0x18006d0c8
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18006d034
mov rcx, qword [0x1801dc900]
call fcn.180013fb0
mov rcx, qword [0x1801dc900]
mov rdx, rdi
call fcn.180014030
mov rax, qword [0x1801dc900]
xorps xmm3, xmm3
movss xmm2, dword [0x180184db0]
xorps xmm1, xmm1
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.1800de6a0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18006d07e
mov rcx, qword [0x1801dc900]
call fcn.180013fb0
mov rcx, qword [0x1801dc900]
mov rdx, rdi
call fcn.180014030
mov rax, qword [0x1801dc900]
xorps xmm3, xmm3
movss xmm2, dword [0x180184ee0]
xorps xmm1, xmm1
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.1800de6a0
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18006d0c8
mov rcx, qword [0x1801dc900]
call fcn.180013fb0
mov rcx, qword [0x1801dc900]
mov rdx, rdi
call fcn.180014030
mov rax, qword [0x1801dc900]
xorps xmm2, xmm2
movss xmm3, dword [0x180184db0]
xorps xmm1, xmm1
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.1800de6a0
mov rdi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x98
ret