Function at 0x405671
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
mov esi, dword [ebp + 0x14]
push edi
call fcn.00409144
mov edi, dword [ebp + 8]
lea esi, [edi + 0xb0]
mov dword [ebp - 8], esi
call fcn.00409144
mov al, byte [ebp + 0x24]
mov ebx, dword [ebp + 0xc]
mov byte [edi + 4], al
mov al, byte [ebp + 0x20]
lea esi, [edi + 0x14]
mov byte [edi + 5], al
mov eax, esi
mov dword [ebp + 0x24], esi
call fcn.00410194
mov ebx, dword [ebp + 0x10]
lea eax, [edi + 0x20]
mov dword [ebp - 4], eax
call fcn.00410194
lea eax, [edi + 0x84]
push 0x46bf80
mov dword [ebp + 0xc], eax
call fcn.004101c0
mov eax, dword [ebp + 0x18]
xor ebx, ebx
mov dword [edi + 0x10], eax
xor eax, eax
inc ebx
lea ecx, [ebp - 0x14]
mov dword [edi + 0x90], ebx
mov byte [edi + 0xc], bl
mov dword [edi + 8], eax
mov dword [edi + 0x94], eax
mov dword [edi + 0xa8], eax
call fcn.0040ffb3
lea ecx, [ebp - 0x20]
call fcn.0040ffb3
mov eax, dword [edi + 0x10]
test eax, eax
jge 0x405718
push eax
call fcn.00451c48
pop ecx
mov dword [edi + 0x10], eax
mov byte [edi + 0xc], 0
cmp dword [edi + 0x10], 4
jne 0x405728
mov eax, esi
call fcn.004054ac
mov dword [edi + 0x10], ebx
mov ebx, dword [edi + 0x18]
test ebx, ebx
jne 0x405771
cmp dword [edi + 0x24], ebx
jne 0x405771
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
mov esi, edi
call fcn.004049c6
mov eax, dword [edi]
mov eax, dword [eax]
mov esi, dword [ebp + 0x14]
mov dword [ebp + 0x24], eax
lea eax, [ebp + 0x24]
push eax
call fcn.00442e2e
push dword [ebp - 0x20]
call fcn.0044f971
push dword [ebp - 0x14]
call fcn.0044f971
pop ecx
xor eax, eax
pop ecx
inc eax
pop edi
pop esi
pop ebx
leave
ret 0x20
xor edx, edx
mov eax, esi
call fcn.00410183
cmp word [eax], 0x5b
jne 0x405a04
lea edx, [ebx - 1]
mov eax, esi
call fcn.00410183
cmp word [eax], 0x5d
jne 0x405a04
add ebx, 0xfffffffe
push ebx
lea eax, [ebp - 0x20]
push eax
push esi
lea edi, [ebp + 0x20]
lea eax, [ebp - 0x14]
mov dword [ebp + 0x20], 1
mov dword [ebp + 0x10], ebx
call fcn.004049f0
test al, al
je 0x405a01
push str.LAST
lea esi, [ebp - 0x14]
call fcn.00410330
test al, al
pop ecx
jne 0x405a60
push str.ACTIVE
call fcn.00410330
test al, al
pop ecx
jne 0x405ab1
push 0x46c474
call fcn.00410330
test al, al
pop ecx
jne 0x405ad6
push str.REGEXPTITLE
call fcn.00410330
test al, al
pop ecx
je 0x405822
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 8]
test al, 1
jne 0x405af3
or eax, 2
mov dword [ecx + 8], eax
lea esi, [ecx + 0x2c]
jmp 0x40585f
push str.CLASS
lea esi, [ebp - 0x14]
call fcn.00410330
test al, al
pop ecx
je 0x405843
mov eax, dword [ebp + 8]
or dword [eax + 8], 8
mov eax, dword [ebp + 0xc]
jmp 0x4059c1
push str.REGEXPCLASS
lea esi, [ebp - 0x14]
call fcn.00410330
test al, al
pop ecx
je 0x40587d
mov eax, dword [ebp + 8]
or dword [eax + 8], 0x10
lea esi, [eax + 0x58]
call fcn.004077d8
lea eax, [ebp - 0x20]
mov ecx, esi
call fcn.0040782b
test eax, eax
je 0x4059e1
push 0xfffffffffffffffe
jmp 0x405af5
push str.XYWH
lea esi, [ebp - 0x14]
call fcn.00410330
test al, al
pop ecx
je 0x4058ad
mov esi, dword [ebp + 8]
push dword [ebp - 0x20]
or dword [esi + 8], 0x80
call fcn.0045194d
pop ecx
mov dword [esi + 0x98], eax
jmp 0x4059e1
push 0x46c368
lea esi, [ebp - 0x14]
call fcn.00410330
test al, al
pop ecx
je 0x4058dd
mov esi, dword [ebp + 8]
push dword [ebp - 0x20]
or dword [esi + 8], 0x100
call fcn.0045194d
pop ecx
mov dword [esi + 0x9c], eax
jmp 0x4059e1
push 0x46c36c
lea esi, [ebp - 0x14]
call fcn.00410330
test al, al
pop ecx
je 0x40590d
mov esi, dword [ebp + 8]
push dword [ebp - 0x20]
or dword [esi + 8], 0x200
call fcn.0045194d
pop ecx
mov dword [esi + 0xa0], eax
jmp 0x4059e1
push 0x46c370
lea esi, [ebp - 0x14]
call fcn.00410330
test al, al
pop ecx
je 0x40593d
mov esi, dword [ebp + 8]
push dword [ebp - 0x20]
or dword [esi + 8], 0x400
call fcn.0045194d
pop ecx
mov dword [esi + 0xa4], eax
jmp 0x4059e1
push 0x46c374
lea esi, [ebp - 0x14]
call fcn.00410330
test al, al
pop ecx
je 0x405967
mov esi, dword [ebp + 8]
push dword [ebp - 0x20]
or dword [esi + 8], 0x20
call fcn.0045194d
pop ecx
mov dword [esi + 0x90], eax
jmp 0x4059e1
push 0x46c45c
lea esi, [ebp - 0x14]
call fcn.00410330
test al, al
pop ecx
je 0x405998
push 0x46bf80
lea esi, [ebp - 0x20]
call fcn.00410330
test al, al
pop ecx
je 0x405aac
mov eax, dword [ebp + 8]
or dword [eax + 8], 0x40
jmp 0x4059e1
push str.TITLE
lea esi, [ebp - 0x14]
call fcn.00410330
test al, al
pop ecx
je 0x4059cb
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 8]
test al, 2
jne 0x405af8
or eax, 1
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x24]
lea ebx, [ebp - 0x20]
call fcn.00410194
jmp 0x4059e1
push 0x46bf80
lea esi, [ebp - 0x14]
call fcn.00410330
test al, al
pop ecx
je 0x405aac
push dword [ebp + 0x10]
lea eax, [ebp - 0x20]
push eax
push dword [ebp + 0x24]
lea edi, [ebp + 0x20]
lea eax, [ebp - 0x14]
call fcn.004049f0
test al, al
jne 0x4057be
mov esi, dword [ebp + 0x24]
mov edi, dword [ebp + 8]
cmp dword [edi + 8], 0
jne 0x405a11
mov dword [edi + 8], 1
or dword [edi + 8], 4
cmp byte [edi + 0xc], 0
mov ebx, dword [sym.imp.USER32.dll_CharUpperBuffW]
jne 0x405a2b
mov eax, dword [ebp - 4]
push dword [eax + 4]
push dword [eax]
call ebx
test byte [edi + 8], 1
je 0x405a3e
cmp byte [edi + 0xc], 0
jne 0x405a3e
push dword [esi + 4]
push dword [esi]
call ebx
cmp byte [ebp + 0x1c], 0
push edi
push 0x405b39
je 0x405afc
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnumChildWindows]
jmp 0x405b02
push 0x46bf80
lea esi, [ebp - 0x20]
call fcn.00410330
test al, al
pop ecx
je 0x405aac
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x405aa8
mov eax, dword [eax]
mov esi, dword [ebp + 0x14]
mov dword [ebp + 0x24], eax
lea eax, [ebp + 0x24]
push eax
call fcn.00442e2e
xor edi, edi
inc edi
push dword [ebp - 0x20]
call fcn.0044f971
push dword [ebp - 0x14]
call fcn.0044f971
pop ecx
pop ecx
mov eax, edi
jmp 0x40576a
xor edi, edi
jmp 0x405a8f
or edi, 0xffffffff
jmp 0x405a8f
push 0x46bf80
lea esi, [ebp - 0x20]
call fcn.00410330
test al, al
pop ecx
je 0x405aac
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
mov esi, dword [ebp + 8]
call fcn.004049c6
mov eax, dword [esi]
jmp 0x405a7b
mov edi, dword [ebp - 0x20]
lea esi, [ebp + 0x24]
call fcn.0040fa03
push dword [ebp + 0x24]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x405aa8
push dword [ebp + 0x24]
jmp 0x405aca
push 0xfffffffffffffffd
pop edi
jmp 0x405a8f
push 0xfffffffffffffffc
jmp 0x405af5
call dword [sym.imp.USER32.dll_EnumWindows]
mov esi, dword [ebp - 8]
mov eax, dword [ebp + 0x14]
mov ebx, esi
call fcn.00405f4b
call fcn.00409144
cmp dword [edi + 0xa8], 1
jl 0x405b2e
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov eax, dword [eax]
push dword [eax]
mov esi, edi
call fcn.004049c6
mov edi, dword [edi + 0xa8]
jmp 0x405a8f