Function at 0x140042450
Capabilities:
Check for time delay via queryperformancecounter
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x160
movaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x140059040]
xor rax, rsp
mov qword [rbp + 0x40], rax
xor r14d, r14d
mov dword [rbp - 0x10], r14d
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ebx, eax
mov eax, 0x66666667
imul ebx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub ebx, ecx
inc ebx
mov dword [rbp - 0x60], 0x50
mov dword [rbp - 0x5c], 0x40
lea rax, [0x1400430c0]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], r14
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rbp - 0x48], rax
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x30], xmm1
lea rax, [0x14004f488]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], r14
lea rcx, [rbp - 0x60]
call qword [sym.imp.USER32.dll_RegisterClassExA]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], r14b
mov dword [rbp - 0x10], 1
movsxd rdx, ebx
cmp rdx, 0xf
jbe 0x14004255d
lea rcx, [rsp + 0x68]
call fcn.14000e660
mov qword [rsp + 0x78], r14
test ebx, ebx
jle 0x1400425d2
movabs r15, 0x4ec4ec4ec4ec4ec5
lea r12, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, r15
mul rcx
shr rdx, 4
imul rax, rdx, 0x34
sub rcx, rax
movzx r9d, byte [rcx + r12]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x80]
cmp rcx, rdx
jae 0x1400425c2
lea rax, [rcx + 1]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x68]
cmp rdx, 0xf
cmova rax, qword [rsp + 0x68]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1400425cc
lea rcx, [rsp + 0x68]
call fcn.14000e7b0
sub rbx, 1
jne 0x140042572
lea r8, [rsp + 0x68]
cmp qword [rbp - 0x80], 0xf
cmova r8, qword [rsp + 0x68]
mov qword [rsp + 0x58], r14
mov rax, qword [rbp - 0x48]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
mov r9d, 0x80000008
mov rdx, qword [rbp - 0x20]
xor ecx, ecx
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov rsi, rax
mov rdx, qword [rbp - 0x80]
cmp rdx, 0xf
jbe 0x140042660
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004265b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004265b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140046370
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
mov r9d, 2
mov r8b, 0xff
xor edx, edx
mov rcx, rsi
call qword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
movdqa xmm0, xmmword [0x14004f880]
movdqu xmmword [rbp + 0x30], xmm0
lea rdx, [rbp + 0x30]
mov rcx, rsi
call qword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
mov ecx, 0x20
call qword [sym.imp.d3d9.dll_Direct3DCreate9]
mov rcx, rax
mov qword [0x1400733f0], rax
test rax, rax
je 0x140042ce6
mov qword [0x140073400], r14
mov qword [0x14007340c], r14
mov dword [0x140073414], r14d
mov qword [0x14007341c], r14
mov dword [0x140073424], r14d
mov qword [0x140073434], r14
mov dword [0x140073428], 1
mov dword [0x140073418], 1
mov dword [0x14007342c], 1
mov dword [0x140073430], 0x50
mov dword [0x14007343c], 1
mov dword [0x140073408], 0x15
mov rax, qword [rax]
lea rdx, [0x1400733f8]
mov qword [rsp + 0x30], rdx
lea rdx, [0x140073400]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x40
mov r9, rsi
xor edx, edx
mov r8d, 1
call qword [rax + 0x80]
test eax, eax
js 0x140042cdf
mov edx, 0xa
mov rcx, rsi
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, rsi
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rax, qword [0x1400732a8]
test rax, rax
je 0x140042789
inc dword [rax + 0x3bc]
mov ecx, 0x3dd0
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rbp - 8], rax
lea rcx, [rsp + 0x60]
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x10], rax
test rax, rax
je 0x1400427b4
mov rcx, rax
call fcn.14000fe20
jmp 0x1400427b7
mov rax, r14
cmp qword [0x1400732a8], 0
jne 0x1400427c8
mov qword [0x1400732a8], rax
mov rcx, rax
call fcn.140014f90
mov rcx, qword [0x1400732a8]
add rcx, 0x1560
call fcn.140041f00
lea rcx, [0x1400733d0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1400428df
lea rcx, [0x1400733c8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400428df
mov qword [0x1400733c0], rsi
mov rax, qword [0x1400732a8]
or dword [rax + 0xc], 6
lea rcx, str.imgui_impl_win32
mov qword [rax + 0xd8], rcx
mov qword [rax + 0x120], rsi
mov dword [rax + 0x3c], 9
mov dword [rax + 0x40], 0x25
mov dword [rax + 0x44], 0x27
mov dword [rax + 0x48], 0x26
mov dword [rax + 0x4c], 0x28
mov dword [rax + 0x50], 0x21
mov dword [rax + 0x54], 0x22
mov dword [rax + 0x58], 0x24
mov dword [rax + 0x5c], 0x23
mov dword [rax + 0x60], 0x2d
mov dword [rax + 0x64], 0x2e
mov dword [rax + 0x68], 8
mov dword [rax + 0x6c], 0x20
mov dword [rax + 0x70], 0xd
mov dword [rax + 0x74], 0x1b
mov dword [rax + 0x78], 0xd
mov dword [rax + 0x7c], 0x41
mov dword [rax + 0x80], 0x43
mov dword [rax + 0x84], 0x56
mov dword [rax + 0x88], 0x58
mov dword [rax + 0x8c], 0x59
mov dword [rax + 0x90], 0x5a
jmp 0x1400428e6
mov rax, qword [0x1400732a8]
mov rcx, qword [0x1400733f8]
lea rdx, str.imgui_impl_dx9
mov qword [rax + 0xe0], rdx
or dword [rax + 0xc], 8
mov qword [0x1400733b0], rcx
mov rax, qword [rcx]
call qword [rax + 8]
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movss xmm6, dword [0x14004f644]
nop dword [rax]
nop word [rax + rax]
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp]
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x140042967
lea rcx, [rbp]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp]
call qword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x140042c2c
cmp qword [0x1400733a0], 0
jne 0x140042976
call fcn.140031f20
mov rdi, qword [0x1400732a8]
lea rdx, [rbp - 0x70]
mov rcx, qword [0x1400733c0]
call qword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [rbp - 0x68]
sub eax, dword [rbp - 0x70]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [rbp - 0x64]
sub eax, dword [rbp - 0x6c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x10], xmm1
movss dword [rdi + 0x14], xmm0
lea rcx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [rbp - 8]
mov rax, rcx
sub rax, qword [0x1400733c8]
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, qword [0x1400733d0]
divss xmm1, xmm0
movss dword [rdi + 0x18], xmm1
mov qword [0x1400733c8], rcx
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
mov byte [rdi + 0x148], al
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
mov byte [rdi + 0x149], al
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
mov byte [rdi + 0x14a], al
mov byte [rdi + 0x14b], 0
mov rcx, qword [0x1400732a8]
lea rbx, [rcx + 0x130]
cmp byte [rcx + 0x3a3], 0
je 0x140042a7d
cvttss2si eax, dword [rbx]
mov dword [rbp - 0x10], eax
cvttss2si eax, dword [rcx + 0x134]
mov dword [rbp - 0xc], eax
lea rdx, [rbp - 0x10]
mov rcx, qword [0x1400733c0]
call qword [sym.imp.USER32.dll_ClientToScreen]
mov edx, dword [rbp - 0xc]
mov ecx, dword [rbp - 0x10]
call qword [sym.imp.USER32.dll_SetCursorPos]
mov dword [rbx], 0xff7fffff
mov dword [rbx + 4], 0xff7fffff
call qword [sym.imp.USER32.dll_GetForegroundWindow]
test rax, rax
je 0x140042aea
mov rdx, qword [0x1400733c0]
cmp rax, rdx
je 0x140042aae
mov rcx, rax
call qword [sym.imp.USER32.dll_IsChild]
test eax, eax
je 0x140042aea
lea rcx, [rbp - 0x78]
call qword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x140042aea
lea rdx, [rbp - 0x78]
mov rcx, qword [0x1400733c0]
call qword [sym.imp.USER32.dll_ScreenToClient]
test eax, eax
je 0x140042aea
movd xmm0, dword [rbp - 0x78]
cvtdq2ps xmm0, xmm0
movd xmm1, dword [rbp - 0x74]
cvtdq2ps xmm1, xmm1
movss dword [rbx], xmm0
movss dword [rbx + 4], xmm1
cmp byte [rdi + 0xc8], 0
je 0x140042afa
mov eax, 0xffffffff
jmp 0x140042b07
mov rax, qword [0x1400732a8]
mov eax, dword [rax + 0x1ef0]
cmp dword [0x140072820], eax
je 0x140042b1a
mov dword [0x140072820], eax
call fcn.140032110
call fcn.1400144d0
mov rcx, rsi
call fcn.140042d60
call fcn.140015c00
mov rcx, qword [0x1400733f8]
mov rax, qword [rcx]
xor r8d, r8d
mov edx, 7
call qword [rax + 0x1c8]
mov rcx, qword [0x1400733f8]
mov rax, qword [rcx]
xor r8d, r8d
mov edx, 0x1b
call qword [rax + 0x1c8]
mov rcx, qword [0x1400733f8]
mov rax, qword [rcx]
xor r8d, r8d
mov edx, 0xae
call qword [rax + 0x1c8]
mov rcx, qword [0x1400733f8]
mov rax, qword [rcx]
mov dword [rsp + 0x30], r14d
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], r14d
mov r9d, 3
xor r8d, r8d
xor edx, edx
call qword [rax + 0x158]
mov rcx, qword [0x1400733f8]
mov rax, qword [rcx]
call qword [rax + 0x148]
test eax, eax
js 0x140042be4
call fcn.140015ef0
mov rax, qword [0x1400732a8]
add rax, 0x1d40
mov rcx, r14
cmp byte [rax], r14b
cmovne rcx, rax
call fcn.140031970
mov rcx, qword [0x1400733f8]
mov rax, qword [rcx]
call qword [rax + 0x150]
mov rcx, qword [0x1400733f8]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [rax + 0x88]
cmp eax, 0x88760868
jne 0x140042c21
mov rcx, qword [0x1400733f8]
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp eax, 0x88760869
jne 0x140042c21
call fcn.140043020
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [rbp + 8], 0x12
jne 0x140042930
call fcn.140032090
mov rcx, qword [0x1400733b0]
test rcx, rcx
je 0x140042c54
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x1400733b0], r14
mov qword [0x1400733c0], r14
mov rbx, qword [0x1400732a8]
mov rcx, rbx
call fcn.140015130
cmp qword [0x1400732a8], rbx
jne 0x140042c7a
mov qword [0x1400732a8], r14
test rbx, rbx
je 0x140042ca2
mov rcx, rbx
call fcn.140022760
mov rax, qword [0x1400732a8]
test rax, rax
je 0x140042c99
dec dword [rax + 0x3bc]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [0x1400733f8]
test rcx, rcx
je 0x140042cbb
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x1400733f8], r14
mov rcx, qword [0x1400733f0]
test rcx, rcx
je 0x140042cd4
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x1400733f0], r14
mov rcx, rsi
call qword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x140042d1b
mov rcx, qword [0x1400733f0]
mov rdx, qword [0x1400733f8]
test rdx, rdx
je 0x140042d09
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + 0x10]
mov qword [0x1400733f8], r14
mov rcx, qword [0x1400733f0]
test rcx, rcx
je 0x140042d1b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x1400733f0], r14
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.USER32.dll_UnregisterClassA]
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.140046350
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop rbp
ret