Function at 0x18001faf0
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 [0x1800c4650]
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.180048930
test eax, eax
je 0x18001fb72
mov rcx, qword [rsi + 0x10]
test rcx, rcx
jne 0x18001fb5e
jmp 0x180020127
lea r8, [rsp + 0x30]
lea rdx, [0x18001f9e0]
call qword [sym.imp.USER32.dll_EnumDesktopsW]
jmp 0x18001fbd7
mov word [rbp - 0x60], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp - 0x5e]
call fcn.180034650
xor r11d, r11d
mov qword [rbp + 0x1a8], r11
mov r8d, 0x103
lea rdx, str.Default
lea rcx, [rbp - 0x60]
call fcn.1800330b0
movsxd rbx, dword [rsp + 0x38]
lea edx, [rbx + 1]
lea rcx, [rsp + 0x30]
call fcn.180020990
mov rcx, rbx
imul rcx, rcx, 0x210
add rcx, qword [rsp + 0x30]
lea rdx, [rbp - 0x60]
mov r8d, 0x210
call fcn.180033f50
mov edx, dword [rsp + 0x38]
cmp edx, dword [rsi + 0x28]
jne 0x18001fc89
mov r13d, edi
test edx, edx
jle 0x18001fc4d
nop dword [rax + rax]
mov ebx, edi
cmp dword [rsi + 0x28], ebx
jle 0x18001fc89
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.180032c98
test eax, eax
je 0x18001fc39
inc ebx
cmp ebx, dword [rsi + 0x28]
jge 0x18001fc47
jmp 0x18001fc10
inc r13d
mov edx, dword [rsp + 0x38]
cmp r13d, edx
jge 0x18001fc4d
jmp 0x18001fbf0
mov edx, dword [rsp + 0x38]
jmp 0x18001fc89
cmp dword [rsi + 0x38], 0
je 0x18001fc84
mov dword [rsi + 0x38], edi
cmp dword [rsi + 0x28], 0
jle 0x18001fc84
mov rbx, rdi
nop
mov rax, qword [rsi + 0x20]
mov rcx, qword [rbx + rax + 0x208]
test rcx, rcx
je 0x18001fc76
call fcn.180020370
inc edi
add rbx, 0x210
cmp edi, dword [rsi + 0x28]
jl 0x18001fc60
jmp 0x180020127
test r14, r14
je 0x18001fc95
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.180020990
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov r13, qword [rsp + 0x60]
test ebx, ebx
je 0x18001fd03
nop dword [rax + rax]
mov rcx, r13
mov rdx, r12
mov r8d, 0x210
call fcn.180033f50
add r13, 0x210
add r12, 0x210
dec ebx
jne 0x18001fce0
mov edx, dword [rsi + 0x28]
lea rcx, [rsp + 0x48]
call fcn.180020990
mov ebx, dword [rsi + 0x28]
mov r12, qword [rsi + 0x20]
mov r8, qword [rsp + 0x48]
mov r13, r8
test ebx, ebx
je 0x18001fd4b
mov rcx, r13
mov rdx, r12
mov r8d, 0x210
call fcn.180033f50
add r13, 0x210
add r12, 0x210
dec ebx
jne 0x18001fd23
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 0x18001fec6
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 0x18001fda5
mov r8, qword [rsp + 0x48]
mov ebx, edi
mov r12, rdi
test r13d, r13d
jle 0x18001fe9b
nop word [rax + rax]
movsxd rdx, ebx
imul rdx, rdx, 0x210
add rdx, r8
mov rcx, r14
call fcn.180032c98
test eax, eax
je 0x18001fded
inc ebx
inc r12
cmp ebx, r13d
mov r8, qword [rsp + 0x48]
jl 0x18001fdc0
jmp 0x18001fe92
imul r12, r12, 0x210
add r12, qword [rsp + 0x48]
lea edx, [r15 + 1]
lea rcx, [rbp - 0x80]
call fcn.180020990
movsxd rcx, r15d
imul rcx, rcx, 0x210
add rcx, qword [rbp - 0x80]
mov rdx, r12
mov r8d, 0x210
call fcn.180033f50
mov r11d, esi
sub r11d, dword [rsp + 0x20]
dec r11d
je 0x18001fe46
movsxd r8, r11d
imul r8, r8, 0x210
mov rdx, qword [rsp + 0x28]
mov rcx, r14
call fcn.180033f50
dec esi
mov dword [rsp + 0x68], esi
mov eax, r13d
sub eax, ebx
dec eax
je 0x18001fe86
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.180033f50
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 0x18001fda0
mov rsi, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x68]
test r14d, r14d
jne 0x18001fed4
test r13d, r13d
je 0x1800200bf
lea eax, [r13 - 1]
movsxd r12, eax
test eax, eax
js 0x18001ff2d
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 0x18001ff21
mov rcx, rbx
call fcn.180027ea0
mov rcx, rbx
call fcn.180027f30
test rbx, rbx
je 0x18001ff21
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
sub r13, 0x210
dec r12
jns 0x18001fef6
lea r13, [rsi + 0x20]
mov rcx, qword [r13]
test rcx, rcx
je 0x18001ff43
call fcn.1800327c0
mov qword [r13], rdi
mov qword [r13 + 8], rdi
movsxd rbx, edi
lea edx, [rbx + r15]
mov rcx, r13
call fcn.180020990
mov r12, qword [rbp - 0x80]
imul rbx, rbx, 0x210
add rbx, qword [r13]
test r15d, r15d
je 0x18001ff94
nop word [rax + rax]
mov rcx, rbx
mov rdx, r12
mov r8d, 0x210
call fcn.180033f50
add rbx, 0x210
add r12, 0x210
dec r15d
jne 0x18001ff70
mov word [rbp - 0x60], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp - 0x5e]
call fcn.180034650
xor r11d, r11d
mov qword [rbp + 0x1a8], r11
mov r15, qword [rsp + 0x60]
test r14d, r14d
jle 0x1800200c4
mov r12, r15
mov ecx, 0x280
call fcn.180032838
mov rbx, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x180020047
mov rcx, rax
call fcn.180027e10
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.180034650
test r12, r12
je 0x180020041
mov r8d, 0x103
mov rdx, r12
lea rcx, [rbx + 0x48]
call fcn.1800330b0
lea r13, [rsi + 0x20]
jmp 0x18002004a
mov rbx, rdi
test rbx, rbx
je 0x1800200ad
xor edx, edx
mov r8d, 0x210
lea rcx, [rbp - 0x60]
call fcn.180034650
mov rcx, rbx
call fcn.1800280d0
mov qword [rbp + 0x1a8], rbx
mov r8d, 0x103
mov rdx, r12
lea rcx, [rbp - 0x60]
call fcn.1800330b0
movsxd rbx, dword [r13 + 8]
lea edx, [rbx + 1]
mov rcx, r13
call fcn.180020990
mov rcx, rbx
imul rcx, rcx, 0x210
add rcx, qword [r13]
lea rdx, [rbp - 0x60]
mov r8d, 0x210
call fcn.180033f50
add r12, 0x210
dec r14
jne 0x18001ffc4
jmp 0x1800200c4
mov r15, qword [rsp + 0x60]
mov dword [rsi + 0x38], edi
cmp dword [rsi + 0x28], 0
jle 0x1800200f4
mov rbx, rdi
mov rax, qword [rsi + 0x20]
mov rcx, qword [rbx + rax + 0x208]
test rcx, rcx
je 0x1800200e6
call fcn.180020370
inc edi
add rbx, 0x210
cmp edi, dword [rsi + 0x28]
jl 0x1800200d0
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x180020107
mov rcx, rax
call fcn.1800327c0
nop
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x180020119
mov rcx, rax
call fcn.1800327c0
nop
test r15, r15
je 0x180020127
mov rcx, r15
call fcn.1800327c0
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x180020136
call fcn.1800327c0
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.1800327a0
mov rbx, qword [rsp + 0x310]
add rsp, 0x2c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret