Function at 0x404f5e
Capabilities:
Enumerate gui resources
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5c
push ebx
push esi
mov esi, dword [ebp + 0x14]
push edi
call fcn.00407d99
mov ebx, dword [ebp + 8]
lea esi, [ebx + 0xec]
mov dword [esp + 0x1c], esi
call fcn.00407d99
mov al, byte [ebp + 0x24]
mov byte [ebx + 4], al
mov al, byte [ebp + 0x20]
mov byte [ebx + 5], al
mov eax, dword [ebp + 0xc]
lea edi, [ebx + 0x14]
mov dword [esp + 0x10], edi
cmp edi, eax
je 0x404fa5
mov ecx, edi
call fcn.00401b5f
mov eax, dword [ebp + 0x10]
lea ecx, [ebx + 0x24]
mov dword [esp + 0x18], ecx
cmp ecx, eax
je 0x404fb8
call fcn.00401b5f
lea eax, [ebx + 0xbc]
push 0x46df98
mov dword [esp + 0x24], eax
call fcn.00402172
mov eax, dword [ebp + 0x18]
xor esi, esi
mov dword [ebx + 0x10], eax
xor eax, eax
inc esi
lea ecx, [esp + 0x38]
mov dword [ebx + 0xcc], esi
mov byte [ebx + 0xc], 1
mov dword [ebx + 8], eax
mov dword [ebx + 0xd0], eax
mov dword [ebx + 0xe4], eax
call fcn.004019d1
lea ecx, [esp + 0x48]
call fcn.004019d1
lea ecx, [esp + 0x58]
call fcn.004019d1
mov eax, dword [ebx + 0x10]
test eax, eax
jns 0x405020
push eax
call fcn.0045912b
pop ecx
mov dword [ebx + 0x10], eax
mov byte [ebx + 0xc], 0
cmp dword [ebx + 0x10], 4
jne 0x40502e
call fcn.00404d95
mov dword [ebx + 0x10], esi
cmp dword [ebx + 0x18], 0
jne 0x405084
cmp dword [ebx + 0x28], 0
jne 0x405084
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
mov esi, ebx
call fcn.0040427f
mov eax, dword [ebx]
mov eax, dword [eax]
mov esi, dword [ebp + 0x14]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
call fcn.004058e0
lea ecx, [esp + 0x58]
call fcn.00401a04
lea ecx, [esp + 0x48]
call fcn.00401a04
lea ecx, [esp + 0x38]
call fcn.00401a04
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
mov eax, dword [esp + 0x10]
xor edi, edi
call fcn.00402050
cmp word [eax], 0x5b
jne 0x40533a
mov edi, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea edi, [edi - 1]
call fcn.00402050
cmp word [eax], 0x5d
jne 0x40533a
mov eax, dword [ebx + 0x18]
sub eax, 2
push eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x18]
lea edi, [esp + 0x20]
lea eax, [esp + 0x44]
mov dword [esp + 0x20], esi
call fcn.004042ac
test al, al
je 0x40533a
push str.LAST
lea esi, [esp + 0x3c]
call fcn.00404a4a
pop ecx
test al, al
jne 0x4053bd
push str.ACTIVE
call fcn.00404a4a
pop ecx
test al, al
jne 0x405417
push 0x46e264
call fcn.00404a4a
pop ecx
test al, al
jne 0x40543e
push str.REGEXPTITLE
call fcn.00404a4a
pop ecx
test al, al
je 0x40514a
mov eax, dword [ebx + 8]
test al, 1
jne 0x40545f
or eax, 2
lea esi, [ebx + 0x34]
mov dword [ebx + 8], eax
call fcn.004073f5
lea ebx, [esp + 0x28]
jmp 0x405199
push str.CLASS
lea esi, [esp + 0x3c]
call fcn.00404a4a
pop ecx
test al, al
je 0x405176
mov ecx, dword [esp + 0x20]
or dword [ebx + 8], 8
lea eax, [esp + 0x48]
cmp ecx, eax
je 0x405315
jmp 0x4052f3
push str.REGEXPCLASS
lea esi, [esp + 0x3c]
call fcn.00404a4a
pop ecx
test al, al
je 0x4051b6
or dword [ebx + 8], 0x10
lea esi, [ebx + 0x78]
call fcn.004073f5
lea ebx, [esp + 0x30]
lea eax, [esp + 0x48]
push eax
mov eax, esi
call fcn.00407428
cmp dword [eax], 0
jne 0x405464
mov ebx, dword [ebp + 8]
jmp 0x405315
push str.XYWH
lea esi, [esp + 0x3c]
call fcn.00404a4a
pop ecx
test al, al
je 0x4051e5
push dword [esp + 0x48]
or dword [ebx + 8], 0x80
call fcn.00457000
pop ecx
mov dword [ebx + 0xd4], eax
jmp 0x405315
push 0x46e158
lea esi, [esp + 0x3c]
call fcn.00404a4a
pop ecx
test al, al
je 0x405214
push dword [esp + 0x48]
or dword [ebx + 8], 0x100
call fcn.00457000
pop ecx
mov dword [ebx + 0xd8], eax
jmp 0x405315
push 0x46e15c
lea esi, [esp + 0x3c]
call fcn.00404a4a
pop ecx
test al, al
je 0x405243
push dword [esp + 0x48]
or dword [ebx + 8], 0x200
call fcn.00457000
pop ecx
mov dword [ebx + 0xdc], eax
jmp 0x405315
push 0x46e160
lea esi, [esp + 0x3c]
call fcn.00404a4a
pop ecx
test al, al
je 0x405272
push dword [esp + 0x48]
or dword [ebx + 8], 0x400
call fcn.00457000
pop ecx
mov dword [ebx + 0xe0], eax
jmp 0x405315
push 0x46e164
lea esi, [esp + 0x3c]
call fcn.00404a4a
pop ecx
test al, al
je 0x40529b
push dword [esp + 0x48]
or dword [ebx + 8], 0x20
call fcn.00457000
pop ecx
mov dword [ebx + 0xcc], eax
jmp 0x405315
push 0x46e24c
lea esi, [esp + 0x3c]
call fcn.00404a4a
pop ecx
test al, al
je 0x4052cb
push 0x46df98
lea esi, [esp + 0x4c]
call fcn.00404a4a
pop ecx
test al, al
je 0x405412
or dword [ebx + 8], 0x40
jmp 0x405315
push str.TITLE
lea esi, [esp + 0x3c]
call fcn.00404a4a
pop ecx
test al, al
je 0x4052fe
mov eax, dword [ebx + 8]
test al, 2
jne 0x405468
or eax, 1
mov dword [ebx + 8], eax
lea ecx, [esp + 0x58]
lea eax, [esp + 0x48]
call fcn.00401b5f
jmp 0x405315
push 0x46df98
lea esi, [esp + 0x3c]
call fcn.00404a4a
pop ecx
test al, al
je 0x405412
push dword [esp + 0x24]
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x18]
lea edi, [esp + 0x20]
lea eax, [esp + 0x44]
call fcn.004042ac
test al, al
jne 0x4050df
xor esi, esi
inc esi
cmp dword [esp + 0x5c], 0
je 0x405352
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x58]
cmp ecx, eax
je 0x405352
call fcn.00401b5f
cmp dword [ebx + 8], 0
jne 0x40535b
mov dword [ebx + 8], esi
or dword [ebx + 8], 4
cmp byte [ebx + 0xc], 0
mov edi, dword [sym.imp.USER32.dll_CharUpperBuffW]
jne 0x40537d
mov esi, dword [esp + 0x18]
call fcn.00401fed
mov eax, esi
push dword [eax + 4]
push dword [eax]
call edi
test byte [ebx + 8], 1
je 0x40539b
cmp byte [ebx + 0xc], 0
jne 0x40539b
mov esi, dword [esp + 0x10]
call fcn.00401fed
mov eax, esi
push dword [eax + 4]
push dword [eax]
call edi
cmp byte [ebp + 0x1c], 0
push ebx
push 0x4054aa
je 0x40546c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnumChildWindows]
jmp 0x405472
push 0x46df98
lea esi, [esp + 0x4c]
call fcn.00404a4a
pop ecx
test al, al
je 0x405412
mov ebx, dword [ebx]
test ebx, ebx
je 0x40540e
mov eax, dword [ebx]
mov esi, dword [ebp + 0x14]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
call fcn.004058e0
xor esi, esi
inc esi
lea ecx, [esp + 0x58]
call fcn.00401a04
lea ecx, [esp + 0x48]
call fcn.00401a04
lea ecx, [esp + 0x38]
call fcn.00401a04
mov eax, esi
jmp 0x40507b
xor esi, esi
jmp 0x4053ec
or esi, 0xffffffff
jmp 0x4053ec
push 0x46df98
lea esi, [esp + 0x4c]
call fcn.00404a4a
pop ecx
test al, al
je 0x405412
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
mov esi, ebx
call fcn.0040427f
mov eax, dword [ebx]
mov eax, dword [eax]
jmp 0x4053d8
mov edi, dword [esp + 0x48]
lea esi, [esp + 0x14]
call fcn.0040fe85
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40540e
push dword [esp + 0x14]
jmp 0x405431
push 0xfffffffffffffffd
pop esi
jmp 0x4053ec
push 0xfffffffffffffffe
jmp 0x405461
push 0xfffffffffffffffc
jmp 0x405461
call dword [sym.imp.USER32.dll_EnumWindows]
mov edi, dword [ebp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, edi
call fcn.00405958
mov esi, ebx
call fcn.00407d99
mov esi, dword [ebp + 8]
cmp dword [esi + 0xe4], 1
jl 0x40549f
mov eax, dword [edi + 4]
mov eax, dword [eax]
push dword [eax]
call fcn.0040427f
mov esi, dword [esi + 0xe4]
jmp 0x4053ec