Function at 0x14001de60
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x80
cmp dword [0x1401405f0], 0
movzx esi, dl
movzx edi, cx
je 0x14001de92
movzx ebx, byte [0x14013e4ab]
jmp 0x14001df92
cmp qword [0x14013f848], 0
je 0x14001dea8
movzx ebx, byte [0x14013f65f]
jmp 0x14001df92
mov ecx, 0xa0
xor bl, bl
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ebp, 0x8000
movzx ebx, bl
test bp, ax
mov eax, reloc.WSOCK32.dll_recv
mov ecx, 0xa1
cmovne ebx, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test bp, ax
je 0x14001dedb
or bl, 0x20
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test bp, ax
je 0x14001deee
or bl, 1
mov ecx, 0xa3
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test bp, ax
je 0x14001df01
or bl, 2
mov ecx, 0xa4
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test bp, ax
je 0x14001df14
or bl, 4
mov ecx, 0xa5
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test bp, ax
je 0x14001df27
or bl, 8
mov ecx, 0x5b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test bp, ax
je 0x14001df3a
or bl, 0x40
mov ecx, 0x5c
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test bp, ax
je 0x14001df4d
or bl, 0x80
cmp qword [0x14013f848], 0
je 0x14001df92
movzx ecx, byte [0x14013f65f]
movzx eax, bl
not al
and al, cl
je 0x14001df92
movzx edx, byte [0x14013f6f3]
not al
and byte [0x14013f6f2], al
and cl, al
and dl, al
mov byte [0x14013f65f], cl
lea rcx, [0x14013f740]
mov byte [0x14013f6f3], dl
call fcn.1400232d0
xor r9d, r9d
xor r8d, r8d
movzx edx, bl
movzx ecx, sil
mov dword [rsp + 0x28], 0xffc3d44f
mov byte [rsp + 0x20], 1
call fcn.140022950
xor esi, esi
cmp dword [0x1401405f0], 1
mov ebx, 0xffc3d44d
jne 0x14001e173
mov rax, qword [0x14013b0f8]
mov r8d, dword [0x14013e4bc]
mov ebp, ebx
movzx ecx, byte [rax + 0x136]
sub ebp, ecx
cmp r8d, dword [0x14013e4b8]
jne 0x14001e008
call fcn.140022110
test eax, eax
je 0x14001e12f
cmp dword [0x1401405f0], 1
jne 0x14001e0cd
mov r8d, dword [0x14013e4bc]
mov rcx, qword [0x14013e4c0]
or byte [0x14013e4aa], 1
mov eax, r8d
lea rdx, [rax + rax*4]
movzx eax, di
mov word [rcx + rdx*8 + 0xa], ax
mov eax, ebp
mov dword [rcx + rdx*8], 1
mov word [rcx + rdx*8 + 8], si
mov qword [rcx + rdx*8 + 0xc], 4
mov qword [rcx + rdx*8 + 0x18], rax
inc r8d
mov dword [0x14013e4bc], r8d
mov rax, qword [0x14013b0f8]
movzx ecx, byte [rax + 0x136]
sub ebx, ecx
cmp r8d, dword [0x14013e4b8]
jne 0x14001e078
call fcn.140022110
test eax, eax
je 0x14001e1e5
mov r8d, dword [0x14013e4bc]
cmp dword [0x1401405f0], 1
mov rcx, qword [0x14013e4c0]
mov eax, r8d
jne 0x14001e13b
or byte [0x14013e4aa], 1
lea rdx, [rax + rax*4]
movzx eax, di
mov word [rcx + rdx*8 + 0xa], ax
mov eax, ebx
inc r8d
mov dword [rcx + rdx*8], 1
mov word [rcx + rdx*8 + 8], si
mov qword [rcx + rdx*8 + 0xc], 6
mov qword [rcx + rdx*8 + 0x18], rax
mov dword [0x14013e4bc], r8d
jmp 0x14001e1e5
mov r8d, dword [0x14013e4bc]
mov rcx, qword [0x14013e4c0]
test di, di
jne 0x14001e0ee
mov dword [rcx + r8*8], esi
mov dword [rcx + r8*8 + 4], ebp
jmp 0x14001e041
movzx edx, byte [0x14013e4ab]
test dl, 3
jne 0x14001e117
test dl, 0xc
je 0x14001e117
mov dword [rcx + r8*8], 0x104
mov byte [rcx + r8*8 + 6], sil
mov word [rcx + r8*8 + 4], di
jmp 0x14001e041
mov dword [rcx + r8*8], 0x100
mov byte [rcx + r8*8 + 6], sil
mov word [rcx + r8*8 + 4], di
jmp 0x14001e041
mov r8d, dword [0x14013e4bc]
jmp 0x14001e04b
test di, di
jne 0x14001e156
inc r8d
mov dword [rcx + rax*8], esi
mov dword [rcx + rax*8 + 4], ebx
mov dword [0x14013e4bc], r8d
jmp 0x14001e1e5
inc r8d
mov dword [rcx + rax*8], 0x101
mov byte [rcx + rax*8 + 6], sil
mov dword [0x14013e4bc], r8d
mov word [rcx + rax*8 + 4], di
jmp 0x14001e1e5
mov rdx, qword [0x14013b0f8]
mov eax, ebx
mov dword [rsp + 0x30], 1
mov word [rsp + 0x38], si
mov word [rsp + 0x3a], di
mov qword [rsp + 0x3c], 4
movzx ecx, byte [rdx + 0x136]
mov dword [rsp + 0x58], 1
mov word [rsp + 0x60], si
sub eax, ecx
mov word [rsp + 0x62], di
mov qword [rsp + 0x64], 6
mov qword [rsp + 0x48], rax
movzx eax, byte [rdx + 0x136]
mov r8d, 0x28
sub ebx, eax
lea rdx, [rsp + 0x30]
lea ecx, [r8 - 0x26]
mov eax, ebx
mov qword [rsp + 0x70], rax
call qword [sym.imp.USER32.dll_SendInput]
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret