Function at 0x140045460
Capabilities:
Create thread
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0xb0
mov rax, qword [0x14007a280]
xor rax, rsp
mov qword [rsp + 0xa0], rax
xorps xmm0, xmm0
lea rcx, [rsp + 0x80]
xor esi, esi
mov edx, 0xa
mov edi, esi
movups xmmword [0x140079cb0], xmm0
movups xmmword [0x140079cc0], xmm0
movups xmmword [0x140079cd0], xmm0
call fcn.140046690
mov rcx, rax
call fcn.14004d2a0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
mov rdx, rbx
call qword [sym.imp.USER32.dll_SetWindowTextA]
lea rcx, [rsp + 0x80]
call fcn.140042e50
xor r9d, r9d
mov qword [rsp + 0x28], rsi
lea r8, [0x140043d70]
mov dword [rsp + 0x20], esi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
xor r9d, r9d
mov qword [rsp + 0x28], rsi
lea r8, [0x140044290]
mov dword [rsp + 0x20], esi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
xor r9d, r9d
mov qword [rsp + 0x28], rsi
lea r8, [0x140045bc0]
mov dword [rsp + 0x20], esi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
cmp dword [0x140079cb8], 0x12
je 0x140045783
mov ecx, 0xfc
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140045783
cmp byte [0x140081cd8], sil
jne 0x140045783
cmp byte [0x140081be4], sil
jne 0x140045596
lea rcx, [rsp + 0x50]
call fcn.140044640
movups xmm0, xmmword [rax]
movups xmmword [0x1400819b0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [0x1400819c0], xmm1
movsd xmm0, qword [rax + 0x20]
movsd qword [0x1400819d0], xmm0
mov eax, 0x10624dd3
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul ecx, edx, 0x1f4
cmp edi, ecx
jne 0x1400455bf
call fcn.140044990
test rax, rax
je 0x14004580e
mov rdx, qword [0x140081b00]
lea rcx, [0x140079cb0]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
inc edi
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x140045601
lea rcx, [0x140079cb0]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [0x140079cb0]
call qword [sym.imp.USER32.dll_DispatchMessageA]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [0x140081a70]
cmp rax, rcx
jne 0x14004564e
mov edx, 3
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindow]
mov rcx, qword [0x140081b00]
xor r9d, r9d
mov dword [rsp + 0x30], 3
mov rdx, rax
mov dword [rsp + 0x28], esi
xor r8d, r8d
mov dword [rsp + 0x20], esi
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rcx, qword [0x140081a70]
xorps xmm0, xmm0
mov qword [rsp + 0x78], rsi
lea rdx, [rsp + 0x80]
movups xmmword [rsp + 0x80], xmm0
call qword [sym.imp.USER32.dll_GetClientRect]
mov rcx, qword [0x140081a70]
lea rdx, [rsp + 0x78]
call qword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x84], eax
call fcn.140009b20
mov rcx, qword [0x140081a70]
mov qword [rax + 0x118], rcx
mov eax, dword [0x140081cc8]
mov ecx, dword [rsp + 0x8c]
mov edx, dword [rsp + 0x88]
cmp dword [rsp + 0x80], eax
jne 0x1400456e3
cmp edx, dword [0x140081cd0]
jne 0x1400456e3
mov eax, dword [0x140081ccc]
cmp dword [rsp + 0x84], eax
jne 0x1400456e3
cmp ecx, dword [0x140081cd4]
je 0x14004574a
movups xmm0, xmmword [rsp + 0x80]
mov r9d, dword [rsp + 0x7c]
mov r8d, dword [rsp + 0x78]
mov dword [rsp + 0x30], 8
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], edx
mov dword [0x140081a80], edx
mov dword [0x140081a84], ecx
mov dword [0x140079c60], edx
xor edx, edx
mov dword [0x140079c64], ecx
mov rcx, qword [0x140081b00]
movups xmmword [0x140081cc8], xmm0
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rcx, qword [0x140079c58]
lea rdx, [0x140079c60]
mov rax, qword [rcx]
call qword [rax + 0x80]
call fcn.140046a90
mov eax, 0x3e8
lea rcx, [rsp + 0x48]
cdq
idiv dword [0x140081be8]
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], eax
call fcn.140038150
mov rcx, rax
call fcn.14003ca80
cmp dword [0x140079cb8], 0x12
jne 0x140045540
call fcn.1400263d0
call fcn.1400267a0
xor ecx, ecx
call fcn.140007d20
mov rcx, qword [0x140079c58]
test rcx, rcx
je 0x1400457b6
mov rax, qword [rcx]
call qword [rax + 0x150]
mov rcx, qword [0x140079c58]
mov rax, qword [rcx]
call qword [rax + recvfrom]
mov rcx, qword [0x140079c50]
test rcx, rcx
je 0x1400457c8
mov rax, qword [rcx]
call qword [rax + recvfrom]
mov rcx, qword [0x140081b00]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [0x140081ac8]
mov rcx, qword [0x140081af0]
call qword [sym.imp.USER32.dll_UnregisterClassA]
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.14004f050
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
xor ecx, ecx
call fcn.140044540
int3