Function at 0x1400572d0
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 r12
push r14
push r15
sub rsp, 0x4a0
mov ebx, dword [rsp + 0x4f8]
xor r14d, r14d
mov r15d, r9d
mov dword [rsp + 0x50], r14d
mov rdi, rcx
mov r12d, r14d
cmp dword [rsp + 0x4f0], r14d
jne 0x140057320
test ebx, ebx
jne 0x140057320
xor al, al
add rsp, 0x4a0
pop r15
pop r14
pop r12
pop rdi
pop rbx
ret
mov eax, dword [rcx + 0x1f8]
mov qword [rsp + 0x4d0], rbp
mov ebp, 1
mov qword [rsp + 0x4e8], rsi
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x44], ebp
mov esi, ebp
mov dword [rsp + 0x48], ebp
cmp eax, 0x100000
je 0x1400575f1
cmp eax, 0x200000
je 0x1400573a0
cmp eax, 0x400000
jne 0x14005750e
xor r8d, r8d
xor edx, edx
call fcn.1400aab30
test sil, al
je 0x140057abe
test eax, 0x300
je 0x140057abe
bt eax, 8
cmovae ebp, r14d
bt eax, 9
jb 0x14005750e
mov dword [rsp + 0x40], r14d
jmp 0x14005750e
call fcn.1400dc5d0
mov rcx, rax
mov rsi, rax
call qword [sym.imp.USER32.dll_GetParent]
xor ecx, ecx
mov rbx, rax
call fcn.1400dd570
cmp eax, 0xb
jge 0x140057447
mov rcx, qword [rdi + 0x48]
mov edx, 8
call fcn.140026700
test eax, eax
jne 0x140057447
test rbx, rbx
je 0x140057447
lea rdx, [rsp + 0x290]
mov r8d, 0x104
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rdx, [rsp + 0x80]
mov r8d, 0x104
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rdx, str.SHELLDLL_DefView
lea rcx, [rsp + 0x80]
mov r8d, 0x10
call fcn.1400e7d60
test eax, eax
jne 0x140057447
lea r8d, [rax + 0xd]
lea rdx, str.SysListView32
lea rcx, [rsp + 0x290]
call fcn.1400e7d60
test eax, eax
je 0x140057abe
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400aab30
test bpl, al
je 0x140057abe
test al, 0x30
je 0x140057abe
mov rax, qword [rdi + 0x48]
test dword [rax + 0xbf8], 0x100
jne 0x140057abe
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400aab30
mov rcx, rdi
test al, 0x10
cmove ebp, r14d
xor r8d, r8d
xor edx, edx
call fcn.1400aab30
mov rcx, rdi
test al, 0x20
mov eax, dword [rsp + 0x40]
cmove eax, r14d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x40], eax
call fcn.1400aab30
test al, 1
je 0x1400574d2
test al, 0x30
je 0x1400574d2
mov rax, qword [rdi + 0x48]
mov ecx, dword [rax + 0xbf8]
bt ecx, 8
jb 0x1400574d2
bt ecx, 0xc
jae 0x1400574d7
mov dword [rsp + 0x44], r14d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400aab30
test al, 1
je 0x140057502
test al, 0x30
je 0x140057502
mov rax, qword [rdi + 0x48]
mov ecx, dword [rax + 0xbf8]
bt ecx, 8
jb 0x140057502
bt ecx, 0xd
jae 0x140057507
mov dword [rsp + 0x48], r14d
mov ebx, dword [rsp + 0x4f8]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
xor sil, sil
call fcn.1400aa8a0
mov ecx, 3
bt eax, 0xb
jae 0x140057671
cmp dword [rdi + 0x208], r12d
je 0x140057671
cmp dword [rdi + 0x1f8], 0x200000
jne 0x140057671
cmp byte [rdi + 0x300], cl
jne 0x140057671
lea rcx, [0x140056b60]
mov rdx, rdi
mov qword [rdi + 0x30c], r14
call qword [sym.imp.USER32.dll_EnumWindows]
xor ecx, ecx
call fcn.1400dd570
cmp eax, 0xc
jg 0x140057588
lea rcx, [0x140056c90]
mov rdx, rdi
call fcn.1400dcd80
mov eax, dword [rdi + 0x310]
add eax, dword [rdi + 0x30c]
je 0x1400575c0
mov ecx, dword [rdi + 0x220]
xor edx, edx
add ecx, eax
imul eax, dword [rdi + 0x314], 0x64
imul ecx, dword [rdi + 0x218]
div ecx
mov r15d, eax
mov eax, dword [rdi + 0x21c]
cmp r15d, eax
cmovb r15d, eax
mov r10d, dword [rsp + 0x4d8]
mov r9d, dword [rsp + 0x4e0]
cmp r10d, r15d
mov r15d, 3
jbe 0x140057654
cmp dword [rsp + 0x4f0], r12d
jle 0x14005764c
mov sil, 1
lea r12d, [r15 + 1]
jmp 0x1400576c3
xor r8d, r8d
xor edx, edx
call fcn.1400aab30
test sil, al
je 0x140057abe
test al, 6
je 0x140057abe
mov rax, qword [rdi + 0x48]
test byte [rax + 0xbf8], 0x80
jne 0x140057abe
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400aab30
mov rcx, rdi
test al, 2
cmove ebp, r14d
xor r8d, r8d
xor edx, edx
call fcn.1400aab30
test al, 4
cmove esi, r14d
mov dword [rsp + 0x40], esi
jmp 0x14005750e
mov sil, 2
mov r12d, r15d
jmp 0x1400576c3
cmp r9d, dword [rdi + 0x214]
jbe 0x1400576c3
test ebx, ebx
jle 0x14005766c
mov sil, 8
mov r12d, 1
jmp 0x1400576c3
mov sil, 4
jmp 0x1400576bd
mov r10d, dword [rsp + 0x4d8]
cmp r10d, r15d
jbe 0x140057699
cmp dword [rsp + 0x4f0], r12d
jle 0x140057693
mov sil, 1
mov r12d, 4
jmp 0x140057699
mov sil, 2
mov r12d, ecx
mov r9d, dword [rsp + 0x4e0]
cmp r9d, r15d
mov r15d, ecx
jbe 0x1400576c3
test ebx, ebx
jle 0x1400576b9
or sil, 8
mov r12d, 1
jmp 0x1400576c3
or sil, 4
mov r12d, 2
movzx r8d, byte [0x1401f1ba8]
movzx edx, byte [0x1401f1ba9]
test sil, r8b
je 0x1400576ec
test sil, dl
je 0x1400576ec
cmp r9d, r10d
movzx ecx, dl
movzx eax, r8b
cmova ecx, eax
and sil, cl
test ebp, ebp
jne 0x1400576f5
not dl
and sil, dl
cmp dword [rsp + 0x40], r14d
jne 0x140057702
not r8b
and sil, r8b
cmp dword [rsp + 0x44], r14d
jne 0x14005770d
and sil, 0xf7
cmp dword [rsp + 0x48], r14d
jne 0x140057718
and sil, 0xfb
cmp dword [rsp + 0x500], 2
jl 0x1400577e3
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400aa8a0
bt eax, 0xb
jae 0x14005775d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400aa8a0
bt eax, 0xb
jae 0x1400577e3
cmp dword [rdi + 0x208], r14d
jne 0x1400577e3
mov ecx, dword [rdi + 0x2c]
lea eax, [rcx - 7]
cmp eax, 2
jbe 0x140057770
cmp ecx, 5
mov ecx, r14d
jne 0x140057775
mov ecx, 1
mov rax, qword [rdi + 0x48]
mov edx, dword [rax + 0x1010]
cmp dword [rsp + 0x508], r14d
je 0x140057799
test ecx, ecx
jne 0x140057791
test edx, edx
je 0x140057799
mov r8d, 1
jmp 0x14005779c
mov r8d, r14d
cmp dword [rsp + 0x510], r14d
je 0x1400577b5
test ecx, ecx
jne 0x1400577ae
test edx, edx
je 0x1400577b5
mov ecx, 1
jmp 0x1400577b8
mov ecx, r14d
movzx eax, byte [0x1401f1ba9]
test sil, al
je 0x1400577ce
test r8d, r8d
jne 0x1400577ce
not al
and sil, al
movzx eax, byte [0x1401f1ba8]
test sil, al
je 0x1400577e3
test ecx, ecx
jne 0x1400577e3
not al
and sil, al
cmp byte [rdi + 0x300], 3
jne 0x140057811
test sil, 0xc
je 0x140057811
test dword [rdi + 0x1f8], 0x200000
je 0x140057811
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400aa8a0
bt eax, 0xb
jb 0x140057818
and sil, byte [rdi + 0x300]
test sil, sil
je 0x140057ab8
cmp byte [rdi + 0x300], 3
jne 0x140057864
test sil, 0xc
je 0x140057864
test dword [rdi + 0x1f8], 0x200000
je 0x140057864
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400aa8a0
bt eax, 0xb
jae 0x140057864
movzx eax, sil
not al
movzx ebp, al
and ebp, 8
bts ebp, 7
shr ebp, 3
jmp 0x140057879
movzx eax, sil
lea rcx, [0x1401f1b50]
cmp eax, 0x14
cmovae eax, r14d
mov ebp, dword [rcx + rax*4]
test dword [rdi + 0x1f8], 0x200000
mov qword [rdi + 0x304], r14
je 0x1400578b2
lea rdx, [rsp + 0x58]
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call fcn.1400aa740
mov ecx, 1
test dword [rax + 4], 0x800
je 0x1400578b5
movzx ebx, cl
jmp 0x1400578b7
mov ecx, r14d
xor bl, bl
test cl, 1
je 0x1400578e0
mov r8, qword [rsp + 0x68]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x68]
mov r9, r8
mov r8, qword [r8]
call fcn.1400e4500
mov rcx, qword [rsp + 0x68]
call fcn.1400e5d34
test bl, bl
je 0x1400578f7
cmp ebp, 3
jne 0x1400578f0
mov ebp, 7
jmp 0x1400578f7
cmp ebp, 7
cmove ebp, r15d
mov r15d, dword [rdi + 0x1f8]
bt r15d, 0x15
jb 0x14005790c
bt r15d, 0x16
jae 0x140057940
mov rbx, qword [rdi + 0x48]
mov edx, 8
mov rcx, rbx
call fcn.140026700
mov rdx, qword [rdi + 0x50]
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], eax
xor r9d, r9d
mov r8d, 0x3eb
mov rcx, rbx
mov dword [rsp + 0x20], r12d
call fcn.1400267e0
test dword [rdi + 0x1f8], 0x200000
je 0x14005795e
mov rcx, qword [rdi + 0x48]
mov edx, SafeArrayAllocDescriptor
call fcn.140026e90
test eax, eax
jne 0x14005799a
test dword [rdi + 0x1f8], 0x400000
je 0x14005797c
mov rcx, qword [rdi + 0x48]
mov edx, 0x80
call fcn.140026e90
test eax, eax
jne 0x14005799a
test dword [rdi + 0x1f8], 0x100000
je 0x1400579a0
mov rcx, qword [rdi + 0x48]
mov edx, 4
call fcn.140026e90
test eax, eax
je 0x1400579a0
mov r14d, 1
mov rcx, qword [rdi + 0x48]
xor r8d, r8d
mov rdx, rdi
call fcn.140029990
test r14d, r14d
jne 0x140057a68
mov rcx, qword [rdi + 0x48]
call fcn.140029850
test rax, rax
je 0x1400579d7
mov r8, qword [rax]
lea edx, [r14 + 1]
mov rcx, rax
call qword [r8 + pe_nt_image_headers64]
mov rax, qword [rdi + 0x48]
shl ebp, 0xc
mov rcx, qword [rax + 0x58]
or ebp, dword [rdi + 0x1f8]
test rcx, rcx
jne 0x1400579f1
lea rcx, [rax + 0x70]
mov rax, qword [rcx]
lea r8, [rsp + 0x4f0]
mov edx, 0x10000101
call qword [rax + 0x18]
or ebx, 0xffffffff
lea rcx, [0x1402707e0]
mov edx, ebx
test eax, eax
lea r9d, [rbx + 2]
cmove edx, dword [rsp + 0x4f0]
mov r8d, ebp
call fcn.140083b10
mov rax, qword [rdi + 0x48]
mov rcx, qword [rax + 0x58]
test rcx, rcx
jne 0x140057a37
lea rcx, [rax + 0x70]
mov rax, qword [rcx]
lea r8, [rsp + 0x4f0]
mov edx, 0x10000101
call qword [rax + 0x18]
lea rcx, [0x1402707e0]
mov r8d, ebp
test eax, eax
cmove ebx, dword [rsp + 0x4f0]
xor r9d, r9d
mov edx, ebx
call fcn.140083b10
cmp dword [rdi + 0x208], 0
jne 0x140057a87
test sil, 3
je 0x140057a80
and byte [rdi + 0x300], 3
jmp 0x140057a87
and byte [rdi + 0x300], 0xc
test dword [rdi + 0x1f8], 0x200000
je 0x140057aa6
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400aa8a0
bt eax, 0xb
jb 0x140057aae
mov rcx, rdi
call fcn.140057af0
mov dword [rdi + 0x208], 1
movzx eax, sil
jmp 0x140057ac8
mov rcx, rdi
call fcn.140057af0
xor al, al
mov rbp, qword [rsp + 0x4d0]
mov rsi, qword [rsp + 0x4e8]
add rsp, 0x4a0
pop r15
pop r14
pop r12
pop rdi
pop rbx
ret