Function at 0x4642cc
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.004017d5
lea ecx, [edi + 0xbc]
call fcn.004017d5
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 0x46430b
push dword [ebp + 8]
mov ecx, esi
call fcn.0040a8d7
lea eax, [edi + 0x24]
cmp eax, dword [ebp + 0xc]
je 0x46431d
push dword [ebp + 0xc]
mov ecx, eax
call fcn.0040a8d7
lea ecx, [edi + 0x8c]
push 0x49cc08
call fcn.00406b67
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.0040a971
lea ecx, [esp + 0x20]
call fcn.0040a971
lea ecx, [esp + 0x40]
call fcn.0040a971
mov eax, dword [edi + 0x10]
test eax, eax
jns 0x464380
push eax
call fcn.00429014
pop ecx
mov dword [edi + 0x10], eax
mov byte [edi + 0xc], 0
cmp eax, 4
jne 0x46438e
push esi
call fcn.00463f21
mov dword [edi + 0x10], ebx
xor eax, eax
cmp dword [edi + 0x18], eax
jne 0x4643c2
cmp dword [edi + 0x28], eax
jne 0x4643c2
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
mov ecx, edi
call fcn.00463a90
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.0046424d
jmp 0x4649fe
push eax
mov ecx, esi
call fcn.00404c6d
cmp word [eax], 0x5b
jne 0x464940
mov eax, dword [edi + 0x18]
mov ecx, esi
dec eax
push eax
call fcn.00404c6d
cmp word [eax], 0x5d
jne 0x464940
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.004640e0
add esp, 0xc
test al, al
je 0x464940
push str.LAST
call fcn.004249b3
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 0x464473
mov edx, ebx
mov ebx, str.LAST
mov eax, ebx
test edx, edx
je 0x464461
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x46455a
add eax, 2
sub edx, 1
jne 0x464449
xor eax, eax
test eax, eax
je 0x4648a7
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
push str.ACTIVE
call fcn.004249b3
pop ecx
cmp ebx, eax
jne 0x4644b9
mov edx, ebx
mov ebx, str.ACTIVE
mov eax, ebx
test edx, edx
je 0x4644ab
mov ecx, esi
sub ecx, ebx
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464565
add eax, 2
sub edx, 1
jne 0x464493
xor eax, eax
test eax, eax
je 0x4648ce
mov ebx, dword [esp + 0x18]
mov esi, 0x4c5d00
push esi
call fcn.004249b3
pop ecx
cmp ebx, eax
jne 0x4644fd
mov edx, ebx
mov eax, esi
test edx, edx
je 0x4644ef
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464570
add eax, 2
sub edx, 1
jne 0x4644d7
xor eax, eax
test eax, eax
je 0x4648e9
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPTITLE
push esi
call fcn.004249b3
pop ecx
cmp ebx, eax
jne 0x464589
mov edx, ebx
mov eax, esi
test edx, edx
je 0x46452f
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x46457b
add eax, 2
sub edx, 1
jne 0x46451b
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x464585
mov eax, dword [edi + 8]
test al, 1
jne 0x46492c
or eax, 2
lea ecx, [edi + 0x34]
mov dword [edi + 8], eax
call fcn.0040697a
push ecx
lea ecx, [edi + 0x34]
jmp 0x464649
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464463
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4644ad
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4644f1
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x464534
mov ebx, dword [esp + 0x18]
mov esi, str.CLASS
push esi
call fcn.004249b3
pop ecx
cmp ebx, eax
jne 0x4645fe
mov edx, ebx
mov eax, esi
test edx, edx
je 0x4645bb
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x4645f2
add eax, 2
sub edx, 1
jne 0x4645a7
xor eax, eax
test eax, eax
jne 0x4645fa
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 0x4643f8
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.0040a8d7
jmp 0x464890
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4645bd
mov ebx, dword [esp + 0x18]
mov esi, str.REGEXPCLASS
push esi
call fcn.004249b3
pop ecx
cmp ebx, eax
jne 0x46466e
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464630
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464660
add eax, 2
sub edx, 1
jne 0x46461c
push 0xfffffffffffffffe
xor eax, eax
pop ebx
test eax, eax
jne 0x46466a
or dword [edi + 8], 0x10
lea ecx, [edi + 0x60]
call fcn.0040697a
push ecx
lea ecx, [edi + 0x60]
lea eax, [esp + 0x24]
push eax
call fcn.00406858
test eax, eax
jne 0x4649fe
jmp 0x464890
push 0xfffffffffffffffe
sbb eax, eax
pop ebx
and eax, ebx
inc eax
jmp 0x464635
mov ebx, dword [esp + 0x18]
mov esi, str.XYWH
push esi
call fcn.004249b3
pop ecx
cmp ebx, eax
jne 0x4646ce
mov edx, ebx
mov eax, esi
test edx, edx
je 0x4646a0
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x4646c2
add eax, 2
sub edx, 1
jne 0x46468c
xor eax, eax
test eax, eax
jne 0x4646ca
push dword [esp + 0x20]
or dword [edi + 8], 0x80
call fcn.00426321
pop ecx
mov dword [edi + 0xa4], eax
jmp 0x464890
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4646a2
mov ebx, dword [esp + 0x18]
mov esi, 0x4c5bf0
push esi
call fcn.004249b3
pop ecx
cmp ebx, eax
jne 0x46472e
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464700
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464722
add eax, 2
sub edx, 1
jne 0x4646ec
xor eax, eax
test eax, eax
jne 0x46472a
push dword [esp + 0x20]
or dword [edi + 8], 0x100
call fcn.00426321
pop ecx
mov dword [edi + 0xa8], eax
jmp 0x464890
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464702
mov ebx, dword [esp + 0x18]
mov esi, 0x4c5bf4
push esi
call fcn.004249b3
pop ecx
cmp ebx, eax
jne 0x46478e
mov edx, ebx
mov eax, esi
test edx, edx
je 0x464760
mov ecx, dword [esp + 0x14]
sub ecx, esi
movzx esi, word [ecx + eax]
movzx ebx, word [eax]
cmp si, bx
jne 0x464782
add eax, 2
sub edx, 1
jne 0x46474c
xor eax, eax
test eax, eax
jne 0x46478a
push dword [esp + 0x20]
or dword [edi + 8], 0x200
call fcn.00426321
pop ecx
mov dword [edi + 0xac], eax
jmp 0x464890
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464762
mov ebx, dword [esp + 0x18]
mov edx, 0x4c5bf8
lea ecx, [esp + 0x30]
call fcn.0041fa50
test al, al
je 0x4647bc
push dword [esp + 0x20]
or dword [edi + 8], 0x400
call fcn.00426321
pop ecx
mov dword [edi + 0xb0], eax
jmp 0x464890
mov edx, str.INSTANCE
lea ecx, [esp + 0x30]
call fcn.0041fa50
test al, al
je 0x4647e7
push dword [esp + 0x20]
or dword [edi + 8], 0x20
call fcn.00426321
pop ecx
mov dword [edi + 0x9c], eax
jmp 0x464890
mov edx, 0x4c5ce8
lea ecx, [esp + 0x30]
call fcn.0041fa50
test al, al
je 0x464815
mov edx, 0x49cc08
lea ecx, [esp + 0x20]
call fcn.0041fa50
test al, al
je 0x464938
or dword [edi + 8], 0x40
jmp 0x464890
mov edx, str.TITLE
lea ecx, [esp + 0x30]
call fcn.0041fa50
test al, al
je 0x46484a
mov eax, dword [edi + 8]
test al, 2
jne 0x464930
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.0040a8d7
jmp 0x464893
mov esi, 0x49cc08
push esi
call fcn.004249b3
pop ecx
cmp ebx, eax
jne 0x464938
mov eax, esi
test ebx, ebx
je 0x464886
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 0x46489f
mov ecx, dword [esp + 0x14]
add eax, 2
sub ebx, 1
jne 0x46486e
xor eax, eax
test eax, eax
jne 0x464938
xor ebx, ebx
inc ebx
mov ecx, dword [esp + 0x10]
lea esi, [edi + 0x14]
jmp 0x4643f8
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x464888
mov edx, 0x49cc08
lea ecx, [esp + 0x20]
call fcn.0041fa50
test al, al
je 0x464938
mov eax, dword [edi]
push dword [eax]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x46490f
xor ebx, ebx
jmp 0x4649fe
mov edx, 0x49cc08
lea ecx, [esp + 0x20]
call fcn.0041fa50
test al, al
je 0x464938
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
jmp 0x464908
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x18]
call fcn.0046efe0
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4648c7
push dword [esp + 0x18]
mov ecx, edi
call fcn.00463a90
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.0046424d
xor ebx, ebx
inc ebx
jmp 0x4649fe
push 0xfffffffffffffffd
jmp 0x464932
push 0xfffffffffffffffc
pop ebx
jmp 0x4649fe
or ebx, 0xffffffff
jmp 0x4649fe
cmp dword [esp + 0x44], 0
je 0x464957
lea eax, [esp + 0x40]
cmp esi, eax
je 0x464957
push eax
mov ecx, esi
call fcn.0040a8d7
mov eax, dword [edi + 8]
test eax, eax
jne 0x464960
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 0x464985
lea ecx, [edi + 0x24]
call fcn.0040aed9
push dword [edi + 0x28]
push dword [edi + 0x24]
call esi
mov eax, dword [edi + 8]
test al, 1
je 0x46499f
cmp byte [edi + 0xc], 0
jne 0x46499f
lea ecx, [edi + 0x14]
call fcn.0040aed9
push dword [edi + 0x18]
push dword [edi + 0x14]
call esi
cmp byte [ebp + 0x18], 0
push edi
push 0x464a24
je 0x4649ba
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnumChildWindows]
jmp 0x4649c0
call dword [sym.imp.USER32.dll_EnumWindows]
mov esi, dword [ebp + 0x10]
lea eax, [edi + 0xbc]
push eax
mov ecx, esi
call fcn.00463e62
lea ecx, [edi + 0xbc]
call fcn.004017d5
mov eax, dword [edi + 0xb4]
cmp eax, ebx
jl 0x4649fc
mov eax, dword [esi + 4]
mov ecx, edi
mov eax, dword [eax]
push dword [eax]
call fcn.00463a90
mov ebx, dword [edi + 0xb4]
jmp 0x4649fe
mov ebx, eax
lea ecx, [esp + 0x40]
call fcn.0040989f
lea ecx, [esp + 0x20]
call fcn.0040989f
lea ecx, [esp + 0x30]
call fcn.0040989f
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c