Function at 0x14002e500
Capabilities:
Enumerate gui resources

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x100
mov qword [rbp - 0x31], 0xfffffffffffffffe
mov qword [rsp + 0x150], rbx
mov rax, qword [0x1400f80b8]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rsi, rdx
mov rdi, rcx
mov qword [rbp - 0x39], rcx
xor r15d, r15d
mov dword [rcx + 0xa8], r15d
mov qword [rcx + 0xb0], r15
mov r14d, dword [rdx + 0x24]
mov ebx, dword [rdx + 0x28]
mov dword [rsp + 0x50], ebx
mov r12, qword [rdx]
cmp dword [rdx + 0x40], r15d
je 0x14002e5c6
mov rcx, r12
call fcn.14002e140
mov r12, rax
cmp dword [rsi + 0x44], r15d
je 0x14002e5aa
mov qword [rdi + 0xc8], 2
mov qword [rdi + 0xd0], 1
mov qword [rdi + 0xd8], r15
mov qword [rdi + 0xe0], r15
mov r14d, 0x92c80000
mov dword [rsp + 0x50], 1
jmp 0x14002e5c6
and r14d, 0x2dffffff
or r14d, 0x92000000
bt r14d, 0x12
jb 0x14002e5c6
or ebx, 1
mov dword [rsp + 0x50], ebx
test r12, r12
je 0x14002e5d4
test r14d, r14d
jns 0x14002e677
mov rcx, r12
test r12, r12
jne 0x14002e5e8
mov rcx, qword [0x1400fc558]
test rcx, rcx
je 0x14002e628
mov edx, 2
call qword [sym.imp.USER32.dll_MonitorFromWindow]
test rax, rax
je 0x14002e628
mov dword [rbp - 0x11], Ordinal_45
lea rdx, [rbp - 0x11]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMonitorInfoW]
test eax, eax
je 0x14002e628
movups xmm0, xmmword [rbp - 0xd]
movups xmmword [rbp - 0x49], xmm0
mov ecx, dword [rbp - 0x3d]
mov ebx, dword [rbp - 0x41]
mov r15d, dword [rbp - 0x45]
mov r13d, dword [rbp - 0x49]
jmp 0x14002e642
mov r13d, r15d
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, eax
cmp qword [rdi + 0xe8], 1
jne 0x14002e66c
sub ebx, dword [rsi + 0x18]
lea eax, [rbx + r13]
cdq
sub eax, edx
sar eax, 1
mov dword [rsi + 0x10], eax
sub ecx, dword [rsi + 0x1c]
lea eax, [r15 + rcx]
cdq
sub eax, edx
sar eax, 1
mov dword [rsi + 0x14], eax
jmp 0x14002e674
add dword [rsi + 0x10], r13d
add dword [rsi + 0x14], r15d
xor r15d, r15d
test r12, r12
je 0x14002e6a0
test r14d, r14d
js 0x14002e6a0
mov rcx, qword [rdi + 0xb8]
test rcx, rcx
je 0x14002e69a
mov rax, qword [rcx]
call qword [rax + 0x40]
mov qword [rdi + 0xb8], r15
mov r13d, dword [rsi + 0x20]
jmp 0x14002e6fa
mov rbx, qword [rsi + 0x38]
mov rcx, qword [rdi + 0xb8]
cmp rbx, rcx
je 0x14002e6cc
mov qword [rdi + 0xb8], rbx
test rbx, rbx
je 0x14002e6c1
lock inc qword [rbx + 8]
test rcx, rcx
je 0x14002e6cc
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14002e6e7
test rbx, rbx
mov rdx, r15
je 0x14002e6e1
mov rdx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SetMenu]
mov rax, qword [rdi + 0xb8]
test rax, rax
mov r13, r15
je 0x14002e6fa
mov r13, qword [rax + 0x18]
lea rax, [rsp + 0x58]
mov qword [rbp - 0x29], rax
lea rax, vtable.CVolCommonBaseWithMemManager.0
mov qword [rsp + 0x58], rax
lea rax, vtable.CVolObject.0
mov qword [rsp + 0x58], rax
mov qword [rbp - 0x79], r15
mov qword [rbp - 0x71], r15
lea rcx, vtable.CVolMem.0
mov qword [rsp + 0x58], rcx
mov qword [rbp - 0x69], r15
mov qword [rbp - 0x59], r15
mov qword [rbp - 0x61], r15
mov qword [rbp - 0x51], 0x40
mov qword [rbp - 0x51], 0x100
cmp dword [rsi + 0x40], 0
je 0x14002e7ec
mov rdx, qword [rbp - 0x69]
test rdx, rdx
je 0x14002e782
mov rax, qword [rsp + 0x58]
mov r8, qword [rax + 0x18]
cmp rax, rcx
jne 0x14002e77a
lea rcx, [0x1400fc2f8]
call fcn.140025900
jmp 0x14002e782
lea rcx, [rsp + 0x58]
call r8
mov qword [rbp - 0x69], r15
mov qword [rbp - 0x59], r15
mov qword [rbp - 0x61], r15
lea rdx, [rsp + 0x58]
lea rcx, [0x14002e1d0]
call qword [sym.imp.USER32.dll_EnumWindows]
mov rax, qword [rbp - 0x59]
mov r15, rax
shr r15, 3
xor ebx, ebx
test r15, r15
je 0x14002e7e9
xor edi, edi
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rbp - 0x69]
test rax, rax
cmove rcx, rdi
xor edx, edx
mov rcx, qword [rcx + rbx*8]
call qword [sym.imp.USER32.dll_EnableWindow]
inc rbx
cmp rbx, r15
jge 0x14002e7e5
mov rax, qword [rbp - 0x59]
jmp 0x14002e7c0
mov rdi, qword [rbp - 0x39]
xor r15d, r15d
mov r9d, dword [rsi + 0x14]
mov r8d, dword [rsi + 0x1c]
add r8d, r9d
mov ecx, dword [rsi + 0x10]
mov edx, dword [rsi + 0x18]
add edx, ecx
mov dword [rbp - 0x21], ecx
mov dword [rbp - 0x1d], r9d
mov dword [rbp - 0x19], edx
mov dword [rbp - 0x15], r8d
mov rbx, qword [rsi + 0x30]
lea r9, [rdi + 0x40]
lea r8, [0x1400f8ce0]
call fcn.14002bfd0
mov ecx, 0x56000000
test r14d, r14d
cmove r14d, ecx
mov word [rsp + 0x38], ax
mov qword [rsp + 0x30], r13
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
mov r9, rbx
lea r8, [rbp - 0x21]
mov rdx, r12
mov rcx, rdi
call fcn.14002be90
test rax, rax
je 0x14002e97f
mov edx, 0xffffffeb
mov r8d, 0x12d12ab
mov rcx, qword [rdi + 8]
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov rcx, rdi
call fcn.14002f240
mov rdx, qword [rdi + 0xf8]
mov rcx, rdi
call fcn.14002f3d0
mov rdx, qword [rdi + 0x170]
test rdx, rdx
je 0x14002e89f
mov rcx, rdi
call fcn.14002f470
mov r9d, 1
mov r8, qword [rsi + 0x50]
lea edx, [r9 + 0x2f]
mov rcx, qword [rdi + 8]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp qword [rdi + 0x178], 0
je 0x14002e8e7
mov dword [rsp + 0x30], reloc.WS2_32.dll_send
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
or rdx, 0xffffffffffffffff
mov rcx, qword [rdi + 8]
call qword [sym.imp.USER32.dll_SetWindowPos]
cmp qword [rdi + 0xf0], 0
jne 0x14002e918
xor edx, edx
mov rcx, qword [rdi + 8]
call qword [sym.imp.USER32.dll_GetSystemMenu]
mov qword [rbp - 0x49], rax
test rax, rax
je 0x14002e918
xor r8d, r8d
mov edx, 0xf010
mov rcx, rax
call qword [sym.imp.USER32.dll_DeleteMenu]
nop
mov rax, qword [rdi + 0xe8]
test rax, rax
jns 0x14002e929
mov rax, r15
jmp 0x14002e935
mov ecx, 3
cmp rax, rcx
cmovg rax, rcx
mov qword [rdi + 0xe8], rax
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14002e966
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x14002e966
lea rcx, [rdi + 8]
test rdi, rdi
cmove rcx, r15
mov rdx, qword [rdi + 0xe8]
call fcn.140031b40
cmp dword [rsi + 0x40], 0
je 0x14002e9c8
lea r8, [rsp + 0x58]
mov rdx, r12
mov rcx, rdi
call fcn.14002e280
mov dword [rsi + 0x48], eax
cmp dword [rsi + 0x40], 0
je 0x14002e9c8
mov rax, qword [rbp - 0x59]
mov rdi, rax
shr rdi, 3
mov rbx, r15
test rdi, rdi
je 0x14002e9c8
nop dword [rax + rax]
mov rcx, qword [rbp - 0x69]
test rax, rax
cmove rcx, r15
mov edx, 1
mov rcx, qword [rcx + rbx*8]
call qword [sym.imp.USER32.dll_EnableWindow]
inc rbx
cmp rbx, rdi
jge 0x14002e9c8
mov rax, qword [rbp - 0x59]
jmp 0x14002e9a0
lea rax, [rsp + 0x58]
mov qword [rbp - 0x49], rax
lea rax, vtable.CVolMem.0
mov qword [rsp + 0x58], rax
mov rdx, qword [rbp - 0x69]
test rdx, rdx
je 0x14002e9f2
lea rcx, [0x1400fc2f8]
call fcn.140025900
mov qword [rbp - 0x69], r15
mov qword [rbp - 0x59], r15
mov qword [rbp - 0x61], r15
lea rax, vtable.CVolObject.0
mov qword [rsp + 0x58], rax
mov eax, 1
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14008d330
mov rbx, qword [rsp + 0x150]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret