Function at 0x140004590
Capabilities:
Enumerate gui resources

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x210]
sub rsp, 0x310
mov rax, qword [0x14004c070]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov r15, rcx
mov r13d, 0xffffffff
mov dword [rsp + 0x54], r13d
mov qword [rcx + 0x2b8], 0xffffffffffffffff
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [r15 + 0x2c0], eax
lea ecx, [r13 + 2]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [r15 + 0x2c4], eax
mov edi, r13d
mov ebx, r13d
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x18], rax
xor r14d, r14d
mov rcx, qword [r15 + 0x220]
mov rax, qword [r15 + 0x228]
sub rax, rcx
sar rax, 3
test eax, eax
jle 0x1400047a9
xor esi, esi
mov r12, qword [rbp - 0x20]
mov dword [rbp - 0x50], 0x28
lea rdx, [rbp - 0x50]
mov rcx, qword [rcx + rsi]
call qword [sym.imp.USER32.dll_GetMonitorInfoW]
test eax, eax
je 0x14000477d
mov eax, dword [r15 + 0x2b8]
mov r8d, dword [rbp - 0x40]
mov r9d, dword [rbp - 0x44]
mov edx, dword [rbp - 0x48]
mov ecx, dword [rbp - 0x4c]
cmp eax, 0xffffffff
jne 0x1400046a3
mov eax, r13d
cmp dword [r15 + 0x2bc], r13d
jne 0x1400046a3
cmp edi, r13d
jne 0x1400046a3
cmp ebx, r13d
jne 0x1400046a3
mov dword [r15 + 0x2b8], ecx
mov dword [r15 + 0x2bc], edx
mov edi, r9d
mov ebx, r8d
mov eax, ecx
cmp eax, ecx
jle 0x1400046ae
mov dword [r15 + 0x2b8], ecx
cmp dword [r15 + 0x2bc], edx
jle 0x1400046be
mov dword [r15 + 0x2bc], edx
cmp edi, r9d
cmovl edi, r9d
cmp ebx, r8d
cmovl ebx, r8d
cmp r12, qword [rsp + 0x70]
je 0x1400046e6
movups xmm0, xmmword [rbp - 0x4c]
movups xmmword [r12], xmm0
add r12, 0x10
mov qword [rbp - 0x20], r12
jmp 0x140004703
lea r8, [rbp - 0x4c]
mov rdx, r12
lea rcx, [rbp - 0x28]
call fcn.140005fe0
mov rax, qword [rbp - 0x18]
mov qword [rsp + 0x70], rax
mov r12, qword [rbp - 0x20]
mov edx, 0x5c
lea rcx, str.C:Userspaul1_leeDesktopAsusFocusModeAsusFocusModeFocusMode.cpp
call fcn.140010f04
lea rcx, str.C:Userspaul1_leeDesktopAsusFocusModeAsusFocusModeFocusMode.cpp
test rax, rax
je 0x14000472e
mov edx, 0x5c
call fcn.140010f04
lea rcx, [rax + 1]
mov rdx, qword [r15 + 0x220]
mov eax, dword [rbp - 0x40]
mov dword [rsp + 0x48], eax
mov eax, dword [rbp - 0x44]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp - 0x48]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x4c]
mov dword [rsp + 0x30], eax
mov rax, qword [rsi + rdx]
mov qword [rsp + 0x28], rax
lea rax, str.Monitor_handle__p_:__l__t__r__b_____d___d___d___d_
mov qword [rsp + 0x20], rax
mov r9d, 1
lea r8, str.UpdateMaskLayout
mov edx, 0x284
call fcn.140009cf0
inc r14d
add rsi, 8
mov rcx, qword [r15 + 0x220]
mov rax, qword [r15 + 0x228]
sub rax, rcx
sar rax, 3
cmp r14d, eax
jl 0x140004640
mov qword [rsp + 0x60], r12
jmp 0x1400047b2
mov rax, qword [rbp - 0x20]
mov qword [rsp + 0x60], rax
sub edi, dword [r15 + 0x2b8]
mov dword [r15 + 0x2c0], edi
sub ebx, dword [r15 + 0x2bc]
dec ebx
mov dword [r15 + 0x2c4], ebx
lea r14, [r15 + 0x250]
mov rcx, qword [r14]
mov qword [r14 + 8], rcx
lea rax, [rbp - 0x50]
xor ebx, ebx
cmp rax, r14
je 0x14000482e
mov qword [r14], rbx
mov qword [r14 + 8], rbx
mov rdx, qword [r14 + 0x10]
mov qword [r14 + 0x10], rbx
test rcx, rcx
je 0x14000482e
sub rdx, rcx
and rdx, 0xfffffffffffffff0
cmp rdx, 0x1000
jb 0x140004829
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004eae
mov rcx, r8
call fcn.14000eefc
lea r12, [r15 + 0x268]
mov rcx, qword [r12]
mov qword [r12 + 8], rcx
lea rax, [rbp - 0x50]
cmp rax, r12
je 0x140004890
mov qword [r12], rbx
mov qword [r12 + 8], rbx
mov rdx, qword [r12 + 0x10]
mov qword [r12 + 0x10], rbx
test rcx, rcx
je 0x140004890
sub rdx, rcx
and rdx, 0xfffffffffffffff0
cmp rdx, 0x1000
jb 0x14000488b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004eae
mov rcx, r8
call fcn.14000eefc
lea rdx, [r15 + 0x280]
mov rcx, qword [rdx]
mov qword [rdx + 8], rcx
lea rax, [rbp - 0x50]
cmp rax, rdx
je 0x1400048f4
mov qword [rdx], rbx
mov qword [rdx + 8], rbx
mov rax, qword [rdx + 0x10]
mov qword [rdx + 0x10], rbx
test rcx, rcx
je 0x1400048f4
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
cmp rdx, 0x1000
jb 0x1400048ef
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004eae
mov rcx, r8
call fcn.14000eefc
xor edx, edx
lea rcx, [0x140004ec0]
call qword [sym.imp.USER32.dll_EnumWindows]
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x68], xmm1
mov qword [rbp - 0x58], rbx
mov rdi, qword [r14]
mov rsi, qword [r14 + 8]
movabs rax, 0xfffffffffffffff
cmp rdi, rsi
je 0x1400049ac
sub rsi, rdi
mov rbx, rsi
sar rbx, 4
cmp rbx, rax
ja 0x140004e90
shl rbx, 4
cmp rbx, 0x1000
jb 0x140004975
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140004e90
call fcn.14000eec0
mov rcx, rax
test rax, rax
je 0x140004eae
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140004986
test rbx, rbx
je 0x140004984
mov rcx, rbx
call fcn.14000eec0
jmp 0x140004986
xor eax, eax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
add rbx, rax
mov qword [rbp - 0x58], rbx
mov r8, rsi
mov rdx, rdi
mov rcx, rax
call fcn.140011340
mov qword [rbp - 0x60], rbx
mov rdi, qword [r14]
xor ebx, ebx
mov qword [r14 + 8], rdi
lea rax, [rbp - 0x50]
cmp rax, r14
je 0x140004a01
mov qword [r14], rbx
mov qword [r14 + 8], rbx
mov rdx, qword [r14 + 0x10]
mov qword [r14 + 0x10], rbx
test rdi, rdi
je 0x140004a01
sub rdx, rdi
and rdx, 0xfffffffffffffff0
cmp rdx, 0x1000
jb 0x1400049f9
add rdx, 0x27
mov rcx, qword [rdi - 8]
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x140004e96
mov rdi, rcx
mov rcx, rdi
call fcn.14000eefc
mov edi, ebx
mov dword [rsp + 0x50], ebx
mov rax, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x68]
sub rax, rdx
sar rax, 4
test eax, eax
jle 0x140004c14
mov r8, rbx
mov qword [rsp + 0x68], rbx
mov rsi, rbx
nop dword [rax]
mov eax, dword [rdx + rsi]
mov dword [rsp + 0x78], eax
mov eax, dword [rdx + rsi + 4]
mov dword [rsp + 0x7c], eax
mov dword [rsp + 0x58], ebx
mov rcx, qword [r15 + 0x220]
mov rax, qword [r15 + 0x228]
sub rax, rcx
sar rax, 3
test eax, eax
jle 0x140004be9
mov r13, rbx
mov rbx, qword [rsp + 0x78]
nop dword [rax + rax]
mov dword [rbp - 0x50], 0x28
lea rdx, [rbp - 0x50]
mov rcx, qword [rcx + r13]
call qword [sym.imp.USER32.dll_GetMonitorInfoW]
test eax, eax
je 0x140004bb3
mov rdx, rbx
lea rcx, [rbp - 0x4c]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x140004bb3
mov rdi, qword [r15 + 0x280]
mov rax, qword [r15 + 0x288]
sub rax, rdi
sar rax, 3
cmp dword [rsp + 0x50], eax
jge 0x140004b3b
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x10]
call fcn.1400119f0
mov r8d, 0x104
lea rdx, [rbp - 0x10]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + rdi]
call qword [sym.imp.USER32.dll_GetClassNameW]
lea r8, [rbp - 0x10]
xor ecx, ecx
lea r9, str.Shell_TrayWnd
nop dword [rax]
nop dword [rax + rax]
movzx edx, word [r9 + rcx*2]
movzx eax, word [r8 + rcx*2]
sub edx, eax
jne 0x140004b28
movzx edx, word [r9 + rcx*2 + 2]
movzx eax, word [r8 + rcx*2 + 2]
sub edx, eax
jne 0x140004b28
add rcx, 2
cmp rcx, 0xe
jne 0x140004b00
mov eax, dword [rsp + 0x54]
test edx, edx
mov edi, dword [rsp + 0x50]
cmove eax, edi
mov dword [rsp + 0x54], eax
jmp 0x140004b3f
mov edi, dword [rsp + 0x50]
mov r8, qword [rbp - 0x68]
add r8, rsi
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x140004b61
movups xmm0, xmmword [r8]
movups xmmword [rdx], xmm0
add qword [r12 + 8], 0x10
jmp 0x140004b69
mov rcx, r12
call fcn.140005fe0
mov rax, qword [rbp - 0x68]
mov ecx, dword [rbp - 0x44]
cmp dword [rax + rsi + 8], ecx
jle 0x140004b7e
mov dword [rax + rsi + 8], ecx
mov rax, qword [rbp - 0x68]
mov ecx, dword [rbp - 0x40]
cmp dword [rax + rsi + 0xc], ecx
jle 0x140004b8f
mov dword [rax + rsi + 0xc], ecx
mov rax, qword [rbp - 0x68]
lea r8, [rax + rsi]
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x140004bab
movups xmm0, xmmword [r8]
movups xmmword [rdx], xmm0
add qword [r14 + 8], 0x10
jmp 0x140004bb3
mov rcx, r14
call fcn.140005fe0
mov edx, dword [rsp + 0x58]
inc edx
mov dword [rsp + 0x58], edx
add r13, 8
mov rcx, qword [r15 + 0x220]
mov rax, qword [r15 + 0x228]
sub rax, rcx
sar rax, 3
cmp edx, eax
jl 0x140004a70
mov rdx, qword [rbp - 0x68]
mov r8, qword [rsp + 0x68]
xor ebx, ebx
inc edi
mov dword [rsp + 0x50], edi
add rsi, 0x10
add r8, 8
mov qword [rsp + 0x68], r8
mov rax, qword [rbp - 0x60]
sub rax, rdx
sar rax, 4
cmp edi, eax
jl 0x140004a30
mov r13d, dword [rsp + 0x54]
mov dword [rsp + 0x30], 0x14
mov eax, dword [r15 + 0x2c4]
mov dword [rsp + 0x28], eax
mov eax, dword [r15 + 0x2c0]
mov dword [rsp + 0x20], eax
mov r9d, dword [r15 + 0x2bc]
mov r8d, dword [r15 + 0x2b8]
xor edx, edx
mov rcx, qword [r15 + 0x2b0]
call qword [sym.imp.USER32.dll_SetWindowPos]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x78], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], rbx
mov rsi, qword [r14]
mov rdi, qword [r14 + 8]
movabs r14, 0xfffffffffffffff
cmp rsi, rdi
je 0x140004cfe
sub rdi, rsi
mov rbx, rdi
sar rbx, 4
cmp rbx, r14
ja 0x140004ea2
shl rbx, 4
cmp rbx, 0x1000
jb 0x140004cca
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140004ea2
call fcn.14000eec0
mov rcx, rax
test rax, rax
je 0x140004e9c
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140004cdb
test rbx, rbx
je 0x140004cd9
mov rcx, rbx
call fcn.14000eec0
jmp 0x140004cdb
xor eax, eax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
add rbx, rax
mov qword [rbp - 0x70], rbx
mov r8, rdi
mov rdx, rsi
mov rcx, rax
call fcn.140011340
mov qword [rbp - 0x78], rbx
xor ebx, ebx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rbx
mov rdi, qword [rbp - 0x28]
mov rsi, qword [rsp + 0x60]
cmp rdi, rsi
je 0x140004d9c
sub rsi, rdi
mov rbx, rsi
sar rbx, 4
cmp rbx, r14
ja 0x140004eb4
shl rbx, 4
cmp rbx, 0x1000
jb 0x140004d68
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140004eb4
call fcn.14000eec0
mov rcx, rax
test rax, rax
je 0x140004ea8
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140004d79
test rbx, rbx
je 0x140004d77
mov rcx, rbx
call fcn.14000eec0
jmp 0x140004d79
xor eax, eax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
add rbx, rax
mov qword [rbp - 0x40], rbx
mov r8, rsi
mov rdx, rdi
mov rcx, rax
call fcn.140011340
mov qword [rbp - 0x48], rbx
xor ebx, ebx
movzx eax, byte [r15 + 0x2c8]
shl eax, 0x18
mov dword [rsp + 0x30], r13d
movss xmm0, dword [0x140045268]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], eax
lea r9, [rbp - 0x80]
lea r8, [rbp - 0x50]
mov rdx, qword [r15 + 0x2b0]
call fcn.140006ec0
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x140004e1d
mov rdx, qword [rbp - 0x58]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004e0c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004eae
call fcn.14000eefc
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rbx
test rdi, rdi
je 0x140004e5a
mov rcx, qword [rsp + 0x70]
sub rcx, rdi
and rcx, 0xfffffffffffffff0
mov rax, rdi
cmp rcx, 0x1000
jb 0x140004e4f
add rcx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004e8a
mov rdx, rcx
mov rcx, rdi
call fcn.14000eefc
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.14000eea0
lea r11, [rsp + 0x310]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14001657c
nop
call fcn.140001490
nop
call fcn.14001657c
int3
call fcn.14001657c
int3
call fcn.140001490
nop
call fcn.14001657c
nop
call fcn.14001657c
nop
call fcn.140001490
int3