Function at 0x140047b60
Capabilities:
Check for time delay via gettickcount
Log keystrokes via polling

Disassembly:
mov r11, rsp
sub rsp, 0xb8
mov rax, qword [0x1400e2080]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov qword [r11 + 8], rbx
xor eax, eax
mov qword [r11 + 0x10], rbp
mov ecx, Ordinal_50
mov qword [r11 + 0x18], rsi
xor ebp, ebp
mov qword [r11 - 8], rdi
lea rdi, [0x140111888]
rep stosb byte [rdi], al
cmp dword [0x140111890], 0x12
je 0x140048091
movaps xmmword [r11 - 0x18], xmm6
lea rbx, [0x140111dc8]
movss xmm6, dword [0x1400d0150]
lea rsi, [0x140111dc4]
movaps xmmword [r11 - 0x28], xmm7
xorps xmm7, xmm7
movaps xmmword [r11 - 0x38], xmm8
movss xmm8, dword [0x1400d00dc]
movaps xmmword [r11 - 0x48], xmm9
movss xmm9, dword [0x1400d011c]
nop word [rax + rax]
mov rdx, qword [0x140111838]
lea rcx, [0x140111888]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x140047c30
lea rcx, [0x140111888]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [0x140111888]
call qword [sym.imp.USER32.dll_DispatchMessageA]
xor eax, eax
lea rdi, [rsp + 0x48]
mov ecx, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x48]
rep stosb byte [rdi], al
lea rdi, [rsp + 0x40]
mov ecx, 8
rep stosb byte [rdi], al
mov rcx, qword [0x140111880]
call qword [sym.imp.USER32.dll_GetClientRect]
mov rcx, qword [0x140111880]
lea rdx, [rsp + 0x40]
call qword [sym.imp.USER32.dll_ClientToScreen]
mov rdi, qword [0x140111810]
lea rcx, [rsp + 0x58]
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x4c], eax
mov rax, qword [0x140111880]
mov qword [rdi + 0xd0], rax
cvttss2si eax, dword [rdi + 0x10]
mov dword [0x140111d08], eax
cvttss2si eax, dword [rdi + 0x14]
mov dword [0x140111d0c], eax
movss xmm0, dword [rdi + 0x10]
movss xmm1, dword [rdi + 0x14]
mulss xmm0, xmm9
mulss xmm1, xmm9
cvttss2si eax, xmm0
mov dword [0x140111d14], eax
cvttss2si eax, xmm1
mov dword [0x140111d10], eax
call qword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [rsp + 0x58]
mov ecx, 1
sub eax, dword [rsp + 0x40]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0xe08], xmm0
mov eax, dword [rsp + 0x5c]
sub eax, dword [rsp + 0x44]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0xe0c], xmm0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140047d36
mov byte [rdi + 0xe10], 1
mov eax, dword [rdi + 0xe0c]
mov dword [rdi + 0x36f8], eax
mov byte [rdi + 0x3748], 1
jmp 0x140047d3d
mov byte [rdi + 0xe10], bpl
mov eax, dword [0x140111bc0]
cmp dword [rsp + 0x48], eax
jne 0x140047d6d
mov eax, dword [0x140111bc8]
cmp dword [rsp + 0x50], eax
jne 0x140047d6d
mov eax, dword [0x140111bc4]
cmp dword [rsp + 0x4c], eax
jne 0x140047d6d
mov eax, dword [0x140111bcc]
cmp dword [rsp + 0x54], eax
je 0x140047dd1
mov ecx, dword [0x140111d08]
xor edx, edx
mov eax, dword [0x140111d0c]
movups xmm0, xmmword [rsp + 0x48]
mov r9d, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x40]
mov dword [rsp + 0x30], 8
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov dword [0x140111840], ecx
mov rcx, qword [0x140111838]
movups xmmword [0x140111bc0], xmm0
mov dword [0x140111844], eax
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rcx, qword [0x140111830]
lea rdx, [0x140111840]
mov rax, qword [rcx]
call qword [rax + 0x80]
mov rax, qword [0x140111810]
test rax, rax
je 0x140047de6
mov rcx, qword [rax + 0xa0]
jmp 0x140047de9
mov rcx, rbp
cmp qword [rcx + 0x18], rbp
jne 0x140047e0a
test rax, rax
je 0x140047e0a
mov rcx, qword [rax + 0xa0]
test rcx, rcx
je 0x140047e0a
cmp qword [rcx], rbp
je 0x140047e0a
call fcn.14002b2e0
call fcn.14002be90
call fcn.140007de0
cmp byte [reloc.WS2_32.dll_accept], bpl
je 0x140047e35
movss xmm0, dword [0x1400d024c]
movss xmm2, dword [0x1400d02d4]
movaps xmm1, xmm0
call fcn.14003ebf0
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rsi
call fcn.140004070
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x140111b78]
sub eax, ecx
cmp eax, 1
jb 0x140047e86
cmp dword [0x140111b54], ecx
je 0x140047e7a
movss xmm0, dword [0x140111dc0]
addss xmm0, xmm8
mov dword [0x140111b54], ecx
movss dword [0x140111dc0], xmm0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x140111b78], eax
movss xmm0, dword [0x140111dc0]
comiss xmm7, xmm0
jbe 0x140047e9f
addss xmm0, xmm6
movss dword [0x140111dc0], xmm0
movss xmm2, dword [0x140111dc8]
movss xmm1, dword [0x140111dc4]
call fcn.140004130
call fcn.14003f050
call fcn.140044290
call fcn.140009ae0
mov rcx, qword [0x140111830]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 7]
call qword [rax + 0x1c8]
mov rcx, qword [0x140111830]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 0x1b]
call qword [rax + 0x1c8]
mov rcx, qword [0x140111830]
xor r8d, r8d
mov edx, 0xae
mov rax, qword [rcx]
call qword [rax + 0x1c8]
mov rcx, qword [0x140111830]
mov r9d, 1
mov dword [rsp + 0x30], ebp
xor r8d, r8d
movss dword [rsp + 0x28], xmm6
xor edx, edx
mov dword [rsp + 0x20], ebp
mov rax, qword [rcx]
call qword [rax + 0x158]
mov rcx, qword [0x140111830]
mov rax, qword [rcx]
call qword [rax + 0x148]
test eax, eax
js 0x140047f7e
call fcn.140009ed0
mov rax, qword [0x140111810]
mov rcx, qword [rax + 0x48a8]
mov rax, qword [rcx]
mov rcx, rbp
add rax, 0x48
cmp byte [rax], cl
cmovne rcx, rax
call fcn.14002aca0
mov rcx, qword [0x140111830]
mov rax, qword [rcx]
call qword [rax + 0x150]
mov rcx, qword [0x140111830]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbp
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x88]
cmp eax, 0x88760868
jne 0x14004805c
mov rcx, qword [0x140111830]
mov rax, qword [rcx]
call qword [rax + Ordinal_26]
cmp eax, 0x88760869
jne 0x14004805c
mov rdi, qword [0x140111810]
test rdi, rdi
je 0x140048023
mov rdi, qword [rdi + 0xa0]
test rdi, rdi
je 0x140048023
cmp qword [rdi], rbp
je 0x140048023
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140047fee
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [rdi + 8], rbp
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140048001
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [rdi + 0x10], rbp
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x140048023
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rax, qword [0x140111810]
mov qword [rdi + 0x18], rbp
mov rcx, qword [rax + 0x58]
mov qword [rcx + 8], rbp
mov rcx, qword [0x140111830]
lea rdx, [0x140111840]
mov rax, qword [rcx]
call qword [rax + 0x80]
mov rcx, qword [0x140111810]
test rcx, rcx
je 0x140048063
mov rax, qword [rcx + 0xa0]
test rax, rax
je 0x140048063
cmp qword [rax], rbp
je 0x140048063
call fcn.14002b2e0
mov rcx, qword [0x140111810]
cmp dword [0x140111890], 0x12
jne 0x140047bf0
movaps xmm9, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0xa0]
jmp 0x140048098
mov rcx, qword [0x140111810]
test rcx, rcx
je 0x1400480a6
mov rsi, qword [rcx + 0xa0]
jmp 0x1400480a9
mov rsi, rbp
lea rbx, [rcx + 8]
test rcx, rcx
je 0x140048122
mov rdi, qword [rcx + 0xa0]
test rdi, rdi
je 0x140048122
cmp qword [rdi], rbp
je 0x140048122
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x1400480e0
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x140111810]
mov qword [rdi + 8], rbp
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x1400480fd
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x140111810]
mov qword [rdi + 0x10], rbp
mov rdx, qword [rdi + 0x18]
test rdx, rdx
je 0x140048122
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x140111810]
mov qword [rdi + 0x18], rbp
mov rax, qword [rcx + 0x58]
mov qword [rax + 8], rbp
mov rdx, qword [rsi]
test rdx, rdx
je 0x14004813a
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x140111810]
and dword [rbx + 4], 0xfffffff7
mov qword [rbx + 0x88], rbp
mov qword [rbx + 0x98], rbp
test rcx, rcx
je 0x140048157
dec dword [rcx + 0xf4]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [0x140111810]
mov rsi, qword [rsp + 0xd0]
test rax, rax
je 0x14004817d
mov rbx, qword [rax + 0x98]
jmp 0x140048180
mov rbx, rbp
mov rcx, qword [rbx + 0x30]
lea rdi, [rax + 8]
test rcx, rcx
je 0x14004819a
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [0x140111810]
and dword [rdi + 4], 0xfffffff8
mov qword [rdi + 0x80], rbp
mov qword [rdi + 0x90], rbp
test rax, rax
je 0x1400481b7
dec dword [rax + 0xf4]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdi, qword [0x140111810]
mov qword [0x140111810], rdi
call fcn.140005fb0
mov rbx, qword [rsp + 0xc0]
mov qword [0x140111810], rbp
mov rbp, qword [rsp + 0xc8]
test rdi, rdi
je 0x140048212
mov rcx, rdi
call fcn.14001a6e0
mov rax, qword [0x140111810]
test rax, rax
je 0x140048209
dec dword [rax + 0xf4]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [0x140111830]
mov rdi, qword [rsp + 0xb0]
test rcx, rcx
je 0x14004823c
mov rax, qword [rcx]
call qword [rax + 0x150]
mov rcx, qword [0x140111830]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x1401118b8]
test rcx, rcx
je 0x14004824e
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x140111838]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400b5780
add rsp, 0xb8
ret