Function at 0x140040850
Capabilities:
Enumerate gui resources
Get graphical window text

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x568
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x4d0], xmm6
mov qword [rbp + 0x4c8], 0xfffffffffffffffe
mov sil, dl
mov rdi, rcx
lea r13, [rbp - 0x60]
mov rcx, r13
call fcn.14004128a
mov rcx, r13
call fcn.1400412d5
and qword [rbp + 0x3d0], 0
push 8
pop r14
mov qword [rbp + 0x3d8], r14
and qword [rbp + 0x3e0], 0
movups xmm0, xmmword [0x14006d690]
movups xmmword [rbp + 0x3e8], xmm0
movups xmm0, xmmword [0x14006d6a0]
movups xmmword [rbp + 0x3f8], xmm0
mov qword [rbp + 0x408], rax
mov qword [rbp + 0x410], rdx
lea rdx, [rbp + 0x460]
and qword [rdx], 0
mov qword [rdx + 8], r14
and qword [rdx + 0x10], 0
lea rcx, [0x140041316]
call qword [sym.imp.user32.dll_EnumWindows]
movabs rbx, 0x8000000000000000
test eax, eax
je 0x140040f42
mov qword [rbp + 0x418], rdi
push 1
pop rcx
lea rax, [rbp + 0x448]
and qword [rax], 0
mov qword [rax + 8], r14
and qword [rax + 0x10], 0
lea r15, [rbp + 0x420]
and qword [r15], 0
mov qword [r15 + 8], r14
and qword [r15 + 0x10], 0
mov rdi, qword [rbp + 0x468]
mov rax, qword [rbp + 0x470]
lea rax, [rdi + rax*8]
mov qword [rbp + 0x440], rax
mov ebx, esi
mov rsi, rcx
xor bl, 1
add r14, r13
mov qword [rbp + 0x4b8], r14
push 4
pop r12
xorps xmm6, xmm6
cmp rdi, qword [rbp + 0x440]
mov qword [rbp + 0x438], rdi
je 0x140040b4d
mov rdi, qword [rdi]
mov rcx, rdi
call qword [sym.imp.user32.dll_IsWindowVisible]
test eax, eax
je 0x140040b26
and dword [rbp - 0x60], 0
mov rcx, rdi
push 0xe
pop rdx
mov r8, r13
mov r9d, r12d
call qword [sym.imp.dwmapi.dll_DwmGetWindowAttribute]
test eax, eax
js 0x1400409b9
xor ecx, ecx
jmp 0x1400409c6
mov ecx, eax
call fcn.14004a9eb
mov r14, rax
mov rcx, rsi
mov rdx, r14
call fcn.140040721
cmp dword [rbp - 0x60], 0
jne 0x140040b26
mov rcx, rdi
push 0xffffffffffffffec
pop rdx
call sub.user32.dll_GetWindowLongPtrW
test al, 8
jne 0x140040b26
movups xmmword [rbp - 0x44], xmm6
movaps xmmword [rbp - 0x50], xmm6
movaps xmmword [rbp - 0x60], xmm6
mov rcx, rdi
mov rdx, r13
call qword [sym.imp.user32.dll_GetWindowPlacement]
test eax, eax
je 0x140040a0b
xor ecx, ecx
jmp 0x140040a13
call fcn.14004a710
mov rcx, rsi
xor edx, edx
call fcn.140040721
mov eax, dword [rbp - 0x3c]
mov ecx, dword [rbp - 0x38]
sub eax, dword [rbp - 0x44]
sub ecx, dword [rbp - 0x40]
cmp eax, 0x78
setl dl
cmp ecx, 0x5a
setl al
or al, dl
mov ecx, eax
or cl, bl
cmp cl, 1
je 0x140040a45
mov rcx, rdi
call fcn.140040367
test al, al
jne 0x140040b26
mov r8d, 0x400
mov rcx, r13
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rcx, rdi
mov rdx, r13
mov r8d, 0x200
call qword [sym.imp.user32.dll_GetWindowTextW]
test eax, eax
je 0x140040af7
movsxd r8, eax
cmp eax, 0x201
jae 0x140041016
lea rcx, [rbp + 0x480]
mov rdx, r13
call fcn.14004072f
mov esi, ebx
mov rbx, qword [rbp + 0x488]
mov rdx, qword [rbp + 0x490]
test rdx, rdx
je 0x140040b12
mov rcx, rbx
lea r8, str.Program_ManagerFail_to_get_windows
push 0xf
pop r9
call fcn.14004134f
test al, al
je 0x140040b12
mov rax, qword [rbp + 0x490]
mov rcx, qword [rbp + 0x4b8]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rbp + 0x480]
movups xmmword [rcx], xmm0
mov qword [rbp - 0x60], rdi
lea rcx, [rbp + 0x448]
mov rdx, r13
call fcn.14004135f
mov bl, sil
push 1
pop rsi
jmp 0x140040b26
mov rax, rsi
mov esi, ebx
and qword [rbp + 0x480], 0
mov qword [rbp + 0x488], 1
mov rbx, rax
mov rcx, qword [rbp + 0x480]
mov rdx, rbx
call fcn.140052c65
mov ebx, esi
push 1
pop rsi
mov rcx, rdi
mov edx, r12d
call qword [sym.imp.user32.dll_GetWindow]
mov rcx, qword [rbp + 0x438]
lea rdi, [rcx + 8]
mov rcx, r15
mov rdx, rax
call fcn.1400413e3
jmp 0x140040973
mov rdx, qword [rbp + 0x448]
mov rax, qword [rbp + 0x450]
mov rcx, qword [rbp + 0x458]
shl rcx, 5
add rcx, rax
mov qword [rbp + 0x480], rax
mov qword [rbp + 0x488], rax
mov qword [rbp + 0x490], rdx
mov qword [rbp + 0x498], rcx
mov rbx, qword [rbp + 0x428]
mov r13, qword [rbp + 0x430]
shl r13, 3
mov r14b, 1
movabs r12, 0x8000000000000000
call fcn.14004a710
lea rcx, [rbp + 0x448]
and qword [rcx], 0
mov dword [rcx + 8], eax
lea rax, [rbp + 0x420]
mov qword [rax], rcx
lea rcx, [0x140065918]
lea rdx, [rbp - 0x60]
mov qword [rdx], rcx
push 1
pop rcx
mov qword [rdx + 8], rcx
and qword [rdx + 0x20], 0
lea r8, [0x14004ab8e]
mov qword [rax + 8], r8
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rcx
lea rcx, [rbp + 0x480]
call fcn.14000eea1
lea rcx, [rbp + 0x480]
call fcn.14005673d
mov rsi, rax
mov rcx, qword [rbp + 0x448]
test rcx, rcx
je 0x140040fb9
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rdi + 8], rsi
mov qword [rdi], rbx
mov rcx, qword [rbp + 0x460]
mov rdx, qword [rbp + 0x468]
call fcn.140041332
lea rcx, [rbp + 0x3d0]
call fcn.14003ffce
lea rax, str.srcutilswindow.rsFailed_to_get_binary_path_
mov edx, 0x200
mov rcx, r8
mov r8, rax
call fcn.140056970