Function at 0x10010040
Capabilities:
Enumerate gui resources
Get graphical window text

Disassembly:
mov eax, dword [0x10044100]
sub esp, 0x41c
push ebx
push ebp
push esi
push edi
xor edi, edi
cmp eax, edi
je 0x10010062
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x41c
ret
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
push 0x10014990
mov dword [esp + 0x2c], edi
call dword [sym.imp.USER32.dll_EnumWindows]
mov ecx, dword [esp + 0x430]
mov ebx, dword [sym.imp.USER32.dll_GetWindow]
push 5
push ecx
call ebx
mov esi, eax
mov dword [esp + 0x10], edi
cmp esi, edi
mov dword [esp + 0x18], esi
je 0x10010420
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
jmp 0x100100b0
mov esi, dword [esp + 0x18]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x2c]
push esi
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [esp + 0x130]
rep stosd dword es:[edi], eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
inc eax
lea edx, [esp + 0x2c]
push eax
push edx
push esi
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [esp + 0x12c]
push 0x100
push eax
push esi
call dword [sym.imp.USER32.dll_GetClassNameA]
mov edi, dword [0x100428f0]
lea ecx, [esp + 0x12c]
push str.MDIClient
push ecx
mov dword [esp + 0x1c], edi
call fcn.100063e0
add esp, 8
test eax, eax
jne 0x10010304
push 5
push esi
call ebx
lea edx, [esp + 0x2c]
mov edi, eax
push 0x100
push edx
push edi
call dword [sym.imp.USER32.dll_GetClassNameA]
lea eax, [esp + 0x2c]
push str.VISIOS
push eax
call fcn.100063e0
add esp, 8
test eax, eax
jne 0x10010300
push 5
push edi
call ebx
mov esi, eax
test esi, esi
mov dword [esp + 0x1c], esi
je 0x100102fc
jmp 0x10010166
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x2c]
push 0x100
push ecx
push esi
call dword [sym.imp.USER32.dll_GetClassNameA]
lea edx, [esp + 0x2c]
push str.Afx:400000:0
push edx
call fcn.100063e0
add esp, 8
test eax, eax
jne 0x1001022d
push 5
push esi
call ebx
push 5
push eax
call ebx
mov edi, eax
push 0x100
push edi
lea eax, [esp + 0x234]
push 0x1002f638
push eax
call ebp
add esp, 0x10
test edi, edi
je 0x1001022d
push 5
push edi
call ebx
mov esi, eax
push 0x100
push esi
lea ecx, [esp + 0x234]
push 0x1002f62c
push ecx
call ebp
add esp, 0x10
test esi, esi
je 0x1001021e
mov edx, dword [0x100428f0]
push 0x1000e3a0
shl edx, 4
push 0xfffffffffffffffc
push esi
mov dword [edx + 0x100428fc], esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov ecx, dword [0x100428f0]
shl ecx, 4
mov dword [ecx + 0x100428f8], eax
mov ecx, dword [0x100428f0]
mov eax, dword [esp + 0x10]
inc ecx
inc eax
mov dword [0x100428f0], ecx
mov dword [esp + 0x10], eax
push 2
push edi
call ebx
mov edi, eax
test edi, edi
jne 0x100101b9
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0x2c]
push str.Afx:00400000:0
push edx
call fcn.100063e0
add esp, 8
test eax, eax
jne 0x100102eb
push 5
push esi
call ebx
push 5
push eax
call ebx
mov edi, eax
test edi, edi
je 0x100102eb
push 0x100
push edi
lea eax, [esp + 0x334]
push 0x1002f638
push eax
call ebp
add esp, 0x10
push 5
push edi
call ebx
mov esi, eax
test esi, esi
je 0x100102d8
push 0x100
push esi
lea ecx, [esp + 0x334]
push 0x1002f62c
push ecx
call ebp
mov edx, dword [0x100428f0]
add esp, 0x10
shl edx, 4
push 0x1000e3a0
push 0xfffffffffffffffc
push esi
mov dword [edx + 0x100428fc], esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov ecx, dword [0x100428f0]
shl ecx, 4
mov dword [ecx + 0x100428f8], eax
mov ecx, dword [0x100428f0]
mov eax, dword [esp + 0x10]
inc ecx
inc eax
mov dword [0x100428f0], ecx
mov dword [esp + 0x10], eax
push 2
push edi
call ebx
mov edi, eax
test edi, edi
jne 0x1001025b
mov esi, dword [esp + 0x1c]
push 2
push esi
call ebx
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x10010162
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
lea edx, [esp + 0x2c]
test edx, edx
je 0x1001040f
lea eax, [esp + 0x2c]
push str.MsoDockTop
push eax
call fcn.100063e0
add esp, 8
test eax, eax
je 0x1001036c
lea ecx, [esp + 0x2c]
push str.MsoDockLeft
push ecx
call fcn.100063e0
add esp, 8
test eax, eax
je 0x1001036c
lea edx, [esp + 0x2c]
push str.MsoDockRight
push edx
call fcn.100063e0
add esp, 8
test eax, eax
je 0x1001036c
lea eax, [esp + 0x2c]
push str.MsoDockBottom
push eax
call fcn.100063e0
add esp, 8
test eax, eax
jne 0x1001040f
push 5
push esi
call ebx
mov esi, eax
test esi, esi
je 0x100103ca
shl edi, 4
add edi, 0x100428f8
push 0x1000e3a0
push 0xfffffffffffffffc
push esi
mov dword [edi + 4], esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
test eax, eax
mov dword [edi], eax
je 0x10010055
mov eax, dword [0x100428f0]
mov edx, dword [esp + 0x14]
inc eax
inc edx
mov dword [0x100428f0], eax
mov eax, dword [esp + 0x10]
add edi, 0x10
inc eax
push 2
push esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
call ebx
mov esi, eax
test esi, esi
jne 0x10010380
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push 0x1000e3a0
shl edi, 4
mov esi, edi
push 0xfffffffffffffffc
push eax
mov dword [esi + 0x100428fc], eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
test eax, eax
mov dword [esi + 0x100428f8], eax
je 0x10010055
mov ecx, dword [0x100428f0]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
inc ecx
inc eax
mov dword [0x100428f0], ecx
mov dword [esp + 0x10], eax
push 2
push esi
call ebx
test eax, eax
mov dword [esp + 0x18], eax
jne 0x100100ac
pop edi
mov eax, 1
pop esi
pop ebp
mov dword [0x10044100], eax
pop ebx
add esp, 0x41c
ret