Function at 0x4648e7
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.004042f6
lea ecx, [edi + 0xd4]
call fcn.004042f6
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 0x464926
push dword [ebp + 8]
mov ecx, esi
call fcn.0040ad69
lea eax, [edi + 0x24]
cmp eax, dword [ebp + 0xc]
je 0x464938
push dword [ebp + 0xc]
mov ecx, eax
call fcn.0040ad69
lea ecx, [edi + 0xa4]
push 0x49dc1c
call fcn.00407467
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.0040ae03
lea ecx, [esp + 0x20]
call fcn.0040ae03
lea ecx, [esp + 0x40]
call fcn.0040ae03
mov eax, dword [edi + 0x10]
test eax, eax
jns 0x46499b
push eax
call fcn.00429314
pop ecx
mov dword [edi + 0x10], eax
mov byte [edi + 0xc], 0
cmp eax, 4
jne 0x4649a9
push esi
call fcn.0046453c
mov dword [edi + 0x10], ebx
xor eax, eax
cmp dword [edi + 0x18], eax
jne 0x4649dd
cmp dword [edi + 0x28], eax
jne 0x4649dd
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
mov ecx, edi
call fcn.004640ab
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.00464868
jmp 0x465019
push eax
mov ecx, esi
call fcn.004053e8
cmp word [eax], 0x5b
jne 0x464f5b
mov eax, dword [edi + 0x18]
mov ecx, esi
dec eax
push eax
call fcn.004053e8
cmp word [eax], 0x5d
jne 0x464f5b
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.004646fb
add esp, 0xc
test al, al
je 0x464f5b
push str.LAST
call fcn.00424cb3
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 0x464a8e
mov edx, ebx
mov ebx, str.LAST
mov eax, ebx
test edx, edx
je 0x464a7c
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464b75
add eax, 2
sub edx, 1
jne 0x464a64
xor eax, eax
test eax, eax
je 0x464ec2
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
push str.ACTIVE
call fcn.00424cb3
pop ecx
cmp ebx, eax
jne 0x464ad4
mov edx, ebx
mov ebx, str.ACTIVE
mov eax, ebx
test edx, edx
je 0x464ac6
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464b80
add eax, 2
sub edx, 1
jne 0x464aae
xor eax, eax
test eax, eax
je 0x464ee9
mov ebx, dword [esp + 0x18]
mov esi, 0x4c6d10
push esi
call fcn.00424cb3
pop ecx
cmp ebx, eax
jne 0x464b18
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464b0a
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464b8b
add eax, 2
sub edx, 1
jne 0x464af2
xor eax, eax
test eax, eax
je 0x464f04
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPTITLE
push esi
call fcn.00424cb3
pop ecx
cmp ebx, eax
jne 0x464ba4
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464b4a
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464b96
add eax, 2
sub edx, 1
jne 0x464b36
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x464ba0
mov eax, dword [edi + 8]
test al, 1
jne 0x464f47
or eax, 2
lea ecx, [edi + 0x34]
mov dword [edi + 8], eax
call fcn.0040728a
push ecx
lea ecx, [edi + 0x34]
jmp 0x464c64
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464a7e
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464ac8
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464b0c
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x464b4f
mov ebx, dword [esp + 0x18]
mov esi, str.CLASS
push esi
call fcn.00424cb3
pop ecx
cmp ebx, eax
jne 0x464c19
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464bd6
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464c0d
add eax, 2
sub edx, 1
jne 0x464bc2
xor eax, eax
test eax, eax
jne 0x464c15
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 0x464a13
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.0040ad69
jmp 0x464eab
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464bd8
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPCLASS
push esi
call fcn.00424cb3
pop ecx
cmp ebx, eax
jne 0x464c89
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464c4b
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464c7b
add eax, 2
sub edx, 1
jne 0x464c37
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x464c85
or dword [edi + 8], 0x10
lea ecx, [edi + 0x6c]
call fcn.0040728a
push ecx
lea ecx, [edi + 0x6c]
lea eax, [esp + 0x24]
push eax
call fcn.00407168
test eax, eax
jne 0x465019
jmp 0x464eab
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x464c50
mov ebx, dword [esp + 0x18]
mov esi, str.XYWH
push esi
call fcn.00424cb3
pop ecx
cmp ebx, eax
jne 0x464ce9
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464cbb
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464cdd
add eax, 2
sub edx, 1
jne 0x464ca7
xor eax, eax
test eax, eax
jne 0x464ce5
push dword [esp + 0x20]
or dword [edi + 8], 0x80
call fcn.00426621
pop ecx
mov dword [edi + 0xbc], eax
jmp 0x464eab
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464cbd
mov ebx, dword [esp + 0x18]
mov esi, 0x4c6c00
push esi
call fcn.00424cb3
pop ecx
cmp ebx, eax
jne 0x464d49
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464d1b
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464d3d
add eax, 2
sub edx, 1
jne 0x464d07
xor eax, eax
test eax, eax
jne 0x464d45
push dword [esp + 0x20]
or dword [edi + 8], 0x100
call fcn.00426621
pop ecx
mov dword [edi + 0xc0], eax
jmp 0x464eab
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464d1d
mov ebx, dword [esp + 0x18]
mov esi, 0x4c6c04
push esi
call fcn.00424cb3
pop ecx
cmp ebx, eax
jne 0x464da9
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464d7b
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464d9d
add eax, 2
sub edx, 1
jne 0x464d67
xor eax, eax
test eax, eax
jne 0x464da5
push dword [esp + 0x20]
or dword [edi + 8], 0x200
call fcn.00426621
pop ecx
mov dword [edi + 0xc4], eax
jmp 0x464eab
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464d7d
mov ebx, dword [esp + 0x18]
mov edx, 0x4c6c08
lea ecx, [esp + 0x30]
call fcn.0041fd18
test al, al
je 0x464dd7
push dword [esp + 0x20]
or dword [edi + 8], 0x400
call fcn.00426621
pop ecx
mov dword [edi + 0xc8], eax
jmp 0x464eab
mov edx, str.INSTANCE
lea ecx, [esp + 0x30]
call fcn.0041fd18
test al, al
je 0x464e02
push dword [esp + 0x20]
or dword [edi + 8], 0x20
call fcn.00426621
pop ecx
mov dword [edi + 0xb4], eax
jmp 0x464eab
mov edx, 0x4c6cf8
lea ecx, [esp + 0x30]
call fcn.0041fd18
test al, al
je 0x464e30
mov edx, 0x49dc1c
lea ecx, [esp + 0x20]
call fcn.0041fd18
test al, al
je 0x464f53
or dword [edi + 8], 0x40
jmp 0x464eab
mov edx, str.TITLE
lea ecx, [esp + 0x30]
call fcn.0041fd18
test al, al
je 0x464e65
mov eax, dword [edi + 8]
test al, 2
jne 0x464f4b
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.0040ad69
jmp 0x464eae
mov esi, 0x49dc1c
push esi
call fcn.00424cb3
pop ecx
cmp ebx, eax
jne 0x464f53
mov eax, esi
test ebx, ebx
je 0x464ea1
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 0x464eba
mov ecx, dword [esp + 0x14]
add eax, 2
sub ebx, 1
jne 0x464e89
xor eax, eax
test eax, eax
jne 0x464f53
xor ebx, ebx
inc ebx
mov ecx, dword [esp + 0x10]
lea esi, [edi + 0x14]
jmp 0x464a13
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464ea3
mov edx, 0x49dc1c
lea ecx, [esp + 0x20]
call fcn.0041fd18
test al, al
je 0x464f53
mov eax, dword [edi]
push dword [eax]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x464f2a
xor ebx, ebx
jmp 0x465019
mov edx, 0x49dc1c
lea ecx, [esp + 0x20]
call fcn.0041fd18
test al, al
je 0x464f53
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
jmp 0x464f23
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x18]
call fcn.0046f551
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x464ee2
push dword [esp + 0x18]
mov ecx, edi
call fcn.004640ab
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.00464868
xor ebx, ebx
inc ebx
jmp 0x465019
push 0xfffffffffffffffd
jmp 0x464f4d
push 0xfffffffffffffffc
pop ebx
jmp 0x465019
or ebx, 0xffffffff
jmp 0x465019
cmp dword [esp + 0x44], 0
je 0x464f72
lea eax, [esp + 0x40]
cmp esi, eax
je 0x464f72
push eax
mov ecx, esi
call fcn.0040ad69
mov eax, dword [edi + 8]
test eax, eax
jne 0x464f7b
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 0x464fa0
lea ecx, [edi + 0x24]
call fcn.0040b159
push dword [edi + 0x28]
push dword [edi + 0x24]
call esi
mov eax, dword [edi + 8]
test al, 1
je 0x464fba
cmp byte [edi + 0xc], 0
jne 0x464fba
lea ecx, [edi + 0x14]
call fcn.0040b159
push dword [edi + 0x18]
push dword [edi + 0x14]
call esi
cmp byte [ebp + 0x18], 0
push edi
push 0x46503f
je 0x464fd5
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnumChildWindows]
jmp 0x464fdb
call dword [sym.imp.USER32.dll_EnumWindows]
mov esi, dword [ebp + 0x10]
lea eax, [edi + 0xd4]
push eax
mov ecx, esi
call fcn.0046447d
lea ecx, [edi + 0xd4]
call fcn.004042f6
mov eax, dword [edi + 0xcc]
cmp eax, ebx
jl 0x465017
mov eax, dword [esi + 4]
mov ecx, edi
mov eax, dword [eax]
push dword [eax]
call fcn.004640ab
mov ebx, dword [edi + 0xcc]
jmp 0x465019
mov ebx, eax
lea ecx, [esp + 0x40]
call fcn.0040ac28
lea ecx, [esp + 0x20]
call fcn.0040ac28
lea ecx, [esp + 0x30]
call fcn.0040ac28
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c