Function at 0x464144
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.004030e0
lea ecx, [edi + 0xbc]
call fcn.004030e0
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 0x464183
push dword [ebp + 8]
mov ecx, esi
call fcn.0040c1c3
lea eax, [edi + 0x24]
cmp eax, dword [ebp + 0xc]
je 0x464195
push dword [ebp + 0xc]
mov ecx, eax
call fcn.0040c1c3
lea ecx, [edi + 0x8c]
push 0x49d0d0
call fcn.004084e7
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.0040c25d
lea ecx, [esp + 0x20]
call fcn.0040c25d
lea ecx, [esp + 0x40]
call fcn.0040c25d
mov eax, dword [edi + 0x10]
test eax, eax
jns 0x4641f8
push eax
call fcn.00428f54
pop ecx
mov dword [edi + 0x10], eax
mov byte [edi + 0xc], 0
cmp eax, 4
jne 0x464206
push esi
call fcn.00463d99
mov dword [edi + 0x10], ebx
xor eax, eax
cmp dword [edi + 0x18], eax
jne 0x46423a
cmp dword [edi + 0x28], eax
jne 0x46423a
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
mov ecx, edi
call fcn.00463908
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.004640c5
jmp 0x464876
push eax
mov ecx, esi
call fcn.0040660f
cmp word [eax], 0x5b
jne 0x4647b8
mov eax, dword [edi + 0x18]
mov ecx, esi
dec eax
push eax
call fcn.0040660f
cmp word [eax], 0x5d
jne 0x4647b8
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.00463f58
add esp, 0xc
test al, al
je 0x4647b8
push str.LAST
call fcn.004248f3
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 0x4642eb
mov edx, ebx
mov ebx, str.LAST
mov eax, ebx
test edx, edx
je 0x4642d9
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x4643d2
add eax, 2
sub edx, 1
jne 0x4642c1
xor eax, eax
test eax, eax
je 0x46471f
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
push str.ACTIVE
call fcn.004248f3
pop ecx
cmp ebx, eax
jne 0x464331
mov edx, ebx
mov ebx, str.ACTIVE
mov eax, ebx
test edx, edx
je 0x464323
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x4643dd
add eax, 2
sub edx, 1
jne 0x46430b
xor eax, eax
test eax, eax
je 0x464746
mov ebx, dword [esp + 0x18]
mov esi, 0x4c5d20
push esi
call fcn.004248f3
pop ecx
cmp ebx, eax
jne 0x464375
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464367
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x4643e8
add eax, 2
sub edx, 1
jne 0x46434f
xor eax, eax
test eax, eax
je 0x464761
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPTITLE
push esi
call fcn.004248f3
pop ecx
cmp ebx, eax
jne 0x464401
mov edx, ebx
mov eax, esi
test edx, edx
je 0x4643a7
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x4643f3
add eax, 2
sub edx, 1
jne 0x464393
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x4643fd
mov eax, dword [edi + 8]
test al, 1
jne 0x4647a4
or eax, 2
lea ecx, [edi + 0x34]
mov dword [edi + 8], eax
call fcn.004082a1
push ecx
lea ecx, [edi + 0x34]
jmp 0x4644c1
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4642db
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464325
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464369
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x4643ac
mov ebx, dword [esp + 0x18]
mov esi, str.CLASS
push esi
call fcn.004248f3
pop ecx
cmp ebx, eax
jne 0x464476
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464433
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x46446a
add eax, 2
sub edx, 1
jne 0x46441f
xor eax, eax
test eax, eax
jne 0x464472
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 0x464270
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.0040c1c3
jmp 0x464708
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464435
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPCLASS
push esi
call fcn.004248f3
pop ecx
cmp ebx, eax
jne 0x4644e6
mov edx, ebx
mov eax, esi
test edx, edx
je 0x4644a8
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x4644d8
add eax, 2
sub edx, 1
jne 0x464494
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x4644e2
or dword [edi + 8], 0x10
lea ecx, [edi + 0x60]
call fcn.004082a1
push ecx
lea ecx, [edi + 0x60]
lea eax, [esp + 0x24]
push eax
call fcn.0040817f
test eax, eax
jne 0x464876
jmp 0x464708
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x4644ad
mov ebx, dword [esp + 0x18]
mov esi, str.XYWH
push esi
call fcn.004248f3
pop ecx
cmp ebx, eax
jne 0x464546
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464518
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x46453a
add eax, 2
sub edx, 1
jne 0x464504
xor eax, eax
test eax, eax
jne 0x464542
push dword [esp + 0x20]
or dword [edi + 8], 0x80
call fcn.00426261
pop ecx
mov dword [edi + 0xa4], eax
jmp 0x464708
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x46451a
mov ebx, dword [esp + 0x18]
mov esi, 0x4c5c10
push esi
call fcn.004248f3
pop ecx
cmp ebx, eax
jne 0x4645a6
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464578
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x46459a
add eax, 2
sub edx, 1
jne 0x464564
xor eax, eax
test eax, eax
jne 0x4645a2
push dword [esp + 0x20]
or dword [edi + 8], 0x100
call fcn.00426261
pop ecx
mov dword [edi + 0xa8], eax
jmp 0x464708
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x46457a
mov ebx, dword [esp + 0x18]
mov esi, 0x4c5c14
push esi
call fcn.004248f3
pop ecx
cmp ebx, eax
jne 0x464606
mov edx, ebx
mov eax, esi
test edx, edx
je 0x4645d8
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x4645fa
add eax, 2
sub edx, 1
jne 0x4645c4
xor eax, eax
test eax, eax
jne 0x464602
push dword [esp + 0x20]
or dword [edi + 8], 0x200
call fcn.00426261
pop ecx
mov dword [edi + 0xac], eax
jmp 0x464708
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4645da
mov ebx, dword [esp + 0x18]
mov edx, 0x4c5c18
lea ecx, [esp + 0x30]
call fcn.00403536
test al, al
je 0x464634
push dword [esp + 0x20]
or dword [edi + 8], 0x400
call fcn.00426261
pop ecx
mov dword [edi + 0xb0], eax
jmp 0x464708
mov edx, str.INSTANCE
lea ecx, [esp + 0x30]
call fcn.00403536
test al, al
je 0x46465f
push dword [esp + 0x20]
or dword [edi + 8], 0x20
call fcn.00426261
pop ecx
mov dword [edi + 0x9c], eax
jmp 0x464708
mov edx, 0x4c5d08
lea ecx, [esp + 0x30]
call fcn.00403536
test al, al
je 0x46468d
mov edx, 0x49d0d0
lea ecx, [esp + 0x20]
call fcn.00403536
test al, al
je 0x4647b0
or dword [edi + 8], 0x40
jmp 0x464708
mov edx, str.TITLE
lea ecx, [esp + 0x30]
call fcn.00403536
test al, al
je 0x4646c2
mov eax, dword [edi + 8]
test al, 2
jne 0x4647a8
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.0040c1c3
jmp 0x46470b
mov esi, 0x49d0d0
push esi
call fcn.004248f3
pop ecx
cmp ebx, eax
jne 0x4647b0
mov eax, esi
test ebx, ebx
je 0x4646fe
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 0x464717
mov ecx, dword [esp + 0x14]
add eax, 2
sub ebx, 1
jne 0x4646e6
xor eax, eax
test eax, eax
jne 0x4647b0
xor ebx, ebx
inc ebx
mov ecx, dword [esp + 0x10]
lea esi, [edi + 0x14]
jmp 0x464270
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464700
mov edx, 0x49d0d0
lea ecx, [esp + 0x20]
call fcn.00403536
test al, al
je 0x4647b0
mov eax, dword [edi]
push dword [eax]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x464787
xor ebx, ebx
jmp 0x464876
mov edx, 0x49d0d0
lea ecx, [esp + 0x20]
call fcn.00403536
test al, al
je 0x4647b0
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
jmp 0x464780
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x18]
call fcn.0046ee2e
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x46473f
push dword [esp + 0x18]
mov ecx, edi
call fcn.00463908
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.004640c5
xor ebx, ebx
inc ebx
jmp 0x464876
push 0xfffffffffffffffd
jmp 0x4647aa
push 0xfffffffffffffffc
pop ebx
jmp 0x464876
or ebx, 0xffffffff
jmp 0x464876
cmp dword [esp + 0x44], 0
je 0x4647cf
lea eax, [esp + 0x40]
cmp esi, eax
je 0x4647cf
push eax
mov ecx, esi
call fcn.0040c1c3
mov eax, dword [edi + 8]
test eax, eax
jne 0x4647d8
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 0x4647fd
lea ecx, [edi + 0x24]
call fcn.0040c7c9
push dword [edi + 0x28]
push dword [edi + 0x24]
call esi
mov eax, dword [edi + 8]
test al, 1
je 0x464817
cmp byte [edi + 0xc], 0
jne 0x464817
lea ecx, [edi + 0x14]
call fcn.0040c7c9
push dword [edi + 0x18]
push dword [edi + 0x14]
call esi
cmp byte [ebp + 0x18], 0
push edi
push 0x46489c
je 0x464832
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnumChildWindows]
jmp 0x464838
call dword [sym.imp.USER32.dll_EnumWindows]
mov esi, dword [ebp + 0x10]
lea eax, [edi + 0xbc]
push eax
mov ecx, esi
call fcn.00463cda
lea ecx, [edi + 0xbc]
call fcn.004030e0
mov eax, dword [edi + 0xb4]
cmp eax, ebx
jl 0x464874
mov eax, dword [esi + 4]
mov ecx, edi
mov eax, dword [eax]
push dword [eax]
call fcn.00463908
mov ebx, dword [edi + 0xb4]
jmp 0x464876
mov ebx, eax
lea ecx, [esp + 0x40]
call fcn.0040b1ff
lea ecx, [esp + 0x20]
call fcn.0040b1ff
lea ecx, [esp + 0x30]
call fcn.0040b1ff
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c