Function at 0x140090960
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 [0x140183fc0]
xor rax, rsp
mov qword [rbp + 0x160], rax
xor edi, edi
mov rax, qword [0x14018a5d0]
cmp byte [rax + 0x5fe8], dil
je 0x140090e23
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, [0x140141d84]
lea rcx, [rsp + 0x70]
call fcn.1400126b0
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, [0x140141d94]
lea rcx, [rbp - 0x68]
call fcn.1400126b0
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, [0x140141da4]
lea rcx, [rbp - 0x40]
call fcn.1400126b0
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, [0x140141db4]
lea rcx, [rbp - 0x18]
call fcn.1400126b0
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, [0x140141dc4]
lea rcx, [rbp + 0x10]
call fcn.1400126b0
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, [0x140141dd4]
lea rcx, [rbp + 0x38]
call fcn.1400126b0
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, [0x140141de4]
lea rcx, [rbp + 0x60]
call fcn.1400126b0
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, [0x140141df4]
lea rcx, [rbp + 0x88]
call fcn.1400126b0
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, [0x140141e04]
lea rcx, [rbp + 0xb0]
call fcn.1400126b0
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, [0x140141e14]
lea rcx, [rbp + 0xd8]
call fcn.1400126b0
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, [0x140141e24]
lea rcx, [rbp + 0x100]
call fcn.1400126b0
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, [0x140141e34]
lea rcx, [rbp + 0x128]
call fcn.1400126b0
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.140077cd0
nop
lea r9, [fcn.140007880]
lea edx, [rdi + 0x28]
lea r8d, [rdi + 0xc]
lea rcx, [rsp + 0x70]
call fcn.14011c6fc
mov r13, qword [rbp + 0x150]
mov rbx, qword [r13 + 8]
mov r14, r13
mov r15, qword [0x140187e40]
mov rsi, qword [0x140187e38]
mov r12, qword [0x140187e28]
cmp byte [rbx + 0x19], dil
jne 0x140090cc3
lea rcx, [rbx + 0x20]
lea rdx, [0x140187e28]
cmp r15, 0xf
cmova rdx, r12
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x140090c81
mov rcx, qword [rcx]
mov r8, rdi
cmp rsi, rdi
cmovb r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140090ca8
cmp rdi, rsi
jae 0x140090ca0
mov eax, 0xffffffff
jmp 0x140090ca8
xor eax, eax
cmp rdi, rsi
seta al
shr eax, 0x1f
test al, al
je 0x140090cb5
mov rbx, qword [rbx + 0x10]
jmp 0x140090cbb
mov r14, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x140090c60
xor edi, edi
cmp byte [r14 + 0x19], 0
jne 0x140090dfb
lea rdx, [r14 + 0x20]
mov rbx, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140090ce0
mov rdx, qword [rdx]
lea rcx, [0x140187e28]
cmp r15, 0xf
cmova rcx, r12
mov r8, rsi
cmp rbx, rsi
cmovb r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140090d13
cmp rsi, rbx
jae 0x140090d0e
mov eax, 0xffffffff
jmp 0x140090d13
mov eax, edi
seta al
shr eax, 0x1f
test al, al
jne 0x140090dfb
cmp r14, r13
je 0x140090dfb
lea rdx, [0x140187e28]
lea rcx, [rbp + 0x150]
call fcn.14007d750
mov ecx, dword [rax]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140090df4
lea rcx, [rsp + 0x50]
call fcn.14004e7a0
movabs rcx, 0x7ffffffffd050f7f
movabs rbx, 0x7fffffffffffffff
mov rax, qword [rsp + 0x50]
cmp rax, rcx
jge 0x140090d80
add rax, 0x2faf080
mov qword [rsp + 0x50], rax
jmp 0x140090d85
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x50]
call fcn.14001af80
mov rcx, qword [0x140188678]
sub rbx, rcx
cmp rbx, 0x14
jb 0x140090e53
lea rax, [0x140188668]
cmp qword [0x140188680], 0xf
cmova rax, qword [0x140188668]
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, [0x140188668]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.140007670
lea rcx, [rsp + 0x50]
call fcn.14002d440
mov r13, qword [rbp + 0x150]
mov r8, qword [r13 + 8]
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0x150]
call fcn.140071b40
mov edx, 0x48
mov rcx, qword [rbp + 0x150]
call fcn.14011c524
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.14011c640
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.140007970
nop
int3