Function at 0x180047eb0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0xa0
mov ecx, 0x20
movaps xmmword [rsp + 0x90], xmm6
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor edi, edi
movabs rsi, 0xd80958fc74e988a6
xorps xmm6, xmm6
test ax, ax
je 0x180047f41
mov dword [0x1800fbc08], edi
mov dword [0x1800fbc18], edi
mov qword [0x180100a88], rsi
call fcn.180067770
movss xmm0, dword [0x1800da5c8]
lea edx, [rdi + 1]
mov dword [rsp + 0x68], 1
xorps xmm3, xmm3
mov dword [rsp + 0x58], 1
xorps xmm2, xmm2
mov ecx, dword [rax]
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm0
call fcn.180054490
xorps xmm0, xmm0
mov qword [rsp + 0x80], rdi
mov ecx, 0x20
mov qword [rsp + 0x88], 0xf
movups xmmword [rsp + 0x70], xmm0
call fcn.1800714d8
movups xmm0, xmmword [str.GADGET_PARACHUTE]
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x80], 0x10
mov qword [rsp + 0x88], 0x1f
movups xmmword [rax], xmm0
mov byte [rax + 0x10], dil
call fcn.180050530
mov ebx, eax
mov dword [0x1800fbc08], edi
mov dword [0x1800fbc18], edi
mov qword [0x180100a88], rsi
call fcn.180067770
mov qword [rsp + 0xb0], rdi
mov ecx, dword [rax]
movabs rax, 0xb282dc6ebd803c75
mov qword [0x180100a88], rax
mov dword [rsp + 0xb0], ecx
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb0], rdi
mov dword [rsp + 0xb0], ebx
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xb0], rdi
mov qword [0x1800fbce8], rax
mov dword [rsp + 0xb0], 1
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xb0], rdi
mov qword [0x1800fbcf0], rax
mov dword [rsp + 0xb0], 1
mov rax, qword [rsp + 0xb0]
mov qword [0x1800fbcf8], rax
mov dword [0x1800fbc18], edi
mov qword [0x1800fbce0], rcx
mov dword [0x1800fbc08], 4
call fcn.180067770
mov dword [0x1800fbc08], edi
mov dword [0x1800fbc18], edi
mov qword [0x180100a88], rsi
call fcn.180067770
mov qword [rsp + 0xb0], rdi
mov ecx, dword [rax]
movabs rax, 0x886e37ec497200b6
mov dword [rsp + 0xb0], ecx
mov qword [0x180100a88], rax
mov rax, qword [rsp + 0xb0]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], edi
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], edi
je 0x18004823d
mov dword [0x1800fbc08], edi
mov dword [0x1800fbc18], edi
mov qword [0x180100a88], rsi
call fcn.180067770
mov qword [rsp + 0xb0], rdi
mov ecx, dword [rax]
movabs rax, 0x47e4e977581c5b55
mov dword [rsp + 0xb0], ecx
mov qword [0x180100a88], rax
mov rax, qword [rsp + 0xb0]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], edi
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], edi
jne 0x18004823d
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180048184
mov dword [0x1800fbc08], edi
mov dword [0x1800fbc18], edi
mov qword [0x180100a88], rsi
call fcn.180067770
mov dword [rsp + 0x68], edi
xorps xmm3, xmm3
mov dword [rsp + 0x58], edi
xorps xmm2, xmm2
movss dword [rsp + 0x38], xmm6
mov edx, 3
mov ecx, dword [rax]
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm6
call fcn.180054490
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800481e3
mov dword [0x1800fbc08], edi
mov dword [0x1800fbc18], edi
mov qword [0x180100a88], rsi
call fcn.180067770
movss xmm2, dword [0x1800da5b8]
xorps xmm3, xmm3
mov dword [rsp + 0x68], edi
mov edx, 3
mov dword [rsp + 0x58], edi
mov ecx, dword [rax]
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm6
call fcn.180054490
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18004823d
mov dword [0x1800fbc08], edi
mov dword [0x1800fbc18], edi
mov qword [0x180100a88], rsi
call fcn.180067770
mov dword [rsp + 0x68], edi
xorps xmm3, xmm3
mov dword [rsp + 0x58], edi
xorps xmm2, xmm2
movss dword [rsp + 0x38], xmm6
mov edx, 6
mov ecx, dword [rax]
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm6
call fcn.180054490
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop rdi
ret