Function at 0x4976f8
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x5836e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x124], esi
push edi
test esi, esi
je 0x49798d
cmp dword [esi + 0x58], 0
mov ebx, dword [sym.imp.USER32.dll_GetWindowLongW]
je 0x49786b
cmp dword [esi + 0x18], 0
jne 0x49786b
mov ecx, dword [esi]
add ecx, 0xc
call fcn.004cfc34
xor ecx, ecx
mov dword [ebp - 0x118], eax
push ecx
push ecx
push ecx
push eax
call dword [sym.imp.USER32.dll_FindWindowExW]
mov edi, eax
mov dword [ebp - 0x120], eax
test edi, edi
je 0x4977aa
push 0xfffffffffffffff0
push edi
call ebx
test eax, 0x10000000
je 0x497789
lea eax, [ebp - 0x120]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test eax, eax
je 0x497789
mov eax, dword [ebp - 0x120]
cmp eax, dword [esi + 0x58]
je 0x4977a0
push 0
push 0
push edi
push dword [ebp - 0x118]
call dword [sym.imp.USER32.dll_FindWindowExW]
mov edi, eax
test edi, edi
jne 0x497760
mov dword [ebp - 0x120], edi
test edi, edi
jne 0x49780b
mov eax, dword [0x5a23ec]
cmp byte [eax + 0x10fa6], 0
je 0x497807
mov eax, dword [esi + 0x58]
and dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0x11c]
push eax
push 0x486f15
call dword [sym.imp.USER32.dll_EnumWindows]
cmp dword [ebp - 0x11c], 0
je 0x497807
push 0xffffffffffffffec
push dword [ebp - 0x11c]
call ebx
test al, 8
jne 0x497807
push 3
xor eax, eax
push eax
push eax
push eax
push eax
push 0xffffffffffffffff
push dword [ebp - 0x11c]
call dword [sym.imp.USER32.dll_SetWindowPos]
test edi, edi
je 0x49786b
push 0xfffffffffffffff0
push edi
call ebx
push 0xffffffffffffffec
push edi
mov dword [ebp - 0x118], eax
call ebx
mov ebx, eax
lea eax, [ebp - 0x114]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
sub esp, 0x10
lea esi, [ebp - 0x114]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x124]
mov ecx, esi
push dword [esi + 0x6c]
lea eax, [esi + 0x70]
push dword [esi + 0x58]
push eax
mov eax, dword [esi + 0x34]
push ebx
push dword [ebp - 0x118]
or eax, 0x10
push dword [ebp - 0x120]
push eax
call fcn.00492201
mov ebx, dword [sym.imp.USER32.dll_GetWindowLongW]
mov eax, dword [esi + 0x2704c]
test eax, eax
je 0x4978a3
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x49788d
push 0
mov ecx, esi
call fcn.00487c63
test eax, eax
jne 0x4978a3
mov ecx, dword [esi + 4]
and dword [esi + 0x2704c], 0
mov byte [esi + 0x27050], 0
call fcn.0040f3f8
mov eax, dword [esi + 0x2704c]
test eax, eax
jne 0x4978db
mov ecx, dword [esi]
add ecx, 0xc
call fcn.004cfc3f
push eax
mov ecx, esi
call fcn.00486f4f
mov dword [esi + 0x2704c], eax
test eax, eax
jne 0x4978db
push eax
mov ecx, esi
call fcn.00486f4f
mov dword [esi + 0x2704c], eax
test eax, eax
je 0x4978fb
cmp byte [esi + 0x27050], 0
jne 0x497904
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4978fb
and dword [esi + 0x2704c], eax
mov byte [esi + 0x27050], al
cmp byte [esi + 0x27050], 0
je 0x497914
cmp dword [esi + 0x2704c], 0
jne 0x497914
mov byte [esi + 0x27050], 0
mov eax, dword [esi + 0x2704c]
test eax, eax
je 0x497985
cmp byte [ebp + 8], 0
je 0x497985
push 0x80
lea ecx, [ebp - 0x104]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetClassNameW]
test eax, eax
je 0x497985
mov ecx, str.FarMultiViewControlClass
lea eax, [ebp - 0x104]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x49796c
test dx, dx
je 0x497968
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x49796c
add eax, 4
add ecx, 4
test dx, dx
jne 0x497946
xor eax, eax
jmp 0x497971
sbb eax, eax
or eax, 1
test eax, eax
jne 0x497985
push eax
push dword [esi + 0x2704c]
call ebx
cmp eax, 0x200
jne 0x49798d
mov eax, dword [esi + 0x2704c]
jmp 0x49798f
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004f4166
leave
ret 4