Function at 0x140093d60
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 [0x140185fc0]
xor rax, rsp
mov qword [rbp + 0x160], rax
xor edi, edi
mov rax, qword [0x14018c670]
cmp byte [rax + 0x5fe8], dil
je 0x140094232
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, [0x140145bb4]
lea rcx, [rsp + 0x70]
call fcn.140012850
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, [0x140145bc4]
lea rcx, [rbp - 0x68]
call fcn.140012850
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, [0x140145bd4]
lea rcx, [rbp - 0x40]
call fcn.140012850
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, [0x140145be4]
lea rcx, [rbp - 0x18]
call fcn.140012850
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, [0x140145bf4]
lea rcx, [rbp + 0x10]
call fcn.140012850
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, [0x140145c04]
lea rcx, [rbp + 0x38]
call fcn.140012850
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, [0x140145c14]
lea rcx, [rbp + 0x60]
call fcn.140012850
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, [0x140145c24]
lea rcx, [rbp + 0x88]
call fcn.140012850
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, [0x140145c34]
lea rcx, [rbp + 0xb0]
call fcn.140012850
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, [0x140145c44]
lea rcx, [rbp + 0xd8]
call fcn.140012850
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, [0x140145c54]
lea rcx, [rbp + 0x100]
call fcn.140012850
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, [0x140145c64]
lea rcx, [rbp + 0x128]
call fcn.140012850
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.1400791b0
nop
lea r9, [fcn.140007a20]
lea edx, [rdi + 0x28]
lea r8d, [rdi + 0xc]
lea rcx, [rsp + 0x70]
call fcn.14011e6ac
mov r13, qword [rbp + 0x150]
mov rbx, qword [r13 + 8]
mov r14, r13
mov r15, qword [0x14018aa50]
mov rsi, qword [0x14018aa48]
mov r12, qword [0x14018aa38]
cmp byte [rbx + 0x19], dil
jne 0x1400940c3
lea rcx, [rbx + 0x20]
lea rdx, [0x14018aa38]
cmp r15, 0xf
cmova rdx, r12
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x140094081
mov rcx, qword [rcx]
mov r8, rdi
cmp rsi, rdi
cmovb r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400940a8
cmp rdi, rsi
jae 0x1400940a0
mov eax, 0xffffffff
jmp 0x1400940a8
xor eax, eax
cmp rdi, rsi
seta al
shr eax, 0x1f
test al, al
je 0x1400940b5
mov rbx, qword [rbx + 0x10]
jmp 0x1400940bb
mov r14, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x140094060
xor edi, edi
cmp byte [r14 + 0x19], 0
jne 0x14009420a
lea rdx, [r14 + 0x20]
mov rbx, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1400940e0
mov rdx, qword [rdx]
lea rcx, [0x14018aa38]
cmp r15, 0xf
cmova rcx, r12
mov r8, rsi
cmp rbx, rsi
cmovb r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140094113
cmp rsi, rbx
jae 0x14009410e
mov eax, 0xffffffff
jmp 0x140094113
mov eax, edi
seta al
shr eax, 0x1f
test al, al
jne 0x14009420a
cmp r14, r13
je 0x14009420a
lea rdx, [0x14018aa38]
lea rcx, [rbp + 0x150]
call fcn.14007ec30
mov ecx, dword [rax]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140094203
lea rcx, [rsp + 0x50]
call fcn.14004f7e0
movabs rcx, 0x7ffffffffd050f7f
movabs rbx, 0x7fffffffffffffff
mov rax, qword [rsp + 0x50]
cmp rax, rcx
jge 0x140094180
add rax, 0x2faf080
mov qword [rsp + 0x50], rax
jmp 0x140094185
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x50]
call fcn.14001b120
mov rcx, qword [0x140189e08]
sub rbx, rcx
cmp rbx, 0x19
jb 0x140094262
lea rax, [0x140189df8]
cmp qword [0x140189e10], 0xf
cmova rax, qword [0x140189df8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], Ordinal_27
lea r9, str.actioninput_ntext_pull
lea r8, [0x140189df8]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.140007810
mov r9d, 2
lea r8, [rsp + 0x50]
xor edx, edx
mov rcx, qword [0x14018c670]
call fcn.1400b1a90
mov r13, qword [rbp + 0x150]
mov r8, qword [r13 + 8]
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0x150]
call fcn.140073020
mov edx, 0x48
mov rcx, qword [rbp + 0x150]
call fcn.14011e4d4
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.14011e5f0
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.140007b10
nop
int3