Function at 0x4641de
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.004030ee
lea ecx, [edi + 0xd4]
call fcn.004030ee
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 0x46421d
push dword [ebp + 8]
mov ecx, esi
call fcn.0040c203
lea eax, [edi + 0x24]
cmp eax, dword [ebp + 0xc]
je 0x46422f
push dword [ebp + 0xc]
mov ecx, eax
call fcn.0040c203
lea ecx, [edi + 0xa4]
push 0x49d0d0
call fcn.00408507
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 + 0xb4], ebx
mov byte [edi + 0xc], bl
mov dword [edi + 8], eax
mov dword [edi + 0xb8], eax
mov dword [edi + 0xcc], eax
call fcn.0040c29d
lea ecx, [esp + 0x20]
call fcn.0040c29d
lea ecx, [esp + 0x40]
call fcn.0040c29d
mov eax, dword [edi + 0x10]
test eax, eax
jns 0x464292
push eax
call fcn.00429074
pop ecx
mov dword [edi + 0x10], eax
mov byte [edi + 0xc], 0
cmp eax, 4
jne 0x4642a0
push esi
call fcn.00463e33
mov dword [edi + 0x10], ebx
xor eax, eax
cmp dword [edi + 0x18], eax
jne 0x4642d4
cmp dword [edi + 0x28], eax
jne 0x4642d4
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
mov ecx, edi
call fcn.004639a2
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.0046415f
jmp 0x464910
push eax
mov ecx, esi
call fcn.00406635
cmp word [eax], 0x5b
jne 0x464852
mov eax, dword [edi + 0x18]
mov ecx, esi
dec eax
push eax
call fcn.00406635
cmp word [eax], 0x5d
jne 0x464852
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.00463ff2
add esp, 0xc
test al, al
je 0x464852
push str.LAST
call fcn.00424a13
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 0x464385
mov edx, ebx
mov ebx, str.LAST
mov eax, ebx
test edx, edx
je 0x464373
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x46446c
add eax, 2
sub edx, 1
jne 0x46435b
xor eax, eax
test eax, eax
je 0x4647b9
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
push str.ACTIVE
call fcn.00424a13
pop ecx
cmp ebx, eax
jne 0x4643cb
mov edx, ebx
mov ebx, str.ACTIVE
mov eax, ebx
test edx, edx
je 0x4643bd
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464477
add eax, 2
sub edx, 1
jne 0x4643a5
xor eax, eax
test eax, eax
je 0x4647e0
mov ebx, dword [esp + 0x18]
mov esi, 0x4c5d20
push esi
call fcn.00424a13
pop ecx
cmp ebx, eax
jne 0x46440f
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464401
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464482
add eax, 2
sub edx, 1
jne 0x4643e9
xor eax, eax
test eax, eax
je 0x4647fb
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPTITLE
push esi
call fcn.00424a13
pop ecx
cmp ebx, eax
jne 0x46449b
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464441
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x46448d
add eax, 2
sub edx, 1
jne 0x46442d
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x464497
mov eax, dword [edi + 8]
test al, 1
jne 0x46483e
or eax, 2
lea ecx, [edi + 0x34]
mov dword [edi + 8], eax
call fcn.0040832a
push ecx
lea ecx, [edi + 0x34]
jmp 0x46455b
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464375
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4643bf
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464403
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x464446
mov ebx, dword [esp + 0x18]
mov esi, str.CLASS
push esi
call fcn.00424a13
pop ecx
cmp ebx, eax
jne 0x464510
mov edx, ebx
mov eax, esi
test edx, edx
je 0x4644cd
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464504
add eax, 2
sub edx, 1
jne 0x4644b9
xor eax, eax
test eax, eax
jne 0x46450c
or dword [edi + 8], 8
lea ecx, [esp + 0x20]
lea eax, [edi + 0xa4]
push 1
cmp eax, ecx
lea esi, [edi + 0x14]
mov ecx, dword [esp + 0x14]
pop ebx
je 0x46430a
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.0040c203
jmp 0x4647a2
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4644cf
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPCLASS
push esi
call fcn.00424a13
pop ecx
cmp ebx, eax
jne 0x464580
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464542
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464572
add eax, 2
sub edx, 1
jne 0x46452e
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x46457c
or dword [edi + 8], 0x10
lea ecx, [edi + 0x6c]
call fcn.0040832a
push ecx
lea ecx, [edi + 0x6c]
lea eax, [esp + 0x24]
push eax
call fcn.00408208
test eax, eax
jne 0x464910
jmp 0x4647a2
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x464547
mov ebx, dword [esp + 0x18]
mov esi, str.XYWH
push esi
call fcn.00424a13
pop ecx
cmp ebx, eax
jne 0x4645e0
mov edx, ebx
mov eax, esi
test edx, edx
je 0x4645b2
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x4645d4
add eax, 2
sub edx, 1
jne 0x46459e
xor eax, eax
test eax, eax
jne 0x4645dc
push dword [esp + 0x20]
or dword [edi + 8], 0x80
call fcn.00426381
pop ecx
mov dword [edi + 0xbc], eax
jmp 0x4647a2
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4645b4
mov ebx, dword [esp + 0x18]
mov esi, 0x4c5c10
push esi
call fcn.00424a13
pop ecx
cmp ebx, eax
jne 0x464640
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464612
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464634
add eax, 2
sub edx, 1
jne 0x4645fe
xor eax, eax
test eax, eax
jne 0x46463c
push dword [esp + 0x20]
or dword [edi + 8], 0x100
call fcn.00426381
pop ecx
mov dword [edi + 0xc0], eax
jmp 0x4647a2
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464614
mov ebx, dword [esp + 0x18]
mov esi, 0x4c5c14
push esi
call fcn.00424a13
pop ecx
cmp ebx, eax
jne 0x4646a0
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464672
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464694
add eax, 2
sub edx, 1
jne 0x46465e
xor eax, eax
test eax, eax
jne 0x46469c
push dword [esp + 0x20]
or dword [edi + 8], 0x200
call fcn.00426381
pop ecx
mov dword [edi + 0xc4], eax
jmp 0x4647a2
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464674
mov ebx, dword [esp + 0x18]
mov edx, 0x4c5c18
lea ecx, [esp + 0x30]
call fcn.0040354f
test al, al
je 0x4646ce
push dword [esp + 0x20]
or dword [edi + 8], 0x400
call fcn.00426381
pop ecx
mov dword [edi + 0xc8], eax
jmp 0x4647a2
mov edx, str.INSTANCE
lea ecx, [esp + 0x30]
call fcn.0040354f
test al, al
je 0x4646f9
push dword [esp + 0x20]
or dword [edi + 8], 0x20
call fcn.00426381
pop ecx
mov dword [edi + 0xb4], eax
jmp 0x4647a2
mov edx, 0x4c5d08
lea ecx, [esp + 0x30]
call fcn.0040354f
test al, al
je 0x464727
mov edx, 0x49d0d0
lea ecx, [esp + 0x20]
call fcn.0040354f
test al, al
je 0x46484a
or dword [edi + 8], 0x40
jmp 0x4647a2
mov edx, str.TITLE
lea ecx, [esp + 0x30]
call fcn.0040354f
test al, al
je 0x46475c
mov eax, dword [edi + 8]
test al, 2
jne 0x464842
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.0040c203
jmp 0x4647a5
mov esi, 0x49d0d0
push esi
call fcn.00424a13
pop ecx
cmp ebx, eax
jne 0x46484a
mov eax, esi
test ebx, ebx
je 0x464798
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 0x4647b1
mov ecx, dword [esp + 0x14]
add eax, 2
sub ebx, 1
jne 0x464780
xor eax, eax
test eax, eax
jne 0x46484a
xor ebx, ebx
inc ebx
mov ecx, dword [esp + 0x10]
lea esi, [edi + 0x14]
jmp 0x46430a
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x46479a
mov edx, 0x49d0d0
lea ecx, [esp + 0x20]
call fcn.0040354f
test al, al
je 0x46484a
mov eax, dword [edi]
push dword [eax]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x464821
xor ebx, ebx
jmp 0x464910
mov edx, 0x49d0d0
lea ecx, [esp + 0x20]
call fcn.0040354f
test al, al
je 0x46484a
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
jmp 0x46481a
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x18]
call fcn.0046ed8f
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4647d9
push dword [esp + 0x18]
mov ecx, edi
call fcn.004639a2
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.0046415f
xor ebx, ebx
inc ebx
jmp 0x464910
push 0xfffffffffffffffd
jmp 0x464844
push 0xfffffffffffffffc
pop ebx
jmp 0x464910
or ebx, 0xffffffff
jmp 0x464910
cmp dword [esp + 0x44], 0
je 0x464869
lea eax, [esp + 0x40]
cmp esi, eax
je 0x464869
push eax
mov ecx, esi
call fcn.0040c203
mov eax, dword [edi + 8]
test eax, eax
jne 0x464872
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 0x464897
lea ecx, [edi + 0x24]
call fcn.0040c809
push dword [edi + 0x28]
push dword [edi + 0x24]
call esi
mov eax, dword [edi + 8]
test al, 1
je 0x4648b1
cmp byte [edi + 0xc], 0
jne 0x4648b1
lea ecx, [edi + 0x14]
call fcn.0040c809
push dword [edi + 0x18]
push dword [edi + 0x14]
call esi
cmp byte [ebp + 0x18], 0
push edi
push 0x464936
je 0x4648cc
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnumChildWindows]
jmp 0x4648d2
call dword [sym.imp.USER32.dll_EnumWindows]
mov esi, dword [ebp + 0x10]
lea eax, [edi + 0xd4]
push eax
mov ecx, esi
call fcn.00463d74
lea ecx, [edi + 0xd4]
call fcn.004030ee
mov eax, dword [edi + 0xcc]
cmp eax, ebx
jl 0x46490e
mov eax, dword [esi + 4]
mov ecx, edi
mov eax, dword [eax]
push dword [eax]
call fcn.004639a2
mov ebx, dword [edi + 0xcc]
jmp 0x464910
mov ebx, eax
lea ecx, [esp + 0x40]
call fcn.0040b276
lea ecx, [esp + 0x20]
call fcn.0040b276
lea ecx, [esp + 0x30]
call fcn.0040b276
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c