Function at 0x4201d4
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x420410
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x417810]
call fcn.00403d70
mov ebx, eax
mov dl, 1
mov eax, ebx
call fcn.0041a120
push ebx
push 0x42011c
call sub.user32.dll_EnumWindows
mov eax, dword [0x470c64]
call fcn.00410150
mov eax, dword [0x470c58]
call fcn.00403da0
mov dword [0x470c58], ebx
mov eax, dword [0x470c58]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x4202fa
inc esi
xor ebx, ebx
lea ecx, [ebp - 4]
mov edx, ebx
mov eax, dword [0x470c58]
mov edi, dword [eax]
call dword [edi + 0xc]
lea ecx, [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, dword [0x470c5c]
mov edi, dword [eax]
call dword [edi + 0x8c]
test al, al
jne 0x4202f2
mov edx, dword [0x41fd54]
mov eax, 0xc
call fcn.00405b04
mov edi, eax
mov edx, ebx
mov eax, dword [0x470c58]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov dword [edi], eax
lea edx, [ebp - 0xc]
mov eax, dword [edi]
call fcn.0041fbfc
mov edx, dword [ebp - 0xc]
lea eax, [edi + 4]
call fcn.00404cd4
mov byte [edi + 8], 2
push 0x420428
lea edx, [ebp - 0x14]
mov eax, dword [edi + 4]
call fcn.0040ad50
push dword [ebp - 0x14]
push 0x420428
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00405014
mov eax, dword [ebp - 0x10]
mov edx, dword [0x469880]
mov edx, dword [edx]
call fcn.0040525c
dec eax
jge 0x4202e3
mov byte [edi + 8], 1
mov ecx, edi
mov edx, dword [ebp - 4]
mov eax, dword [0x470c5c]
mov edi, dword [eax]
call dword [edi + 0x3c]
inc ebx
dec esi
jne 0x420244
mov eax, dword [0x470c5c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x42035f
lea ecx, [ebp - 4]
mov edx, ebx
mov eax, dword [0x470c5c]
mov esi, dword [eax]
call dword [esi + 0xc]
lea ecx, [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, dword [0x470c58]
mov esi, dword [eax]
call dword [esi + 0x8c]
test al, al
jne 0x420359
mov edx, ebx
mov eax, dword [0x470c5c]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edi, eax
mov edx, dword [0x41fd54]
mov eax, edi
call fcn.00405b18
mov edx, ebx
mov eax, dword [0x470c5c]
mov ecx, dword [eax]
call dword [ecx + 0x48]
dec ebx
cmp ebx, 0xffffffff
jne 0x42030c
mov eax, dword [0x470c5c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x4203be
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [0x470c5c]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edi, eax
cmp byte [edi + 8], 2
je 0x4203ba
lea ecx, [ebp - 0x18]
mov edx, ebx
mov eax, dword [0x470c5c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 8]
mov eax, dword [0x470c58]
mov edi, dword [eax]
call dword [edi + 0x8c]
test al, al
je 0x4203ba
mov edx, dword [ebp - 8]
mov eax, dword [0x470c58]
mov ecx, dword [eax]
call dword [ecx + 0x48]
inc ebx
dec esi
jne 0x420373
mov eax, dword [0x470c60]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x4203e3
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [0x470c60]
call fcn.00418598
call fcn.0042003c
inc ebx
dec esi
jne 0x4203ce
mov eax, dword [0x470c64]
call fcn.0041015c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x420417
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.00404ca4
lea eax, [ebp - 4]
call fcn.00404c80
ret