Function at 0x51df64
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff44
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x51e243
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov dl, 1
mov eax, dword [0x41c644]
call fcn.00403e90
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
xor eax, eax
push ebp
push 0x51e211
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
push eax
push 0x51d408
call sub.user32.dll_EnumWindows
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x51e1ca
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xc], 0
xor eax, eax
push ebp
push 0x51e03b
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0xb4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
mov edx, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xb4]
call fcn.00409eec
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x51e053
cmp dword [ebp - 0x1c], 0
jne 0x51e05d
cmp dword [ebp - 0x20], 0
je 0x51e1be
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jne 0x51e077
cmp eax, dword [ebp - 0x28]
je 0x51e1be
lea ecx, [ebp - 0xb8]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0051db88
mov eax, dword [ebp - 0xb8]
lea edx, [ebp - 0x18]
call fcn.00409768
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edi, eax
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x18]
call fcn.0040a780
mov byte [ebp - 0x29], 0
push 0x80
lea eax, [ebp - 0xb0]
push eax
push edi
call sub.user32.dll_GetClassNameA
mov esi, 3
mov ebx, 0x58199c
lea eax, [ebp - 0xbc]
lea edx, [ebp - 0xb0]
mov ecx, 0x80
call fcn.00405080
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebx]
call fcn.00405238
jne 0x51e10e
push 0
push 0xf060
push 0x112
push edi
call sub.user32.dll_PostMessageA
mov byte [ebp - 0x29], 1
jmp 0x51e114
add ebx, 4
dec esi
jne 0x51e0d1
cmp byte [ebp - 0x29], 0
jne 0x51e1be
mov eax, dword [ebp - 0x14]
mov edx, 0x51e25c
call fcn.00405238
je 0x51e1be
mov eax, dword [ebp - 0x14]
mov edx, 0x51e274
call fcn.00405238
je 0x51e1be
mov eax, dword [ebp - 0x14]
mov edx, 0x51e28c
call fcn.00405238
je 0x51e1be
mov eax, dword [ebp - 0x14]
mov edx, 0x51e2a4
call fcn.00405238
je 0x51e1be
mov eax, dword [ebp - 0x14]
mov edx, 0x51e2b8
call fcn.00405238
je 0x51e1be
mov eax, dword [ebp - 0x14]
mov edx, 0x51e2cc
call fcn.00405238
je 0x51e1be
mov eax, dword [ebp - 0x14]
mov edx, 0x51e2e0
call fcn.00405238
je 0x51e1be
mov eax, dword [ebp - 0x14]
mov edx, 0x51e2f4
call fcn.00405238
je 0x51e1be
mov eax, dword [ebp - 0x14]
mov edx, 0x51e308
call fcn.00405238
je 0x51e1be
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0051dde0
test al, al
je 0x51e1be
inc dword [ebp - 0x10]
inc dword [ebp - 0xc]
dec dword [ebp - 0x30]
jne 0x51dffe
mov eax, dword [ebp - 4]
cmp word [eax + 0x4a], 0
je 0x51e1e3
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x4c]
call dword [ebx + 0x48]
cmp dword [ebp - 0x10], 0
jle 0x51e1ed
mov byte [ebp - 5], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51e218
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebp - 4]
add eax, 0x58
call fcn.0040ff84
ret