Function at 0x1400328e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x5f]
sub rsp, 0x100
mov rax, qword [0x140076040]
xor rax, rsp
mov qword [rbp + 0x3f], rax
mov qword [r11 + 8], rbx
lea rax, [0x140032e90]
mov qword [r11 + 0x10], rsi
xor ecx, ecx
mov qword [r11 + 0x18], rdi
mov qword [r11 + 0x20], r14
mov byte [0x140077de8], 1
mov byte [0x140077dd8], 0
mov dword [0x140077d30], 0x50
mov dword [0x140077d34], 0x40
mov qword [0x140077d38], rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rbx, str.Gaming_Chair_Controller
mov qword [0x140077d48], rax
lea rcx, [0x140077d30]
mov qword [0x140077d70], rbx
call qword [sym.imp.USER32.dll_RegisterClassExA]
mov rax, qword [0x140077d48]
xor edi, edi
mov rdx, qword [0x140077d70]
mov r9d, 0x80000000
mov qword [rsp + 0x58], rdi
mov r8, rbx
mov qword [rsp + 0x50], rax
mov ecx, 0x800a8
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], 0x438
mov dword [rsp + 0x30], 0x780
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov qword [0x140077d98], rax
test rax, rax
je 0x140032a6b
lea r9d, [rdi + 2]
mov r8b, 0xff
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
mov rcx, qword [0x140077d98]
lea rdx, [rbp + 0x2f]
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [rbp + 0x2f], xmm0
movups xmmword [rbp + 0x1f], xmm1
call qword [sym.imp.USER32.dll_GetClientRect]
mov rcx, qword [0x140077d98]
lea rdx, [rbp + 0x1f]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov rcx, qword [0x140077d98]
lea rdx, [rbp + 7]
mov qword [rbp + 7], rdi
call qword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [rbp + 7]
lea rdx, [rbp + 0xf]
mov rcx, qword [0x140077d98]
mov dword [rbp + 0xf], eax
mov eax, dword [rbp + 0xb]
mov dword [rbp + 0x13], eax
mov eax, dword [rbp + 0x37]
mov dword [rbp + 0x17], eax
mov eax, dword [rbp + 0x3b]
mov dword [rbp + 0x1b], eax
call qword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
mov rcx, qword [0x140077d98]
lea edx, [rdi + 5]
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [0x140077d98]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rax, qword [0x140077d98]
mov qword [rbp - 0x19], rax
lea rbx, [0x140077d90]
mov qword [rsp + 0x58], rbx
lea rax, [rbp + 7]
mov qword [rsp + 0x50], rax
lea rsi, [0x140077d80]
mov qword [rsp + 0x48], rsi
lea rax, [rbp - 0x49]
xor r9d, r9d
mov qword [rbp - 0x35], rdi
lea r14, [0x140077d88]
mov qword [rbp - 0x21], 2
mov qword [rsp + 0x40], r14
xor r8d, r8d
mov qword [rsp + 0x38], rax
xor ecx, ecx
mov dword [rsp + 0x30], 7
lea rax, [rbp + 0x2f]
mov dword [rsp + 0x28], 2
lea edx, [r9 + 1]
mov qword [rsp + 0x20], rax
mov qword [rbp - 9], 2
mov qword [rbp - 0x49], rdi
mov dword [rbp - 0x39], 0x1c
mov dword [rbp - 0x41], 0x3c
mov dword [rbp - 0x3d], 1
mov dword [rbp - 0x25], 0x20
mov qword [rbp - 0x2d], 1
mov qword [rbp - 0x11], 1
mov dword [rbp + 0x2f], 0xb000
mov dword [rbp + 0x33], 0xa000
call qword [sym.imp.d3d11.dll_D3D11CreateDeviceAndSwapChain]
cmp eax, 0x887a0004
jne 0x140032b75
mov qword [rsp + 0x58], rbx
lea rax, [rbp + 7]
mov qword [rsp + 0x50], rax
xor r9d, r9d
mov qword [rsp + 0x48], rsi
lea rax, [rbp - 0x49]
mov qword [rsp + 0x40], r14
xor r8d, r8d
mov qword [rsp + 0x38], rax
xor ecx, ecx
mov dword [rsp + 0x30], 7
lea rax, [rbp + 0x2f]
mov dword [rsp + 0x28], 2
lea edx, [r9 + 5]
mov qword [rsp + 0x20], rax
call qword [sym.imp.d3d11.dll_D3D11CreateDeviceAndSwapChain]
mov r14, qword [rsp + 0x128]
test eax, eax
jne 0x140032bc9
mov rcx, qword [0x140077d88]
lea r9, [rbp + 0xf]
mov qword [rbp + 0xf], rdi
lea r8, [0x14006e078]
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rdx, qword [rbp + 0xf]
test rdx, rdx
je 0x140032bc9
mov rcx, qword [0x140077d80]
lea r9, [0x140077da0]
xor r8d, r8d
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rcx, qword [rbp + 0xf]
mov rax, qword [rcx]
call qword [rax + 0x10]
call fcn.140032ff0
cmp byte [0x140077de8], dil
je 0x140032df7
movaps xmmword [rsp + 0xf0], xmm6
lea rbx, [0x14006e01a]
xorps xmm6, xmm6
lea rsi, str.Overlay_Rendering_
nop dword [rax]
nop dword [rax + rax]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rcx, [rbp - 0x49]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x140032c52
nop
lea rcx, [rbp - 0x49]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp - 0x49]
call qword [sym.imp.USER32.dll_DispatchMessageA]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rcx, [rbp - 0x49]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x140032c20
mov rax, qword [0x140077d20]
test rax, rax
je 0x140032c67
mov rcx, qword [rax + 0x98]
jmp 0x140032c6a
mov rcx, rdi
cmp qword [rcx + 0x48], rdi
jne 0x140032c75
call fcn.14002c820
call fcn.14002da60
call fcn.140007850
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140032cc0
cmp byte [0x140077dd8], dil
mov edx, 0xffffffec
mov rcx, qword [0x140077d98]
mov r8d, 0xa0
sete al
mov byte [0x140077dd8], al
test al, al
jne 0x140032cba
mov r8d, 0x800a8
call qword [sym.imp.USER32.dll_SetWindowLongA]
cmp byte [0x140077dd8], 1
jne 0x140032cd3
call fcn.140033830
jmp 0x140032d65
mov rax, qword [0x140077d20]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4ad0]
mov rcx, qword [rcx]
call fcn.140006f00
movaps xmm0, xmmword [0x14006e280]
lea rcx, [rbp + 0x1f]
movups xmmword [rbp + 0x1f], xmm0
mov r8, rax
call fcn.1400036a0
mov dword [rbp + 0xf], 0x447a0000
mov dword [rbp + 0x13], 0x44070000
test eax, 0xff000000
je 0x140032d65
mov rdx, qword [r8 + 0x38]
lea r9, [rbp + 0x1f]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], dil
movss dword [rsp + 0x40], xmm6
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0xf]
movups xmmword [rbp + 0x1f], xmm0
mov dword [rsp + 0x20], eax
call fcn.14002a840
call fcn.140009830
mov rcx, qword [0x140077d90]
lea r8, [0x140077da0]
xorps xmm0, xmm0
xor r9d, r9d
movups xmmword [rbp + 0x2f], xmm0
mov rax, qword [rcx]
lea edx, [r9 + 1]
call qword [rax + 0x108]
mov rcx, qword [0x140077d90]
lea r8, [rbp + 0x2f]
mov rdx, qword [0x140077da0]
mov rax, qword [rcx]
call qword [rax + 0x190]
mov rax, qword [0x140077d20]
mov rcx, qword [rax + 0x4ad0]
mov rax, qword [rcx]
mov rcx, rdi
add rax, 0x48
cmp byte [rax], dil
cmovne rcx, rax
call fcn.14002bdc0
mov rcx, qword [0x140077d88]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 1]
call qword [rax + 0x40]
cmp byte [0x140077de8], dil
jne 0x140032c00
movaps xmm6, xmmword [rsp + 0xf0]
call fcn.1400335f0
mov rcx, qword [0x140077d80]
mov rdi, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x110]
test rcx, rcx
je 0x140032e4d
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [0x140077d90]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [0x140077d88]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [0x140077da0]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [0x140077d98]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [0x140077d48]
mov rcx, qword [0x140077d70]
call qword [sym.imp.USER32.dll_UnregisterClassA]
xor eax, eax
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.140033e90
add rsp, 0x100
pop rbp
ret