Function at 0x180061070
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov qword [0x180157af0], rax
test rax, rax
je 0x18006109f
cmp rax, qword [rsi + 0x20]
je 0x18006109f
cmp byte [rsi + 8], 0
je 0x18006109f
mov rcx, rsi
call fcn.180061480
mov rax, qword [rsi + 0x78]
cmp qword [0x180157af0], rax
jne 0x1800610ef
cmp byte [rsi + 8], 0
jne 0x1800610ef
mov ecx, dword [rsi + 0xa0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1800610ef
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1800610ef
mov rax, qword [rsi + 0x58]
mov byte [rsi + 8], 1
cmp dword [rax + 0x14c], 2
jne 0x1800610ef
mov ecx, 1
call qword [sym.imp.USER32.dll_ShowCursor]
cmp qword [rsi + 0x78], 0
je 0x18006112b
mov rax, qword [rsi + 0x20]
cmp qword [0x180157af0], rax
jne 0x18006112b
cmp byte [rsi + 8], 0
je 0x18006112b
mov ecx, 0x1b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18006112b
mov rcx, rsi
call fcn.180061480
mov rcx, qword [rsi + 0x78]
call qword [sym.imp.USER32.dll_SetForegroundWindow]
mov rax, qword [rsi + 0x20]
cmp qword [0x180157af0], rax
jne 0x18006116e
cmp byte [rsi + 8], 0
je 0x18006116e
cmp byte [rsi + 0xf1], 0
jne 0x18006116e
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18006116e
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18006116e
mov byte [rsi + 0xf1], 1
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x180061264
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x180061264
cmp byte [rsi + 8], 0
je 0x180061264
mov rax, qword [rsi + 0x58]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
cmp dword [rax + 0x14c], 2
jne 0x1800611b5
mov rax, qword [0x180156ea0]
mov byte [rax + 0x58], 1
mov rcx, rsi
call fcn.180061a40
cmp byte [rsi + 0xf1], 0
je 0x1800611ce
mov rcx, rsi
call fcn.180062b20
cmp byte [rsi + 0xf2], 0
je 0x1800611df
mov rcx, rsi
call fcn.180063330
mov rdi, qword [rsi + 0x38]
mov rbx, qword [rsi + 0x30]
cmp rbx, rdi
je 0x180061202
nop dword [rax]
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x10]
add rbx, 8
cmp rbx, rdi
jne 0x1800611f0
mov rdi, qword [rsp + 0x38]
lea rcx, [rsi + 0xf3]
cmp byte [rcx], 0
mov rbx, qword [rsp + 0x30]
je 0x18006121d
call fcn.1800bf200
lea rcx, [rsi + 0xf4]
cmp byte [rcx], 0
je 0x18006122e
call fcn.1800b8140
lea rdx, [rsi + 0xf5]
cmp byte [rdx], 0
je 0x18006124e
xor r8d, r8d
lea rcx, str.Style_Editor
call fcn.1800a9b30
call fcn.1800abdc0
lea rcx, [rsi + 0xf7]
cmp byte [rcx], 0
je 0x180061264
add rsp, 0x20
pop rsi
jmp 0x1800ea060
add rsp, 0x20
pop rsi
ret
sub rsp, 0x48
mov rdx, rcx
mov r8d, 0x40
lea rcx, str.About_Dear_ImGui
call fcn.1800a9b30
test al, al
je 0x1800ea5f2
mov r8d, 0x4a2e
lea rdx, str.1.89.9
lea rcx, str.Dear_ImGui__s___d_
call fcn.1800d1420
mov rax, qword [0x180156ea0]
mov rax, qword [rax + 0x3ed8]
cmp byte [rax + 0xbb], 0
jne 0x1800ea0c3
mov eax, dword [rax + 0x1b4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.1800d4150
lea rcx, str.By_Omar_Cornut_and_all_Dear_ImGui_contributors.
call fcn.1800d1420
lea rcx, str.Dear_ImGui_is_licensed_under_the_MIT_License__see_LICENSE_for_more_information.
call fcn.1800d1420
lea rcx, str.If_your_company_uses_this__please_consider_sponsoring_the_project_
call fcn.1800d1420
lea rdx, [0x180157a30]
lea rcx, str.Config_Build_Information
call fcn.1800d3820
cmp byte [0x180157a30], 0
je 0x1800ea5f2
mov qword [rsp + 0x50], rbx
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x60], rsi
lea rcx, str.Copy_to_clipboard
mov qword [rsp + 0x40], rdi
xor r8d, r8d
mov rdi, qword [0x180156ea0]
movaps xmmword [rsp + 0x30], xmm6
xorps xmm6, xmm6
mov qword [rsp + 0x58], 0
call fcn.1800d2250
mov rcx, qword [0x180156ea0]
movzx esi, al
mov dword [rsp + 0x58], 0
movss xmm0, dword [rcx + 0x3c10]
addss xmm0, dword [rcx + 0x3818]
lea rcx, str.cfg_infos
mulss xmm0, dword [0x180132740]
movss dword [rsp + 0x5c], xmm0
call fcn.1800acd30
mov ecx, eax
lea rdx, [rsp + 0x58]
mov r8d, 4
call fcn.1800a72b0
test sil, sil
je 0x1800ea1a6
call fcn.1800b5830
lea rcx, str.____n
call fcn.1800b55f0
mov r8d, 0x4a2e
lea rdx, str.1.89.9
lea rcx, str.Dear_ImGui__s___d_
call fcn.1800d1420
mov rax, qword [0x180156ea0]
mov rax, qword [rax + 0x3ed8]
cmp byte [rax + 0xbb], 0
jne 0x1800ea1e8
mov eax, dword [rax + 0x1b4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.1800d4150
mov edx, 8
lea rcx, str.sizeof_size_t_:__d__sizeof_ImDrawIdx_:__d__sizeof_ImDrawVert_:__d
lea r9d, [rdx + 0xc]
lea r8d, [rdx - 6]
call fcn.1800d1420
mov edx, 0x30c1f
lea rcx, str.define:___cplusplus_d
call fcn.1800d1420
lea rcx, str.define:__WIN32
call fcn.1800d1420
lea rcx, str.define:__WIN64
call fcn.1800d1420
mov edx, 0x792
lea rcx, str.define:__MSC_VER_d
call fcn.1800d1420
mov edx, 0x31512
lea rcx, str.define:__MSVC_LANG_d
call fcn.1800d1420
mov rax, qword [0x180156ea0]
mov rax, qword [rax + 0x3ed8]
cmp byte [rax + 0xbb], 0
jne 0x1800ea275
mov eax, dword [rax + 0x1b4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.1800d4150
mov rax, qword [rdi + 0x80]
lea rbx, str.NULL
test rax, rax
lea rcx, str.io.BackendPlatformName:__s
mov rdx, rbx
cmovne rdx, rax
call fcn.1800d1420
mov rax, qword [rdi + 0x88]
lea rcx, str.io.BackendRendererName:__s
test rax, rax
cmovne rbx, rax
mov rdx, rbx
call fcn.1800d1420
mov edx, dword [rdi + 8]
lea rcx, str.io.ConfigFlags:_0x_08X
call fcn.1800d1420
test byte [rdi + 8], 1
mov rbx, qword [rsp + 0x50]
je 0x1800ea2dc
lea rcx, str._NavEnableKeyboard
call fcn.1800d1420
test byte [rdi + 8], 2
je 0x1800ea2ee
lea rcx, str._NavEnableGamepad
call fcn.1800d1420
test byte [rdi + 8], 4
je 0x1800ea300
lea rcx, str._NavEnableSetMousePos
call fcn.1800d1420
test byte [rdi + 8], 8
je 0x1800ea312
lea rcx, str._NavNoCaptureKeyboard
call fcn.1800d1420
test byte [rdi + 8], 0x10
je 0x1800ea324
lea rcx, str._NoMouse
call fcn.1800d1420
test byte [rdi + 8], 0x20
je 0x1800ea336
lea rcx, str._NoMouseCursorChange
call fcn.1800d1420
cmp byte [rdi + 0x58], 0
je 0x1800ea348
lea rcx, str.io.MouseDrawCursor
call fcn.1800d1420
cmp byte [rdi + 0x59], 0
je 0x1800ea35a
lea rcx, str.io.ConfigMacOSXBehaviors
call fcn.1800d1420
cmp byte [rdi + 0x5b], 0
je 0x1800ea36c
lea rcx, str.io.ConfigInputTextCursorBlink
call fcn.1800d1420
cmp byte [rdi + 0x5e], 0
je 0x1800ea37e
lea rcx, str.io.ConfigWindowsResizeFromEdges
call fcn.1800d1420
cmp byte [rdi + 0x5f], 0
je 0x1800ea390
lea rcx, str.io.ConfigWindowsMoveFromTitleBarOnly
call fcn.1800d1420
movss xmm0, dword [rdi + 0x60]
comiss xmm0, xmm6
movaps xmm6, xmmword [rsp + 0x30]
jb 0x1800ea3b3
cvtps2pd xmm1, xmm0
lea rcx, str.io.ConfigMemoryCompactTimer___.1f
movq rdx, xmm1
call fcn.1800d1420
mov edx, dword [rdi + 0xc]
lea rcx, str.io.BackendFlags:_0x_08X
call fcn.1800d1420
test byte [rdi + 0xc], 1
je 0x1800ea3d4
lea rcx, str._HasGamepad
call fcn.1800d1420
test byte [rdi + 0xc], 2
je 0x1800ea3e6
lea rcx, str._HasMouseCursors
call fcn.1800d1420
test byte [rdi + 0xc], 4
je 0x1800ea3f8
lea rcx, str._HasSetMousePos
call fcn.1800d1420
test byte [rdi + 0xc], 8
je 0x1800ea40a
lea rcx, str._RendererHasVtxOffset
call fcn.1800d1420
mov rax, qword [0x180156ea0]
mov rax, qword [rax + 0x3ed8]
cmp byte [rax + 0xbb], 0
jne 0x1800ea433
mov eax, dword [rax + 0x1b4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.1800d4150
mov rdx, qword [rdi + 0x38]
lea rcx, str.io.Fonts:__d_fonts__Flags:_0x_08X__TexSize:__d__d
mov eax, dword [rdx + 0x44]
mov r9d, dword [rdx + 0x40]
mov r8d, dword [rdx]
mov edx, dword [rdx + 0x58]
mov dword [rsp + 0x20], eax
call fcn.1800d1420
movss xmm2, dword [rdi + 0x14]
lea rcx, str.io.DisplaySize:__.2f__.2f
movss xmm1, dword [rdi + 0x10]
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
movq r8, xmm2
movq rdx, xmm1
call fcn.1800d1420
movss xmm2, dword [rdi + 0x54]
lea rcx, str.io.DisplayFramebufferScale:__.2f__.2f
movss xmm1, dword [rdi + 0x50]
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
movq r8, xmm2
movq rdx, xmm1
call fcn.1800d1420
mov rax, qword [0x180156ea0]
mov rax, qword [rax + 0x3ed8]
cmp byte [rax + 0xbb], 0
jne 0x1800ea4c9
mov eax, dword [rax + 0x1b4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.1800d4150
movss xmm2, dword [rdi + 0x37d4]
lea rcx, str.style.WindowPadding:__.2f__.2f
movss xmm1, dword [rdi + 0x37d0]
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
movq r8, xmm2
movq rdx, xmm1
call fcn.1800d1420
movss xmm1, dword [rdi + 0x37dc]
lea rcx, str.style.WindowBorderSize:__.2f
cvtps2pd xmm1, xmm1
movq rdx, xmm1
call fcn.1800d1420
movss xmm2, dword [rdi + 0x3808]
lea rcx, str.style.FramePadding:__.2f__.2f
movss xmm1, dword [rdi + 0x3804]
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
movq r8, xmm2
movq rdx, xmm1
call fcn.1800d1420
movss xmm1, dword [rdi + 0x380c]
lea rcx, str.style.FrameRounding:__.2f
cvtps2pd xmm1, xmm1
movq rdx, xmm1
call fcn.1800d1420
movss xmm1, dword [rdi + 0x3810]
lea rcx, str.style.FrameBorderSize:__.2f
cvtps2pd xmm1, xmm1
movq rdx, xmm1
call fcn.1800d1420
movss xmm2, dword [rdi + 0x3818]
lea rcx, str.style.ItemSpacing:__.2f__.2f
movss xmm1, dword [rdi + 0x3814]
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
movq r8, xmm2
movq rdx, xmm1
call fcn.1800d1420
movss xmm2, dword [rdi + 0x3820]
lea rcx, str.style.ItemInnerSpacing:__.2f__.2f
movss xmm1, dword [rdi + 0x381c]
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
movq r8, xmm2
movq rdx, xmm1
call fcn.1800d1420
mov rdi, qword [rsp + 0x40]
test sil, sil
mov rsi, qword [rsp + 0x60]
je 0x1800ea5ed
lea rcx, str._n____n
call fcn.1800b55f0
call fcn.1800b58a0
call fcn.1800a6fc0
add rsp, 0x48
jmp fcn.1800abdc0