Function at 0x8641fc
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.008017d5
lea ecx, [edi + 0xbc]
call fcn.008017d5
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 0x86423b
push dword [ebp + 8]
mov ecx, esi
call fcn.0080a8c7
lea eax, [edi + 0x24]
cmp eax, dword [ebp + 0xc]
je 0x86424d
push dword [ebp + 0xc]
mov ecx, eax
call fcn.0080a8c7
lea ecx, [edi + 0x8c]
push 0x89cc08
call fcn.00806b57
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.0080a961
lea ecx, [esp + 0x20]
call fcn.0080a961
lea ecx, [esp + 0x40]
call fcn.0080a961
mov eax, dword [edi + 0x10]
test eax, eax
jns 0x8642b0
push eax
call fcn.00828fc4
pop ecx
mov dword [edi + 0x10], eax
mov byte [edi + 0xc], 0
cmp eax, 4
jne 0x8642be
push esi
call fcn.00863e51
mov dword [edi + 0x10], ebx
xor eax, eax
cmp dword [edi + 0x18], eax
jne 0x8642f2
cmp dword [edi + 0x28], eax
jne 0x8642f2
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
mov ecx, edi
call fcn.008639c0
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.0086417d
jmp 0x86492e
push eax
mov ecx, esi
call fcn.00804c6d
cmp word [eax], 0x5b
jne 0x864870
mov eax, dword [edi + 0x18]
mov ecx, esi
dec eax
push eax
call fcn.00804c6d
cmp word [eax], 0x5d
jne 0x864870
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.00864010
add esp, 0xc
test al, al
je 0x864870
push str.LAST
call fcn.00824963
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 0x8643a3
mov edx, ebx
mov ebx, str.LAST
mov eax, ebx
test edx, edx
je 0x864391
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x86448a
add eax, 2
sub edx, 1
jne 0x864379
xor eax, eax
test eax, eax
je 0x8647d7
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
push str.ACTIVE
call fcn.00824963
pop ecx
cmp ebx, eax
jne 0x8643e9
mov edx, ebx
mov ebx, str.ACTIVE
mov eax, ebx
test edx, edx
je 0x8643db
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x864495
add eax, 2
sub edx, 1
jne 0x8643c3
xor eax, eax
test eax, eax
je 0x8647fe
mov ebx, dword [esp + 0x18]
mov esi, 0x8c5d00
push esi
call fcn.00824963
pop ecx
cmp ebx, eax
jne 0x86442d
mov edx, ebx
mov eax, esi
test edx, edx
je 0x86441f
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x8644a0
add eax, 2
sub edx, 1
jne 0x864407
xor eax, eax
test eax, eax
je 0x864819
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPTITLE
push esi
call fcn.00824963
pop ecx
cmp ebx, eax
jne 0x8644b9
mov edx, ebx
mov eax, esi
test edx, edx
je 0x86445f
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x8644ab
add eax, 2
sub edx, 1
jne 0x86444b
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x8644b5
mov eax, dword [edi + 8]
test al, 1
jne 0x86485c
or eax, 2
lea ecx, [edi + 0x34]
mov dword [edi + 8], eax
call fcn.0080696a
push ecx
lea ecx, [edi + 0x34]
jmp 0x864579
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x864393
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x8643dd
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x864421
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x864464
mov ebx, dword [esp + 0x18]
mov esi, str.CLASS
push esi
call fcn.00824963
pop ecx
cmp ebx, eax
jne 0x86452e
mov edx, ebx
mov eax, esi
test edx, edx
je 0x8644eb
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x864522
add eax, 2
sub edx, 1
jne 0x8644d7
xor eax, eax
test eax, eax
jne 0x86452a
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 0x864328
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.0080a8c7
jmp 0x8647c0
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x8644ed
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPCLASS
push esi
call fcn.00824963
pop ecx
cmp ebx, eax
jne 0x86459e
mov edx, ebx
mov eax, esi
test edx, edx
je 0x864560
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x864590
add eax, 2
sub edx, 1
jne 0x86454c
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x86459a
or dword [edi + 8], 0x10
lea ecx, [edi + 0x60]
call fcn.0080696a
push ecx
lea ecx, [edi + 0x60]
lea eax, [esp + 0x24]
push eax
call fcn.00806848
test eax, eax
jne 0x86492e
jmp 0x8647c0
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x864565
mov ebx, dword [esp + 0x18]
mov esi, str.XYWH
push esi
call fcn.00824963
pop ecx
cmp ebx, eax
jne 0x8645fe
mov edx, ebx
mov eax, esi
test edx, edx
je 0x8645d0
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x8645f2
add eax, 2
sub edx, 1
jne 0x8645bc
xor eax, eax
test eax, eax
jne 0x8645fa
push dword [esp + 0x20]
or dword [edi + 8], 0x80
call fcn.008262d1
pop ecx
mov dword [edi + 0xa4], eax
jmp 0x8647c0
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x8645d2
mov ebx, dword [esp + 0x18]
mov esi, 0x8c5bf0
push esi
call fcn.00824963
pop ecx
cmp ebx, eax
jne 0x86465e
mov edx, ebx
mov eax, esi
test edx, edx
je 0x864630
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x864652
add eax, 2
sub edx, 1
jne 0x86461c
xor eax, eax
test eax, eax
jne 0x86465a
push dword [esp + 0x20]
or dword [edi + 8], 0x100
call fcn.008262d1
pop ecx
mov dword [edi + 0xa8], eax
jmp 0x8647c0
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x864632
mov ebx, dword [esp + 0x18]
mov esi, 0x8c5bf4
push esi
call fcn.00824963
pop ecx
cmp ebx, eax
jne 0x8646be
mov edx, ebx
mov eax, esi
test edx, edx
je 0x864690
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x8646b2
add eax, 2
sub edx, 1
jne 0x86467c
xor eax, eax
test eax, eax
jne 0x8646ba
push dword [esp + 0x20]
or dword [edi + 8], 0x200
call fcn.008262d1
pop ecx
mov dword [edi + 0xac], eax
jmp 0x8647c0
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x864692
mov ebx, dword [esp + 0x18]
mov edx, 0x8c5bf8
lea ecx, [esp + 0x30]
call fcn.0081f9f2
test al, al
je 0x8646ec
push dword [esp + 0x20]
or dword [edi + 8], 0x400
call fcn.008262d1
pop ecx
mov dword [edi + 0xb0], eax
jmp 0x8647c0
mov edx, str.INSTANCE
lea ecx, [esp + 0x30]
call fcn.0081f9f2
test al, al
je 0x864717
push dword [esp + 0x20]
or dword [edi + 8], 0x20
call fcn.008262d1
pop ecx
mov dword [edi + 0x9c], eax
jmp 0x8647c0
mov edx, 0x8c5ce8
lea ecx, [esp + 0x30]
call fcn.0081f9f2
test al, al
je 0x864745
mov edx, 0x89cc08
lea ecx, [esp + 0x20]
call fcn.0081f9f2
test al, al
je 0x864868
or dword [edi + 8], 0x40
jmp 0x8647c0
mov edx, str.TITLE
lea ecx, [esp + 0x30]
call fcn.0081f9f2
test al, al
je 0x86477a
mov eax, dword [edi + 8]
test al, 2
jne 0x864860
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.0080a8c7
jmp 0x8647c3
mov esi, 0x89cc08
push esi
call fcn.00824963
pop ecx
cmp ebx, eax
jne 0x864868
mov eax, esi
test ebx, ebx
je 0x8647b6
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 0x8647cf
mov ecx, dword [esp + 0x14]
add eax, 2
sub ebx, 1
jne 0x86479e
xor eax, eax
test eax, eax
jne 0x864868
xor ebx, ebx
inc ebx
mov ecx, dword [esp + 0x10]
lea esi, [edi + 0x14]
jmp 0x864328
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x8647b8
mov edx, 0x89cc08
lea ecx, [esp + 0x20]
call fcn.0081f9f2
test al, al
je 0x864868
mov eax, dword [edi]
push dword [eax]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x86483f
xor ebx, ebx
jmp 0x86492e
mov edx, 0x89cc08
lea ecx, [esp + 0x20]
call fcn.0081f9f2
test al, al
je 0x864868
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
jmp 0x864838
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x18]
call fcn.0086ef10
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x8647f7
push dword [esp + 0x18]
mov ecx, edi
call fcn.008639c0
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.0086417d
xor ebx, ebx
inc ebx
jmp 0x86492e
push 0xfffffffffffffffd
jmp 0x864862
push 0xfffffffffffffffc
pop ebx
jmp 0x86492e
or ebx, 0xffffffff
jmp 0x86492e
cmp dword [esp + 0x44], 0
je 0x864887
lea eax, [esp + 0x40]
cmp esi, eax
je 0x864887
push eax
mov ecx, esi
call fcn.0080a8c7
mov eax, dword [edi + 8]
test eax, eax
jne 0x864890
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 0x8648b5
lea ecx, [edi + 0x24]
call fcn.0080aec9
push dword [edi + 0x28]
push dword [edi + 0x24]
call esi
mov eax, dword [edi + 8]
test al, 1
je 0x8648cf
cmp byte [edi + 0xc], 0
jne 0x8648cf
lea ecx, [edi + 0x14]
call fcn.0080aec9
push dword [edi + 0x18]
push dword [edi + 0x14]
call esi
cmp byte [ebp + 0x18], 0
push edi
push 0x864954
je 0x8648ea
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnumChildWindows]
jmp 0x8648f0
call dword [sym.imp.USER32.dll_EnumWindows]
mov esi, dword [ebp + 0x10]
lea eax, [edi + 0xbc]
push eax
mov ecx, esi
call fcn.00863d92
lea ecx, [edi + 0xbc]
call fcn.008017d5
mov eax, dword [edi + 0xb4]
cmp eax, ebx
jl 0x86492c
mov eax, dword [esi + 4]
mov ecx, edi
mov eax, dword [eax]
push dword [eax]
call fcn.008639c0
mov ebx, dword [edi + 0xb4]
jmp 0x86492e
mov ebx, eax
lea ecx, [esp + 0x40]
call fcn.0080988f
lea ecx, [esp + 0x20]
call fcn.0080988f
lea ecx, [esp + 0x30]
call fcn.0080988f
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c