Function at 0x18009bf80
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x80
mov ecx, 0x20
movaps xmmword [rsp + 0x70], xmm6
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor esi, esi
movabs rbp, 0xd80958fc74e988a6
xorps xmm6, xmm6
test ax, ax
je 0x18009c029
mov dword [0x18035eae0], esi
mov dword [0x18035eaf0], esi
mov qword [0x1803afcd8], rbp
call fcn.180110360
movss xmm0, dword [0x1802fb90c]
lea edx, [rsi + 1]
mov dword [rsp + 0x60], 1
xorps xmm3, xmm3
mov dword [rsp + 0x58], 1
xorps xmm2, xmm2
mov ecx, dword [rax]
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x40], 1
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm0
call fcn.1800e3d60
mov edi, esi
lea r14, str.GADGET_PARACHUTE
mov ebx, esi
mov eax, edi
movsx ecx, byte [rax + r14]
call fcn.18022e718
add eax, ebx
inc edi
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
cmp edi, 0x10
jb 0x18009c034
lea ebx, [rbx + rbx*8]
mov dword [0x18035eae0], esi
mov dword [0x18035eaf0], esi
mov qword [0x1803afcd8], rbp
call fcn.180110360
mov r9d, 1
mov ecx, dword [rax]
mov eax, ebx
shr eax, 0xb
xor eax, ebx
imul edx, eax, 0x8001
call fcn.1800e34f0
call fcn.1800533c0
mov dword [0x18035eae0], esi
mov dword [0x18035eaf0], esi
mov qword [0x1803afcd8], rbp
call fcn.180110360
mov qword [rsp + 0xa8], rsi
mov ecx, dword [rax]
movabs rax, 0x886e37ec497200b6
mov dword [rsp + 0xa8], ecx
mov qword [0x1803afcd8], rax
mov rax, qword [rsp + 0xa8]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], esi
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], esi
je 0x18009c218
mov dword [0x18035eae0], esi
mov dword [0x18035eaf0], esi
mov qword [0x1803afcd8], rbp
call fcn.180110360
mov qword [rsp + 0xa8], rsi
mov ecx, dword [rax]
movabs rax, 0x47e4e977581c5b55
mov dword [rsp + 0xa8], ecx
mov qword [0x1803afcd8], rax
mov rax, qword [rsp + 0xa8]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], esi
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], esi
jne 0x18009c218
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18009c199
mov dword [0x18035eae0], esi
mov dword [0x18035eaf0], esi
mov qword [0x1803afcd8], rbp
call fcn.180110360
movss xmm1, dword [0x1802fb71c]
movaps xmm3, xmm6
movaps xmm2, xmm6
mov ecx, dword [rax]
call fcn.1800e49b0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18009c1db
mov dword [0x18035eae0], esi
mov dword [0x18035eaf0], esi
mov qword [0x1803afcd8], rbp
call fcn.180110360
movss xmm2, dword [0x1802fb840]
movaps xmm3, xmm6
movss xmm1, dword [0x1802fb71c]
mov ecx, dword [rax]
call fcn.1800e49b0
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18009c218
mov dword [0x18035eae0], esi
mov dword [0x18035eaf0], esi
mov qword [0x1803afcd8], rbp
call fcn.180110360
movss xmm1, dword [0x1802fb840]
movaps xmm3, xmm6
movaps xmm2, xmm6
mov ecx, dword [rax]
call fcn.1800e49b0
movaps xmm6, xmmword [rsp + 0x70]
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret