Function at 0x1400572b0
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 0x140057300
test ebx, ebx
jne 0x140057300
xor al, al
add rsp, 0x4a0
pop r15
pop r14
pop r12
pop rdi
pop rbx
ret
mov eax, dword [rcx + 0x1f0]
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 0x1400575c2
cmp eax, 0x200000
je 0x140057380
cmp eax, 0x400000
jne 0x1400574ee
xor r8d, r8d
xor edx, edx
call fcn.1400a9a20
test sil, al
je 0x140057a70
test eax, 0x300
je 0x140057a70
bt eax, 8
cmovae ebp, r14d
bt eax, 9
jb 0x1400574ee
mov dword [rsp + 0x40], r14d
jmp 0x1400574ee
call fcn.1400daec0
mov rcx, rax
mov rsi, rax
call qword [sym.imp.USER32.dll_GetParent]
xor ecx, ecx
mov rbx, rax
call fcn.1400dbe60
cmp eax, 0xb
jge 0x140057427
mov rcx, qword [rdi + 0x48]
mov edx, 8
call fcn.1400265b0
test eax, eax
jne 0x140057427
test rbx, rbx
je 0x140057427
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.1400e5ea0
test eax, eax
jne 0x140057427
lea r8d, [rax + 0xd]
lea rdx, str.SysListView32
lea rcx, [rsp + 0x290]
call fcn.1400e5ea0
test eax, eax
je 0x140057a70
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400a9a20
test bpl, al
je 0x140057a70
test al, 0x30
je 0x140057a70
mov rax, qword [rdi + 0x48]
test dword [rax + 0xbf8], 0x100
jne 0x140057a70
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400a9a20
mov rcx, rdi
test al, 0x10
cmove ebp, r14d
xor r8d, r8d
xor edx, edx
call fcn.1400a9a20
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.1400a9a20
test al, 1
je 0x1400574b2
test al, 0x30
je 0x1400574b2
mov rax, qword [rdi + 0x48]
mov ecx, dword [rax + 0xbf8]
bt ecx, 8
jb 0x1400574b2
bt ecx, 0xc
jae 0x1400574b7
mov dword [rsp + 0x44], r14d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400a9a20
test al, 1
je 0x1400574e2
test al, 0x30
je 0x1400574e2
mov rax, qword [rdi + 0x48]
mov ecx, dword [rax + 0xbf8]
bt ecx, 8
jb 0x1400574e2
bt ecx, 0xd
jae 0x1400574e7
mov dword [rsp + 0x48], r14d
mov ebx, dword [rsp + 0x4f8]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
xor sil, sil
call fcn.1400a9790
mov ecx, 3
bt eax, 0xb
jae 0x140057642
cmp dword [rdi + 0x200], r12d
je 0x140057642
cmp dword [rdi + 0x1f0], 0x200000
jne 0x140057642
cmp byte [rdi + 0x2e8], cl
jne 0x140057642
lea rcx, [0x140056b40]
mov rdx, rdi
mov qword [rdi + 0x2f4], r14
call qword [sym.imp.USER32.dll_EnumWindows]
xor ecx, ecx
call fcn.1400dbe60
cmp eax, 0xc
jg 0x140057568
lea rcx, [0x140056c70]
mov rdx, rdi
call fcn.1400db670
mov ecx, dword [rdi + 0x2f8]
add ecx, dword [rdi + 0x2f4]
je 0x140057591
mov eax, dword [rdi + 0x2fc]
inc ecx
xor edx, edx
div ecx
mov r15d, eax
mov eax, 0xc8
cmp r15d, eax
cmovb r15d, eax
mov r10d, dword [rsp + 0x4d8]
mov r9d, dword [rsp + 0x4e0]
cmp r10d, r15d
mov r15d, 3
jbe 0x140057625
cmp dword [rsp + 0x4f0], r12d
jle 0x14005761d
mov sil, 1
lea r12d, [r15 + 1]
jmp 0x140057694
xor r8d, r8d
xor edx, edx
call fcn.1400a9a20
test sil, al
je 0x140057a70
test al, 6
je 0x140057a70
mov rax, qword [rdi + 0x48]
test byte [rax + 0xbf8], 0x80
jne 0x140057a70
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400a9a20
mov rcx, rdi
test al, 2
cmove ebp, r14d
xor r8d, r8d
xor edx, edx
call fcn.1400a9a20
test al, 4
cmove esi, r14d
mov dword [rsp + 0x40], esi
jmp 0x1400574ee
mov sil, 2
mov r12d, r15d
jmp 0x140057694
cmp r9d, dword [rdi + 0x20c]
jbe 0x140057694
test ebx, ebx
jle 0x14005763d
mov sil, 8
mov r12d, 1
jmp 0x140057694
mov sil, 4
jmp 0x14005768e
mov r10d, dword [rsp + 0x4d8]
cmp r10d, r15d
jbe 0x14005766a
cmp dword [rsp + 0x4f0], r12d
jle 0x140057664
mov sil, 1
mov r12d, 4
jmp 0x14005766a
mov sil, 2
mov r12d, ecx
mov r9d, dword [rsp + 0x4e0]
cmp r9d, r15d
mov r15d, ecx
jbe 0x140057694
test ebx, ebx
jle 0x14005768a
or sil, 8
mov r12d, 1
jmp 0x140057694
or sil, 4
mov r12d, 2
movzx r8d, byte [0x1401eeb98]
movzx edx, byte [0x1401eeb99]
test sil, r8b
je 0x1400576bd
test sil, dl
je 0x1400576bd
cmp r9d, r10d
movzx ecx, dl
movzx eax, r8b
cmova ecx, eax
and sil, cl
test ebp, ebp
jne 0x1400576c6
not dl
and sil, dl
cmp dword [rsp + 0x40], r14d
jne 0x1400576d3
not r8b
and sil, r8b
cmp dword [rsp + 0x44], r14d
jne 0x1400576de
and sil, 0xf7
cmp dword [rsp + 0x48], r14d
jne 0x1400576e9
and sil, 0xfb
cmp dword [rsp + 0x500], 2
jl 0x1400577b4
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400a9790
bt eax, 0xb
jae 0x14005772e
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400a9790
bt eax, 0xb
jae 0x1400577b4
cmp dword [rdi + 0x200], r14d
jne 0x1400577b4
mov ecx, dword [rdi + 0x2c]
lea eax, [rcx - 7]
cmp eax, 2
jbe 0x140057741
cmp ecx, 5
mov ecx, r14d
jne 0x140057746
mov ecx, 1
mov rax, qword [rdi + 0x48]
mov edx, dword [rax + 0x1010]
cmp dword [rsp + 0x508], r14d
je 0x14005776a
test ecx, ecx
jne 0x140057762
test edx, edx
je 0x14005776a
mov r8d, 1
jmp 0x14005776d
mov r8d, r14d
cmp dword [rsp + 0x510], r14d
je 0x140057786
test ecx, ecx
jne 0x14005777f
test edx, edx
je 0x140057786
mov ecx, 1
jmp 0x140057789
mov ecx, r14d
movzx eax, byte [0x1401eeb99]
test sil, al
je 0x14005779f
test r8d, r8d
jne 0x14005779f
not al
and sil, al
movzx eax, byte [0x1401eeb98]
test sil, al
je 0x1400577b4
test ecx, ecx
jne 0x1400577b4
not al
and sil, al
cmp byte [rdi + 0x2e8], 3
jne 0x1400577e2
test sil, 0xc
je 0x1400577e2
test dword [rdi + 0x1f0], 0x200000
je 0x1400577e2
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400a9790
bt eax, 0xb
jb 0x1400577e9
and sil, byte [rdi + 0x2e8]
test sil, sil
je 0x140057a6a
cmp byte [rdi + 0x2e8], 3
jne 0x140057835
test sil, 0xc
je 0x140057835
test dword [rdi + 0x1f0], 0x200000
je 0x140057835
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400a9790
bt eax, 0xb
jae 0x140057835
movzx eax, sil
not al
movzx ebp, al
and ebp, 8
bts ebp, 7
shr ebp, 3
jmp 0x14005784a
movzx eax, sil
lea rcx, [0x1401eeb40]
cmp eax, 0x14
cmovae eax, r14d
mov ebp, dword [rcx + rax*4]
test dword [rdi + 0x1f0], 0x200000
mov qword [rdi + 0x2ec], r14
je 0x140057883
lea rdx, [rsp + 0x58]
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call fcn.1400a9630
mov ecx, 1
test dword [rax + 4], 0x800
je 0x140057886
movzx ebx, cl
jmp 0x140057888
mov ecx, r14d
xor bl, bl
test cl, 1
je 0x1400578b1
mov r8, qword [rsp + 0x68]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x68]
mov r9, r8
mov r8, qword [r8]
call fcn.1400e2800
mov rcx, qword [rsp + 0x68]
call fcn.1400e3e78
test bl, bl
je 0x1400578c8
cmp ebp, 3
jne 0x1400578c1
mov ebp, 7
jmp 0x1400578c8
cmp ebp, 7
cmove ebp, r15d
mov r15d, dword [rdi + 0x1f0]
bt r15d, 0x15
jb 0x1400578dd
bt r15d, 0x16
jae 0x140057911
mov rbx, qword [rdi + 0x48]
mov edx, 8
mov rcx, rbx
call fcn.1400265b0
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.140026690
test dword [rdi + 0x1f0], 0x200000
je 0x14005792f
mov rcx, qword [rdi + 0x48]
mov edx, SafeArrayAllocDescriptor
call fcn.140026d40
test eax, eax
jne 0x14005796b
test dword [rdi + 0x1f0], 0x400000
je 0x14005794d
mov rcx, qword [rdi + 0x48]
mov edx, 0x80
call fcn.140026d40
test eax, eax
jne 0x14005796b
test dword [rdi + 0x1f0], 0x100000
je 0x140057971
mov rcx, qword [rdi + 0x48]
mov edx, 4
call fcn.140026d40
test eax, eax
je 0x140057971
mov r14d, 1
mov rcx, qword [rdi + 0x48]
xor r8d, r8d
mov rdx, rdi
call fcn.1400298d0
test r14d, r14d
jne 0x140057a1a
mov rax, qword [rdi + 0x48]
shl ebp, 0xc
mov rcx, qword [rax + 0x58]
or ebp, dword [rdi + 0x1f0]
test rcx, rcx
jne 0x1400579a3
lea rcx, [rax + 0x70]
mov rax, qword [rcx]
lea r8, [rsp + 0x4f0]
mov edx, 0x10000101
call qword [rax + 0x18]
or ebx, 0xffffffff
lea rcx, [0x14026d7b0]
mov edx, ebx
test eax, eax
lea r9d, [rbx + 2]
cmove edx, dword [rsp + 0x4f0]
mov r8d, ebp
call fcn.1400834b0
mov rax, qword [rdi + 0x48]
mov rcx, qword [rax + 0x58]
test rcx, rcx
jne 0x1400579e9
lea rcx, [rax + 0x70]
mov rax, qword [rcx]
lea r8, [rsp + 0x4f0]
mov edx, 0x10000101
call qword [rax + 0x18]
lea rcx, [0x14026d7b0]
mov r8d, ebp
test eax, eax
cmove ebx, dword [rsp + 0x4f0]
xor r9d, r9d
mov edx, ebx
call fcn.1400834b0
cmp dword [rdi + 0x200], 0
jne 0x140057a39
test sil, 3
je 0x140057a32
and byte [rdi + 0x2e8], 3
jmp 0x140057a39
and byte [rdi + 0x2e8], 0xc
test dword [rdi + 0x1f0], 0x200000
je 0x140057a58
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400a9790
bt eax, 0xb
jb 0x140057a60
mov rcx, rdi
call fcn.140057aa0
mov dword [rdi + 0x200], 1
movzx eax, sil
jmp 0x140057a7a
mov rcx, rdi
call fcn.140057aa0
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