Function at 0x464a8b
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.00402e17
lea ecx, [edi + 0xbc]
call fcn.00402e17
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 0x464aca
push dword [ebp + 8]
mov ecx, esi
call fcn.0040be6d
lea eax, [edi + 0x24]
cmp eax, dword [ebp + 0xc]
je 0x464adc
push dword [ebp + 0xc]
mov ecx, eax
call fcn.0040be6d
lea ecx, [edi + 0x8c]
push 0x49dcd0
call fcn.004084b7
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.0040bf07
lea ecx, [esp + 0x20]
call fcn.0040bf07
lea ecx, [esp + 0x40]
call fcn.0040bf07
mov eax, dword [edi + 0x10]
test eax, eax
jns 0x464b3f
push eax
call fcn.00429354
pop ecx
mov dword [edi + 0x10], eax
mov byte [edi + 0xc], 0
cmp eax, 4
jne 0x464b4d
push esi
call fcn.004646e0
mov dword [edi + 0x10], ebx
xor eax, eax
cmp dword [edi + 0x18], eax
jne 0x464b81
cmp dword [edi + 0x28], eax
jne 0x464b81
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
mov ecx, edi
call fcn.0046424f
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.00464a0c
jmp 0x4651bd
push eax
mov ecx, esi
call fcn.0040627c
cmp word [eax], 0x5b
jne 0x4650ff
mov eax, dword [edi + 0x18]
mov ecx, esi
dec eax
push eax
call fcn.0040627c
cmp word [eax], 0x5d
jne 0x4650ff
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.0046489f
add esp, 0xc
test al, al
je 0x4650ff
push str.LAST
call fcn.00424cf3
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 0x464c32
mov edx, ebx
mov ebx, str.LAST
mov eax, ebx
test edx, edx
je 0x464c20
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464d19
add eax, 2
sub edx, 1
jne 0x464c08
xor eax, eax
test eax, eax
je 0x465066
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
push str.ACTIVE
call fcn.00424cf3
pop ecx
cmp ebx, eax
jne 0x464c78
mov edx, ebx
mov ebx, str.ACTIVE
mov eax, ebx
test edx, edx
je 0x464c6a
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464d24
add eax, 2
sub edx, 1
jne 0x464c52
xor eax, eax
test eax, eax
je 0x46508d
mov ebx, dword [esp + 0x18]
mov esi, 0x4c6d00
push esi
call fcn.00424cf3
pop ecx
cmp ebx, eax
jne 0x464cbc
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464cae
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464d2f
add eax, 2
sub edx, 1
jne 0x464c96
xor eax, eax
test eax, eax
je 0x4650a8
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPTITLE
push esi
call fcn.00424cf3
pop ecx
cmp ebx, eax
jne 0x464d48
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464cee
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464d3a
add eax, 2
sub edx, 1
jne 0x464cda
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x464d44
mov eax, dword [edi + 8]
test al, 1
jne 0x4650eb
or eax, 2
lea ecx, [edi + 0x34]
mov dword [edi + 8], eax
call fcn.004082ca
push ecx
lea ecx, [edi + 0x34]
jmp 0x464e08
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464c22
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464c6c
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464cb0
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x464cf3
mov ebx, dword [esp + 0x18]
mov esi, str.CLASS
push esi
call fcn.00424cf3
pop ecx
cmp ebx, eax
jne 0x464dbd
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464d7a
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464db1
add eax, 2
sub edx, 1
jne 0x464d66
xor eax, eax
test eax, eax
jne 0x464db9
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 0x464bb7
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.0040be6d
jmp 0x46504f
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464d7c
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPCLASS
push esi
call fcn.00424cf3
pop ecx
cmp ebx, eax
jne 0x464e2d
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464def
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464e1f
add eax, 2
sub edx, 1
jne 0x464ddb
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x464e29
or dword [edi + 8], 0x10
lea ecx, [edi + 0x60]
call fcn.004082ca
push ecx
lea ecx, [edi + 0x60]
lea eax, [esp + 0x24]
push eax
call fcn.004081a8
test eax, eax
jne 0x4651bd
jmp 0x46504f
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x464df4
mov ebx, dword [esp + 0x18]
mov esi, str.XYWH
push esi
call fcn.00424cf3
pop ecx
cmp ebx, eax
jne 0x464e8d
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464e5f
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464e81
add eax, 2
sub edx, 1
jne 0x464e4b
xor eax, eax
test eax, eax
jne 0x464e89
push dword [esp + 0x20]
or dword [edi + 8], 0x80
call fcn.00426661
pop ecx
mov dword [edi + 0xa4], eax
jmp 0x46504f
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464e61
mov ebx, dword [esp + 0x18]
mov esi, 0x4c6bf0
push esi
call fcn.00424cf3
pop ecx
cmp ebx, eax
jne 0x464eed
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464ebf
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464ee1
add eax, 2
sub edx, 1
jne 0x464eab
xor eax, eax
test eax, eax
jne 0x464ee9
push dword [esp + 0x20]
or dword [edi + 8], 0x100
call fcn.00426661
pop ecx
mov dword [edi + 0xa8], eax
jmp 0x46504f
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464ec1
mov ebx, dword [esp + 0x18]
mov esi, 0x4c6bf4
push esi
call fcn.00424cf3
pop ecx
cmp ebx, eax
jne 0x464f4d
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464f1f
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464f41
add eax, 2
sub edx, 1
jne 0x464f0b
xor eax, eax
test eax, eax
jne 0x464f49
push dword [esp + 0x20]
or dword [edi + 8], 0x200
call fcn.00426661
pop ecx
mov dword [edi + 0xac], eax
jmp 0x46504f
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464f21
mov ebx, dword [esp + 0x18]
mov edx, 0x4c6bf8
lea ecx, [esp + 0x30]
call fcn.0041fd60
test al, al
je 0x464f7b
push dword [esp + 0x20]
or dword [edi + 8], 0x400
call fcn.00426661
pop ecx
mov dword [edi + 0xb0], eax
jmp 0x46504f
mov edx, str.INSTANCE
lea ecx, [esp + 0x30]
call fcn.0041fd60
test al, al
je 0x464fa6
push dword [esp + 0x20]
or dword [edi + 8], 0x20
call fcn.00426661
pop ecx
mov dword [edi + 0x9c], eax
jmp 0x46504f
mov edx, 0x4c6ce8
lea ecx, [esp + 0x30]
call fcn.0041fd60
test al, al
je 0x464fd4
mov edx, 0x49dcd0
lea ecx, [esp + 0x20]
call fcn.0041fd60
test al, al
je 0x4650f7
or dword [edi + 8], 0x40
jmp 0x46504f
mov edx, str.TITLE
lea ecx, [esp + 0x30]
call fcn.0041fd60
test al, al
je 0x465009
mov eax, dword [edi + 8]
test al, 2
jne 0x4650ef
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.0040be6d
jmp 0x465052
mov esi, 0x49dcd0
push esi
call fcn.00424cf3
pop ecx
cmp ebx, eax
jne 0x4650f7
mov eax, esi
test ebx, ebx
je 0x465045
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 0x46505e
mov ecx, dword [esp + 0x14]
add eax, 2
sub ebx, 1
jne 0x46502d
xor eax, eax
test eax, eax
jne 0x4650f7
xor ebx, ebx
inc ebx
mov ecx, dword [esp + 0x10]
lea esi, [edi + 0x14]
jmp 0x464bb7
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x465047
mov edx, 0x49dcd0
lea ecx, [esp + 0x20]
call fcn.0041fd60
test al, al
je 0x4650f7
mov eax, dword [edi]
push dword [eax]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4650ce
xor ebx, ebx
jmp 0x4651bd
mov edx, 0x49dcd0
lea ecx, [esp + 0x20]
call fcn.0041fd60
test al, al
je 0x4650f7
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
jmp 0x4650c7
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x18]
call fcn.0046f73c
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x465086
push dword [esp + 0x18]
mov ecx, edi
call fcn.0046424f
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.00464a0c
xor ebx, ebx
inc ebx
jmp 0x4651bd
push 0xfffffffffffffffd
jmp 0x4650f1
push 0xfffffffffffffffc
pop ebx
jmp 0x4651bd
or ebx, 0xffffffff
jmp 0x4651bd
cmp dword [esp + 0x44], 0
je 0x465116
lea eax, [esp + 0x40]
cmp esi, eax
je 0x465116
push eax
mov ecx, esi
call fcn.0040be6d
mov eax, dword [edi + 8]
test eax, eax
jne 0x46511f
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 0x465144
lea ecx, [edi + 0x24]
call fcn.0040c269
push dword [edi + 0x28]
push dword [edi + 0x24]
call esi
mov eax, dword [edi + 8]
test al, 1
je 0x46515e
cmp byte [edi + 0xc], 0
jne 0x46515e
lea ecx, [edi + 0x14]
call fcn.0040c269
push dword [edi + 0x18]
push dword [edi + 0x14]
call esi
cmp byte [ebp + 0x18], 0
push edi
push 0x4651e3
je 0x465179
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnumChildWindows]
jmp 0x46517f
call dword [sym.imp.USER32.dll_EnumWindows]
mov esi, dword [ebp + 0x10]
lea eax, [edi + 0xbc]
push eax
mov ecx, esi
call fcn.00464621
lea ecx, [edi + 0xbc]
call fcn.00402e17
mov eax, dword [edi + 0xb4]
cmp eax, ebx
jl 0x4651bb
mov eax, dword [esi + 4]
mov ecx, edi
mov eax, dword [eax]
push dword [eax]
call fcn.0046424f
mov ebx, dword [edi + 0xb4]
jmp 0x4651bd
mov ebx, eax
lea ecx, [esp + 0x40]
call fcn.0040bd2c
lea ecx, [esp + 0x20]
call fcn.0040bd2c
lea ecx, [esp + 0x30]
call fcn.0040bd2c
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c