Function at 0x1002e86
Capabilities:
Get graphical window text
Set current directory

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24c
mov eax, dword [0x1009088]
push esi
push 0xffffffffffffffec
push dword [0x10092e0]
mov dword [ebp - 4], eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov esi, dword [0x1009d1c]
and eax, 0x400000
test esi, esi
mov dword [ebp - 0x218], eax
je 0x1003106
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push edi
cmp dword [esi + 0x20], 0
je 0x10030f9
cmp dword [esi + 0x1c], 0
jne 0x10030f9
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
je 0x10030f9
push 0xd
pop ecx
xor eax, eax
lea edi, [ebp - 0x24c]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x24c], 7
mov eax, dword [esi + 0x18]
xor edi, edi
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x22c], esi
mov dword [ebp - 0x244], edi
mov eax, dword [esi]
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x24c]
push eax
push edi
push 0x104d
push dword [0x10090a0]
mov dword [ebp - 0x248], 0x7fffffff
call ebx
mov dword [ebp - 0x248], eax
xor eax, eax
inc eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x244], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x24c]
push eax
push edi
push 0x104c
push dword [0x10090a0]
call ebx
push 0x32
lea eax, [ebp - 0x20c]
push eax
call fcn.01005095
mov edi, dword [ebp - 0x218]
neg edi
sbb edi, edi
xor ecx, ecx
push ecx
push ecx
push ecx
lea eax, [esi + 0x2c]
and edi, 0x20
push eax
inc edi
push edi
push 0x800
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
test eax, eax
mov dword [ebp - 0x214], eax
je 0x1003014
lea eax, [eax + eax + 2]
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
mov dword [ebp - 0x210], eax
je 0x1003014
push dword [ebp - 0x214]
push eax
push 0
lea eax, [esi + 0x2c]
push eax
push edi
push 0x800
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
test eax, eax
je 0x1002fff
push dword [ebp - 0x210]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push dword [ebp - 0x210]
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x24c]
push eax
push 0
mov edi, 0x104c
push edi
push dword [0x10090a0]
mov dword [ebp - 0x24c], 1
mov dword [ebp - 0x244], 2
call ebx
mov eax, dword [esi + 0x14]
test eax, eax
je 0x1003062
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x1003070
push 0x32
lea eax, [ebp - 0x20c]
push eax
call fcn.01005095
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x24c]
push eax
push 0
push edi
push dword [0x10090a0]
mov dword [ebp - 0x24c], 1
mov dword [ebp - 0x244], 3
call ebx
mov eax, dword [esi + 8]
test eax, eax
je 0x10030b9
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x10030c7
push 0x1f
lea eax, [ebp - 0x20c]
push eax
call fcn.01005095
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x24c]
push eax
push 0
push edi
push dword [0x10090a0]
mov dword [ebp - 0x24c], 1
mov dword [ebp - 0x244], 4
call ebx
mov esi, dword [esi + 0x3c]
test esi, esi
jne 0x1002ec9
pop edi
pop ebx
mov ecx, dword [ebp - 4]
pop esi
call fcn.01006e99
leave
ret