Function at 0x140001110
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x110
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov qword [r11 - 0xb8], 3
lea rax, str.Game_Windows_Class
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x90], xmm0
mov rdi, rcx
movdqa xmmword [rsp + 0xa0], xmm1
lea rcx, [r11 - 0xb8]
movdqa xmmword [rsp + 0xb0], xmm0
xor r12d, r12d
mov qword [r11 - 0x78], rax
lea rax, section..text
mov qword [r11 - 0xb0], rax
call qword [sym.imp.USER32.dll_RegisterClassW]
mov edx, 0x169000
lea r9d, [r12 + 4]
xor ecx, ecx
mov r8d, 0x3000
mov r14d, r12d
mov r15d, r12d
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rdx, qword [rsp + 0xc0]
lea r8, str.hello_world
mov qword [rsp + 0x58], r12
mov r9d, 0x10cf0000
mov qword [rsp + 0x50], rdi
xor ecx, ecx
mov qword [rsp + 0x48], r12
mov rbp, rax
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x38], 0x286
mov dword [rsp + 0x30], 0x270
mov dword [rsp + 0x28], 0x80000000
mov dword [rsp + 0x20], 0x80000000
mov qword [rsp + 0x78], rax
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov rcx, rax
mov r13, rax
call qword [sym.imp.USER32.dll_GetDC]
cmp byte [0x140005074], r12b
mov qword [rsp + 0x70], rax
je 0x140001659
mov qword [rsp + 0x148], rbx
lea rdi, [rbp + 0x2f78]
mov qword [rsp + 0x150], rsi
lea rbx, [rbp + 0x2610]
lea rsi, [rbp + 0x166a00]
nop dword [rax + rax]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rcx, [rsp + 0xd0]
mov rdx, r13
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x1400012bf
nop dword [rax]
nop word [rax + rax]
lea rcx, [rsp + 0xd0]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0xd0]
call qword [sym.imp.USER32.dll_DispatchMessageW]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rcx, [rsp + 0xd0]
mov rdx, r13
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x140001280
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
jne 0x1400012de
mov ecx, 0x25
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400012e6
test r14d, r14d
jle 0x1400012e6
dec r14d
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
jne 0x140001305
mov ecx, 0x27
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14000130e
cmp r14d, 0x13
jge 0x14000130e
inc r14d
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
jne 0x14000132d
mov ecx, 0x26
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14000133c
test r15d, r15d
jle 0x14000133c
dec r15d
sub r12d, 0x260
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
jne 0x14000135b
mov ecx, 0x28
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14000136b
cmp r15d, 0x13
jge 0x14000136b
inc r15d
add r12d, 0x260
mov rax, rbp
mov ecx, 0x98
movabs rdx, 0x55ff000055ff00
nop dword [rax]
mov qword [rax], rdx
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rdx
lea rax, [rax + 0x40]
mov qword [rax - 0x28], rdx
mov qword [rax - 0x20], rdx
mov qword [rax - 0x18], rdx
mov qword [rax - 0x10], rdx
mov qword [rax - 8], rdx
sub rcx, 1
jne 0x140001380
mov rax, rdi
mov ecx, 0x258
mov dword [rax - 0x978], 0x55ff00
mov dword [rax - 0x974], 0x55ff00
mov dword [rax - 0x970], 0x55ff00
mov dword [rax - 0x96c], 0x55ff00
mov dword [rax - 8], 0x55ff00
mov dword [rax - 4], 0x55ff00
mov dword [rax], 0x55ff00
mov dword [rax + 4], 0x55ff00
lea rax, [rax + 0x980]
sub rcx, 1
jne 0x1400013b1
mov rax, rsi
mov ecx, 0x98
nop dword [rax]
mov qword [rax], rdx
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rdx
lea rax, [rax + 0x40]
mov qword [rax - 0x28], rdx
mov qword [rax - 0x20], rdx
mov qword [rax - 0x18], rdx
mov qword [rax - 0x10], rdx
mov qword [rax - 8], rdx
sub rcx, 1
jne 0x140001410
mov rdi, rbx
mov ebx, 0x258
nop dword [rax]
nop word [rax + rax]
xor edx, edx
mov r8d, 0x960
mov rcx, rdi
call sub.VCRUNTIME140.dll_memset
add rdi, 0x980
sub rbx, 1
jne 0x140001450
lea eax, [r12 + r14]
imul eax, eax, 0x1e
lea ecx, [rbx + 0x1c]
add eax, 0x984
cdqe
lea rax, [rax*4 + 0x98c]
add rax, rbp
nop dword [rax]
mov dword [rax - 8], 0xff5500
mov dword [rax - 4], 0xff5500
mov dword [rax], 0xff5500
mov dword [rax + 4], 0xff5500
mov dword [rax + 8], 0xff5500
mov dword [rax + 0xc], 0xff5500
mov dword [rax + 0x10], 0xff5500
mov dword [rax + 0x14], 0xff5500
mov dword [rax + 0x18], 0xff5500
mov dword [rax + 0x1c], 0xff5500
mov dword [rax + 0x20], 0xff5500
mov dword [rax + 0x24], 0xff5500
mov dword [rax + 0x28], 0xff5500
mov dword [rax + 0x2c], 0xff5500
mov dword [rax + 0x30], 0xff5500
mov dword [rax + 0x34], 0xff5500
mov dword [rax + 0x38], 0xff5500
mov dword [rax + 0x3c], 0xff5500
mov dword [rax + 0x40], 0xff5500
mov dword [rax + 0x44], 0xff5500
mov dword [rax + 0x48], 0xff5500
mov dword [rax + 0x4c], 0xff5500
mov dword [rax + 0x50], 0xff5500
mov dword [rax + 0x54], 0xff5500
mov dword [rax + 0x58], 0xff5500
mov dword [rax + 0x5c], 0xff5500
mov dword [rax + 0x60], 0xff5500
mov dword [rax + 0x64], 0xff5500
lea rax, [rax + 0x980]
sub rcx, 1
jne 0x140001490
mov ebx, dword [0x14000566c]
mov eax, ebx
mov r9d, dword [0x140005668]
mov rsi, qword [0x140005670]
imul eax, r9d
test eax, eax
jle 0x14000158f
movsxd rcx, eax
mov rdi, rsi
mov eax, 0x123456
rep stosd dword [rdi], eax
mov rdi, rbp
lea r11d, [rbx - 1]
imul r11d, r9d
xor r10d, r10d
mov ebp, r9d
neg ebp
xor edx, edx
mov r8d, 0x260
nop word [rax + rax]
cmp edx, r9d
jge 0x1400015c6
cmp r10d, ebx
jge 0x1400015c6
lea eax, [r11 + rdx]
movsxd rcx, eax
mov eax, dword [rdi]
mov dword [rsi + rcx*4], eax
inc edx
add rdi, 4
sub r8, 1
jne 0x1400015b0
inc r10d
add r11d, ebp
cmp r10d, 0x260
jl 0x1400015a2
mov dword [rsp + 0x60], 0xcc0020
lea rcx, [0x140005678]
xor eax, eax
xor edx, edx
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x50], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x38], r9d
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
call qword [sym.imp.GDI32.dll_StretchDIBits]
cmp byte [0x140005074], 0
mov rbp, qword [rsp + 0x78]
lea rdi, [rbp + 0x2f78]
lea rbx, [rbp + 0x2610]
lea rsi, [rbp + 0x166a00]
jne 0x140001250
mov rsi, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x148]
xor eax, eax
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1400016a0
mov rbp, qword [rsp + 0x158]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
ret