Function at 0x14009dd30
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x248
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
movabs r14, 0x7fffffffffffffff
movabs r15, 0x7ffffffffff0bdbf
lea r12, [0x140390680]
xor edi, edi
nop word [rax + rax]
mov rbx, qword [0x140391a28]
test rbx, rbx
je 0x14009e433
cmp qword [0x140391a48], 0
je 0x14009e433
cmp byte [0x14039152c], 0
jne 0x14009dde5
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
jmp 0x14009ddb0
mov ecx, dword [0x140390bc8]
add rcx, rbx
je 0x14009de6e
mov eax, dword [0x140390278]
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0x90], edi
mov eax, dword [0x140390270]
mov dword [rsp + 0x94], eax
mov eax, dword [0x140390274]
mov dword [rsp + 0x98], eax
mov qword [rsp + 0xa0], rcx
lea rax, [rsp + 0x280]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], 8
mov rdx, qword [0x140390b00]
test rdx, rdx
je 0x14009de75
lea rcx, [rsp + 0x90]
call rdx
test rax, rax
je 0x14009de6e
mov rdx, qword [0x140390b00]
mov rsi, qword [rsp + 0x280]
jmp 0x14009de80
mov rdx, qword [0x140390b00]
mov rsi, rdi
mov qword [rsp + 0x280], rdi
mov ecx, dword [0x140390bc4]
add rcx, rbx
je 0x14009def1
mov eax, dword [0x140390278]
mov dword [rsp + 0x108], eax
mov dword [rsp + 0xd0], edi
mov eax, dword [0x140390270]
mov dword [rsp + 0xd4], eax
mov eax, dword [0x140390274]
mov dword [rsp + 0xd8], eax
mov qword [rsp + 0xe0], rcx
lea rax, [rsp + 0x298]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], 8
test rdx, rdx
je 0x14009def1
lea rcx, [rsp + 0xd0]
call rdx
test rax, rax
jne 0x14009def9
mov qword [rsp + 0x298], rdi
test rbx, rbx
jne 0x14009df0f
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
jmp 0x14009ddb0
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x140391410]
je 0x14009df38
cmp rax, qword [0x140391408]
je 0x14009df38
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
jmp 0x14009ddb0
lea rcx, [rbx + 0x90]
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0
test rcx, rcx
je 0x14009dfc8
mov eax, dword [0x140390278]
mov dword [rsp + 0x108], eax
mov dword [rsp + 0xd0], edi
mov eax, dword [0x140390270]
mov dword [rsp + 0xd4], eax
mov eax, dword [0x140390274]
mov dword [rsp + 0xd8], eax
mov qword [rsp + 0xe0], rcx
lea rax, [rsp + 0x20]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], recvfrom
mov rdx, qword [0x140390b00]
test rdx, rdx
je 0x14009dfcf
lea rcx, [rsp + 0xd0]
call rdx
test rax, rax
je 0x14009dfc8
mov rdx, qword [0x140390b00]
jmp 0x14009dfda
mov rdx, qword [0x140390b00]
xor eax, eax
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], eax
lea rcx, [rsi + 0x90]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x38], 0
test rcx, rcx
je 0x14009e061
mov eax, dword [0x140390278]
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0x90], edi
mov eax, dword [0x140390270]
mov dword [rsp + 0x94], eax
mov eax, dword [0x140390274]
mov dword [rsp + 0x98], eax
mov qword [rsp + 0xa0], rcx
lea rax, [rsp + 0x30]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], recvfrom
test rdx, rdx
je 0x14009e061
lea rcx, [rsp + 0x90]
call rdx
mov rdx, qword [0x140390b00]
test rax, rax
jne 0x14009e06c
xor eax, eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], eax
cmp byte [0x140391534], 0
jne 0x14009e10a
mov edx, dword [0x140390b8c]
add rdx, 4
add rdx, rbx
call fcn.1400036b0
bt eax, 0x1e
jae 0x14009e0c5
movss xmm0, dword [rsp + 0x30]
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [rsp + 0x34]
movss dword [rsp + 0x44], xmm1
movss xmm0, dword [rsp + 0x38]
movss dword [rsp + 0x48], xmm0
xor r9d, r9d
lea r8, [rsp + 0x40]
mov rdx, rsi
call fcn.14009f250
movss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x50], xmm0
movss xmm1, dword [rsp + 0x24]
movss dword [rsp + 0x54], xmm1
movss xmm0, dword [rsp + 0x28]
movss dword [rsp + 0x58], xmm0
xor r9d, r9d
lea r8, [rsp + 0x50]
mov rdx, rbx
call fcn.14009f250
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
jmp 0x14009ddb0
mov rax, qword [0x140391a38]
test rax, rax
jne 0x14009e11e
mov rcx, rdi
jmp 0x14009e1ac
lea rcx, [rax + 0x3c0]
test rcx, rcx
je 0x14009e1a1
mov eax, dword [0x140390278]
mov dword [rsp + 0x148], eax
mov dword [rsp + 0x110], edi
mov eax, dword [0x140390270]
mov dword [rsp + 0x114], eax
mov eax, dword [0x140390274]
mov dword [rsp + 0x118], eax
mov qword [rsp + 0x120], rcx
lea rax, [rsp + 0x288]
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], 8
test rdx, rdx
je 0x14009e1a1
lea rcx, [rsp + 0x110]
call rdx
mov rdx, qword [0x140390b00]
test rax, rax
je 0x14009e1a1
mov rcx, qword [rsp + 0x288]
jmp 0x14009e1ac
mov rcx, rdi
mov qword [rsp + 0x288], rcx
test rcx, rcx
je 0x14009e20a
mov eax, dword [0x140390278]
mov dword [rsp + 0x188], eax
mov dword [rsp + 0x150], edi
mov eax, dword [0x140390270]
mov dword [rsp + 0x154], eax
mov eax, dword [0x140390274]
mov dword [rsp + 0x158], eax
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x170], 0x3f0
test rdx, rdx
je 0x14009e20a
lea rcx, [rsp + 0x150]
call rdx
movss xmm12, dword [0x140390a58]
movss xmm10, dword [0x140390a54]
movss xmm11, dword [0x140390a50]
xorps xmm0, xmm0
ucomiss xmm11, xmm0
jne 0x14009e255
ucomiss xmm10, xmm0
jne 0x14009e255
ucomiss xmm12, xmm0
jne 0x14009e255
movss xmm11, dword [0x1403906c0]
movss xmm10, dword [0x1403906c4]
movss xmm12, dword [0x1403906c8]
movss xmm8, dword [rsp + 0x20]
movaps xmm13, xmm8
movss xmm9, dword [rsp + 0x24]
movaps xmm14, xmm9
movss xmm7, dword [rsp + 0x28]
movaps xmm15, xmm7
movss xmm6, dword [0x140391538]
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14009e293
addss xmm6, xmm6
jmp 0x14009e2ab
mov ecx, 0xa4
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14009e2ab
mulss xmm6, dword [0x140339188]
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14009e2e4
movaps xmm8, xmm11
mulss xmm8, xmm6
addss xmm8, xmm13
movaps xmm9, xmm10
mulss xmm9, xmm6
addss xmm9, xmm14
movaps xmm7, xmm12
mulss xmm7, xmm6
addss xmm7, xmm15
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14009e318
movaps xmm0, xmm11
mulss xmm0, xmm6
subss xmm8, xmm0
movaps xmm1, xmm10
mulss xmm1, xmm6
subss xmm9, xmm1
mulss xmm12, xmm6
subss xmm7, xmm12
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14009e342
movaps xmm0, xmm10
mulss xmm0, xmm6
subss xmm8, xmm0
movaps xmm1, xmm11
mulss xmm1, xmm6
addss xmm9, xmm1
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14009e366
mulss xmm10, xmm6
addss xmm8, xmm10
mulss xmm11, xmm6
subss xmm9, xmm11
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14009e37a
addss xmm7, xmm6
mov ecx, reloc.WS2_32.dll_recvfrom
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14009e38e
subss xmm7, xmm6
mov edx, dword [0x140390b8c]
add rdx, 4
add rdx, rbx
call fcn.1400036b0
bt eax, 0x1e
jae 0x14009e3ca
movss dword [rsp + 0x60], xmm8
movss dword [rsp + 0x64], xmm9
movss dword [rsp + 0x68], xmm7
mov r9b, 1
lea r8, [rsp + 0x60]
mov rdx, rsi
call fcn.14009f250
movss dword [rsp + 0x70], xmm8
movss dword [rsp + 0x74], xmm9
movss dword [rsp + 0x78], xmm7
mov r9b, 1
lea r8, [rsp + 0x70]
mov rdx, rbx
call fcn.14009f250
lea rcx, [rsp + 0x80]
call fcn.1400039c0
mov rax, qword [rsp + 0x80]
cmp rax, r15
jge 0x14009e418
add rax, 0xf4240
mov qword [rsp + 0x290], rax
jmp 0x14009e420
mov qword [rsp + 0x290], r14
lea rcx, [rsp + 0x290]
call fcn.1400057b0
nop
jmp 0x14009ddb0
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
jmp 0x14009ddb0