Function at 0x140090840
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x170]
sub rsp, 0x270
mov rax, qword [0x140181f80]
xor rax, rsp
mov qword [rbp + 0x160], rax
xor edi, edi
mov rax, qword [0x140188410]
cmp byte [rax + 0x5fe8], dil
je 0x140090d03
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
xorps xmm1, xmm1
movups xmmword [rsp + 0x70], xmm1
movdqa xmmword [rbp - 0x80], xmm0
lea r8d, [rdi + 2]
lea rdx, [0x14013fce4]
lea rcx, [rsp + 0x70]
call fcn.140011c40
mov dword [rbp - reloc.WS2_32.dll_WSASetLastError], 0x70
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], rdi
lea r8d, [rdi + 2]
lea rdx, [0x14013fcf4]
lea rcx, [rbp - 0x68]
call fcn.140011c40
mov dword [rbp - 0x48], WSACleanup
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x30], xmm1
lea r8d, [rdi + 2]
lea rdx, [0x14013fd04]
lea rcx, [rbp - 0x40]
call fcn.140011c40
mov dword [rbp - 0x20], WSACleanup
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rdi
mov qword [rbp], rdi
lea r8d, [rdi + 2]
lea rdx, [0x14013fd14]
lea rcx, [rbp - 0x18]
call fcn.140011c40
mov dword [rbp + 8], reloc.WS2_32.dll_WSAStartup
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x20], xmm1
lea r8d, [rdi + 2]
lea rdx, [0x14013fd24]
lea rcx, [rbp + 0x10]
call fcn.140011c40
mov dword [rbp + 0x30], reloc.WS2_32.dll_WSACleanup
xorps xmm0, xmm0
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x50], rdi
lea r8d, [rdi + 2]
lea rdx, [0x14013fd34]
lea rcx, [rbp + 0x38]
call fcn.140011c40
mov dword [rbp + 0x58], 0x75
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x70], xmm1
lea r8d, [rdi + 2]
lea rdx, [0x14013fd44]
lea rcx, [rbp + 0x60]
call fcn.140011c40
mov dword [rbp + 0x80], 0x76
xorps xmm0, xmm0
movups xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x98], rdi
mov qword [rbp + 0xa0], rdi
lea r8d, [rdi + 2]
lea rdx, [0x14013fd54]
lea rcx, [rbp + 0x88]
call fcn.140011c40
mov dword [rbp + 0xa8], 0x77
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xc0], xmm1
lea r8d, [rdi + 2]
lea rdx, [0x14013fd64]
lea rcx, [rbp + 0xb0]
call fcn.140011c40
mov dword [rbp + 0xd0], 0x78
xorps xmm0, xmm0
movups xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], rdi
mov qword [rbp + 0xf0], rdi
lea r8d, [rdi + 3]
lea rdx, [0x14013fd74]
lea rcx, [rbp + 0xd8]
call fcn.140011c40
mov dword [rbp + 0xf8], 0x79
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x110], xmm1
lea r8d, [rdi + 3]
lea rdx, [0x14013fd84]
lea rcx, [rbp + 0x100]
call fcn.140011c40
mov dword [rbp + 0x120], 0x7a
xorps xmm0, xmm0
movups xmmword [rbp + 0x128], xmm0
mov qword [rbp + 0x138], rdi
mov qword [rbp + 0x140], rdi
lea r8d, [rdi + 3]
lea rdx, [0x14013fd94]
lea rcx, [rbp + 0x128]
call fcn.140011c40
mov dword [rbp + 0x148], 0x7b
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x150]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x150]
call fcn.1400771b0
nop
lea r9, [fcn.140006e10]
lea edx, [rdi + 0x28]
lea r8d, [rdi + 0xc]
lea rcx, [rsp + 0x70]
call fcn.14011bbec
mov r13, qword [rbp + 0x150]
mov rbx, qword [r13 + 8]
mov r14, r13
mov r15, qword [0x1401869d8]
mov rsi, qword [0x1401869d0]
mov r12, qword [0x1401869c0]
cmp byte [rbx + 0x19], dil
jne 0x140090ba3
lea rcx, [rbx + 0x20]
lea rdx, [0x1401869c0]
cmp r15, 0xf
cmova rdx, r12
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x140090b61
mov rcx, qword [rcx]
mov r8, rdi
cmp rsi, rdi
cmovb r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140090b88
cmp rdi, rsi
jae 0x140090b80
mov eax, 0xffffffff
jmp 0x140090b88
xor eax, eax
cmp rdi, rsi
seta al
shr eax, 0x1f
test al, al
je 0x140090b95
mov rbx, qword [rbx + 0x10]
jmp 0x140090b9b
mov r14, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x140090b40
xor edi, edi
cmp byte [r14 + 0x19], 0
jne 0x140090cdb
lea rdx, [r14 + 0x20]
mov rbx, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140090bc0
mov rdx, qword [rdx]
lea rcx, [0x1401869c0]
cmp r15, 0xf
cmova rcx, r12
mov r8, rsi
cmp rbx, rsi
cmovb r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140090bf3
cmp rsi, rbx
jae 0x140090bee
mov eax, 0xffffffff
jmp 0x140090bf3
mov eax, edi
seta al
shr eax, 0x1f
test al, al
jne 0x140090cdb
cmp r14, r13
je 0x140090cdb
lea rdx, [0x1401869c0]
lea rcx, [rbp + 0x150]
call fcn.14007cc30
mov ecx, dword [rax]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140090cd4
lea rcx, [rsp + 0x50]
call fcn.14004dc80
movabs rcx, 0x7ffffffffd050f7f
movabs rbx, 0x7fffffffffffffff
mov rax, qword [rsp + 0x50]
cmp rax, rcx
jge 0x140090c60
add rax, 0x2faf080
mov qword [rsp + 0x50], rax
jmp 0x140090c65
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x50]
call fcn.14001a510
mov rcx, qword [0x140185fe8]
sub rbx, rcx
cmp rbx, 0x14
jb 0x140090d33
lea rax, [0x140185fd8]
cmp qword [0x140185ff0], 0xf
cmova rax, qword [0x140185fd8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], reloc.WS2_32.dll_sendto
lea r9, str.actioninput_ntext_
lea r8, [0x140185fd8]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.140006c00
lea rcx, [rsp + 0x50]
call fcn.14002c9d0
mov r13, qword [rbp + 0x150]
mov r8, qword [r13 + 8]
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0x150]
call fcn.140071020
mov edx, 0x48
mov rcx, qword [rbp + 0x150]
call fcn.14011ba14
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.14011bb30
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140006f00
nop
int3