Function at 0x18001cf50
Capabilities:
Enumerate gui resources

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2c0
mov qword [rbp - 0x68], 0xfffffffffffffffe
mov qword [rsp + 0x310], rbx
mov rax, qword [0x1800bc650]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov r14, rdx
mov rsi, rcx
mov qword [rsp + 0x78], rcx
xor edi, edi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x3c], rdi
mov dword [rsp + 0x38], edi
call fcn.180045840
test eax, eax
je 0x18001cfd2
mov rcx, qword [rsi + 0x10]
test rcx, rcx
jne 0x18001cfbe
jmp 0x18001d587
lea r8, [rsp + 0x30]
lea rdx, [0x18001ce40]
call qword [sym.imp.USER32.dll_EnumDesktopsW]
jmp 0x18001d037
mov word [rbp - 0x60], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp - 0x5e]
call fcn.180031540
xor r11d, r11d
mov qword [rbp + 0x1a8], r11
mov r8d, 0x103
lea rdx, str.Default
lea rcx, [rbp - 0x60]
call fcn.180030000
movsxd rbx, dword [rsp + 0x38]
lea edx, [rbx + 1]
lea rcx, [rsp + 0x30]
call fcn.18001de80
mov rcx, rbx
imul rcx, rcx, 0x210
add rcx, qword [rsp + 0x30]
lea rdx, [rbp - 0x60]
mov r8d, 0x210
call fcn.180030e40
mov edx, dword [rsp + 0x38]
cmp edx, dword [rsi + 0x28]
jne 0x18001d0e9
mov r13d, edi
test edx, edx
jle 0x18001d0ad
nop dword [rax + rax]
mov ebx, edi
cmp dword [rsi + 0x28], ebx
jle 0x18001d0e9
movsxd r12, r13d
imul r12, r12, 0x210
nop word [rax + rax]
movsxd rdx, ebx
imul rdx, rdx, 0x210
add rdx, qword [rsi + 0x20]
mov rax, qword [rsp + 0x30]
lea rcx, [r12 + rax]
call fcn.18002fbe8
test eax, eax
je 0x18001d099
inc ebx
cmp ebx, dword [rsi + 0x28]
jge 0x18001d0a7
jmp 0x18001d070
inc r13d
mov edx, dword [rsp + 0x38]
cmp r13d, edx
jge 0x18001d0ad
jmp 0x18001d050
mov edx, dword [rsp + 0x38]
jmp 0x18001d0e9
cmp dword [rsi + 0x38], 0
je 0x18001d0e4
mov dword [rsi + 0x38], edi
cmp dword [rsi + 0x28], 0
jle 0x18001d0e4
mov rbx, rdi
nop
mov rax, qword [rsi + 0x20]
mov rcx, qword [rbx + rax + 0x208]
test rcx, rcx
je 0x18001d0d6
call fcn.18001d7d0
inc edi
add rbx, 0x210
cmp edi, dword [rsi + 0x28]
jl 0x18001d0c0
jmp 0x18001d587
test r14, r14
je 0x18001d0f5
mov dword [r14], 1
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x6c], rdi
mov dword [rsp + 0x68], edi
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x74], rdi
mov r15d, edi
mov dword [rbp - 0x78], edi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x54], rdi
mov dword [rsp + 0x50], edi
lea rcx, [rsp + 0x60]
call fcn.18001de80
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov r13, qword [rsp + 0x60]
test ebx, ebx
je 0x18001d163
nop dword [rax + rax]
mov rcx, r13
mov rdx, r12
mov r8d, 0x210
call fcn.180030e40
add r13, 0x210
add r12, 0x210
dec ebx
jne 0x18001d140
mov edx, dword [rsi + 0x28]
lea rcx, [rsp + 0x48]
call fcn.18001de80
mov ebx, dword [rsi + 0x28]
mov r12, qword [rsi + 0x20]
mov r8, qword [rsp + 0x48]
mov r13, r8
test ebx, ebx
je 0x18001d1ab
mov rcx, r13
mov rdx, r12
mov r8d, 0x210
call fcn.180030e40
add r13, 0x210
add r12, 0x210
dec ebx
jne 0x18001d183
mov r8, qword [rsp + 0x48]
mov r14d, dword [rsp + 0x68]
lea eax, [r14 - 1]
mov dword [rsp + 0x20], eax
mov r13d, dword [rsp + 0x50]
test eax, eax
js 0x18001d326
movsxd r14, eax
imul r14, r14, 0x210
mov rcx, qword [rsp + 0x60]
add r14, rcx
inc eax
cdqe
imul rax, rax, 0x210
add rax, rcx
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov esi, dword [rsp + 0x68]
jmp 0x18001d205
mov r8, qword [rsp + 0x48]
mov ebx, edi
mov r12, rdi
test r13d, r13d
jle 0x18001d2fb
nop word [rax + rax]
movsxd rdx, ebx
imul rdx, rdx, 0x210
add rdx, r8
mov rcx, r14
call fcn.18002fbe8
test eax, eax
je 0x18001d24d
inc ebx
inc r12
cmp ebx, r13d
mov r8, qword [rsp + 0x48]
jl 0x18001d220
jmp 0x18001d2f2
imul r12, r12, 0x210
add r12, qword [rsp + 0x48]
lea edx, [r15 + 1]
lea rcx, [rbp - 0x80]
call fcn.18001de80
movsxd rcx, r15d
imul rcx, rcx, 0x210
add rcx, qword [rbp - 0x80]
mov rdx, r12
mov r8d, 0x210
call fcn.180030e40
mov r11d, esi
sub r11d, dword [rsp + 0x20]
dec r11d
je 0x18001d2a6
movsxd r8, r11d
imul r8, r8, 0x210
mov rdx, qword [rsp + 0x28]
mov rcx, r14
call fcn.180030e40
dec esi
mov dword [rsp + 0x68], esi
mov eax, r13d
sub eax, ebx
dec eax
je 0x18001d2e6
movsxd r8, eax
imul r8, r8, 0x210
lea eax, [rbx + 1]
movsxd rdx, eax
imul rdx, rdx, 0x210
mov rax, qword [rsp + 0x48]
add rdx, rax
movsxd rcx, ebx
imul rcx, rcx, 0x210
add rcx, rax
call fcn.180030e40
dec r13d
mov dword [rsp + 0x50], r13d
mov r15d, dword [rbp - 0x78]
mov rcx, qword [rsp + 0x28]
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
sub rcx, 0x210
mov qword [rsp + 0x28], rcx
sub r14, 0x210
test eax, eax
jns 0x18001d200
mov rsi, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x68]
test r14d, r14d
jne 0x18001d334
test r13d, r13d
je 0x18001d51f
lea eax, [r13 - 1]
movsxd r12, eax
test eax, eax
js 0x18001d38d
mov rax, r12
imul rax, rax, 0x210
mov rcx, qword [rsp + 0x48]
lea r13, [rax + rcx + 0x208]
mov rbx, qword [r13]
test rbx, rbx
je 0x18001d381
mov rcx, rbx
call fcn.180024f80
mov rcx, rbx
call fcn.180025010
test rbx, rbx
je 0x18001d381
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
sub r13, 0x210
dec r12
jns 0x18001d356
lea r13, [rsi + 0x20]
mov rcx, qword [r13]
test rcx, rcx
je 0x18001d3a3
call fcn.18002f710
mov qword [r13], rdi
mov qword [r13 + 8], rdi
movsxd rbx, edi
lea edx, [rbx + r15]
mov rcx, r13
call fcn.18001de80
mov r12, qword [rbp - 0x80]
imul rbx, rbx, 0x210
add rbx, qword [r13]
test r15d, r15d
je 0x18001d3f4
nop word [rax + rax]
mov rcx, rbx
mov rdx, r12
mov r8d, 0x210
call fcn.180030e40
add rbx, 0x210
add r12, 0x210
dec r15d
jne 0x18001d3d0
mov word [rbp - 0x60], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp - 0x5e]
call fcn.180031540
xor r11d, r11d
mov qword [rbp + 0x1a8], r11
mov r15, qword [rsp + 0x60]
test r14d, r14d
jle 0x18001d524
mov r12, r15
mov ecx, 0x280
call fcn.18002f788
mov rbx, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x18001d4a7
mov rcx, rax
call fcn.180024ef0
lea rax, vtable.CDesktopMgr::CDesktopThread.0
mov qword [rbx], rax
mov qword [rbx + 0x250], rdi
mov qword [rbx + 0x25c], rdi
mov dword [rbx + 0x258], edi
mov qword [rbx + 0x268], rdi
mov qword [rbx + 0x274], rdi
mov dword [rbx + 0x270], edi
mov qword [rbx + 0x40], rsi
xor edx, edx
mov r8d, 0x208
lea rcx, [rbx + 0x48]
call fcn.180031540
test r12, r12
je 0x18001d4a1
mov r8d, 0x103
mov rdx, r12
lea rcx, [rbx + 0x48]
call fcn.180030000
lea r13, [rsi + 0x20]
jmp 0x18001d4aa
mov rbx, rdi
test rbx, rbx
je 0x18001d50d
xor edx, edx
mov r8d, 0x210
lea rcx, [rbp - 0x60]
call fcn.180031540
mov rcx, rbx
call fcn.1800251b0
mov qword [rbp + 0x1a8], rbx
mov r8d, 0x103
mov rdx, r12
lea rcx, [rbp - 0x60]
call fcn.180030000
movsxd rbx, dword [r13 + 8]
lea edx, [rbx + 1]
mov rcx, r13
call fcn.18001de80
mov rcx, rbx
imul rcx, rcx, 0x210
add rcx, qword [r13]
lea rdx, [rbp - 0x60]
mov r8d, 0x210
call fcn.180030e40
add r12, 0x210
dec r14
jne 0x18001d424
jmp 0x18001d524
mov r15, qword [rsp + 0x60]
mov dword [rsi + 0x38], edi
cmp dword [rsi + 0x28], 0
jle 0x18001d554
mov rbx, rdi
mov rax, qword [rsi + 0x20]
mov rcx, qword [rbx + rax + 0x208]
test rcx, rcx
je 0x18001d546
call fcn.18001d7d0
inc edi
add rbx, 0x210
cmp edi, dword [rsi + 0x28]
jl 0x18001d530
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x18001d567
mov rcx, rax
call fcn.18002f710
nop
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x18001d579
mov rcx, rax
call fcn.18002f710
nop
test r15, r15
je 0x18001d587
mov rcx, r15
call fcn.18002f710
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x18001d596
call fcn.18002f710
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.18002f6f0
mov rbx, qword [rsp + 0x310]
add rsp, 0x2c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret