Function at 0x582258
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
push edi
mov byte [ebp - 0xd], dl
mov dword [ebp - 0xc], eax
mov byte [0x65b3a0], 0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 4]
call fcn.004380f0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov dword [ebp - 8], eax
mov dl, 1
mov eax, dword [0x580874]
call fcn.00404544
mov edx, dword [ebp - 0xc]
mov dword [edx + 8], eax
xor eax, eax
push ebp
push 0x5826fe
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.winmm.dll_timeGetTime
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x6c], eax
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xc], 0
je 0x5822ca
mov ecx, 0x643
mov edx, 0x582714
mov eax, 0x582750
call fcn.004053bc
mov eax, dword [0x58f69c]
call fcn.005931b0
mov eax, dword [eax + 0x3b4]
call fcn.0046a764
mov edx, eax
mov eax, dword [ebp - 0xc]
call fcn.0058163c
push 0
push 0x582764
call sub.user32.dll_FindWindowA
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x582372
mov dl, 1
mov eax, dword [0x58080c]
call fcn.00404544
mov ebx, eax
lea eax, [ebx + 8]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.user32.dll_GetWindowThreadProcessId
mov dword [ebx + 4], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0xc], eax
push 4
mov eax, dword [ebp - 4]
push eax
call sub.user32.dll_GetWindow
mov esi, eax
mov dword [ebx + 0x10], esi
test esi, esi
jne 0x58233c
mov eax, dword [ebp - 4]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0x10]
mov byte [ebx + 0x14], al
lea eax, [ebx + 0x1c]
mov edx, 0x582774
call fcn.004054e4
mov byte [ebx + 0x24], 0
push 0xffffffffffffffde
mov eax, dword [ebp - 4]
push eax
call sub.user32.dll_GetClassLongA
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.0041de58
xor eax, eax
mov dword [0x65b388], eax
xor eax, eax
mov dword [0x65b38c], eax
call fcn.005a20bc
test al, al
jne 0x5823c1
push 1
push 0
push 0
call sub.user32.dll_OpenInputDesktop
mov ebx, eax
test ebx, ebx
jne 0x5823aa
mov eax, dword [ebp - 0xc]
push eax
push 0x581e34
call sub.user32.dll_EnumWindows
jmp 0x582420
mov eax, dword [ebp - 0xc]
push eax
push 0x581e34
push ebx
call sub.user32.dll_EnumDesktopWindows
push ebx
call sub.user32.dll_CloseDesktop
jmp 0x582420
push 0
call sub.kernel32.dll_SetLastError
call sub.kernel32.dll_GetCurrentThreadId_1
push eax
call sub.user32.dll_GetThreadDesktop
mov ebx, eax
test ebx, ebx
jne 0x5823fc
mov eax, dword [ebp - 0xc]
push eax
push 0x581e34
call sub.user32.dll_EnumWindows
test eax, eax
jne 0x582420
push ebp
call fcn.005821f0
pop ecx
call fcn.00404e94
jmp 0x582705
mov eax, dword [ebp - 0xc]
push eax
push 0x581e34
push ebx
call sub.user32.dll_EnumDesktopWindows
test eax, eax
jne 0x582420
push ebp
call fcn.005821f0
pop ecx
call fcn.00404e94
jmp 0x582705
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 8]
cmp eax, dword [edx + 8]
sete byte [ebp - 0xe]
xor ebx, ebx
jmp 0x5824c7
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.0058108c
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.0058108c
cmp esi, dword [eax + 4]
jne 0x5824bd
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.0058108c
mov esi, dword [eax + 8]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.0058108c
cmp esi, dword [eax + 8]
jne 0x5824bd
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.0058108c
mov esi, dword [eax + 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.0058108c
cmp esi, dword [eax + 0xc]
jne 0x5824bd
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.0058108c
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.0058108c
mov edx, dword [eax + 0x1c]
pop eax
call fcn.004058a0
je 0x5824c1
xor eax, eax
jmp 0x5824c3
mov al, 1
mov byte [ebp - 0xe], al
inc ebx
cmp byte [ebp - 0xe], 0
je 0x5824d9
mov eax, dword [ebp - 8]
cmp ebx, dword [eax + 8]
jl 0x58243a
cmp byte [ebp - 0xe], 0
je 0x5824f9
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x74], 0
jne 0x5824f9
push ebp
call fcn.005821f0
pop ecx
call fcn.00404e94
jmp 0x582705
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x582697
inc eax
mov dword [ebp - 0x14], eax
xor ebx, ebx
cmp dword [ebp - 4], 0
je 0x58251f
test ebx, ebx
je 0x58268d
mov byte [ebp - 0xe], 0
mov eax, dword [ebp - 8]
mov edi, dword [eax + 8]
dec edi
test edi, edi
jl 0x582635
inc edi
xor esi, esi
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.0058108c
mov eax, dword [eax + 4]
push eax
mov edx, esi
mov eax, dword [ebp - 8]
call fcn.0058108c
pop edx
cmp edx, dword [eax + 4]
jne 0x58262d
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.0058108c
mov eax, dword [eax + 8]
push eax
mov edx, esi
mov eax, dword [ebp - 8]
call fcn.0058108c
pop edx
cmp edx, dword [eax + 8]
jne 0x58262d
mov edx, esi
mov eax, dword [ebp - 8]
call fcn.0058108c
movzx eax, byte [eax + 0x14]
push eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.0058108c
pop edx
mov byte [eax + 0x14], dl
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.0058108c
mov eax, dword [eax + 0x1c]
push eax
mov edx, esi
mov eax, dword [ebp - 8]
call fcn.0058108c
mov edx, dword [eax + 0x1c]
pop eax
call fcn.004058a0
je 0x582627
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.0058108c
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
call fcn.004a7184
test al, al
je 0x5825f7
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.0058108c
mov byte [eax + 0x14], 1
jmp 0x582627
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.0058108c
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
call fcn.004a7184
test al, al
je 0x582627
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.0058108c
mov byte [eax + 0x14], 0
mov byte [ebp - 0xe], 1
jmp 0x582635
inc esi
dec edi
jne 0x582535
cmp byte [ebp - 0xe], 0
je 0x582644
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x74], 0
je 0x58268d
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.0058108c
mov esi, eax
mov edx, dword [esi + 0x1c]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
call fcn.004a7184
test al, al
je 0x58266b
mov byte [esi + 0x14], 1
jmp 0x58268d
mov edx, dword [esi + 0x1c]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
call fcn.004a7184
test al, al
je 0x582683
mov byte [esi + 0x14], 0
jmp 0x58268d
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0x38]
mov byte [esi + 0x14], al
inc ebx
dec dword [ebp - 0x14]
jne 0x582511
lea edx, [ebp - 8]
mov eax, dword [ebp - 0xc]
call fcn.005821b4
lea eax, [ebp - 8]
call fcn.00411b68
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x68], 1
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x74], 0
je 0x5826c1
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x74], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x582705
cmp byte [ebp - 0xd], 0
jne 0x5826f2
jmp 0x5826e8
mov esi, ebx
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0xc], eax
mov eax, esi
call fcn.00404574
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0xc]
test ebx, ebx
jne 0x5826d6
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 4]
call fcn.00438104
ret
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret