Function at 0x18001d000
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.180045950
test eax, eax
je 0x18001d082
mov rcx, qword [rsi + 0x10]
test rcx, rcx
jne 0x18001d06e
jmp 0x18001d637
lea r8, [rsp + 0x30]
lea rdx, [0x18001cef0]
call qword [sym.imp.USER32.dll_EnumDesktopsW]
jmp 0x18001d0e7
mov word [rbp - 0x60], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp - 0x5e]
call fcn.180031610
xor r11d, r11d
mov qword [rbp + 0x1a8], r11
mov r8d, 0x103
lea rdx, str.Default
lea rcx, [rbp - 0x60]
call fcn.1800300d0
movsxd rbx, dword [rsp + 0x38]
lea edx, [rbx + 1]
lea rcx, [rsp + 0x30]
call fcn.18001df10
mov rcx, rbx
imul rcx, rcx, 0x210
add rcx, qword [rsp + 0x30]
lea rdx, [rbp - 0x60]
mov r8d, 0x210
call fcn.180030f10
mov edx, dword [rsp + 0x38]
cmp edx, dword [rsi + 0x28]
jne 0x18001d199
mov r13d, edi
test edx, edx
jle 0x18001d15d
nop dword [rax + rax]
mov ebx, edi
cmp dword [rsi + 0x28], ebx
jle 0x18001d199
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.18002fcb8
test eax, eax
je 0x18001d149
inc ebx
cmp ebx, dword [rsi + 0x28]
jge 0x18001d157
jmp 0x18001d120
inc r13d
mov edx, dword [rsp + 0x38]
cmp r13d, edx
jge 0x18001d15d
jmp 0x18001d100
mov edx, dword [rsp + 0x38]
jmp 0x18001d199
cmp dword [rsi + 0x38], 0
je 0x18001d194
mov dword [rsi + 0x38], edi
cmp dword [rsi + 0x28], 0
jle 0x18001d194
mov rbx, rdi
nop
mov rax, qword [rsi + 0x20]
mov rcx, qword [rbx + rax + 0x208]
test rcx, rcx
je 0x18001d186
call fcn.18001d880
inc edi
add rbx, 0x210
cmp edi, dword [rsi + 0x28]
jl 0x18001d170
jmp 0x18001d637
test r14, r14
je 0x18001d1a5
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.18001df10
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov r13, qword [rsp + 0x60]
test ebx, ebx
je 0x18001d213
nop dword [rax + rax]
mov rcx, r13
mov rdx, r12
mov r8d, 0x210
call fcn.180030f10
add r13, 0x210
add r12, 0x210
dec ebx
jne 0x18001d1f0
mov edx, dword [rsi + 0x28]
lea rcx, [rsp + 0x48]
call fcn.18001df10
mov ebx, dword [rsi + 0x28]
mov r12, qword [rsi + 0x20]
mov r8, qword [rsp + 0x48]
mov r13, r8
test ebx, ebx
je 0x18001d25b
mov rcx, r13
mov rdx, r12
mov r8d, 0x210
call fcn.180030f10
add r13, 0x210
add r12, 0x210
dec ebx
jne 0x18001d233
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 0x18001d3d6
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 0x18001d2b5
mov r8, qword [rsp + 0x48]
mov ebx, edi
mov r12, rdi
test r13d, r13d
jle 0x18001d3ab
nop word [rax + rax]
movsxd rdx, ebx
imul rdx, rdx, 0x210
add rdx, r8
mov rcx, r14
call fcn.18002fcb8
test eax, eax
je 0x18001d2fd
inc ebx
inc r12
cmp ebx, r13d
mov r8, qword [rsp + 0x48]
jl 0x18001d2d0
jmp 0x18001d3a2
imul r12, r12, 0x210
add r12, qword [rsp + 0x48]
lea edx, [r15 + 1]
lea rcx, [rbp - 0x80]
call fcn.18001df10
movsxd rcx, r15d
imul rcx, rcx, 0x210
add rcx, qword [rbp - 0x80]
mov rdx, r12
mov r8d, 0x210
call fcn.180030f10
mov r11d, esi
sub r11d, dword [rsp + 0x20]
dec r11d
je 0x18001d356
movsxd r8, r11d
imul r8, r8, 0x210
mov rdx, qword [rsp + 0x28]
mov rcx, r14
call fcn.180030f10
dec esi
mov dword [rsp + 0x68], esi
mov eax, r13d
sub eax, ebx
dec eax
je 0x18001d396
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.180030f10
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 0x18001d2b0
mov rsi, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x68]
test r14d, r14d
jne 0x18001d3e4
test r13d, r13d
je 0x18001d5cf
lea eax, [r13 - 1]
movsxd r12, eax
test eax, eax
js 0x18001d43d
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 0x18001d431
mov rcx, rbx
call fcn.180025010
mov rcx, rbx
call fcn.1800250a0
test rbx, rbx
je 0x18001d431
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
sub r13, 0x210
dec r12
jns 0x18001d406
lea r13, [rsi + 0x20]
mov rcx, qword [r13]
test rcx, rcx
je 0x18001d453
call fcn.18002f7e0
mov qword [r13], rdi
mov qword [r13 + 8], rdi
movsxd rbx, edi
lea edx, [rbx + r15]
mov rcx, r13
call fcn.18001df10
mov r12, qword [rbp - 0x80]
imul rbx, rbx, 0x210
add rbx, qword [r13]
test r15d, r15d
je 0x18001d4a4
nop word [rax + rax]
mov rcx, rbx
mov rdx, r12
mov r8d, 0x210
call fcn.180030f10
add rbx, 0x210
add r12, 0x210
dec r15d
jne 0x18001d480
mov word [rbp - 0x60], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp - 0x5e]
call fcn.180031610
xor r11d, r11d
mov qword [rbp + 0x1a8], r11
mov r15, qword [rsp + 0x60]
test r14d, r14d
jle 0x18001d5d4
mov r12, r15
mov ecx, 0x280
call fcn.18002f858
mov rbx, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x18001d557
mov rcx, rax
call fcn.180024f80
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.180031610
test r12, r12
je 0x18001d551
mov r8d, 0x103
mov rdx, r12
lea rcx, [rbx + 0x48]
call fcn.1800300d0
lea r13, [rsi + 0x20]
jmp 0x18001d55a
mov rbx, rdi
test rbx, rbx
je 0x18001d5bd
xor edx, edx
mov r8d, 0x210
lea rcx, [rbp - 0x60]
call fcn.180031610
mov rcx, rbx
call fcn.180025240
mov qword [rbp + 0x1a8], rbx
mov r8d, 0x103
mov rdx, r12
lea rcx, [rbp - 0x60]
call fcn.1800300d0
movsxd rbx, dword [r13 + 8]
lea edx, [rbx + 1]
mov rcx, r13
call fcn.18001df10
mov rcx, rbx
imul rcx, rcx, 0x210
add rcx, qword [r13]
lea rdx, [rbp - 0x60]
mov r8d, 0x210
call fcn.180030f10
add r12, 0x210
dec r14
jne 0x18001d4d4
jmp 0x18001d5d4
mov r15, qword [rsp + 0x60]
mov dword [rsi + 0x38], edi
cmp dword [rsi + 0x28], 0
jle 0x18001d604
mov rbx, rdi
mov rax, qword [rsi + 0x20]
mov rcx, qword [rbx + rax + 0x208]
test rcx, rcx
je 0x18001d5f6
call fcn.18001d880
inc edi
add rbx, 0x210
cmp edi, dword [rsi + 0x28]
jl 0x18001d5e0
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x18001d617
mov rcx, rax
call fcn.18002f7e0
nop
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x18001d629
mov rcx, rax
call fcn.18002f7e0
nop
test r15, r15
je 0x18001d637
mov rcx, r15
call fcn.18002f7e0
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x18001d646
call fcn.18002f7e0
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.18002f7c0
mov rbx, qword [rsp + 0x310]
add rsp, 0x2c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret