Function at 0x4641fc
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [ebp + 0x10]
call fcn.004017d5
lea ecx, [edi + 0xbc]
call fcn.004017d5
mov al, byte [ebp + 0x20]
lea esi, [edi + 0x14]
mov byte [edi + 4], al
mov al, byte [ebp + 0x1c]
mov byte [edi + 5], al
cmp esi, dword [ebp + 8]
je 0x46423b
push dword [ebp + 8]
mov ecx, esi
call fcn.0040a8c7
lea eax, [edi + 0x24]
cmp eax, dword [ebp + 0xc]
je 0x46424d
push dword [ebp + 0xc]
mov ecx, eax
call fcn.0040a8c7
lea ecx, [edi + 0x8c]
push 0x49cc08
call fcn.00406b57
mov eax, dword [ebp + 0x14]
lea ecx, [esp + 0x30]
xor ebx, ebx
mov dword [edi + 0x10], eax
xor eax, eax
inc ebx
mov dword [edi + 0x9c], ebx
mov byte [edi + 0xc], bl
mov dword [edi + 8], eax
mov dword [edi + 0xa0], eax
mov dword [edi + 0xb4], eax
call fcn.0040a961
lea ecx, [esp + 0x20]
call fcn.0040a961
lea ecx, [esp + 0x40]
call fcn.0040a961
mov eax, dword [edi + 0x10]
test eax, eax
jns 0x4642b0
push eax
call fcn.00428fb4
pop ecx
mov dword [edi + 0x10], eax
mov byte [edi + 0xc], 0
cmp eax, 4
jne 0x4642be
push esi
call fcn.00463e51
mov dword [edi + 0x10], ebx
xor eax, eax
cmp dword [edi + 0x18], eax
jne 0x4642f2
cmp dword [edi + 0x28], eax
jne 0x4642f2
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
mov ecx, edi
call fcn.004639c0
mov eax, dword [edi]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
call fcn.0046417d
jmp 0x46492e
push eax
mov ecx, esi
call fcn.00404c6d
cmp word [eax], 0x5b
jne 0x464870
mov eax, dword [edi + 0x18]
mov ecx, esi
dec eax
push eax
call fcn.00404c6d
cmp word [eax], 0x5d
jne 0x464870
mov ecx, dword [edi + 0x18]
sub ecx, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], ecx
push ecx
lea eax, [esp + 0x20]
mov ecx, esi
push eax
lea eax, [esp + 0x28]
push eax
lea edx, [esp + 0x3c]
call fcn.00464010
add esp, 0xc
test al, al
je 0x464870
push str.LAST
call fcn.00424953
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], esi
pop ecx
cmp ebx, eax
jne 0x4643a3
mov edx, ebx
mov ebx, str.LAST
mov eax, ebx
test edx, edx
je 0x464391
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x46448a
add eax, 2
sub edx, 1
jne 0x464379
xor eax, eax
test eax, eax
je 0x4647d7
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
push str.ACTIVE
call fcn.00424953
pop ecx
cmp ebx, eax
jne 0x4643e9
mov edx, ebx
mov ebx, str.ACTIVE
mov eax, ebx
test edx, edx
je 0x4643db
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464495
add eax, 2
sub edx, 1
jne 0x4643c3
xor eax, eax
test eax, eax
je 0x4647fe
mov ebx, dword [esp + 0x18]
mov esi, 0x4c5d00
push esi
call fcn.00424953
pop ecx
cmp ebx, eax
jne 0x46442d
mov edx, ebx
mov eax, esi
test edx, edx
je 0x46441f
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x4644a0
add eax, 2
sub edx, 1
jne 0x464407
xor eax, eax
test eax, eax
je 0x464819
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPTITLE
push esi
call fcn.00424953
pop ecx
cmp ebx, eax
jne 0x4644b9
mov edx, ebx
mov eax, esi
test edx, edx
je 0x46445f
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x4644ab
add eax, 2
sub edx, 1
jne 0x46444b
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x4644b5
mov eax, dword [edi + 8]
test al, 1
jne 0x46485c
or eax, 2
lea ecx, [edi + 0x34]
mov dword [edi + 8], eax
call fcn.0040696a
push ecx
lea ecx, [edi + 0x34]
jmp 0x464579
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464393
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4643dd
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464421
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x464464
mov ebx, dword [esp + 0x18]
mov esi, str.CLASS
push esi
call fcn.00424953
pop ecx
cmp ebx, eax
jne 0x46452e
mov edx, ebx
mov eax, esi
test edx, edx
je 0x4644eb
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464522
add eax, 2
sub edx, 1
jne 0x4644d7
xor eax, eax
test eax, eax
jne 0x46452a
or dword [edi + 8], 8
lea ecx, [esp + 0x20]
lea eax, [edi + 0x8c]
push 1
cmp eax, ecx
lea esi, [edi + 0x14]
mov ecx, dword [esp + 0x14]
pop ebx
je 0x464328
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.0040a8c7
jmp 0x4647c0
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4644ed
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPCLASS
push esi
call fcn.00424953
pop ecx
cmp ebx, eax
jne 0x46459e
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464560
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464590
add eax, 2
sub edx, 1
jne 0x46454c
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x46459a
or dword [edi + 8], 0x10
lea ecx, [edi + 0x60]
call fcn.0040696a
push ecx
lea ecx, [edi + 0x60]
lea eax, [esp + 0x24]
push eax
call fcn.00406848
test eax, eax
jne 0x46492e
jmp 0x4647c0
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x464565
mov ebx, dword [esp + 0x18]
mov esi, str.XYWH
push esi
call fcn.00424953
pop ecx
cmp ebx, eax
jne 0x4645fe
mov edx, ebx
mov eax, esi
test edx, edx
je 0x4645d0
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x4645f2
add eax, 2
sub edx, 1
jne 0x4645bc
xor eax, eax
test eax, eax
jne 0x4645fa
push dword [esp + 0x20]
or dword [edi + 8], 0x80
call fcn.004262c1
pop ecx
mov dword [edi + 0xa4], eax
jmp 0x4647c0
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4645d2
mov ebx, dword [esp + 0x18]
mov esi, 0x4c5bf0
push esi
call fcn.00424953
pop ecx
cmp ebx, eax
jne 0x46465e
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464630
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464652
add eax, 2
sub edx, 1
jne 0x46461c
xor eax, eax
test eax, eax
jne 0x46465a
push dword [esp + 0x20]
or dword [edi + 8], 0x100
call fcn.004262c1
pop ecx
mov dword [edi + 0xa8], eax
jmp 0x4647c0
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464632
mov ebx, dword [esp + 0x18]
mov esi, 0x4c5bf4
push esi
call fcn.00424953
pop ecx
cmp ebx, eax
jne 0x4646be
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464690
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x4646b2
add eax, 2
sub edx, 1
jne 0x46467c
xor eax, eax
test eax, eax
jne 0x4646ba
push dword [esp + 0x20]
or dword [edi + 8], 0x200
call fcn.004262c1
pop ecx
mov dword [edi + 0xac], eax
jmp 0x4647c0
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464692
mov ebx, dword [esp + 0x18]
mov edx, 0x4c5bf8
lea ecx, [esp + 0x30]
call fcn.0041f9f2
test al, al
je 0x4646ec
push dword [esp + 0x20]
or dword [edi + 8], 0x400
call fcn.004262c1
pop ecx
mov dword [edi + 0xb0], eax
jmp 0x4647c0
mov edx, str.INSTANCE
lea ecx, [esp + 0x30]
call fcn.0041f9f2
test al, al
je 0x464717
push dword [esp + 0x20]
or dword [edi + 8], 0x20
call fcn.004262c1
pop ecx
mov dword [edi + 0x9c], eax
jmp 0x4647c0
mov edx, 0x4c5ce8
lea ecx, [esp + 0x30]
call fcn.0041f9f2
test al, al
je 0x464745
mov edx, 0x49cc08
lea ecx, [esp + 0x20]
call fcn.0041f9f2
test al, al
je 0x464868
or dword [edi + 8], 0x40
jmp 0x4647c0
mov edx, str.TITLE
lea ecx, [esp + 0x30]
call fcn.0041f9f2
test al, al
je 0x46477a
mov eax, dword [edi + 8]
test al, 2
jne 0x464860
xor ebx, ebx
lea ecx, [esp + 0x40]
inc ebx
or eax, ebx
mov dword [edi + 8], eax
lea eax, [esp + 0x20]
push eax
call fcn.0040a8c7
jmp 0x4647c3
mov esi, 0x49cc08
push esi
call fcn.00424953
pop ecx
cmp ebx, eax
jne 0x464868
mov eax, esi
test ebx, ebx
je 0x4647b6
mov ecx, dword [esp + 0x14]
sub ecx, esi
mov dword [esp + 0x14], ecx
movzx ecx, word [ecx + eax]
movzx edx, word [eax]
cmp cx, dx
jne 0x4647cf
mov ecx, dword [esp + 0x14]
add eax, 2
sub ebx, 1
jne 0x46479e
xor eax, eax
test eax, eax
jne 0x464868
xor ebx, ebx
inc ebx
mov ecx, dword [esp + 0x10]
lea esi, [edi + 0x14]
jmp 0x464328
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4647b8
mov edx, 0x49cc08
lea ecx, [esp + 0x20]
call fcn.0041f9f2
test al, al
je 0x464868
mov eax, dword [edi]
push dword [eax]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x46483f
xor ebx, ebx
jmp 0x46492e
mov edx, 0x49cc08
lea ecx, [esp + 0x20]
call fcn.0041f9f2
test al, al
je 0x464868
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
jmp 0x464838
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x18]
call fcn.0046ef10
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4647f7
push dword [esp + 0x18]
mov ecx, edi
call fcn.004639c0
mov eax, dword [edi]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
call fcn.0046417d
xor ebx, ebx
inc ebx
jmp 0x46492e
push 0xfffffffffffffffd
jmp 0x464862
push 0xfffffffffffffffc
pop ebx
jmp 0x46492e
or ebx, 0xffffffff
jmp 0x46492e
cmp dword [esp + 0x44], 0
je 0x464887
lea eax, [esp + 0x40]
cmp esi, eax
je 0x464887
push eax
mov ecx, esi
call fcn.0040a8c7
mov eax, dword [edi + 8]
test eax, eax
jne 0x464890
mov eax, ebx
mov esi, dword [sym.imp.USER32.dll_CharUpperBuffW]
or eax, 4
cmp byte [edi + 0xc], 0
mov dword [edi + 8], eax
jne 0x4648b5
lea ecx, [edi + 0x24]
call fcn.0040aec9
push dword [edi + 0x28]
push dword [edi + 0x24]
call esi
mov eax, dword [edi + 8]
test al, 1
je 0x4648cf
cmp byte [edi + 0xc], 0
jne 0x4648cf
lea ecx, [edi + 0x14]
call fcn.0040aec9
push dword [edi + 0x18]
push dword [edi + 0x14]
call esi
cmp byte [ebp + 0x18], 0
push edi
push 0x464954
je 0x4648ea
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnumChildWindows]
jmp 0x4648f0
call dword [sym.imp.USER32.dll_EnumWindows]
mov esi, dword [ebp + 0x10]
lea eax, [edi + 0xbc]
push eax
mov ecx, esi
call fcn.00463d92
lea ecx, [edi + 0xbc]
call fcn.004017d5
mov eax, dword [edi + 0xb4]
cmp eax, ebx
jl 0x46492c
mov eax, dword [esi + 4]
mov ecx, edi
mov eax, dword [eax]
push dword [eax]
call fcn.004639c0
mov ebx, dword [edi + 0xb4]
jmp 0x46492e
mov ebx, eax
lea ecx, [esp + 0x40]
call fcn.0040988f
lea ecx, [esp + 0x20]
call fcn.0040988f
lea ecx, [esp + 0x30]
call fcn.0040988f
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c