Function at 0x18001d920
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 [0x1800bd650]
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.180046280
test eax, eax
je 0x18001d9a2
mov rcx, qword [rsi + 0x10]
test rcx, rcx
jne 0x18001d98e
jmp 0x18001df57
lea r8, [rsp + 0x30]
lea rdx, [0x18001d810]
call qword [sym.imp.USER32.dll_EnumDesktopsW]
jmp 0x18001da07
mov word [rbp - 0x60], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp - 0x5e]
call fcn.180031f40
xor r11d, r11d
mov qword [rbp + 0x1a8], r11
mov r8d, 0x103
lea rdx, str.Default
lea rcx, [rbp - 0x60]
call fcn.180030a00
movsxd rbx, dword [rsp + 0x38]
lea edx, [rbx + 1]
lea rcx, [rsp + 0x30]
call fcn.18001e830
mov rcx, rbx
imul rcx, rcx, 0x210
add rcx, qword [rsp + 0x30]
lea rdx, [rbp - 0x60]
mov r8d, 0x210
call fcn.180031840
mov edx, dword [rsp + 0x38]
cmp edx, dword [rsi + 0x28]
jne 0x18001dab9
mov r13d, edi
test edx, edx
jle 0x18001da7d
nop dword [rax + rax]
mov ebx, edi
cmp dword [rsi + 0x28], ebx
jle 0x18001dab9
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.1800305e8
test eax, eax
je 0x18001da69
inc ebx
cmp ebx, dword [rsi + 0x28]
jge 0x18001da77
jmp 0x18001da40
inc r13d
mov edx, dword [rsp + 0x38]
cmp r13d, edx
jge 0x18001da7d
jmp 0x18001da20
mov edx, dword [rsp + 0x38]
jmp 0x18001dab9
cmp dword [rsi + 0x38], 0
je 0x18001dab4
mov dword [rsi + 0x38], edi
cmp dword [rsi + 0x28], 0
jle 0x18001dab4
mov rbx, rdi
nop
mov rax, qword [rsi + 0x20]
mov rcx, qword [rbx + rax + 0x208]
test rcx, rcx
je 0x18001daa6
call fcn.18001e1a0
inc edi
add rbx, 0x210
cmp edi, dword [rsi + 0x28]
jl 0x18001da90
jmp 0x18001df57
test r14, r14
je 0x18001dac5
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.18001e830
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov r13, qword [rsp + 0x60]
test ebx, ebx
je 0x18001db33
nop dword [rax + rax]
mov rcx, r13
mov rdx, r12
mov r8d, 0x210
call fcn.180031840
add r13, 0x210
add r12, 0x210
dec ebx
jne 0x18001db10
mov edx, dword [rsi + 0x28]
lea rcx, [rsp + 0x48]
call fcn.18001e830
mov ebx, dword [rsi + 0x28]
mov r12, qword [rsi + 0x20]
mov r8, qword [rsp + 0x48]
mov r13, r8
test ebx, ebx
je 0x18001db7b
mov rcx, r13
mov rdx, r12
mov r8d, 0x210
call fcn.180031840
add r13, 0x210
add r12, 0x210
dec ebx
jne 0x18001db53
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 0x18001dcf6
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 0x18001dbd5
mov r8, qword [rsp + 0x48]
mov ebx, edi
mov r12, rdi
test r13d, r13d
jle 0x18001dccb
nop word [rax + rax]
movsxd rdx, ebx
imul rdx, rdx, 0x210
add rdx, r8
mov rcx, r14
call fcn.1800305e8
test eax, eax
je 0x18001dc1d
inc ebx
inc r12
cmp ebx, r13d
mov r8, qword [rsp + 0x48]
jl 0x18001dbf0
jmp 0x18001dcc2
imul r12, r12, 0x210
add r12, qword [rsp + 0x48]
lea edx, [r15 + 1]
lea rcx, [rbp - 0x80]
call fcn.18001e830
movsxd rcx, r15d
imul rcx, rcx, 0x210
add rcx, qword [rbp - 0x80]
mov rdx, r12
mov r8d, 0x210
call fcn.180031840
mov r11d, esi
sub r11d, dword [rsp + 0x20]
dec r11d
je 0x18001dc76
movsxd r8, r11d
imul r8, r8, 0x210
mov rdx, qword [rsp + 0x28]
mov rcx, r14
call fcn.180031840
dec esi
mov dword [rsp + 0x68], esi
mov eax, r13d
sub eax, ebx
dec eax
je 0x18001dcb6
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.180031840
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 0x18001dbd0
mov rsi, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x68]
test r14d, r14d
jne 0x18001dd04
test r13d, r13d
je 0x18001deef
lea eax, [r13 - 1]
movsxd r12, eax
test eax, eax
js 0x18001dd5d
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 0x18001dd51
mov rcx, rbx
call fcn.1800258a0
mov rcx, rbx
call fcn.180025930
test rbx, rbx
je 0x18001dd51
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
sub r13, 0x210
dec r12
jns 0x18001dd26
lea r13, [rsi + 0x20]
mov rcx, qword [r13]
test rcx, rcx
je 0x18001dd73
call fcn.180030110
mov qword [r13], rdi
mov qword [r13 + 8], rdi
movsxd rbx, edi
lea edx, [rbx + r15]
mov rcx, r13
call fcn.18001e830
mov r12, qword [rbp - 0x80]
imul rbx, rbx, 0x210
add rbx, qword [r13]
test r15d, r15d
je 0x18001ddc4
nop word [rax + rax]
mov rcx, rbx
mov rdx, r12
mov r8d, 0x210
call fcn.180031840
add rbx, 0x210
add r12, 0x210
dec r15d
jne 0x18001dda0
mov word [rbp - 0x60], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp - 0x5e]
call fcn.180031f40
xor r11d, r11d
mov qword [rbp + 0x1a8], r11
mov r15, qword [rsp + 0x60]
test r14d, r14d
jle 0x18001def4
mov r12, r15
mov ecx, 0x280
call fcn.180030188
mov rbx, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x18001de77
mov rcx, rax
call fcn.180025810
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.180031f40
test r12, r12
je 0x18001de71
mov r8d, 0x103
mov rdx, r12
lea rcx, [rbx + 0x48]
call fcn.180030a00
lea r13, [rsi + 0x20]
jmp 0x18001de7a
mov rbx, rdi
test rbx, rbx
je 0x18001dedd
xor edx, edx
mov r8d, 0x210
lea rcx, [rbp - 0x60]
call fcn.180031f40
mov rcx, rbx
call fcn.180025ad0
mov qword [rbp + 0x1a8], rbx
mov r8d, 0x103
mov rdx, r12
lea rcx, [rbp - 0x60]
call fcn.180030a00
movsxd rbx, dword [r13 + 8]
lea edx, [rbx + 1]
mov rcx, r13
call fcn.18001e830
mov rcx, rbx
imul rcx, rcx, 0x210
add rcx, qword [r13]
lea rdx, [rbp - 0x60]
mov r8d, 0x210
call fcn.180031840
add r12, 0x210
dec r14
jne 0x18001ddf4
jmp 0x18001def4
mov r15, qword [rsp + 0x60]
mov dword [rsi + 0x38], edi
cmp dword [rsi + 0x28], 0
jle 0x18001df24
mov rbx, rdi
mov rax, qword [rsi + 0x20]
mov rcx, qword [rbx + rax + 0x208]
test rcx, rcx
je 0x18001df16
call fcn.18001e1a0
inc edi
add rbx, 0x210
cmp edi, dword [rsi + 0x28]
jl 0x18001df00
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x18001df37
mov rcx, rax
call fcn.180030110
nop
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x18001df49
mov rcx, rax
call fcn.180030110
nop
test r15, r15
je 0x18001df57
mov rcx, r15
call fcn.180030110
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x18001df66
call fcn.180030110
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.1800300f0
mov rbx, qword [rsp + 0x310]
add rsp, 0x2c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret