Function at 0x464277
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.004017e0
lea ecx, [edi + 0xd4]
call fcn.004017e0
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 0x4642b6
push dword [ebp + 8]
mov ecx, esi
call fcn.0040a6e5
lea eax, [edi + 0x24]
cmp eax, dword [ebp + 0xc]
je 0x4642c8
push dword [ebp + 0xc]
mov ecx, eax
call fcn.0040a6e5
lea ecx, [edi + 0xa4]
push 0x49cc04
call fcn.004067bd
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.0040a567
lea ecx, [esp + 0x20]
call fcn.0040a567
lea ecx, [esp + 0x40]
call fcn.0040a567
mov eax, dword [edi + 0x10]
test eax, eax
jns 0x46432b
push eax
call fcn.004290d4
pop ecx
mov dword [edi + 0x10], eax
mov byte [edi + 0xc], 0
cmp eax, 4
jne 0x464339
push esi
call fcn.00463ecc
mov dword [edi + 0x10], ebx
xor eax, eax
cmp dword [edi + 0x18], eax
jne 0x46436d
cmp dword [edi + 0x28], eax
jne 0x46436d
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
mov ecx, edi
call fcn.00463a3b
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.004641f8
jmp 0x4649a3
push eax
mov ecx, esi
call fcn.004048dc
cmp word [eax], 0x5b
jne 0x4648e5
mov eax, dword [edi + 0x18]
mov ecx, esi
dec eax
push eax
call fcn.004048dc
cmp word [eax], 0x5d
jne 0x4648e5
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.0046408b
add esp, 0xc
test al, al
je 0x4648e5
push str.LAST
call fcn.00424a73
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 0x46441e
mov edx, ebx
mov ebx, str.LAST
mov eax, ebx
test edx, edx
je 0x46440c
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464505
add eax, 2
sub edx, 1
jne 0x4643f4
xor eax, eax
test eax, eax
je 0x464852
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
push str.ACTIVE
call fcn.00424a73
pop ecx
cmp ebx, eax
jne 0x464464
mov edx, ebx
mov ebx, str.ACTIVE
mov eax, ebx
test edx, edx
je 0x464456
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464510
add eax, 2
sub edx, 1
jne 0x46443e
xor eax, eax
test eax, eax
je 0x464873
mov ebx, dword [esp + 0x18]
mov esi, 0x4c5d00
push esi
call fcn.00424a73
pop ecx
cmp ebx, eax
jne 0x4644a8
mov edx, ebx
mov eax, esi
test edx, edx
je 0x46449a
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x46451b
add eax, 2
sub edx, 1
jne 0x464482
xor eax, eax
test eax, eax
je 0x46488e
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPTITLE
push esi
call fcn.00424a73
pop ecx
cmp ebx, eax
jne 0x464534
mov edx, ebx
mov eax, esi
test edx, edx
je 0x4644da
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464526
add eax, 2
sub edx, 1
jne 0x4644c6
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x464530
mov eax, dword [edi + 8]
test al, 1
jne 0x4648d1
or eax, 2
lea ecx, [edi + 0x34]
mov dword [edi + 8], eax
call fcn.0040673a
push ecx
lea ecx, [edi + 0x34]
jmp 0x4645f4
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x46440e
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464458
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x46449c
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x4644df
mov ebx, dword [esp + 0x18]
mov esi, str.CLASS
push esi
call fcn.00424a73
pop ecx
cmp ebx, eax
jne 0x4645a9
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464566
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x46459d
add eax, 2
sub edx, 1
jne 0x464552
xor eax, eax
test eax, eax
jne 0x4645a5
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 0x4643a3
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.0040a6e5
jmp 0x46483b
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464568
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPCLASS
push esi
call fcn.00424a73
pop ecx
cmp ebx, eax
jne 0x464619
mov edx, ebx
mov eax, esi
test edx, edx
je 0x4645db
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x46460b
add eax, 2
sub edx, 1
jne 0x4645c7
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x464615
or dword [edi + 8], 0x10
lea ecx, [edi + 0x6c]
call fcn.0040673a
push ecx
lea ecx, [edi + 0x6c]
lea eax, [esp + 0x24]
push eax
call fcn.00406618
test eax, eax
jne 0x4649a3
jmp 0x46483b
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x4645e0
mov ebx, dword [esp + 0x18]
mov esi, str.XYWH
push esi
call fcn.00424a73
pop ecx
cmp ebx, eax
jne 0x464679
mov edx, ebx
mov eax, esi
test edx, edx
je 0x46464b
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x46466d
add eax, 2
sub edx, 1
jne 0x464637
xor eax, eax
test eax, eax
jne 0x464675
push dword [esp + 0x20]
or dword [edi + 8], 0x80
call fcn.004263e1
pop ecx
mov dword [edi + 0xbc], eax
jmp 0x46483b
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x46464d
mov ebx, dword [esp + 0x18]
mov esi, 0x4c5bf0
push esi
call fcn.00424a73
pop ecx
cmp ebx, eax
jne 0x4646d9
mov edx, ebx
mov eax, esi
test edx, edx
je 0x4646ab
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x4646cd
add eax, 2
sub edx, 1
jne 0x464697
xor eax, eax
test eax, eax
jne 0x4646d5
push dword [esp + 0x20]
or dword [edi + 8], 0x100
call fcn.004263e1
pop ecx
mov dword [edi + 0xc0], eax
jmp 0x46483b
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4646ad
mov ebx, dword [esp + 0x18]
mov esi, 0x4c5bf4
push esi
call fcn.00424a73
pop ecx
cmp ebx, eax
jne 0x464739
mov edx, ebx
mov eax, esi
test edx, edx
je 0x46470b
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x46472d
add eax, 2
sub edx, 1
jne 0x4646f7
xor eax, eax
test eax, eax
jne 0x464735
push dword [esp + 0x20]
or dword [edi + 8], 0x200
call fcn.004263e1
pop ecx
mov dword [edi + 0xc4], eax
jmp 0x46483b
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x46470d
mov ebx, dword [esp + 0x18]
mov edx, 0x4c5bf8
lea ecx, [esp + 0x30]
call fcn.0041a6a5
test al, al
je 0x464767
push dword [esp + 0x20]
or dword [edi + 8], 0x400
call fcn.004263e1
pop ecx
mov dword [edi + 0xc8], eax
jmp 0x46483b
mov edx, str.INSTANCE
lea ecx, [esp + 0x30]
call fcn.0041a6a5
test al, al
je 0x464792
push dword [esp + 0x20]
or dword [edi + 8], 0x20
call fcn.004263e1
pop ecx
mov dword [edi + 0xb4], eax
jmp 0x46483b
mov edx, 0x4c5ce8
lea ecx, [esp + 0x30]
call fcn.0041a6a5
test al, al
je 0x4647c0
mov edx, 0x49cc04
lea ecx, [esp + 0x20]
call fcn.0041a6a5
test al, al
je 0x4648dd
or dword [edi + 8], 0x40
jmp 0x46483b
mov edx, str.TITLE
lea ecx, [esp + 0x30]
call fcn.0041a6a5
test al, al
je 0x4647f5
mov eax, dword [edi + 8]
test al, 2
jne 0x4648d5
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.0040a6e5
jmp 0x46483e
mov esi, 0x49cc04
push esi
call fcn.00424a73
pop ecx
cmp ebx, eax
jne 0x4648dd
mov eax, esi
test ebx, ebx
je 0x464831
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 0x46484a
mov ecx, dword [esp + 0x14]
add eax, 2
sub ebx, 1
jne 0x464819
xor eax, eax
test eax, eax
jne 0x4648dd
xor ebx, ebx
inc ebx
mov ecx, dword [esp + 0x10]
lea esi, [edi + 0x14]
jmp 0x4643a3
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464833
mov edx, 0x49cc04
lea ecx, [esp + 0x20]
call fcn.0041a6a5
test al, al
je 0x4648dd
mov eax, dword [edi]
mov eax, dword [eax]
test eax, eax
jne 0x4648b8
xor ebx, ebx
jmp 0x4649a3
mov edx, 0x49cc04
lea ecx, [esp + 0x20]
call fcn.0041a6a5
test al, al
je 0x4648dd
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
jmp 0x4648ad
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x18]
call fcn.0046ee97
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x46486c
push dword [esp + 0x18]
mov ecx, edi
call fcn.00463a3b
mov eax, dword [edi]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
call fcn.004641f8
xor ebx, ebx
inc ebx
jmp 0x4649a3
push 0xfffffffffffffffd
jmp 0x4648d7
push 0xfffffffffffffffc
pop ebx
jmp 0x4649a3
or ebx, 0xffffffff
jmp 0x4649a3
cmp dword [esp + 0x44], 0
je 0x4648fc
lea eax, [esp + 0x40]
cmp esi, eax
je 0x4648fc
push eax
mov ecx, esi
call fcn.0040a6e5
mov eax, dword [edi + 8]
test eax, eax
jne 0x464905
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 0x46492a
lea ecx, [edi + 0x24]
call fcn.0040a219
push dword [edi + 0x28]
push dword [edi + 0x24]
call esi
mov eax, dword [edi + 8]
test al, 1
je 0x464944
cmp byte [edi + 0xc], 0
jne 0x464944
lea ecx, [edi + 0x14]
call fcn.0040a219
push dword [edi + 0x18]
push dword [edi + 0x14]
call esi
cmp byte [ebp + 0x18], 0
push edi
push 0x4649c9
je 0x46495f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnumChildWindows]
jmp 0x464965
call dword [sym.imp.USER32.dll_EnumWindows]
mov esi, dword [ebp + 0x10]
lea eax, [edi + 0xd4]
push eax
mov ecx, esi
call fcn.00463e0d
lea ecx, [edi + 0xd4]
call fcn.004017e0
mov eax, dword [edi + 0xcc]
cmp eax, ebx
jl 0x4649a1
mov eax, dword [esi + 4]
mov ecx, edi
mov eax, dword [eax]
push dword [eax]
call fcn.00463a3b
mov ebx, dword [edi + 0xcc]
jmp 0x4649a3
mov ebx, eax
lea ecx, [esp + 0x40]
call fcn.004092c6
lea ecx, [esp + 0x20]
call fcn.004092c6
lea ecx, [esp + 0x30]
call fcn.004092c6
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c