Function at 0x140069410
Capabilities:
Check for minimum number of windows on screen
Enumerate gui resources

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbx
push rdi
push r13
push r14
push r15
sub rsp, 0x4c0
mov r15d, dword [rsp + 0x518]
xor ebx, ebx
mov r13d, r9d
mov dword [rsp + 0x58], ebx
mov r14d, dword [rsp + 0x510]
mov rdi, rcx
mov eax, ebx
mov dword [rsp + 0x50], ebx
test r14d, r14d
jne 0x140069458
test r15d, r15d
je 0x140069ddf
mov eax, dword [rcx + 0x210]
mov qword [rsp + 0x4f0], rbp
mov ebp, 1
mov qword [rsp + 0x4b8], rsi
mov qword [rsp + 0x4b0], r12
mov dword [rsp + 0x510], ebp
mov r12d, ebp
mov dword [rsp + 0x54], ebp
cmp eax, 0x100000
je 0x140069647
cmp eax, 0x200000
je 0x1400694dd
cmp eax, 0x400000
jne 0x140069675
xor r8d, r8d
xor edx, edx
call fcn.1400d26a0
test bpl, al
je 0x1400695d5
test eax, 0x300
je 0x1400695d5
bt eax, 8
cmovae ebp, ebx
bt eax, 9
jb 0x140069675
mov r12d, ebx
jmp 0x140069675
call fcn.140114a30
test byte [0x1402d741c], 4
mov rsi, rax
je 0x140069509
lea r8, str.hFocus__x_n
lea rcx, str.CPluginZone::SetGestureAndSendAction
mov r9, rax
mov edx, 3
call fcn.14011a490
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetParent]
xor ecx, ecx
mov rbx, rax
call fcn.140116270
cmp eax, 0xb
jge 0x1400695e4
mov rcx, rdi
call fcn.140005df0
mov edx, 8
mov rcx, rax
call fcn.1400326e0
test eax, eax
jne 0x1400695e4
test rbx, rbx
je 0x1400695e4
test byte [0x1402d741c], 4
je 0x14006956d
lea r8, str.hParent__x_n
lea edx, [rax + 3]
lea rcx, str.CPluginZone::SetGestureAndSendAction
mov r9, rbx
call fcn.14011a490
lea rdx, [rsp + 0x2a0]
mov r8d, 0x104
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rdx, [rsp + 0x90]
mov r8d, 0x104
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rdx, str.SHELLDLL_DefView
lea rcx, [rsp + 0x90]
mov r8d, 0x10
call fcn.1401228e4
test eax, eax
jne 0x1400695e4
lea r8d, [rax + 0xd]
lea rdx, str.SysListView32
lea rcx, [rsp + 0x2a0]
call fcn.1401228e4
test eax, eax
jne 0x1400695e4
mov rcx, rdi
call fcn.140069e00
xor al, al
jmp 0x140069dc7
mov rcx, rdi
call fcn.14006a290
mov rcx, rdi
test eax, eax
je 0x1400695d8
xor r8d, r8d
xor edx, edx
call fcn.1400d26a0
mov ebx, 0
mov rcx, rdi
test al, 0x10
cmove ebp, ebx
xor r8d, r8d
xor edx, edx
call fcn.1400d26a0
mov rcx, rdi
test al, 0x20
cmove r12d, ebx
call fcn.14006a300
mov ecx, dword [rsp + 0x510]
test eax, eax
cmove ecx, ebx
mov dword [rsp + 0x510], ecx
mov rcx, rdi
call fcn.14006a3a0
test eax, eax
jne 0x140069675
mov dword [rsp + 0x54], ebx
jmp 0x140069675
call fcn.14006a440
mov rcx, rdi
test eax, eax
je 0x1400695d8
xor r8d, r8d
xor edx, edx
call fcn.1400d26a0
mov rcx, rdi
test al, 2
cmove ebp, ebx
xor r8d, r8d
xor edx, edx
call fcn.1400d26a0
test al, 4
cmove r12d, ebx
xor r8d, r8d
xor edx, edx
mov rcx, rdi
xor sil, sil
call fcn.1400d2300
mov ebx, 2
bt eax, 0xb
jae 0x14006987e
cmp dword [rdi + 0x21c], 0
je 0x14006987e
cmp dword [rdi + 0x210], 0x200000
jne 0x14006987e
cmp byte [rdi + 0x25c], 3
jne 0x14006987e
xor eax, eax
lea rcx, [0x140068bc0]
mov rdx, rdi
mov qword [rdi + 0x268], rax
call qword [sym.imp.USER32.dll_EnumWindows]
xor ecx, ecx
call fcn.140116270
cmp eax, 0xc
jg 0x1400696f2
lea rcx, [0x140068d10]
mov rdx, rdi
call fcn.140115410
mov r8d, dword [rdi + 0x26c]
mov r9d, dword [rdi + 0x268]
lea eax, [r9 + r8]
test eax, eax
je 0x140069732
mov ecx, dword [rdi + 0x234]
xor edx, edx
add ecx, eax
imul eax, dword [rdi + 0x270], 0x64
imul ecx, dword [rdi + 0x22c]
div ecx
mov r13d, eax
mov eax, dword [rdi + 0x230]
cmp r13d, eax
cmovb r13d, eax
test byte [0x1402d741c], 4
je 0x140069767
mov eax, dword [rdi + 0x270]
mov dword [rsp + 0x30], r13d
lea rcx, str.CPluginZone::SetGestureAndSendAction
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r8d
lea r8, str.DesktopAppCont:_d__MetroAppCount:__dTouchPadWidth:__d__Threshold:__d_n
mov edx, 3
call fcn.14011a490
mov r9d, dword [rsp + 0x4f8]
cmp r9d, r13d
jbe 0x140069849
test r14d, r14d
mov r14d, dword [rsp + 0x500]
jle 0x140069839
mov sil, 1
mov dword [rsp + 0x50], 4
mov r15d, dword [rsp + 0x50]
movzx r8d, byte [reloc.OLEAUT32.dll_VariantTimeToDosDateTime]
movzx edx, byte [0x14025ebd1]
test sil, r8b
je 0x1400697c2
test sil, dl
je 0x1400697c2
cmp r14d, r9d
movzx ecx, dl
movzx eax, r8b
cmova ecx, eax
and sil, cl
test ebp, ebp
jne 0x1400697cb
not dl
and sil, dl
test r12d, r12d
jne 0x1400697d6
not r8b
and sil, r8b
cmp dword [rsp + 0x510], 0
jne 0x1400697e4
and sil, 0xf7
cmp dword [rsp + 0x54], 0
jne 0x1400697ef
and sil, 0xfb
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400d2300
bt eax, 0xb
jae 0x1400698d9
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400d2300
bt eax, 0xb
jae 0x140069826
cmp dword [rdi + 0x21c], 0
je 0x1400698d9
movzx ecx, byte [reloc.OLEAUT32.dll_VariantTimeToDosDateTime]
movzx edx, byte [0x14025ebd1]
jmp 0x140069984
movzx esi, bl
mov dword [rsp + 0x50], 3
jmp 0x140069794
mov r14d, dword [rsp + 0x500]
cmp r14d, dword [rdi + 0x228]
jbe 0x140069794
test r15d, r15d
jle 0x140069873
mov sil, 8
mov dword [rsp + 0x50], 1
jmp 0x140069794
mov sil, 4
mov r15d, ebx
jmp 0x140069799
mov r9d, dword [rsp + 0x4f8]
cmp r9d, r13d
jbe 0x1400698a8
test r14d, r14d
jle 0x14006989d
mov sil, 1
mov dword [rsp + 0x50], 4
jmp 0x1400698a8
movzx esi, bl
mov dword [rsp + 0x50], 3
mov r14d, dword [rsp + 0x500]
cmp r14d, r13d
jbe 0x140069794
test r15d, r15d
jle 0x1400698cd
or sil, 8
mov r15d, 1
jmp 0x140069799
or sil, 4
mov r15d, ebx
jmp 0x140069799
mov ecx, dword [rdi + 0x2c]
lea eax, [rcx - 6]
cmp eax, ebx
jbe 0x1400698ec
cmp ecx, 4
je 0x1400698ec
xor ebx, ebx
jmp 0x1400698f1
mov ebx, 1
cmp qword [rdi + 0x38], 0
jne 0x140069911
lea rdx, str.g:checkpoints_tpdrvheadgit1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1c1
call fcn.14000cb10
cmp dword [rsp + 0x528], 0
mov rax, qword [rdi + 0x38]
mov ecx, dword [rax + 0xfe8]
je 0x140069934
test ebx, ebx
jne 0x14006992d
test ecx, ecx
je 0x140069934
mov eax, 1
jmp 0x140069936
xor eax, eax
cmp dword [rsp + 0x530], 0
je 0x140069950
test ebx, ebx
jne 0x140069948
test ecx, ecx
je 0x140069950
mov r8d, 1
jmp 0x140069953
xor r8d, r8d
movzx edx, byte [0x14025ebd1]
test sil, dl
je 0x14006996b
test eax, eax
jne 0x14006996b
movzx eax, dl
not al
and sil, al
movzx ecx, byte [reloc.OLEAUT32.dll_VariantTimeToDosDateTime]
test sil, cl
je 0x140069984
test r8d, r8d
jne 0x140069984
movzx eax, cl
not al
and sil, al
test byte [0x1402d741c], 4
mov r12d, 3
je 0x1400699d1
mov r9d, dword [rsp + 0x4f8]
movzx ecx, cl
movzx edx, dl
movzx eax, sil
lea r8, str.DistH_d__DistV_d__thed_d__bgmHMask_x__bgmVMask_x__bgm_x_n
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], edx
lea rcx, str.CPluginZone::SetGestureAndSendAction
mov edx, r12d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r14d
call fcn.14011a490
xor r14d, r14d
cmp byte [rdi + 0x25c], 3
mov ebx, r14d
jne 0x140069a0b
test sil, 0xc
je 0x140069a0b
test dword [rdi + 0x210], 0x200000
je 0x140069a0b
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400d2300
bt eax, 0xb
jae 0x140069a0b
lea ebx, [r14 + 1]
jmp 0x140069a12
and sil, byte [rdi + 0x25c]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400d23b0
bt eax, 8
jae 0x140069a42
test ebx, ebx
jne 0x140069a42
movzx eax, byte [rdi + 0x25d]
test al, 8
je 0x140069a3a
and sil, 0xf7
jmp 0x140069a42
test al, 4
je 0x140069a42
and sil, 0xfb
test sil, sil
je 0x140069dc3
mov byte [rdi + 0x25d], sil
test ebx, ebx
je 0x140069a6b
movzx eax, sil
not al
movzx ebp, al
and ebp, 8
bts ebp, 7
shr ebp, 3
jmp 0x140069a80
movzx eax, sil
lea rcx, [0x14025eb80]
cmp eax, 0x14
cmovae eax, r14d
mov ebp, dword [rcx + rax*4]
test dword [rdi + 0x210], 0x200000
mov qword [rdi + 0x260], r14
je 0x140069ab9
lea rdx, [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call fcn.1400d2160
mov ecx, 1
test dword [rax + 4], 0x800
je 0x140069abc
movzx ebx, cl
jmp 0x140069abe
mov ecx, r14d
xor bl, bl
test cl, 1
je 0x140069ae7
mov r8, qword [rsp + 0x70]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x70]
mov r9, r8
mov r8, qword [r8]
call fcn.14011e1e0
mov rcx, qword [rsp + 0x70]
call fcn.14011f898
test bl, bl
je 0x140069afe
cmp ebp, 3
jne 0x140069af7
mov ebp, 7
jmp 0x140069afe
cmp ebp, 7
cmove ebp, r12d
test byte [0x1402d741c], 4
je 0x140069b2c
mov ecx, ebp
call fcn.140063730
lea r8, str.Gesture_motion_eg0x_08X__detected:__s_n
lea rcx, str.CPluginZone::SetGestureAndSendAction
mov r9d, ebp
mov edx, r12d
mov qword [rsp + 0x20], rax
call fcn.14011a490
mov eax, dword [rdi + 0x210]
bt eax, 0x15
jb 0x140069b42
bt eax, 0x16
jae 0x140069bc5
cmp qword [rdi + 0x38], r14
jne 0x140069b61
lea rdx, str.g:checkpoints_tpdrvheadgit1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1c1
call fcn.14000cb10
mov r14, qword [rdi + 0x38]
test r14, r14
jne 0x140069b83
lea rdx, str.g:checkpoints_tpdrvheadgit1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1c1
call fcn.14000cb10
mov rbx, qword [rdi + 0x38]
mov r13d, 8
mov rcx, r14
mov edx, r13d
call fcn.1400326e0
mov edx, dword [rdi + 0x210]
xor r9d, r9d
mov dword [rsp + 0x30], edx
mov rdx, qword [rdi + 0x40]
mov dword [rsp + 0x28], eax
mov r8d, 0x3eb
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.1400327c0
xor r14d, r14d
jmp 0x140069bcb
mov r13d, 8
test dword [rdi + 0x210], 0x200000
je 0x140069bf0
mov rcx, rdi
call fcn.140005df0
mov edx, SafeArrayAllocDescriptor
mov rcx, rax
call fcn.140032eb0
test eax, eax
jne 0x140069c3a
test dword [rdi + 0x210], 0x400000
je 0x140069c15
mov rcx, rdi
call fcn.140005df0
mov edx, 0x80
mov rcx, rax
call fcn.140032eb0
test eax, eax
jne 0x140069c3a
test dword [rdi + 0x210], 0x100000
je 0x140069c41
mov rcx, rdi
call fcn.140005df0
mov edx, 4
mov rcx, rax
call fcn.140032eb0
test eax, eax
je 0x140069c41
mov ebx, 1
jmp 0x140069c44
mov ebx, r14d
cmp qword [rdi + 0x38], 0
jne 0x140069c64
lea rdx, str.g:checkpoints_tpdrvheadgit1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1c1
call fcn.14000cb10
mov rcx, qword [rdi + 0x38]
xor r8d, r8d
mov rdx, rdi
call fcn.140035e10
mov eax, dword [rdi + 0x210]
bt eax, 0x14
jae 0x140069c86
mov eax, 2
jmp 0x140069c9e
bt eax, 0x15
jae 0x140069c93
mov eax, 4
jmp 0x140069c9e
bt eax, 0x16
mov eax, r14d
cmovb eax, r13d
mov dword [rdi + 0x94], eax
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x178]
test ebx, ebx
jne 0x140069d73
shl ebp, 0xc
or ebp, dword [rdi + 0x210]
test byte [0x1402d741c], 4
je 0x140069ce3
lea r8, str.Calling_DLL_to_send_gesture_plugin_message:_0x_08X_n
lea rcx, str.CPluginZone::SetGestureAndSendAction
mov r9d, ebp
mov edx, r12d
call fcn.14011a490
mov rcx, rdi
call fcn.140005df0
mov rcx, qword [rax + 0x58]
test rcx, rcx
jne 0x140069cf8
lea rcx, [rax + 0x70]
mov rax, qword [rcx]
lea r8, [rsp + 0x510]
mov edx, 0x10000101
call qword [rax + 0x18]
or ebx, 0xffffffff
lea rcx, [0x1402dc840]
mov edx, ebx
test eax, eax
lea r9d, [rbx + 2]
cmove edx, dword [rsp + 0x510]
mov r8d, ebp
call fcn.1400a97b0
mov rcx, rdi
call fcn.140005df0
mov rcx, qword [rax + 0x58]
test rcx, rcx
jne 0x140069d42
lea rcx, [rax + 0x70]
mov rax, qword [rcx]
lea r8, [rsp + 0x510]
mov edx, 0x10000101
call qword [rax + 0x18]
lea rcx, [0x1402dc840]
mov r8d, ebp
test eax, eax
cmove ebx, dword [rsp + 0x510]
xor r9d, r9d
mov edx, ebx
call fcn.1400a97b0
cmp dword [rdi + 0x21c], 0
jne 0x140069d92
test sil, 3
je 0x140069d8b
and byte [rdi + 0x25c], 3
jmp 0x140069d92
and byte [rdi + 0x25c], 0xc
test dword [rdi + 0x210], 0x200000
je 0x140069db1
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400d2300
bt eax, 0xb
jb 0x140069db9
mov rcx, rdi
call fcn.140069e00
mov dword [rdi + 0x21c], 1
movzx eax, sil
mov rsi, qword [rsp + 0x4b8]
mov rbp, qword [rsp + 0x4f0]
mov r12, qword [rsp + 0x4b0]
add rsp, 0x4c0
pop r15
pop r14
pop r13
pop rdi
pop rbx
ret