Function at 0x1400a0810
Capabilities:
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm7
mov rax, qword [0x1400e8040]
xor rax, rsp
mov qword [rsp + 0x58], rax
movss xmm6, dword [0x1400d2e14]
lea r15, [0x140076050]
movss xmm7, dword [0x1400d2e90]
lea r12, [0x1400f2458]
xorps xmm0, xmm0
lea r14, [0x140000000]
movups xmmword [0x1400f23d0], xmm0
xor ebp, ebp
movups xmmword [0x1400f23e0], xmm0
movups xmmword [0x1400f23f0], xmm0
nop dword [rax]
mov rdx, qword [0x1400f22f0]
lea rcx, [0x1400f23d0]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x1400a08d0
lea rcx, [0x1400f23d0]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [0x1400f23d0]
call qword [sym.imp.USER32.dll_DispatchMessageA]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [0x1400f2570]
cmp rax, rcx
jne 0x1400a091d
mov edx, 3
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindow]
mov rcx, qword [0x1400f22f0]
xor r9d, r9d
mov dword [rsp + 0x30], 3
mov rdx, rax
mov dword [rsp + 0x28], ebp
xor r8d, r8d
mov dword [rsp + 0x20], ebp
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rcx, qword [0x1400f2570]
xorps xmm0, xmm0
mov qword [rsp + 0x40], rbp
lea rdx, [rsp + 0x48]
movups xmmword [rsp + 0x48], xmm0
call qword [sym.imp.USER32.dll_GetClientRect]
mov rcx, qword [0x1400f2570]
lea rdx, [rsp + 0x40]
call qword [sym.imp.USER32.dll_ClientToScreen]
cmp byte [0x1400f2428], bpl
mov eax, dword [rsp + 0x40]
mov rdx, qword [0x1400f18d0]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x4c], eax
mov rax, qword [0x1400f2570]
lea rdi, [rdx + 8]
mov qword [rdi + 0xd0], rax
lea rsi, [rdx + 0x38f8]
jne 0x1400a0aa9
xor ecx, ecx
call fcn.140070830
mov rcx, qword [rdi + 0x50]
call fcn.140075a60
mov rbx, qword [rdi + 0x50]
cmp dword [rbx + 0x78], ebp
jne 0x1400a09a5
mov rcx, rbx
call fcn.140075a60
mov rax, qword [rbx + 0x488]
test rax, rax
jne 0x1400a09bb
mov qword [0x1400f2458], r15
mov rax, r12
mov rcx, rbx
call qword [rax]
test dword [rdi], 0x400
mov rdx, qword [0x1400f18d0]
je 0x1400a09e3
mov dword [rdx + 0x3908], 0x40800000
mov dword [rdx + 0x3a00], 0x3f800000
mov dword [rdx + 0x390c], 0x3f800000
mov dword [rdx + 0x3918], 0x3f000000
mov dword [rdx + 0x391c], 0x3f000000
mov dword [rdx + 0x3934], 0x40e00000
mov dword [rdx + 0x3938], 0x40e00000
mov qword [rdx + 0x3900], rbp
mov dword [rdx + 0x3908], 0x40c00000
mov dword [rdx + 0x393c], 0x41200000
mov dword [rdx + 0x392c], 0x40a00000
mov dword [rdx + 0x3970], 0x40c00000
mov dword [rdx + 0x3978], 0x40a00000
mov dword [rdx + 0x3980], 0x41000000
mov dword [rdx + 0x3924], ebp
mov dword [rdx + 0x3944], 0x40800000
mov dword [rdx + 0x3948], 0x40800000
mov qword [rdi + 0x18], rbp
mov qword [rdi + 0x20], rbp
mov dword [rsi + 0x12c], 0x3f800000
mov dword [rsi + 0x130], 0x3f800000
mov dword [rsi + 0x134], 0x3f800000
mov dword [rsi + 0x138], 0x3f800000
mov byte [0x1400f2428], 1
test dword [rdi], 0x400
je 0x1400a0ac2
mov dword [rsi + 0x10], 0x40800000
mov dword [rsi + 0x108], 0x3f800000
mov eax, dword [0x1400f25b0]
mov dword [rsi + 0x20], 0x3f000000
mov dword [rsi + 0x24], 0x3f000000
mov dword [rsi + 0x3c], 0x40a00000
mov dword [rsi + 0x40], 0x40a00000
mov ecx, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x50]
cmp dword [rsp + 0x48], eax
jne 0x1400a0b10
cmp r8d, dword [0x1400f25b8]
jne 0x1400a0b10
mov eax, dword [0x1400f25b4]
cmp dword [rsp + 0x4c], eax
jne 0x1400a0b10
cmp ecx, dword [0x1400f25bc]
je 0x1400a0b7e
movups xmm0, xmmword [rsp + 0x48]
mov r9d, dword [rsp + 0x44]
xor edx, edx
mov dword [rsp + 0x30], 8
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], r8d
mov dword [0x1400f2580], r8d
mov dword [0x1400f2584], ecx
mov dword [0x1400f2390], r8d
mov r8d, dword [rsp + 0x40]
mov dword [0x1400f2394], ecx
mov rcx, qword [0x1400f22f0]
movups xmmword [0x1400f25b0], xmm0
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rcx, qword [0x1400f2400]
lea rdx, [0x1400f2390]
mov rax, qword [rcx]
call qword [rax + 0x80]
mov rdx, qword [0x1400f18d0]
mov eax, dword [reloc.WS2_32.dll_accept]
dec eax
cmp eax, 5
ja case.default.0x1400a0b9c
cdqe
mov ecx, dword [r14 + rax*4 + 0xa0ff4]
add rcx, r14
jmp rcx
mov eax, dword [0x1400f242c]
add eax, 3
mov dword [0x1400f242c], eax
cmp eax, 0xff
jne case.default.0x1400a0b9c
mov dword [reloc.WS2_32.dll_accept], 2
jmp case.default.0x1400a0b9c
sub dword [0x1400e815c], 3
jne case.default.0x1400a0b9c
mov dword [reloc.WS2_32.dll_accept], 3
jmp case.default.0x1400a0b9c
mov eax, dword [0x1400f2410]
add eax, 3
mov dword [0x1400f2410], eax
cmp eax, 0xff
jne case.default.0x1400a0b9c
mov dword [reloc.WS2_32.dll_accept], 4
jmp case.default.0x1400a0b9c
sub dword [0x1400f242c], 3
jne case.default.0x1400a0b9c
mov dword [reloc.WS2_32.dll_accept], 5
jmp case.default.0x1400a0b9c
mov eax, dword [0x1400e815c]
add eax, 3
mov dword [0x1400e815c], eax
cmp eax, 0xff
jne case.default.0x1400a0b9c
mov dword [reloc.WS2_32.dll_accept], 6
jmp case.default.0x1400a0b9c
sub dword [0x1400f2410], 3
jne case.default.0x1400a0b9c
mov dword [reloc.WS2_32.dll_accept], 1
cmp byte [0x1400f2290], bpl
movd xmm2, dword [0x1400e815c]
movd xmm1, dword [0x1400f242c]
movd xmm0, dword [0x1400f2410]
cvtdq2ps xmm2, xmm2
mov dword [0x1400e965c], 0x3f800000
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm6
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [0x1400e9650], xmm2
movss dword [0x1400e9654], xmm1
movss dword [0x1400e9658], xmm0
je 0x1400a0cae
movups xmm0, xmmword [0x1400e9650]
movups xmmword [rsi + 0x12c], xmm0
test rdx, rdx
je 0x1400a0cbc
mov rax, qword [rdx + 0xa8]
jmp 0x1400a0cbf
mov rax, rbp
cmp qword [rax + 0x18], rbp
jne 0x1400a0cca
call fcn.14007b160
call fcn.14007c760
call fcn.140049430
mov rcx, qword [0x1400f18d0]
movzx eax, byte [reloc.WS2_32.dll_accept]
mov byte [rcx + 0x80], al
cmp byte [reloc.WS2_32.dll_accept], bpl
je 0x1400a0d55
mov dword [rcx + 0xe18], ebp
mov byte [rcx + 0xe1c], bpl
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400a0d1c
mov rax, qword [0x1400f18d0]
mov byte [rax + 0xe18], 1
call fcn.14009fe30
mov rcx, qword [0x1400f22f0]
mov edx, 0xffffffec
mov r8d, 0x80
call qword [sym.imp.USER32.dll_SetWindowLongA]
mov rcx, qword [0x1400f22f0]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rcx, qword [0x1400f22f0]
call qword [sym.imp.USER32.dll_SetFocus]
jmp 0x1400a0d7a
mov rcx, qword [0x1400f22f0]
mov edx, 0xffffffec
mov r8d, 0x800a0
call qword [sym.imp.USER32.dll_SetWindowLongA]
mov rcx, qword [0x1400f22f0]
call qword [sym.imp.USER32.dll_UpdateWindow]
call fcn.14004b560
mov rcx, qword [0x1400f2400]
mov r9d, 1
mov dword [rsp + 0x30], ebp
xor r8d, r8d
movss dword [rsp + 0x28], xmm7
xor edx, edx
mov dword [rsp + 0x20], ebp
mov rax, qword [rcx]
call qword [rax + 0x158]
mov rcx, qword [0x1400f2400]
mov rax, qword [rcx]
call qword [rax + 0x148]
test eax, eax
js 0x1400a0df7
call fcn.14004bad0
mov rax, qword [0x1400f18d0]
mov rcx, qword [rax + 0x49f0]
mov rax, qword [rcx]
mov rcx, rbp
add rax, 0xa8
cmp byte [rax], bpl
cmovne rcx, rax
call fcn.14007a8e0
mov rcx, qword [0x1400f2400]
mov rax, qword [rcx]
call qword [rax + 0x150]
mov rcx, qword [0x1400f2400]
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 0x1400a0e50
mov rcx, qword [0x1400f2400]
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp eax, 0x88760869
jne 0x1400a0e50
call fcn.14007b210
mov rcx, qword [0x1400f2400]
lea rdx, [0x1400f2390]
mov rax, qword [rcx]
call qword [rax + 0x80]
call fcn.14007b160
cmp dword [0x1400f23d8], 0x12
jne 0x1400a0890
mov rbx, qword [0x1400f18d0]
test rbx, rbx
je 0x1400a0e72
mov rdi, qword [rbx + 0xa8]
jmp 0x1400a0e75
mov rdi, rbp
call fcn.14005eec0
call fcn.14007b210
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400a0e8d
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rax, qword [0x1400f18d0]
mov qword [rbx + 0x98], rbp
mov qword [rbx + 0xa8], rbp
test rax, rax
je 0x1400a0ead
dec dword [rax + 0xfc]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, qword [0x1400f18d0]
test rbx, rbx
je 0x1400a0ecb
mov rdi, qword [rbx + 0xa0]
jmp 0x1400a0ece
mov rdi, rbp
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdx, rax
lea rcx, str.ImGui_Platform
call qword [sym.imp.USER32.dll_UnregisterClassA]
call fcn.14005eec0
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x1400a0efa
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [0x1400f18d0]
mov qword [rbx + 0x90], rbp
mov qword [rbx + 0xa0], rbp
test rax, rax
je 0x1400a0f1a
dec dword [rax + 0xfc]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, qword [0x1400f18d0]
mov qword [0x1400f18d0], rbx
call fcn.140046e10
mov qword [0x1400f18d0], rbp
test rbx, rbx
je 0x1400a0f65
mov rcx, rbx
call fcn.1400697d0
mov rax, qword [0x1400f18d0]
test rax, rax
je 0x1400a0f5c
dec dword [rax + 0xfc]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [0x1400f2400]
test rcx, rcx
je 0x1400a0f87
mov rax, qword [rcx]
call qword [rax + 0x150]
mov rcx, qword [0x1400f2400]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x1400f2408]
test rcx, rcx
je 0x1400a0f99
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x1400f22f0]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [0x1400f22b8]
mov rcx, qword [0x1400f22e0]
call qword [sym.imp.USER32.dll_UnregisterClassA]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400a1400
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x60]
mov rsp, r11
pop r15
pop r14
pop r12
ret