
winefile.nostrip.exe:     file format pei-i386

Disassembly of section .text:

00401000 <___crt_xc_end__>:
  401000:	55                   	push   %ebp
  401001:	89 e5                	mov    %esp,%ebp
  401003:	83 ec 18             	sub    $0x18,%esp
  401006:	89 5d f8             	mov    %ebx,0xfffffff8(%ebp)
  401009:	8b 55 08             	mov    0x8(%ebp),%edx
  40100c:	31 db                	xor    %ebx,%ebx
  40100e:	89 75 fc             	mov    %esi,0xfffffffc(%ebp)
  401011:	8b 02                	mov    (%edx),%eax
  401013:	31 f6                	xor    %esi,%esi
  401015:	8b 00                	mov    (%eax),%eax
  401017:	3d 91 00 00 c0       	cmp    $0xc0000091,%eax
  40101c:	77 43                	ja     401061 <___crt_xc_end__+0x61>
  40101e:	3d 8d 00 00 c0       	cmp    $0xc000008d,%eax
  401023:	72 5b                	jb     401080 <___crt_xc_end__+0x80>
  401025:	be 01 00 00 00       	mov    $0x1,%esi
  40102a:	c7 04 24 08 00 00 00 	movl   $0x8,(%esp)
  401031:	31 c0                	xor    %eax,%eax
  401033:	89 44 24 04          	mov    %eax,0x4(%esp)
  401037:	e8 04 72 00 00       	call   408240 <_signal>
  40103c:	83 f8 01             	cmp    $0x1,%eax
  40103f:	74 6c                	je     4010ad <___crt_xc_end__+0xad>
  401041:	85 c0                	test   %eax,%eax
  401043:	74 2a                	je     40106f <___crt_xc_end__+0x6f>
  401045:	c7 04 24 08 00 00 00 	movl   $0x8,(%esp)
  40104c:	ff d0                	call   *%eax
  40104e:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
  401053:	89 d8                	mov    %ebx,%eax
  401055:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  401058:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  40105b:	89 ec                	mov    %ebp,%esp
  40105d:	5d                   	pop    %ebp
  40105e:	c2 04 00             	ret    $0x4
  401061:	3d 93 00 00 c0       	cmp    $0xc0000093,%eax
  401066:	74 bd                	je     401025 <___crt_xc_end__+0x25>
  401068:	3d 94 00 00 c0       	cmp    $0xc0000094,%eax
  40106d:	74 bb                	je     40102a <___crt_xc_end__+0x2a>
  40106f:	89 d8                	mov    %ebx,%eax
  401071:	8b 75 fc             	mov    0xfffffffc(%ebp),%esi
  401074:	8b 5d f8             	mov    0xfffffff8(%ebp),%ebx
  401077:	89 ec                	mov    %ebp,%esp
  401079:	5d                   	pop    %ebp
  40107a:	c2 04 00             	ret    $0x4
  40107d:	8d 76 00             	lea    0x0(%esi),%esi
  401080:	3d 05 00 00 c0       	cmp    $0xc0000005,%eax
  401085:	75 e8                	jne    40106f <___crt_xc_end__+0x6f>
  401087:	c7 04 24 0b 00 00 00 	movl   $0xb,(%esp)
  40108e:	31 f6                	xor    %esi,%esi
  401090:	89 74 24 04          	mov    %esi,0x4(%esp)
  401094:	e8 a7 71 00 00       	call   408240 <_signal>
  401099:	83 f8 01             	cmp    $0x1,%eax
  40109c:	74 34                	je     4010d2 <___crt_xc_end__+0xd2>
  40109e:	85 c0                	test   %eax,%eax
  4010a0:	74 cd                	je     40106f <___crt_xc_end__+0x6f>
  4010a2:	c7 04 24 0b 00 00 00 	movl   $0xb,(%esp)
  4010a9:	ff d0                	call   *%eax
  4010ab:	eb a1                	jmp    40104e <___crt_xc_end__+0x4e>
  4010ad:	c7 04 24 08 00 00 00 	movl   $0x8,(%esp)
  4010b4:	bb 01 00 00 00       	mov    $0x1,%ebx
  4010b9:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  4010bd:	e8 7e 71 00 00       	call   408240 <_signal>
  4010c2:	85 f6                	test   %esi,%esi
  4010c4:	74 88                	je     40104e <___crt_xc_end__+0x4e>
  4010c6:	e8 b5 6c 00 00       	call   407d80 <__fpreset>
  4010cb:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
  4010d0:	eb 81                	jmp    401053 <___crt_xc_end__+0x53>
  4010d2:	c7 04 24 0b 00 00 00 	movl   $0xb,(%esp)
  4010d9:	b9 01 00 00 00       	mov    $0x1,%ecx
  4010de:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
  4010e3:	89 4c 24 04          	mov    %ecx,0x4(%esp)
  4010e7:	e8 54 71 00 00       	call   408240 <_signal>
  4010ec:	e9 62 ff ff ff       	jmp    401053 <___crt_xc_end__+0x53>
  4010f1:	eb 0d                	jmp    401100 <___mingw_CRTStartup>
  4010f3:	90                   	nop    
  4010f4:	90                   	nop    
  4010f5:	90                   	nop    
  4010f6:	90                   	nop    
  4010f7:	90                   	nop    
  4010f8:	90                   	nop    
  4010f9:	90                   	nop    
  4010fa:	90                   	nop    
  4010fb:	90                   	nop    
  4010fc:	90                   	nop    
  4010fd:	90                   	nop    
  4010fe:	90                   	nop    
  4010ff:	90                   	nop    

00401100 <___mingw_CRTStartup>:
  401100:	55                   	push   %ebp
  401101:	89 e5                	mov    %esp,%ebp
  401103:	53                   	push   %ebx
  401104:	83 ec 24             	sub    $0x24,%esp
  401107:	8d 5d f8             	lea    0xfffffff8(%ebp),%ebx
  40110a:	c7 04 24 00 10 40 00 	movl   $0x401000,(%esp)
  401111:	e8 7a 61 00 00       	call   407290 <_SetUnhandledExceptionFilter@4>
  401116:	83 ec 04             	sub    $0x4,%esp
  401119:	e8 62 6c 00 00       	call   407d80 <__fpreset>
  40111e:	c7 45 f8 00 00 00 00 	movl   $0x0,0xfffffff8(%ebp)
  401125:	b8 00 c0 40 00       	mov    $0x40c000,%eax
  40112a:	8d 55 f4             	lea    0xfffffff4(%ebp),%edx
  40112d:	89 5c 24 10          	mov    %ebx,0x10(%esp)
  401131:	8b 0d 80 90 40 00    	mov    0x409080,%ecx
  401137:	89 44 24 04          	mov    %eax,0x4(%esp)
  40113b:	89 54 24 08          	mov    %edx,0x8(%esp)
  40113f:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
  401143:	c7 04 24 04 c0 40 00 	movl   $0x40c004,(%esp)
  40114a:	e8 21 71 00 00       	call   408270 <___getmainargs>
  40114f:	a1 30 c2 40 00       	mov    0x40c230,%eax
  401154:	85 c0                	test   %eax,%eax
  401156:	74 58                	je     4011b0 <___mingw_CRTStartup+0xb0>
  401158:	a3 90 90 40 00       	mov    %eax,0x409090
  40115d:	8b 15 d0 d6 40 00    	mov    0x40d6d0,%edx
  401163:	85 d2                	test   %edx,%edx
  401165:	0f 85 8b 00 00 00    	jne    4011f6 <___mingw_CRTStartup+0xf6>
  40116b:	83 fa e0             	cmp    $0xffffffe0,%edx
  40116e:	74 20                	je     401190 <___mingw_CRTStartup+0x90>
  401170:	a1 30 c2 40 00       	mov    0x40c230,%eax
  401175:	89 44 24 04          	mov    %eax,0x4(%esp)
  401179:	8b 1d d0 d6 40 00    	mov    0x40d6d0,%ebx
  40117f:	8b 4b 30             	mov    0x30(%ebx),%ecx
  401182:	89 0c 24             	mov    %ecx,(%esp)
  401185:	e8 d6 70 00 00       	call   408260 <__setmode>
  40118a:	8b 15 d0 d6 40 00    	mov    0x40d6d0,%edx
  401190:	83 fa c0             	cmp    $0xffffffc0,%edx
  401193:	74 1b                	je     4011b0 <___mingw_CRTStartup+0xb0>
  401195:	8b 1d 30 c2 40 00    	mov    0x40c230,%ebx
  40119b:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  40119f:	8b 0d d0 d6 40 00    	mov    0x40d6d0,%ecx
  4011a5:	8b 51 50             	mov    0x50(%ecx),%edx
  4011a8:	89 14 24             	mov    %edx,(%esp)
  4011ab:	e8 b0 70 00 00       	call   408260 <__setmode>
  4011b0:	e8 9b 70 00 00       	call   408250 <___p__fmode>
  4011b5:	8b 1d 90 90 40 00    	mov    0x409090,%ebx
  4011bb:	89 18                	mov    %ebx,(%eax)
  4011bd:	e8 8e 6b 00 00       	call   407d50 <__pei386_runtime_relocator>
  4011c2:	83 e4 f0             	and    $0xfffffff0,%esp
  4011c5:	e8 66 70 00 00       	call   408230 <___p__environ>
  4011ca:	8b 08                	mov    (%eax),%ecx
  4011cc:	89 4c 24 08          	mov    %ecx,0x8(%esp)
  4011d0:	8b 15 00 c0 40 00    	mov    0x40c000,%edx
  4011d6:	89 54 24 04          	mov    %edx,0x4(%esp)
  4011da:	a1 04 c0 40 00       	mov    0x40c004,%eax
  4011df:	89 04 24             	mov    %eax,(%esp)
  4011e2:	e8 49 6a 00 00       	call   407c30 <_main>
  4011e7:	89 c3                	mov    %eax,%ebx
  4011e9:	e8 32 70 00 00       	call   408220 <__cexit>
  4011ee:	89 1c 24             	mov    %ebx,(%esp)
  4011f1:	e8 aa 60 00 00       	call   4072a0 <_ExitProcess@4>
  4011f6:	89 44 24 04          	mov    %eax,0x4(%esp)
  4011fa:	8b 15 d0 d6 40 00    	mov    0x40d6d0,%edx
  401200:	8b 42 10             	mov    0x10(%edx),%eax
  401203:	89 04 24             	mov    %eax,(%esp)
  401206:	e8 55 70 00 00       	call   408260 <__setmode>
  40120b:	8b 15 d0 d6 40 00    	mov    0x40d6d0,%edx
  401211:	e9 55 ff ff ff       	jmp    40116b <___mingw_CRTStartup+0x6b>
  401216:	8d 76 00             	lea    0x0(%esi),%esi
  401219:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00401220 <_mainCRTStartup>:
  401220:	55                   	push   %ebp
  401221:	89 e5                	mov    %esp,%ebp
  401223:	83 ec 08             	sub    $0x8,%esp
  401226:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  40122d:	ff 15 c8 d6 40 00    	call   *0x40d6c8
  401233:	e8 c8 fe ff ff       	call   401100 <___mingw_CRTStartup>
  401238:	90                   	nop    
  401239:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00401240 <_WinMainCRTStartup>:
  401240:	55                   	push   %ebp
  401241:	89 e5                	mov    %esp,%ebp
  401243:	83 ec 08             	sub    $0x8,%esp
  401246:	c7 04 24 02 00 00 00 	movl   $0x2,(%esp)
  40124d:	ff 15 c8 d6 40 00    	call   *0x40d6c8
  401253:	e8 a8 fe ff ff       	call   401100 <___mingw_CRTStartup>
  401258:	90                   	nop    
  401259:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00401260 <_atexit>:
  401260:	55                   	push   %ebp
  401261:	8b 0d e4 d6 40 00    	mov    0x40d6e4,%ecx
  401267:	89 e5                	mov    %esp,%ebp
  401269:	5d                   	pop    %ebp
  40126a:	ff e1                	jmp    *%ecx
  40126c:	8d 74 26 00          	lea    0x0(%esi),%esi

00401270 <__onexit>:
  401270:	55                   	push   %ebp
  401271:	8b 0d d4 d6 40 00    	mov    0x40d6d4,%ecx
  401277:	89 e5                	mov    %esp,%ebp
  401279:	5d                   	pop    %ebp
  40127a:	ff e1                	jmp    *%ecx
  40127c:	90                   	nop    
  40127d:	90                   	nop    
  40127e:	90                   	nop    
  40127f:	90                   	nop    

00401280 <___do_sjlj_init>:
  401280:	55                   	push   %ebp
  401281:	89 e5                	mov    %esp,%ebp
  401283:	5d                   	pop    %ebp
  401284:	e9 c7 6c 00 00       	jmp    407f50 <___w32_sharedptr_initialize>
  401289:	90                   	nop    
  40128a:	90                   	nop    
  40128b:	90                   	nop    
  40128c:	90                   	nop    
  40128d:	90                   	nop    
  40128e:	90                   	nop    
  40128f:	90                   	nop    

00401290 <_WineLicense>:
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU "
"Lesser General Public License for more details.";

VOID WineLicense(HWND hwnd)
{
  401290:	55                   	push   %ebp
  401291:	89 e5                	mov    %esp,%ebp
  401293:	52                   	push   %edx
  401294:	52                   	push   %edx
  MessageBoxA(hwnd, License, LicenseCaption, MB_ICONINFORMATION|MB_OK);
  401295:	6a 40                	push   $0x40
  401297:	8b 45 08             	mov    0x8(%ebp),%eax
  40129a:	68 11 a1 40 00       	push   $0x40a111
  40129f:	68 20 a1 40 00       	push   $0x40a120
  4012a4:	50                   	push   %eax
  4012a5:	e8 36 62 00 00       	call   4074e0 <_MessageBoxA@16>
  4012aa:	c9                   	leave  
  4012ab:	c3                   	ret    
  4012ac:	8d 74 26 00          	lea    0x0(%esi),%esi

004012b0 <_WineWarranty>:
}

VOID WineWarranty(HWND hwnd)
{
  4012b0:	55                   	push   %ebp
  4012b1:	89 e5                	mov    %esp,%ebp
  4012b3:	50                   	push   %eax
  4012b4:	50                   	push   %eax
  MessageBoxA(hwnd, NoWarranty, NoWarrantyCaption, MB_ICONEXCLAMATION|MB_OK);
  4012b5:	6a 30                	push   $0x30
  4012b7:	8b 4d 08             	mov    0x8(%ebp),%ecx
  4012ba:	68 00 a0 40 00       	push   $0x40a000
  4012bf:	68 20 a0 40 00       	push   $0x40a020
  4012c4:	51                   	push   %ecx
  4012c5:	e8 16 62 00 00       	call   4074e0 <_MessageBoxA@16>
  4012ca:	c9                   	leave  
  4012cb:	c3                   	ret    
  4012cc:	90                   	nop    
  4012cd:	90                   	nop    
  4012ce:	90                   	nop    
  4012cf:	90                   	nop    

004012d0 <_load_string>:


/* load resource string */
static LPTSTR load_string(LPTSTR buffer, UINT id)
{
  4012d0:	55                   	push   %ebp
  4012d1:	89 e5                	mov    %esp,%ebp
  4012d3:	53                   	push   %ebx
  4012d4:	51                   	push   %ecx
  4012d5:	89 c3                	mov    %eax,%ebx
	LoadString(Globals.hInstance, id, buffer, BUFFER_LEN);
  4012d7:	68 00 04 00 00       	push   $0x400
  4012dc:	50                   	push   %eax
  4012dd:	a1 80 c2 40 00       	mov    0x40c280,%eax
  4012e2:	52                   	push   %edx
  4012e3:	50                   	push   %eax
  4012e4:	e8 07 62 00 00       	call   4074f0 <_LoadStringW@16>

	return buffer;
}
  4012e9:	89 d8                	mov    %ebx,%eax
  4012eb:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  4012ee:	c9                   	leave  
  4012ef:	c3                   	ret    

004012f0 <_display_error>:

#define	RS(b, i) load_string(b, i)


/* display error message for the specified WIN32 error code */
static void display_error(HWND hwnd, DWORD error)
{
  4012f0:	55                   	push   %ebp
  4012f1:	89 e5                	mov    %esp,%ebp
  4012f3:	53                   	push   %ebx
  4012f4:	50                   	push   %eax
  4012f5:	b8 10 10 00 00       	mov    $0x1010,%eax
  4012fa:	e8 91 6e 00 00       	call   408190 <___chkstk>
  4012ff:	8b 45 f8             	mov    0xfffffff8(%ebp),%eax
  401302:	89 c3                	mov    %eax,%ebx
	TCHAR b1[BUFFER_LEN], b2[BUFFER_LEN];
	PTSTR msg;

	if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
  401304:	8d 85 f4 ef ff ff    	lea    0xffffeff4(%ebp),%eax
  40130a:	51                   	push   %ecx
  40130b:	6a 00                	push   $0x0
  40130d:	6a 00                	push   $0x0
  40130f:	50                   	push   %eax
  401310:	68 00 04 00 00       	push   $0x400
  401315:	52                   	push   %edx
  401316:	6a 00                	push   $0x0
  401318:	68 00 11 00 00       	push   $0x1100
  40131d:	e8 8e 5f 00 00       	call   4072b0 <_FormatMessageW@28>
  401322:	5a                   	pop    %edx
  401323:	85 c0                	test   %eax,%eax
  401325:	74 3a                	je     401361 <_display_error+0x71>
		0, error, MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT), (PTSTR)&msg, 0, NULL))
		MessageBox(hwnd, msg, RS(b2,IDS_WINEFILE), MB_OK);
  401327:	6a 00                	push   $0x0
  401329:	ba b0 04 00 00       	mov    $0x4b0,%edx
  40132e:	83 ec 0c             	sub    $0xc,%esp
  401331:	8d 85 f8 ef ff ff    	lea    0xffffeff8(%ebp),%eax
  401337:	e8 94 ff ff ff       	call   4012d0 <_load_string>
  40133c:	83 c4 0c             	add    $0xc,%esp
  40133f:	50                   	push   %eax
  401340:	8b 85 f4 ef ff ff    	mov    0xffffeff4(%ebp),%eax
	else
		MessageBox(hwnd, RS(b1,IDS_ERROR), RS(b2,IDS_WINEFILE), MB_OK);
  401346:	50                   	push   %eax
  401347:	53                   	push   %ebx
  401348:	e8 b3 61 00 00       	call   407500 <_MessageBoxW@16>

	LocalFree(msg);
  40134d:	8b 9d f4 ef ff ff    	mov    0xffffeff4(%ebp),%ebx
  401353:	83 ec 0c             	sub    $0xc,%esp
  401356:	53                   	push   %ebx
  401357:	e8 64 5f 00 00       	call   4072c0 <_LocalFree@4>
  40135c:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  40135f:	c9                   	leave  
  401360:	c3                   	ret    
  401361:	6a 00                	push   $0x0
  401363:	8d 85 f8 ef ff ff    	lea    0xffffeff8(%ebp),%eax
  401369:	83 ec 0c             	sub    $0xc,%esp
  40136c:	ba b0 04 00 00       	mov    $0x4b0,%edx
  401371:	e8 5a ff ff ff       	call   4012d0 <_load_string>
  401376:	83 c4 0c             	add    $0xc,%esp
  401379:	ba b1 04 00 00       	mov    $0x4b1,%edx
  40137e:	50                   	push   %eax
  40137f:	50                   	push   %eax
  401380:	50                   	push   %eax
  401381:	8d 85 f8 f7 ff ff    	lea    0xfffff7f8(%ebp),%eax
  401387:	e8 44 ff ff ff       	call   4012d0 <_load_string>
  40138c:	5a                   	pop    %edx
  40138d:	59                   	pop    %ecx
  40138e:	50                   	push   %eax
  40138f:	53                   	push   %ebx
  401390:	e8 6b 61 00 00       	call   407500 <_MessageBoxW@16>
  401395:	8b 9d f4 ef ff ff    	mov    0xffffeff4(%ebp),%ebx
  40139b:	83 ec 0c             	sub    $0xc,%esp
  40139e:	53                   	push   %ebx
  40139f:	e8 1c 5f 00 00       	call   4072c0 <_LocalFree@4>
  4013a4:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  4013a7:	c9                   	leave  
  4013a8:	c3                   	ret    
  4013a9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

004013b0 <_alloc_entry>:
}


/* allocate and initialise a directory entry */
static Entry* alloc_entry()
{
  4013b0:	55                   	push   %ebp
  4013b1:	89 e5                	mov    %esp,%ebp
  4013b3:	83 ec 14             	sub    $0x14,%esp
	Entry* entry = (Entry*) malloc(sizeof(Entry));
  4013b6:	68 b0 02 00 00       	push   $0x2b0
  4013bb:	e8 80 6f 00 00       	call   408340 <_malloc>

#ifdef _SHELL_FOLDERS
	entry->pidl = NULL;
  4013c0:	c7 80 a4 02 00 00 00 	movl   $0x0,0x2a4(%eax)
  4013c7:	00 00 00 
	entry->folder = NULL;
  4013ca:	c7 80 a8 02 00 00 00 	movl   $0x0,0x2a8(%eax)
  4013d1:	00 00 00 
	entry->hicon = 0;
  4013d4:	c7 80 ac 02 00 00 00 	movl   $0x0,0x2ac(%eax)
  4013db:	00 00 00 
#endif

	return entry;
}
  4013de:	c9                   	leave  
  4013df:	c3                   	ret    

004013e0 <_free_entries>:

/* free a directory entry */
static void free_entry(Entry* entry)
{
#ifdef _SHELL_FOLDERS
	if (entry->hicon && entry->hicon!=(HICON)-1)
		DestroyIcon(entry->hicon);

	if (entry->folder && entry->folder!=Globals.iDesktop)
		(*entry->folder->lpVtbl->Release)(entry->folder);

	if (entry->pidl)
		(*Globals.iMalloc->lpVtbl->Free)(Globals.iMalloc, entry->pidl);
#endif

	free(entry);
}

/* recursively free all child entries */
static void free_entries(Entry* dir)
{
  4013e0:	55                   	push   %ebp
  4013e1:	89 e5                	mov    %esp,%ebp
  4013e3:	56                   	push   %esi
  4013e4:	53                   	push   %ebx
	Entry *entry, *next=dir->down;
  4013e5:	8b 70 04             	mov    0x4(%eax),%esi

	if (next) {
  4013e8:	85 f6                	test   %esi,%esi
  4013ea:	0f 84 a0 00 00 00    	je     401490 <_free_entries+0xb0>
		dir->down = 0;
  4013f0:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
  4013f7:	eb 41                	jmp    40143a <_free_entries+0x5a>
  4013f9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  401400:	8b 93 a8 02 00 00    	mov    0x2a8(%ebx),%edx
  401406:	85 d2                	test   %edx,%edx
  401408:	74 16                	je     401420 <_free_entries+0x40>
  40140a:	3b 15 d0 ca 40 00    	cmp    0x40cad0,%edx
  401410:	74 0e                	je     401420 <_free_entries+0x40>
  401412:	83 ec 0c             	sub    $0xc,%esp
  401415:	8b 02                	mov    (%edx),%eax
  401417:	52                   	push   %edx
  401418:	ff 50 08             	call   *0x8(%eax)
  40141b:	83 c4 0c             	add    $0xc,%esp
  40141e:	89 f6                	mov    %esi,%esi
  401420:	8b 8b a4 02 00 00    	mov    0x2a4(%ebx),%ecx
  401426:	85 c9                	test   %ecx,%ecx
  401428:	75 46                	jne    401470 <_free_entries+0x90>
  40142a:	83 ec 0c             	sub    $0xc,%esp
  40142d:	53                   	push   %ebx
  40142e:	e8 fd 6e 00 00       	call   408330 <_free>
  401433:	83 c4 10             	add    $0x10,%esp

		do {
			entry = next;
			next = entry->next;

			free_entries(entry);
			free_entry(entry);
		} while(next);
  401436:	85 f6                	test   %esi,%esi
  401438:	74 56                	je     401490 <_free_entries+0xb0>
  40143a:	89 f3                	mov    %esi,%ebx
  40143c:	8b 36                	mov    (%esi),%esi
  40143e:	89 d8                	mov    %ebx,%eax
  401440:	e8 9b ff ff ff       	call   4013e0 <_free_entries>
  401445:	8b 8b ac 02 00 00    	mov    0x2ac(%ebx),%ecx
  40144b:	85 c9                	test   %ecx,%ecx
  40144d:	0f 95 c2             	setne  %dl
  401450:	83 f9 ff             	cmp    $0xffffffff,%ecx
  401453:	0f 95 c0             	setne  %al
  401456:	25 ff 00 00 00       	and    $0xff,%eax
  40145b:	85 c2                	test   %eax,%edx
  40145d:	74 a1                	je     401400 <_free_entries+0x20>
  40145f:	83 ec 0c             	sub    $0xc,%esp
  401462:	51                   	push   %ecx
  401463:	e8 a8 60 00 00       	call   407510 <_DestroyIcon@4>
  401468:	83 c4 0c             	add    $0xc,%esp
  40146b:	eb 93                	jmp    401400 <_free_entries+0x20>
  40146d:	8d 76 00             	lea    0x0(%esi),%esi
  401470:	50                   	push   %eax
  401471:	50                   	push   %eax
  401472:	a1 d4 ca 40 00       	mov    0x40cad4,%eax
  401477:	8b 10                	mov    (%eax),%edx
  401479:	51                   	push   %ecx
  40147a:	50                   	push   %eax
  40147b:	ff 52 14             	call   *0x14(%edx)
  40147e:	58                   	pop    %eax
  40147f:	5a                   	pop    %edx
  401480:	83 ec 0c             	sub    $0xc,%esp
  401483:	53                   	push   %ebx
  401484:	e8 a7 6e 00 00       	call   408330 <_free>
  401489:	83 c4 10             	add    $0x10,%esp
  40148c:	85 f6                	test   %esi,%esi
  40148e:	75 aa                	jne    40143a <_free_entries+0x5a>
	}
}
  401490:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  401493:	5b                   	pop    %ebx
  401494:	5e                   	pop    %esi
  401495:	5d                   	pop    %ebp
  401496:	c3                   	ret    
  401497:	89 f6                	mov    %esi,%esi
  401499:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004014a0 <_read_directory_win>:


static void read_directory_win(Entry* dir, LPCTSTR path)
{
  4014a0:	55                   	push   %ebp
  4014a1:	89 e5                	mov    %esp,%ebp
  4014a3:	57                   	push   %edi
  4014a4:	56                   	push   %esi
  4014a5:	53                   	push   %ebx
  4014a6:	81 ec 8c 04 00 00    	sub    $0x48c,%esp
	Entry* first_entry = NULL;
	Entry* last = NULL;
  4014ac:	31 f6                	xor    %esi,%esi
	Entry* entry;

	int level = dir->level + 1;
  4014ae:	8b 48 14             	mov    0x14(%eax),%ecx
	WIN32_FIND_DATA w32fd;
	HANDLE hFind;
#ifndef _NO_EXTENSIONS
	HANDLE hFile;
#endif

	TCHAR buffer[MAX_PATH], *p;
	for(p=buffer; *path; )
  4014b1:	8d bd 88 fb ff ff    	lea    0xfffffb88(%ebp),%edi
  4014b7:	41                   	inc    %ecx
  4014b8:	89 85 84 fb ff ff    	mov    %eax,0xfffffb84(%ebp)
  4014be:	c7 85 80 fb ff ff 00 	movl   $0x0,0xfffffb80(%ebp)
  4014c5:	00 00 00 
  4014c8:	89 8d 7c fb ff ff    	mov    %ecx,0xfffffb7c(%ebp)
  4014ce:	eb 09                	jmp    4014d9 <_read_directory_win+0x39>
		*p++ = *path++;
  4014d0:	66 89 07             	mov    %ax,(%edi)
  4014d3:	83 c2 02             	add    $0x2,%edx
  4014d6:	83 c7 02             	add    $0x2,%edi
  4014d9:	66 8b 02             	mov    (%edx),%ax
  4014dc:	66 85 c0             	test   %ax,%ax
  4014df:	75 ef                	jne    4014d0 <_read_directory_win+0x30>

	*p++ = '\\';
  4014e1:	66 c7 07 5c 00       	movw   $0x5c,(%edi)
  4014e6:	83 c7 02             	add    $0x2,%edi
	p[0] = '*';
	p[1] = '\0';

	hFind = FindFirstFile(buffer, &w32fd);
  4014e9:	8d 95 88 fb ff ff    	lea    0xfffffb88(%ebp),%edx
  4014ef:	8d 85 98 fd ff ff    	lea    0xfffffd98(%ebp),%eax
  4014f5:	66 c7 07 2a 00       	movw   $0x2a,(%edi)
  4014fa:	66 c7 47 02 00 00    	movw   $0x0,0x2(%edi)
  401500:	53                   	push   %ebx
  401501:	53                   	push   %ebx
  401502:	50                   	push   %eax
  401503:	52                   	push   %edx
  401504:	e8 c7 5d 00 00       	call   4072d0 <_FindFirstFileW@8>

	if (hFind != INVALID_HANDLE_VALUE) {
  401509:	5a                   	pop    %edx
  40150a:	59                   	pop    %ecx
  40150b:	89 85 78 fb ff ff    	mov    %eax,0xfffffb78(%ebp)
  401511:	40                   	inc    %eax
  401512:	0f 85 e4 00 00 00    	jne    4015fc <_read_directory_win+0x15c>
  401518:	e9 1b 01 00 00       	jmp    401638 <_read_directory_win+0x198>
  40151d:	8d 76 00             	lea    0x0(%esi),%esi
		do {
			entry = alloc_entry();

			if (!first_entry)
				first_entry = entry;

			if (last)
  401520:	85 f6                	test   %esi,%esi
  401522:	74 02                	je     401526 <_read_directory_win+0x86>
				last->next = entry;
  401524:	89 1e                	mov    %ebx,(%esi)

			memcpy(&entry->data, &w32fd, sizeof(WIN32_FIND_DATA));
  401526:	8d 4b 18             	lea    0x18(%ebx),%ecx
  401529:	8d 85 98 fd ff ff    	lea    0xfffffd98(%ebp),%eax
  40152f:	89 8d 74 fb ff ff    	mov    %ecx,0xfffffb74(%ebp)
  401535:	56                   	push   %esi
  401536:	68 50 02 00 00       	push   $0x250
  40153b:	50                   	push   %eax
  40153c:	51                   	push   %ecx
  40153d:	e8 4e 6d 00 00       	call   408290 <_memcpy>
			entry->down = NULL;
			entry->up = dir;
  401542:	8b 95 84 fb ff ff    	mov    0xfffffb84(%ebp),%edx
			entry->expanded = FALSE;
			entry->scanned = FALSE;
			entry->level = level;
  401548:	8b 8d 7c fb ff ff    	mov    0xfffffb7c(%ebp),%ecx
  40154e:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
  401555:	89 4b 14             	mov    %ecx,0x14(%ebx)
  401558:	89 53 08             	mov    %edx,0x8(%ebx)
  40155b:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
  401562:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)

#ifdef _NO_EXTENSIONS
			/* hide directory entry "." */
			if (entry->data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
				LPCTSTR name = entry->data.cFileName;

				if (name[0]=='.' && name[1]=='\0')
					continue;
			}
#else
			entry->etype = ET_WINDOWS;
  401569:	c7 83 a0 02 00 00 00 	movl   $0x0,0x2a0(%ebx)
  401570:	00 00 00 
			entry->bhfi_valid = FALSE;
  401573:	c7 83 9c 02 00 00 00 	movl   $0x0,0x29c(%ebx)
  40157a:	00 00 00 

			lstrcpy(p, entry->data.cFileName);
  40157d:	58                   	pop    %eax
  40157e:	8d 43 44             	lea    0x44(%ebx),%eax
  401581:	5a                   	pop    %edx
  401582:	50                   	push   %eax
  401583:	57                   	push   %edi
  401584:	e8 57 5d 00 00       	call   4072e0 <_lstrcpyW@8>

			hFile = CreateFile(buffer, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
  401589:	8d 85 88 fb ff ff    	lea    0xfffffb88(%ebp),%eax
  40158f:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  401596:	68 00 00 00 02       	push   $0x2000000
  40159b:	6a 03                	push   $0x3
  40159d:	6a 00                	push   $0x0
  40159f:	6a 07                	push   $0x7
  4015a1:	68 00 00 00 80       	push   $0x80000000
  4015a6:	50                   	push   %eax
  4015a7:	e8 44 5d 00 00       	call   4072f0 <_CreateFileW@28>
  4015ac:	89 c6                	mov    %eax,%esi
								0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);

			if (hFile != INVALID_HANDLE_VALUE) {
  4015ae:	58                   	pop    %eax
  4015af:	83 fe ff             	cmp    $0xffffffff,%esi
  4015b2:	74 2b                	je     4015df <_read_directory_win+0x13f>
				if (GetFileInformationByHandle(hFile, &entry->bhfi))
  4015b4:	50                   	push   %eax
  4015b5:	50                   	push   %eax
  4015b6:	8d 83 68 02 00 00    	lea    0x268(%ebx),%eax
  4015bc:	50                   	push   %eax
  4015bd:	56                   	push   %esi
  4015be:	e8 3d 5d 00 00       	call   407300 <_GetFileInformationByHandle@8>
  4015c3:	5a                   	pop    %edx
  4015c4:	85 c0                	test   %eax,%eax
  4015c6:	59                   	pop    %ecx
  4015c7:	74 0a                	je     4015d3 <_read_directory_win+0x133>
					entry->bhfi_valid = TRUE;
  4015c9:	c7 83 9c 02 00 00 01 	movl   $0x1,0x29c(%ebx)
  4015d0:	00 00 00 

				CloseHandle(hFile);
  4015d3:	83 ec 0c             	sub    $0xc,%esp
  4015d6:	56                   	push   %esi
  4015d7:	e8 34 5d 00 00       	call   407310 <_CloseHandle@4>
  4015dc:	83 c4 0c             	add    $0xc,%esp
			}
#endif

			last = entry;
		} while(FindNextFile(hFind, &entry->data));
  4015df:	50                   	push   %eax
  4015e0:	50                   	push   %eax
  4015e1:	8b 85 74 fb ff ff    	mov    0xfffffb74(%ebp),%eax
  4015e7:	50                   	push   %eax
  4015e8:	8b 85 78 fb ff ff    	mov    0xfffffb78(%ebp),%eax
  4015ee:	50                   	push   %eax
  4015ef:	e8 2c 5d 00 00       	call   407320 <_FindNextFileW@8>
  4015f4:	89 de                	mov    %ebx,%esi
  4015f6:	5a                   	pop    %edx
  4015f7:	85 c0                	test   %eax,%eax
  4015f9:	59                   	pop    %ecx
  4015fa:	74 24                	je     401620 <_read_directory_win+0x180>
  4015fc:	e8 af fd ff ff       	call   4013b0 <_alloc_entry>
  401601:	89 c3                	mov    %eax,%ebx
  401603:	8b 85 80 fb ff ff    	mov    0xfffffb80(%ebp),%eax
  401609:	85 c0                	test   %eax,%eax
  40160b:	0f 85 0f ff ff ff    	jne    401520 <_read_directory_win+0x80>
  401611:	89 9d 80 fb ff ff    	mov    %ebx,0xfffffb80(%ebp)
  401617:	e9 04 ff ff ff       	jmp    401520 <_read_directory_win+0x80>
  40161c:	8d 74 26 00          	lea    0x0(%esi),%esi

		last->next = NULL;

		FindClose(hFind);
  401620:	83 ec 0c             	sub    $0xc,%esp
  401623:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
  401629:	8b 85 78 fb ff ff    	mov    0xfffffb78(%ebp),%eax
  40162f:	50                   	push   %eax
  401630:	e8 fb 5c 00 00       	call   407330 <_FindClose@4>
  401635:	83 c4 0c             	add    $0xc,%esp
	}

	dir->down = first_entry;
  401638:	8b 95 84 fb ff ff    	mov    0xfffffb84(%ebp),%edx
  40163e:	8b 8d 80 fb ff ff    	mov    0xfffffb80(%ebp),%ecx
  401644:	89 4a 04             	mov    %ecx,0x4(%edx)
	dir->scanned = TRUE;
  401647:	c7 42 10 01 00 00 00 	movl   $0x1,0x10(%edx)
  40164e:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  401651:	5b                   	pop    %ebx
  401652:	5e                   	pop    %esi
  401653:	5f                   	pop    %edi
  401654:	5d                   	pop    %ebp
  401655:	c3                   	ret    
  401656:	8d 76 00             	lea    0x0(%esi),%esi
  401659:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00401660 <_strcpyn>:
}


static Entry* find_entry_win(Entry* dir, LPCTSTR name)
{
	Entry* entry;

	for(entry=dir->down; entry; entry=entry->next) {
		LPCTSTR p = name;
		LPCTSTR q = entry->data.cFileName;

		do {
			if (!*p || *p==TEXT('\\') || *p==TEXT('/'))
				return entry;
		} while(tolower(*p++) == tolower(*q++));

		p = name;
		q = entry->data.cAlternateFileName;

		do {
			if (!*p || *p==TEXT('\\') || *p==TEXT('/'))
				return entry;
		} while(tolower(*p++) == tolower(*q++));
	}

	return 0;
}


static Entry* read_tree_win(Root* root, LPCTSTR path, SORT_ORDER sortOrder, HWND hwnd)
{
	TCHAR buffer[MAX_PATH];
	Entry* entry = &root->entry;
	LPCTSTR s = path;
	PTSTR d = buffer;

	HCURSOR old_cursor = SetCursor(LoadCursor(0, IDC_WAIT));

#ifndef _NO_EXTENSIONS
	entry->etype = ET_WINDOWS;
#endif

	while(entry) {
		while(*s && *s!=TEXT('\\') && *s!=TEXT('/'))
			*d++ = *s++;

		while(*s==TEXT('\\') || *s==TEXT('/'))
			s++;

		*d++ = TEXT('\\');
		*d = TEXT('\0');

		read_directory(entry, buffer, sortOrder, hwnd);

		if (entry->down)
			entry->expanded = TRUE;

		if (!*s)
			break;

		entry = find_entry_win(entry, s);
	}

	SetCursor(old_cursor);

	return entry;
}


#if !defined(_NO_EXTENSIONS) && defined(__WINE__)

static BOOL time_to_filetime(const time_t* t, FILETIME* ftime)
{
	struct tm* tm = gmtime(t);
	SYSTEMTIME stime;

	if (!tm)
		return FALSE;

	stime.wYear = tm->tm_year+1900;
	stime.wMonth = tm->tm_mon+1;
	/* stime.wDayOfWeek */
	stime.wDay = tm->tm_mday;
	stime.wHour = tm->tm_hour;
	stime.wMinute = tm->tm_min;
	stime.wSecond = tm->tm_sec;

	return SystemTimeToFileTime(&stime, ftime);
}

static void read_directory_unix(Entry* dir, LPCTSTR path)
{
	Entry* first_entry = NULL;
	Entry* last = NULL;
	Entry* entry;
	void* pdir;

#ifdef UNICODE
	char cpath[MAX_PATH];

	WideCharToMultiByte(CP_UNIXCP, 0, path, -1, cpath, MAX_PATH, NULL, NULL);
#else
	const char* cpath = path;
#endif

	pdir = call_opendir(cpath);

	int level = dir->level + 1;

	if (pdir) {
		char buffer[MAX_PATH];
		time_t atime, mtime;
		unsigned inode;
		int is_dir;
		const char* s;
		char* p;

		for(p=buffer,s=cpath; *s; )
			*p++ = *s++;

		if (p==buffer || p[-1]!='/')
			*p++ = '/';

		while(call_readdir(pdir, p, &inode)) {
			entry = alloc_entry();

			if (!first_entry)
				first_entry = entry;

			if (last)
				last->next = entry;

			entry->etype = ET_UNIX;

#ifdef UNICODE
			MultiByteToWideChar(CP_UNIXCP, 0, p, -1, entry->data.cFileName, MAX_PATH);
#else
			lstrcpy(entry->data.cFileName, p);
#endif

			entry->data.dwFileAttributes = p[0]=='.'? FILE_ATTRIBUTE_HIDDEN: 0;

			if (!call_stat(buffer, &is_dir,
				&entry->data.nFileSizeLow, &entry->data.nFileSizeHigh,
				&atime, &mtime, &entry->bhfi.nNumberOfLinks))
			{
				if (is_dir)
					entry->data.dwFileAttributes |= FILE_ATTRIBUTE_DIRECTORY;

				memset(&entry->data.ftCreationTime, 0, sizeof(FILETIME));
				time_to_filetime(&atime, &entry->data.ftLastAccessTime);
				time_to_filetime(&mtime, &entry->data.ftLastWriteTime);

				entry->bhfi.nFileIndexLow = inode;
				entry->bhfi.nFileIndexHigh = 0;

				entry->bhfi_valid = TRUE;
			} else {
				entry->data.nFileSizeLow = 0;
				entry->data.nFileSizeHigh = 0;
				entry->bhfi_valid = FALSE;
			}

			entry->down = NULL;
			entry->up = dir;
			entry->expanded = FALSE;
			entry->scanned = FALSE;
			entry->level = level;

			last = entry;
		}

		last->next = NULL;

		call_closedir(pdir);
	}

	dir->down = first_entry;
	dir->scanned = TRUE;
}

static Entry* find_entry_unix(Entry* dir, LPCTSTR name)
{
	Entry* entry;

	for(entry=dir->down; entry; entry=entry->next) {
		LPCTSTR p = name;
		LPCTSTR q = entry->data.cFileName;

		do {
			if (!*p || *p==TEXT('/'))
				return entry;
		} while(*p++ == *q++);
	}

	return 0;
}

static Entry* read_tree_unix(Root* root, LPCTSTR path, SORT_ORDER sortOrder, HWND hwnd)
{
	TCHAR buffer[MAX_PATH];
	Entry* entry = &root->entry;
	LPCTSTR s = path;
	PTSTR d = buffer;

	HCURSOR old_cursor = SetCursor(LoadCursor(0, IDC_WAIT));

	entry->etype = ET_UNIX;

	while(entry) {
		while(*s && *s!=TEXT('/'))
			*d++ = *s++;

		while(*s == TEXT('/'))
			s++;

		*d++ = TEXT('/');
		*d = TEXT('\0');

		read_directory(entry, buffer, sortOrder, hwnd);

		if (entry->down)
			entry->expanded = TRUE;

		if (!*s)
			break;

		entry = find_entry_unix(entry, s);
	}

	SetCursor(old_cursor);

	return entry;
}

#endif /* !defined(_NO_EXTENSIONS) && defined(__WINE__) */


#ifdef _SHELL_FOLDERS

#ifdef UNICODE
#define	tcscpyn strcpyn
#define	get_strret get_strretW
#define	path_from_pidl path_from_pidlW
#else
#define	tcscpyn wcscpyn
#define	get_strret get_strretA
#define	path_from_pidl path_from_pidlA
#endif


static LPSTR strcpyn(LPSTR dest, LPCSTR source, size_t count)
{
  401660:	55                   	push   %ebp
  401661:	89 e5                	mov    %esp,%ebp
  401663:	56                   	push   %esi
  401664:	53                   	push   %ebx
  401665:	89 c6                	mov    %eax,%esi
  401667:	8b 5d 08             	mov    0x8(%ebp),%ebx
 LPCSTR s;
 LPSTR d = dest;

 for(s=source; count&&(*d++=*s++); )
  40166a:	85 db                	test   %ebx,%ebx
  40166c:	74 1f                	je     40168d <_strcpyn+0x2d>
  40166e:	8a 02                	mov    (%edx),%al
  401670:	8d 4e 01             	lea    0x1(%esi),%ecx
  401673:	42                   	inc    %edx
  401674:	88 06                	mov    %al,(%esi)
  401676:	84 c0                	test   %al,%al
  401678:	74 13                	je     40168d <_strcpyn+0x2d>
  40167a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  401680:	4b                   	dec    %ebx
  401681:	74 0a                	je     40168d <_strcpyn+0x2d>
  401683:	8a 02                	mov    (%edx),%al
  401685:	42                   	inc    %edx
  401686:	88 01                	mov    %al,(%ecx)
  401688:	41                   	inc    %ecx
  401689:	84 c0                	test   %al,%al
  40168b:	75 f3                	jne    401680 <_strcpyn+0x20>
  count--;

 return dest;
}
  40168d:	89 f0                	mov    %esi,%eax
  40168f:	5b                   	pop    %ebx
  401690:	5e                   	pop    %esi
  401691:	5d                   	pop    %ebp
  401692:	c3                   	ret    
  401693:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  401699:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004016a0 <_get_strretW>:

static LPWSTR wcscpyn(LPWSTR dest, LPCWSTR source, size_t count)
{
 LPCWSTR s;
 LPWSTR d = dest;

 for(s=source; count&&(*d++=*s++); )
  count--;

 return dest;
}


static void get_strretA(STRRET* str, const SHITEMID* shiid, LPSTR buffer, int len)
{
 switch(str->uType) {
  case STRRET_WSTR:
	WideCharToMultiByte(CP_ACP, 0, str->UNION_MEMBER(pOleStr), -1, buffer, len, NULL, NULL);
	break;

  case STRRET_OFFSET:
	strcpyn(buffer, (LPCSTR)shiid+str->UNION_MEMBER(uOffset), len);
	break;

  case STRRET_CSTR:
	strcpyn(buffer, str->UNION_MEMBER(cStr), len);
 }
}

static void get_strretW(STRRET* str, const SHITEMID* shiid, LPWSTR buffer, int len)
{
  4016a0:	55                   	push   %ebp
  4016a1:	89 e5                	mov    %esp,%ebp
  4016a3:	56                   	push   %esi
  4016a4:	53                   	push   %ebx
 switch(str->uType) {
  4016a5:	8b 08                	mov    (%eax),%ecx
  4016a7:	8b 75 08             	mov    0x8(%ebp),%esi
  4016aa:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  4016ad:	83 f9 01             	cmp    $0x1,%ecx
  4016b0:	74 4e                	je     401700 <_get_strretW+0x60>
  4016b2:	73 3c                	jae    4016f0 <_get_strretW+0x50>
  4016b4:	8b 48 04             	mov    0x4(%eax),%ecx
  4016b7:	85 db                	test   %ebx,%ebx
  4016b9:	74 3a                	je     4016f5 <_get_strretW+0x55>
  4016bb:	66 8b 01             	mov    (%ecx),%ax
  4016be:	8d 56 02             	lea    0x2(%esi),%edx
  4016c1:	83 c1 02             	add    $0x2,%ecx
  4016c4:	66 89 06             	mov    %ax,(%esi)
  4016c7:	66 85 c0             	test   %ax,%ax
  4016ca:	74 29                	je     4016f5 <_get_strretW+0x55>
  4016cc:	8d 74 26 00          	lea    0x0(%esi),%esi
  4016d0:	4b                   	dec    %ebx
  4016d1:	74 22                	je     4016f5 <_get_strretW+0x55>
  4016d3:	66 8b 01             	mov    (%ecx),%ax
  4016d6:	83 c1 02             	add    $0x2,%ecx
  4016d9:	66 89 02             	mov    %ax,(%edx)
  4016dc:	83 c2 02             	add    $0x2,%edx
  4016df:	66 85 c0             	test   %ax,%ax
  4016e2:	75 ec                	jne    4016d0 <_get_strretW+0x30>
  case STRRET_WSTR:
	wcscpyn(buffer, str->UNION_MEMBER(pOleStr), len);
	break;

  case STRRET_OFFSET:
	MultiByteToWideChar(CP_ACP, 0, (LPCSTR)shiid+str->UNION_MEMBER(uOffset), -1, buffer, len);
	break;

  case STRRET_CSTR:
	MultiByteToWideChar(CP_ACP, 0, str->UNION_MEMBER(cStr), -1, buffer, len);
 }
}
  4016e4:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  4016e7:	5b                   	pop    %ebx
  4016e8:	5e                   	pop    %esi
  4016e9:	5d                   	pop    %ebp
  4016ea:	c3                   	ret    
  4016eb:	90                   	nop    
  4016ec:	8d 74 26 00          	lea    0x0(%esi),%esi
  4016f0:	83 f9 02             	cmp    $0x2,%ecx
  4016f3:	74 29                	je     40171e <_get_strretW+0x7e>
  4016f5:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  4016f8:	5b                   	pop    %ebx
  4016f9:	5e                   	pop    %esi
  4016fa:	5d                   	pop    %ebp
  4016fb:	c3                   	ret    
  4016fc:	8d 74 26 00          	lea    0x0(%esi),%esi
  401700:	51                   	push   %ecx
  401701:	51                   	push   %ecx
  401702:	53                   	push   %ebx
  401703:	56                   	push   %esi
  401704:	6a ff                	push   $0xffffffff
  401706:	8b 48 04             	mov    0x4(%eax),%ecx
  401709:	01 ca                	add    %ecx,%edx
  40170b:	52                   	push   %edx
  40170c:	6a 00                	push   $0x0
  40170e:	6a 00                	push   $0x0
  401710:	e8 2b 5c 00 00       	call   407340 <_MultiByteToWideChar@24>
  401715:	5e                   	pop    %esi
  401716:	58                   	pop    %eax
  401717:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  40171a:	5b                   	pop    %ebx
  40171b:	5e                   	pop    %esi
  40171c:	5d                   	pop    %ebp
  40171d:	c3                   	ret    
  40171e:	83 c0 04             	add    $0x4,%eax
  401721:	52                   	push   %edx
  401722:	52                   	push   %edx
  401723:	53                   	push   %ebx
  401724:	56                   	push   %esi
  401725:	6a ff                	push   $0xffffffff
  401727:	50                   	push   %eax
  401728:	eb e2                	jmp    40170c <_get_strretW+0x6c>
  40172a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00401730 <_free_strret>:


static void free_strret(STRRET* str)
{
  401730:	55                   	push   %ebp
  401731:	89 e5                	mov    %esp,%ebp
  401733:	52                   	push   %edx
  401734:	52                   	push   %edx
  401735:	89 c1                	mov    %eax,%ecx
	if (str->uType == STRRET_WSTR)
  401737:	8b 00                	mov    (%eax),%eax
  401739:	85 c0                	test   %eax,%eax
  40173b:	74 03                	je     401740 <_free_strret+0x10>
		(*Globals.iMalloc->lpVtbl->Free)(Globals.iMalloc, str->UNION_MEMBER(pOleStr));
}
  40173d:	c9                   	leave  
  40173e:	c3                   	ret    
  40173f:	90                   	nop    
  401740:	50                   	push   %eax
  401741:	50                   	push   %eax
  401742:	a1 d4 ca 40 00       	mov    0x40cad4,%eax
  401747:	8b 49 04             	mov    0x4(%ecx),%ecx
  40174a:	8b 10                	mov    (%eax),%edx
  40174c:	51                   	push   %ecx
  40174d:	50                   	push   %eax
  40174e:	ff 52 14             	call   *0x14(%edx)
  401751:	58                   	pop    %eax
  401752:	5a                   	pop    %edx
  401753:	c9                   	leave  
  401754:	c3                   	ret    
  401755:	8d 74 26 00          	lea    0x0(%esi),%esi
  401759:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00401760 <_name_from_pidl>:


HRESULT name_from_pidl(IShellFolder* folder, LPITEMIDLIST pidl, LPTSTR buffer, int len, SHGDNF flags)
{
  401760:	55                   	push   %ebp
  401761:	89 e5                	mov    %esp,%ebp
  401763:	57                   	push   %edi
  401764:	56                   	push   %esi
  401765:	53                   	push   %ebx
  401766:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
	STRRET str;

	HRESULT hr = (*folder->lpVtbl->GetDisplayNameOf)(folder, pidl, flags, &str);
  40176c:	8d 9d d8 fe ff ff    	lea    0xfffffed8(%ebp),%ebx
  401772:	8b 45 08             	mov    0x8(%ebp),%eax
  401775:	8b 7d 0c             	mov    0xc(%ebp),%edi
  401778:	8b 10                	mov    (%eax),%edx
  40177a:	53                   	push   %ebx
  40177b:	8b 4d 18             	mov    0x18(%ebp),%ecx
  40177e:	51                   	push   %ecx
  40177f:	57                   	push   %edi
  401780:	50                   	push   %eax
  401781:	ff 52 2c             	call   *0x2c(%edx)
  401784:	89 c6                	mov    %eax,%esi

	if (SUCCEEDED(hr)) {
  401786:	85 c0                	test   %eax,%eax
  401788:	78 27                	js     4017b1 <_name_from_pidl+0x51>
		get_strret(&str, &pidl->mkid, buffer, len);
  40178a:	50                   	push   %eax
  40178b:	50                   	push   %eax
  40178c:	89 fa                	mov    %edi,%edx
  40178e:	8b 45 14             	mov    0x14(%ebp),%eax
  401791:	50                   	push   %eax
  401792:	89 d8                	mov    %ebx,%eax
  401794:	8b 4d 10             	mov    0x10(%ebp),%ecx
  401797:	51                   	push   %ecx
  401798:	e8 03 ff ff ff       	call   4016a0 <_get_strretW>
		free_strret(&str);
  40179d:	89 d8                	mov    %ebx,%eax
  40179f:	e8 8c ff ff ff       	call   401730 <_free_strret>
	} else
		buffer[0] = '\0';

	return hr;
}
  4017a4:	89 f0                	mov    %esi,%eax
  4017a6:	83 c4 10             	add    $0x10,%esp
  4017a9:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4017ac:	5b                   	pop    %ebx
  4017ad:	5e                   	pop    %esi
  4017ae:	5f                   	pop    %edi
  4017af:	5d                   	pop    %ebp
  4017b0:	c3                   	ret    
  4017b1:	8b 45 10             	mov    0x10(%ebp),%eax
  4017b4:	66 c7 00 00 00       	movw   $0x0,(%eax)
  4017b9:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4017bc:	89 f0                	mov    %esi,%eax
  4017be:	5b                   	pop    %ebx
  4017bf:	5e                   	pop    %esi
  4017c0:	5f                   	pop    %edi
  4017c1:	5d                   	pop    %ebp
  4017c2:	c3                   	ret    
  4017c3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4017c9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004017d0 <_path_from_pidlA>:


HRESULT path_from_pidlA(IShellFolder* folder, LPITEMIDLIST pidl, LPSTR buffer, int len)
{
  4017d0:	55                   	push   %ebp
  4017d1:	89 e5                	mov    %esp,%ebp
  4017d3:	57                   	push   %edi
  4017d4:	56                   	push   %esi
  4017d5:	53                   	push   %ebx
  4017d6:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
	STRRET str;

	 /* SHGDN_FORPARSING: get full path of id list */
	HRESULT hr = (*folder->lpVtbl->GetDisplayNameOf)(folder, pidl, SHGDN_FORPARSING, &str);
  4017dc:	8d 8d d8 fe ff ff    	lea    0xfffffed8(%ebp),%ecx
  4017e2:	8b 45 08             	mov    0x8(%ebp),%eax
  4017e5:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  4017e8:	8b 7d 14             	mov    0x14(%ebp),%edi
  4017eb:	8b 10                	mov    (%eax),%edx
  4017ed:	51                   	push   %ecx
  4017ee:	68 00 80 00 00       	push   $0x8000
  4017f3:	53                   	push   %ebx
  4017f4:	50                   	push   %eax
  4017f5:	ff 52 2c             	call   *0x2c(%edx)
  4017f8:	89 c6                	mov    %eax,%esi

	if (SUCCEEDED(hr)) {
  4017fa:	85 c0                	test   %eax,%eax
  4017fc:	78 44                	js     401842 <_path_from_pidlA+0x72>
  4017fe:	8b 85 d8 fe ff ff    	mov    0xfffffed8(%ebp),%eax
  401804:	83 f8 01             	cmp    $0x1,%eax
  401807:	74 49                	je     401852 <_path_from_pidlA+0x82>
  401809:	72 1a                	jb     401825 <_path_from_pidlA+0x55>
  40180b:	83 f8 02             	cmp    $0x2,%eax
  40180e:	74 58                	je     401868 <_path_from_pidlA+0x98>
		get_strretA(&str, &pidl->mkid, buffer, len);
		free_strret(&str);
  401810:	8d 85 d8 fe ff ff    	lea    0xfffffed8(%ebp),%eax
  401816:	e8 15 ff ff ff       	call   401730 <_free_strret>
	} else
		buffer[0] = '\0';

	return hr;
}
  40181b:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  40181e:	89 f0                	mov    %esi,%eax
  401820:	5b                   	pop    %ebx
  401821:	5e                   	pop    %esi
  401822:	5f                   	pop    %edi
  401823:	5d                   	pop    %ebp
  401824:	c3                   	ret    
  401825:	6a 00                	push   $0x0
  401827:	6a 00                	push   $0x0
  401829:	57                   	push   %edi
  40182a:	8b 45 10             	mov    0x10(%ebp),%eax
  40182d:	50                   	push   %eax
  40182e:	6a ff                	push   $0xffffffff
  401830:	8b 85 dc fe ff ff    	mov    0xfffffedc(%ebp),%eax
  401836:	50                   	push   %eax
  401837:	6a 00                	push   $0x0
  401839:	6a 00                	push   $0x0
  40183b:	e8 10 5b 00 00       	call   407350 <_WideCharToMultiByte@32>
  401840:	eb ce                	jmp    401810 <_path_from_pidlA+0x40>
  401842:	8b 45 10             	mov    0x10(%ebp),%eax
  401845:	c6 00 00             	movb   $0x0,(%eax)
  401848:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  40184b:	89 f0                	mov    %esi,%eax
  40184d:	5b                   	pop    %ebx
  40184e:	5e                   	pop    %esi
  40184f:	5f                   	pop    %edi
  401850:	5d                   	pop    %ebp
  401851:	c3                   	ret    
  401852:	8b 85 dc fe ff ff    	mov    0xfffffedc(%ebp),%eax
  401858:	57                   	push   %edi
  401859:	01 c3                	add    %eax,%ebx
  40185b:	89 da                	mov    %ebx,%edx
  40185d:	8b 45 10             	mov    0x10(%ebp),%eax
  401860:	e8 fb fd ff ff       	call   401660 <_strcpyn>
  401865:	5b                   	pop    %ebx
  401866:	eb a8                	jmp    401810 <_path_from_pidlA+0x40>
  401868:	8d 95 dc fe ff ff    	lea    0xfffffedc(%ebp),%edx
  40186e:	57                   	push   %edi
  40186f:	eb ec                	jmp    40185d <_path_from_pidlA+0x8d>
  401871:	eb 0d                	jmp    401880 <_path_from_pidlW>
  401873:	90                   	nop    
  401874:	90                   	nop    
  401875:	90                   	nop    
  401876:	90                   	nop    
  401877:	90                   	nop    
  401878:	90                   	nop    
  401879:	90                   	nop    
  40187a:	90                   	nop    
  40187b:	90                   	nop    
  40187c:	90                   	nop    
  40187d:	90                   	nop    
  40187e:	90                   	nop    
  40187f:	90                   	nop    

00401880 <_path_from_pidlW>:

HRESULT path_from_pidlW(IShellFolder* folder, LPITEMIDLIST pidl, LPWSTR buffer, int len)
{
  401880:	55                   	push   %ebp
  401881:	89 e5                	mov    %esp,%ebp
  401883:	57                   	push   %edi
  401884:	56                   	push   %esi
  401885:	53                   	push   %ebx
  401886:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
	STRRET str;

	 /* SHGDN_FORPARSING: get full path of id list */
	HRESULT hr = (*folder->lpVtbl->GetDisplayNameOf)(folder, pidl, SHGDN_FORPARSING, &str);
  40188c:	8d 9d d8 fe ff ff    	lea    0xfffffed8(%ebp),%ebx
  401892:	8b 45 08             	mov    0x8(%ebp),%eax
  401895:	8b 7d 0c             	mov    0xc(%ebp),%edi
  401898:	8b 10                	mov    (%eax),%edx
  40189a:	53                   	push   %ebx
  40189b:	68 00 80 00 00       	push   $0x8000
  4018a0:	57                   	push   %edi
  4018a1:	50                   	push   %eax
  4018a2:	ff 52 2c             	call   *0x2c(%edx)
  4018a5:	89 c6                	mov    %eax,%esi

	if (SUCCEEDED(hr)) {
  4018a7:	85 c0                	test   %eax,%eax
  4018a9:	78 27                	js     4018d2 <_path_from_pidlW+0x52>
		get_strretW(&str, &pidl->mkid, buffer, len);
  4018ab:	50                   	push   %eax
  4018ac:	50                   	push   %eax
  4018ad:	89 fa                	mov    %edi,%edx
  4018af:	8b 45 14             	mov    0x14(%ebp),%eax
  4018b2:	50                   	push   %eax
  4018b3:	8b 45 10             	mov    0x10(%ebp),%eax
  4018b6:	50                   	push   %eax
  4018b7:	89 d8                	mov    %ebx,%eax
  4018b9:	e8 e2 fd ff ff       	call   4016a0 <_get_strretW>
		free_strret(&str);
  4018be:	89 d8                	mov    %ebx,%eax
  4018c0:	e8 6b fe ff ff       	call   401730 <_free_strret>
	} else
		buffer[0] = '\0';

	return hr;
}
  4018c5:	89 f0                	mov    %esi,%eax
  4018c7:	83 c4 10             	add    $0x10,%esp
  4018ca:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4018cd:	5b                   	pop    %ebx
  4018ce:	5e                   	pop    %esi
  4018cf:	5f                   	pop    %edi
  4018d0:	5d                   	pop    %ebp
  4018d1:	c3                   	ret    
  4018d2:	8b 45 10             	mov    0x10(%ebp),%eax
  4018d5:	66 c7 00 00 00       	movw   $0x0,(%eax)
  4018da:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4018dd:	89 f0                	mov    %esi,%eax
  4018df:	5b                   	pop    %ebx
  4018e0:	5e                   	pop    %esi
  4018e1:	5f                   	pop    %edi
  4018e2:	5d                   	pop    %ebp
  4018e3:	c3                   	ret    
  4018e4:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4018ea:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

004018f0 <_get_path_pidl>:


 /* create an item id list from a file system path */

static LPITEMIDLIST get_path_pidl(LPTSTR path, HWND hwnd)
{
  4018f0:	55                   	push   %ebp
  4018f1:	89 e5                	mov    %esp,%ebp
  4018f3:	56                   	push   %esi
  4018f4:	53                   	push   %ebx
  4018f5:	83 ec 14             	sub    $0x14,%esp
	LPITEMIDLIST pidl;
	HRESULT hr;
	ULONG len;

#ifdef UNICODE
	LPWSTR buffer = path;
#else
	WCHAR buffer[MAX_PATH];
	MultiByteToWideChar(CP_ACP, 0, path, -1, buffer, MAX_PATH);
#endif

	hr = (*Globals.iDesktop->lpVtbl->ParseDisplayName)(Globals.iDesktop, hwnd, NULL, buffer, &len, &pidl, NULL);
  4018f8:	8d 4d f4             	lea    0xfffffff4(%ebp),%ecx
  4018fb:	8b 1d d0 ca 40 00    	mov    0x40cad0,%ebx
  401901:	8b 33                	mov    (%ebx),%esi
  401903:	6a 00                	push   $0x0
  401905:	51                   	push   %ecx
  401906:	8d 4d f0             	lea    0xfffffff0(%ebp),%ecx
  401909:	51                   	push   %ecx
  40190a:	50                   	push   %eax
  40190b:	6a 00                	push   $0x0
  40190d:	52                   	push   %edx
  40190e:	53                   	push   %ebx
  40190f:	ff 56 0c             	call   *0xc(%esi)
	if (FAILED(hr))
  401912:	5a                   	pop    %edx
		return NULL;
  401913:	31 d2                	xor    %edx,%edx
  401915:	85 c0                	test   %eax,%eax
  401917:	78 03                	js     40191c <_get_path_pidl+0x2c>

	return pidl;
  401919:	8b 55 f4             	mov    0xfffffff4(%ebp),%edx
}
  40191c:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  40191f:	89 d0                	mov    %edx,%eax
  401921:	5b                   	pop    %ebx
  401922:	5e                   	pop    %esi
  401923:	5d                   	pop    %ebp
  401924:	c3                   	ret    
  401925:	8d 74 26 00          	lea    0x0(%esi),%esi
  401929:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00401930 <_extract_icon>:


 /* convert an item id list from relative to absolute (=relative to the desktop) format */

static LPITEMIDLIST get_to_absolute_pidl(Entry* entry, HWND hwnd)
{
	if (entry->up && entry->up->etype==ET_SHELL) {
		IShellFolder* folder = entry->up->folder;
		WCHAR buffer[MAX_PATH];

		HRESULT hr = path_from_pidlW(folder, entry->pidl, buffer, MAX_PATH);

		if (SUCCEEDED(hr)) {
			LPITEMIDLIST pidl;
			ULONG len;

			hr = (*Globals.iDesktop->lpVtbl->ParseDisplayName)(Globals.iDesktop, hwnd, NULL, buffer, &len, &pidl, NULL);

			if (SUCCEEDED(hr))
				return pidl;
		}
	} else if (entry->etype == ET_WINDOWS) {
		TCHAR path[MAX_PATH];

		get_path(entry, path);

		return get_path_pidl(path, hwnd);
	} else if (entry->pidl)
		return ILClone(entry->pidl);

	return NULL;
}


HICON extract_icon(IShellFolder* folder, LPCITEMIDLIST pidl)
{
  401930:	55                   	push   %ebp
  401931:	89 e5                	mov    %esp,%ebp
  401933:	56                   	push   %esi
  401934:	53                   	push   %ebx
  401935:	81 ec 34 02 00 00    	sub    $0x234,%esp
	IExtractIcon* pExtract;

	if (SUCCEEDED((*folder->lpVtbl->GetUIObjectOf)(folder, 0, 1, (LPCITEMIDLIST*)&pidl, &IID_IExtractIcon, 0, (LPVOID*)&pExtract))) {
  40193b:	8d 85 e4 fd ff ff    	lea    0xfffffde4(%ebp),%eax
  401941:	8b 55 08             	mov    0x8(%ebp),%edx
  401944:	8b 0a                	mov    (%edx),%ecx
  401946:	50                   	push   %eax
  401947:	8d 45 0c             	lea    0xc(%ebp),%eax
  40194a:	6a 00                	push   $0x0
  40194c:	68 f0 bc 40 00       	push   $0x40bcf0
  401951:	50                   	push   %eax
  401952:	6a 01                	push   $0x1
  401954:	6a 00                	push   $0x0
  401956:	52                   	push   %edx
  401957:	ff 51 28             	call   *0x28(%ecx)
  40195a:	5e                   	pop    %esi
  40195b:	85 c0                	test   %eax,%eax
  40195d:	0f 88 84 00 00 00    	js     4019e7 <_extract_icon+0xb7>
		TCHAR path[_MAX_PATH];
		unsigned flags;
		HICON hicon;
		int idx;

		if (SUCCEEDED((*pExtract->lpVtbl->GetIconLocation)(pExtract, GIL_FORSHELL, path, _MAX_PATH, &idx, &flags))) {
  401963:	53                   	push   %ebx
  401964:	53                   	push   %ebx
  401965:	8d 85 e0 fd ff ff    	lea    0xfffffde0(%ebp),%eax
  40196b:	8b 95 e4 fd ff ff    	mov    0xfffffde4(%ebp),%edx
  401971:	8d b5 e8 fd ff ff    	lea    0xfffffde8(%ebp),%esi
  401977:	8b 0a                	mov    (%edx),%ecx
  401979:	50                   	push   %eax
  40197a:	8d 85 dc fd ff ff    	lea    0xfffffddc(%ebp),%eax
  401980:	50                   	push   %eax
  401981:	68 04 01 00 00       	push   $0x104
  401986:	56                   	push   %esi
  401987:	6a 02                	push   $0x2
  401989:	52                   	push   %edx
  40198a:	ff 51 0c             	call   *0xc(%ecx)
  40198d:	5a                   	pop    %edx
  40198e:	85 c0                	test   %eax,%eax
  401990:	59                   	pop    %ecx
  401991:	78 54                	js     4019e7 <_extract_icon+0xb7>
			if (!(flags & GIL_NOTFILENAME)) {
  401993:	f6 85 e0 fd ff ff 08 	testb  $0x8,0xfffffde0(%ebp)
  40199a:	75 54                	jne    4019f0 <_extract_icon+0xc0>
				if (idx == -1)
  40199c:	83 bd dc fd ff ff ff 	cmpl   $0xffffffff,0xfffffddc(%ebp)
  4019a3:	0f 84 a7 00 00 00    	je     401a50 <_extract_icon+0x120>
					idx = 0;	/* special case for some control panel applications */

				if ((int)ExtractIconEx(path, idx, 0, &hicon, 1) > 0)
  4019a9:	83 ec 0c             	sub    $0xc,%esp
  4019ac:	8d 85 d8 fd ff ff    	lea    0xfffffdd8(%ebp),%eax
  4019b2:	6a 01                	push   $0x1
  4019b4:	50                   	push   %eax
  4019b5:	6a 00                	push   $0x0
  4019b7:	8b 85 dc fd ff ff    	mov    0xfffffddc(%ebp),%eax
  4019bd:	50                   	push   %eax
  4019be:	56                   	push   %esi
  4019bf:	e8 dc 61 00 00       	call   407ba0 <_ExtractIconExW@20>
  4019c4:	83 c4 0c             	add    $0xc,%esp
  4019c7:	85 c0                	test   %eax,%eax
  4019c9:	7e 0f                	jle    4019da <_extract_icon+0xaa>
					flags &= ~GIL_DONTCACHE;
  4019cb:	8b 85 e0 fd ff ff    	mov    0xfffffde0(%ebp),%eax
  4019d1:	83 e0 ef             	and    $0xffffffef,%eax
  4019d4:	89 85 e0 fd ff ff    	mov    %eax,0xfffffde0(%ebp)
			} else {
				HICON hIconLarge = 0;

				HRESULT hr = (*pExtract->lpVtbl->Extract)(pExtract, path, idx, &hIconLarge, &hicon, MAKELONG(0/*GetSystemMetrics(SM_CXICON)*/,GetSystemMetrics(SM_CXSMICON)));

				if (SUCCEEDED(hr))
					DestroyIcon(hIconLarge);
			}

			return hicon;
  4019da:	8b 85 d8 fd ff ff    	mov    0xfffffdd8(%ebp),%eax
		}
	}

	return 0;
}
  4019e0:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  4019e3:	5b                   	pop    %ebx
  4019e4:	5e                   	pop    %esi
  4019e5:	5d                   	pop    %ebp
  4019e6:	c3                   	ret    
  4019e7:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  4019ea:	31 c0                	xor    %eax,%eax
  4019ec:	5b                   	pop    %ebx
  4019ed:	5e                   	pop    %esi
  4019ee:	5d                   	pop    %ebp
  4019ef:	c3                   	ret    
  4019f0:	83 ec 0c             	sub    $0xc,%esp
  4019f3:	8b 85 e4 fd ff ff    	mov    0xfffffde4(%ebp),%eax
  4019f9:	c7 85 d4 fd ff ff 00 	movl   $0x0,0xfffffdd4(%ebp)
  401a00:	00 00 00 
  401a03:	8b 18                	mov    (%eax),%ebx
  401a05:	6a 31                	push   $0x31
  401a07:	e8 14 5b 00 00       	call   407520 <_GetSystemMetrics@4>
  401a0c:	c1 e0 10             	shl    $0x10,%eax
  401a0f:	89 04 24             	mov    %eax,(%esp)
  401a12:	8d 85 d8 fd ff ff    	lea    0xfffffdd8(%ebp),%eax
  401a18:	50                   	push   %eax
  401a19:	8d 85 d4 fd ff ff    	lea    0xfffffdd4(%ebp),%eax
  401a1f:	50                   	push   %eax
  401a20:	8b 85 dc fd ff ff    	mov    0xfffffddc(%ebp),%eax
  401a26:	50                   	push   %eax
  401a27:	56                   	push   %esi
  401a28:	8b 85 e4 fd ff ff    	mov    0xfffffde4(%ebp),%eax
  401a2e:	50                   	push   %eax
  401a2f:	ff 53 10             	call   *0x10(%ebx)
  401a32:	5b                   	pop    %ebx
  401a33:	85 c0                	test   %eax,%eax
  401a35:	5e                   	pop    %esi
  401a36:	78 a2                	js     4019da <_extract_icon+0xaa>
  401a38:	83 ec 0c             	sub    $0xc,%esp
  401a3b:	8b 8d d4 fd ff ff    	mov    0xfffffdd4(%ebp),%ecx
  401a41:	51                   	push   %ecx
  401a42:	e8 c9 5a 00 00       	call   407510 <_DestroyIcon@4>
  401a47:	83 c4 0c             	add    $0xc,%esp
  401a4a:	eb 8e                	jmp    4019da <_extract_icon+0xaa>
  401a4c:	8d 74 26 00          	lea    0x0(%esi),%esi
  401a50:	c7 85 dc fd ff ff 00 	movl   $0x0,0xfffffddc(%ebp)
  401a57:	00 00 00 
  401a5a:	e9 4a ff ff ff       	jmp    4019a9 <_extract_icon+0x79>
  401a5f:	90                   	nop    

00401a60 <_read_directory_shell>:


static Entry* find_entry_shell(Entry* dir, LPITEMIDLIST pidl)
{
	Entry* entry;

	for(entry=dir->down; entry; entry=entry->next) {
		if (entry->pidl->mkid.cb == pidl->mkid.cb &&
			!memcmp(entry->pidl, pidl, entry->pidl->mkid.cb))
			return entry;
	}

	return 0;
}

static Entry* read_tree_shell(Root* root, LPITEMIDLIST pidl, SORT_ORDER sortOrder, HWND hwnd)
{
	Entry* entry = &root->entry;
	Entry* next;
	LPITEMIDLIST next_pidl = pidl;
	IShellFolder* folder;
	IShellFolder* child = NULL;
	HRESULT hr;

	HCURSOR old_cursor = SetCursor(LoadCursor(0, IDC_WAIT));

#ifndef _NO_EXTENSIONS
	entry->etype = ET_SHELL;
#endif

	folder = Globals.iDesktop;

	while(entry) {
		entry->pidl = next_pidl;
		entry->folder = folder;

		if (!pidl->mkid.cb)
			break;

		 /* copy first element of item idlist	-> could be replaced by SHBindToParent() */
		next_pidl = (*Globals.iMalloc->lpVtbl->Alloc)(Globals.iMalloc, pidl->mkid.cb+sizeof(USHORT));
		memcpy(next_pidl, pidl, pidl->mkid.cb);
		((LPITEMIDLIST)((LPBYTE)next_pidl+pidl->mkid.cb))->mkid.cb = 0;

		hr = (*folder->lpVtbl->BindToObject)(folder, next_pidl, 0, &IID_IShellFolder, (void**)&child);
		if (!SUCCEEDED(hr))
			break;

		read_directory(entry, NULL, sortOrder, hwnd);

		if (entry->down)
			entry->expanded = TRUE;

		next = find_entry_shell(entry, next_pidl);
		if (!next)
			break;

		folder = child;
		entry = next;

		 /* go to next element */
		pidl = (LPITEMIDLIST) ((LPBYTE)pidl+pidl->mkid.cb);
	}

	SetCursor(old_cursor);

	return entry;
}


static void fill_w32fdata_shell(IShellFolder* folder, LPCITEMIDLIST pidl, SFGAOF attribs, WIN32_FIND_DATA* w32fdata)
{
	if (!(attribs & SFGAO_FILESYSTEM) ||
		  FAILED(SHGetDataFromIDList(folder, pidl, SHGDFIL_FINDDATA, w32fdata, sizeof(WIN32_FIND_DATA)))) {
		WIN32_FILE_ATTRIBUTE_DATA fad;
		IDataObject* pDataObj;

		STGMEDIUM medium = {0, {0}, 0};
		FORMATETC fmt = {Globals.cfStrFName, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL};

		HRESULT hr = (*folder->lpVtbl->GetUIObjectOf)(folder, 0, 1, &pidl, &IID_IDataObject, 0, (LPVOID*)&pDataObj);

		if (SUCCEEDED(hr)) {
			hr = (*pDataObj->lpVtbl->GetData)(pDataObj, &fmt, &medium);

			(*pDataObj->lpVtbl->Release)(pDataObj);

			if (SUCCEEDED(hr)) {
				LPCTSTR path = (LPCTSTR)GlobalLock(medium.UNION_MEMBER(hGlobal));
				UINT sem_org = SetErrorMode(SEM_FAILCRITICALERRORS);

				if (GetFileAttributesEx(path, GetFileExInfoStandard, &fad)) {
					w32fdata->dwFileAttributes = fad.dwFileAttributes;
					w32fdata->ftCreationTime = fad.ftCreationTime;
					w32fdata->ftLastAccessTime = fad.ftLastAccessTime;
					w32fdata->ftLastWriteTime = fad.ftLastWriteTime;

					if (!(fad.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
						w32fdata->nFileSizeLow = fad.nFileSizeLow;
						w32fdata->nFileSizeHigh = fad.nFileSizeHigh;
					}
				}

				SetErrorMode(sem_org);

				GlobalUnlock(medium.UNION_MEMBER(hGlobal));
				GlobalFree(medium.UNION_MEMBER(hGlobal));
			}
		}
	}

	if (attribs & (SFGAO_FOLDER|SFGAO_HASSUBFOLDER))
		w32fdata->dwFileAttributes |= FILE_ATTRIBUTE_DIRECTORY;

	if (attribs & SFGAO_READONLY)
		w32fdata->dwFileAttributes |= FILE_ATTRIBUTE_READONLY;

	if (attribs & SFGAO_COMPRESSED)
		w32fdata->dwFileAttributes |= FILE_ATTRIBUTE_COMPRESSED;
}


static void read_directory_shell(Entry* dir, HWND hwnd)
{
  401a60:	55                   	push   %ebp
  401a61:	89 d1                	mov    %edx,%ecx
  401a63:	89 e5                	mov    %esp,%ebp
  401a65:	57                   	push   %edi
  401a66:	56                   	push   %esi
  401a67:	53                   	push   %ebx
  401a68:	81 ec 2c 01 00 00    	sub    $0x12c,%esp
  401a6e:	89 85 ec fe ff ff    	mov    %eax,0xfffffeec(%ebp)
	IShellFolder* folder = dir->folder;
	int level = dir->level + 1;
  401a74:	8b 95 ec fe ff ff    	mov    0xfffffeec(%ebp),%edx
  401a7a:	8b 80 a8 02 00 00    	mov    0x2a8(%eax),%eax
  401a80:	89 85 e8 fe ff ff    	mov    %eax,0xfffffee8(%ebp)
	HRESULT hr;

	IShellFolder* child;
	IEnumIDList* idlist;

	Entry* first_entry = NULL;
	Entry* last = NULL;
  401a86:	31 db                	xor    %ebx,%ebx
  401a88:	8b 42 14             	mov    0x14(%edx),%eax
  401a8b:	c7 85 e0 fe ff ff 00 	movl   $0x0,0xfffffee0(%ebp)
  401a92:	00 00 00 
  401a95:	40                   	inc    %eax
  401a96:	89 85 e4 fe ff ff    	mov    %eax,0xfffffee4(%ebp)
	Entry* entry;

	if (!folder)
  401a9c:	8b 85 e8 fe ff ff    	mov    0xfffffee8(%ebp),%eax
  401aa2:	85 c0                	test   %eax,%eax
  401aa4:	0f 84 ea 04 00 00    	je     401f94 <_read_directory_shell+0x534>
		return;

	hr = (*folder->lpVtbl->EnumObjects)(folder, hwnd, SHCONTF_FOLDERS|SHCONTF_NONFOLDERS|SHCONTF_INCLUDEHIDDEN|SHCONTF_SHAREABLE|SHCONTF_STORAGE, &idlist);
  401aaa:	8b 85 e8 fe ff ff    	mov    0xfffffee8(%ebp),%eax
  401ab0:	8b 10                	mov    (%eax),%edx
  401ab2:	8d 85 04 ff ff ff    	lea    0xffffff04(%ebp),%eax
  401ab8:	50                   	push   %eax
  401ab9:	8b 85 e8 fe ff ff    	mov    0xfffffee8(%ebp),%eax
  401abf:	68 e0 0c 00 00       	push   $0xce0
  401ac4:	51                   	push   %ecx
  401ac5:	50                   	push   %eax
  401ac6:	ff 52 10             	call   *0x10(%edx)

	if (SUCCEEDED(hr)) {
  401ac9:	85 c0                	test   %eax,%eax
  401acb:	0f 88 ad 04 00 00    	js     401f7e <_read_directory_shell+0x51e>
		for(;;) {
#define	FETCH_ITEM_COUNT	32
			LPITEMIDLIST pidls[FETCH_ITEM_COUNT];
			SFGAOF attribs;
			ULONG cnt = 0;
			ULONG n;

			memset(pidls, 0, sizeof(pidls));
  401ad1:	8d 95 68 ff ff ff    	lea    0xffffff68(%ebp),%edx
  401ad7:	c7 85 00 ff ff ff 00 	movl   $0x0,0xffffff00(%ebp)
  401ade:	00 00 00 
  401ae1:	50                   	push   %eax
  401ae2:	68 80 00 00 00       	push   $0x80
  401ae7:	6a 00                	push   $0x0
  401ae9:	52                   	push   %edx
  401aea:	e8 91 67 00 00       	call   408280 <_memset>

			hr = (*idlist->lpVtbl->Next)(idlist, FETCH_ITEM_COUNT, pidls, &cnt);
  401aef:	8b 85 04 ff ff ff    	mov    0xffffff04(%ebp),%eax
  401af5:	8d 8d 00 ff ff ff    	lea    0xffffff00(%ebp),%ecx
  401afb:	8b 10                	mov    (%eax),%edx
  401afd:	51                   	push   %ecx
  401afe:	8d 8d 68 ff ff ff    	lea    0xffffff68(%ebp),%ecx
  401b04:	51                   	push   %ecx
  401b05:	6a 20                	push   $0x20
  401b07:	50                   	push   %eax
  401b08:	ff 52 0c             	call   *0xc(%edx)
			if (!SUCCEEDED(hr))
  401b0b:	83 c4 10             	add    $0x10,%esp
  401b0e:	85 c0                	test   %eax,%eax
  401b10:	0f 88 4c 04 00 00    	js     401f62 <_read_directory_shell+0x502>
				break;

			if (hr == S_FALSE)
  401b16:	48                   	dec    %eax
  401b17:	0f 84 45 04 00 00    	je     401f62 <_read_directory_shell+0x502>
				break;

			for(n=0; n<cnt; ++n) {
  401b1d:	31 c0                	xor    %eax,%eax
  401b1f:	c7 85 dc fe ff ff 00 	movl   $0x0,0xfffffedc(%ebp)
  401b26:	00 00 00 
  401b29:	3b 85 00 ff ff ff    	cmp    0xffffff00(%ebp),%eax
  401b2f:	eb 65                	jmp    401b96 <_read_directory_shell+0x136>
				entry = alloc_entry();

				if (!first_entry)
					first_entry = entry;

				if (last)
					last->next = entry;

				memset(&entry->data, 0, sizeof(WIN32_FIND_DATA));
				entry->bhfi_valid = FALSE;

				attribs = ~SFGAO_FILESYSTEM;	/*SFGAO_HASSUBFOLDER|SFGAO_FOLDER; SFGAO_FILESYSTEM sorgt dafür, daß "My Documents" anstatt von "Martin's Documents" angezeigt wird */

				hr = (*folder->lpVtbl->GetAttributesOf)(folder, 1, (LPCITEMIDLIST*)&pidls[n], &attribs);

				if (SUCCEEDED(hr)) {
					if (attribs != (SFGAOF)~SFGAO_FILESYSTEM) {
						fill_w32fdata_shell(folder, pidls[n], attribs, &entry->data);

						entry->bhfi_valid = TRUE;
					} else
						attribs = 0;
				} else
					attribs = 0;

				entry->pidl = pidls[n];

				if (entry->data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
					hr = (*folder->lpVtbl->BindToObject)(folder, pidls[n], 0, &IID_IShellFolder, (void**)&child);

					if (SUCCEEDED(hr))
						entry->folder = child;
					else
						entry->folder = NULL;
				}
				else
					entry->folder = NULL;

				if (!entry->data.cFileName[0])
					/*hr = */name_from_pidl(folder, pidls[n], entry->data.cFileName, MAX_PATH, /*SHGDN_INFOLDER*/0x2000/*0x2000=SHGDN_INCLUDE_NONFILESYS*/);

				 /* get display icons for files and virtual objects */
				if (!(entry->data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ||
					!(attribs & SFGAO_FILESYSTEM)) {
					entry->hicon = extract_icon(folder, pidls[n]);

					if (!entry->hicon)
						entry->hicon = (HICON)-1;	/* don't try again later */
  401b31:	c7 86 ac 02 00 00 ff 	movl   $0xffffffff,0x2ac(%esi)
  401b38:	ff ff ff 
  401b3b:	90                   	nop    
  401b3c:	8d 74 26 00          	lea    0x0(%esi),%esi
  401b40:	8b bd dc fe ff ff    	mov    0xfffffedc(%ebp),%edi
				}

				entry->down = NULL;
				entry->up = dir;
  401b46:	8b 85 ec fe ff ff    	mov    0xfffffeec(%ebp),%eax
  401b4c:	47                   	inc    %edi
				entry->expanded = FALSE;
				entry->scanned = FALSE;
				entry->level = level;
  401b4d:	8b 95 e4 fe ff ff    	mov    0xfffffee4(%ebp),%edx
  401b53:	89 bd dc fe ff ff    	mov    %edi,0xfffffedc(%ebp)
  401b59:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
  401b60:	8b 8d dc fe ff ff    	mov    0xfffffedc(%ebp),%ecx
  401b66:	89 46 08             	mov    %eax,0x8(%esi)
  401b69:	3b 8d 00 ff ff ff    	cmp    0xffffff00(%ebp),%ecx
  401b6f:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
  401b76:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
  401b7d:	89 56 14             	mov    %edx,0x14(%esi)

#ifndef _NO_EXTENSIONS
				entry->etype = ET_SHELL;
  401b80:	c7 86 a0 02 00 00 02 	movl   $0x2,0x2a0(%esi)
  401b87:	00 00 00 
				entry->bhfi_valid = FALSE;
  401b8a:	c7 86 9c 02 00 00 00 	movl   $0x0,0x29c(%esi)
  401b91:	00 00 00 
#endif

				last = entry;
  401b94:	89 f3                	mov    %esi,%ebx
  401b96:	0f 83 35 ff ff ff    	jae    401ad1 <_read_directory_shell+0x71>
  401b9c:	e8 0f f8 ff ff       	call   4013b0 <_alloc_entry>
  401ba1:	8b bd e0 fe ff ff    	mov    0xfffffee0(%ebp),%edi
  401ba7:	89 c6                	mov    %eax,%esi
  401ba9:	85 ff                	test   %edi,%edi
  401bab:	0f 84 a6 03 00 00    	je     401f57 <_read_directory_shell+0x4f7>
  401bb1:	85 db                	test   %ebx,%ebx
  401bb3:	74 02                	je     401bb7 <_read_directory_shell+0x157>
  401bb5:	89 33                	mov    %esi,(%ebx)
  401bb7:	8d 56 18             	lea    0x18(%esi),%edx
  401bba:	89 95 d8 fe ff ff    	mov    %edx,0xfffffed8(%ebp)
  401bc0:	53                   	push   %ebx
  401bc1:	68 50 02 00 00       	push   $0x250
  401bc6:	6a 00                	push   $0x0
  401bc8:	52                   	push   %edx
  401bc9:	e8 b2 66 00 00       	call   408280 <_memset>
  401bce:	8b 8d e8 fe ff ff    	mov    0xfffffee8(%ebp),%ecx
  401bd4:	8d 85 fc fe ff ff    	lea    0xfffffefc(%ebp),%eax
  401bda:	c7 86 9c 02 00 00 00 	movl   $0x0,0x29c(%esi)
  401be1:	00 00 00 
  401be4:	c7 85 fc fe ff ff ff 	movl   $0xbfffffff,0xfffffefc(%ebp)
  401beb:	ff ff bf 
  401bee:	8b 11                	mov    (%ecx),%edx
  401bf0:	8b 8d dc fe ff ff    	mov    0xfffffedc(%ebp),%ecx
  401bf6:	50                   	push   %eax
  401bf7:	8d 84 8d 68 ff ff ff 	lea    0xffffff68(%ebp,%ecx,4),%eax
  401bfe:	8b 8d e8 fe ff ff    	mov    0xfffffee8(%ebp),%ecx
  401c04:	50                   	push   %eax
  401c05:	6a 01                	push   $0x1
  401c07:	51                   	push   %ecx
  401c08:	ff 52 24             	call   *0x24(%edx)
  401c0b:	83 c4 10             	add    $0x10,%esp
  401c0e:	85 c0                	test   %eax,%eax
  401c10:	0f 88 9a 02 00 00    	js     401eb0 <_read_directory_shell+0x450>
  401c16:	8b 85 fc fe ff ff    	mov    0xfffffefc(%ebp),%eax
  401c1c:	89 85 d4 fe ff ff    	mov    %eax,0xfffffed4(%ebp)
  401c22:	3d ff ff ff bf       	cmp    $0xbfffffff,%eax
  401c27:	0f 84 83 02 00 00    	je     401eb0 <_read_directory_shell+0x450>
  401c2d:	8b 95 dc fe ff ff    	mov    0xfffffedc(%ebp),%edx
  401c33:	f7 85 d4 fe ff ff 00 	testl  $0x40000000,0xfffffed4(%ebp)
  401c3a:	00 00 40 
  401c3d:	8b 84 95 68 ff ff ff 	mov    0xffffff68(%ebp,%edx,4),%eax
  401c44:	89 85 f4 fe ff ff    	mov    %eax,0xfffffef4(%ebp)
  401c4a:	0f 84 f5 00 00 00    	je     401d45 <_read_directory_shell+0x2e5>
  401c50:	83 ec 0c             	sub    $0xc,%esp
  401c53:	8b 95 d8 fe ff ff    	mov    0xfffffed8(%ebp),%edx
  401c59:	68 50 02 00 00       	push   $0x250
  401c5e:	52                   	push   %edx
  401c5f:	6a 01                	push   $0x1
  401c61:	50                   	push   %eax
  401c62:	8b 85 e8 fe ff ff    	mov    0xfffffee8(%ebp),%eax
  401c68:	50                   	push   %eax
  401c69:	e8 42 5f 00 00       	call   407bb0 <_SHGetDataFromIDListW@20>
  401c6e:	83 c4 0c             	add    $0xc,%esp
  401c71:	85 c0                	test   %eax,%eax
  401c73:	0f 88 cc 00 00 00    	js     401d45 <_read_directory_shell+0x2e5>
  401c79:	f7 85 d4 fe ff ff 00 	testl  $0xa0000000,0xfffffed4(%ebp)
  401c80:	00 00 a0 
  401c83:	74 0d                	je     401c92 <_read_directory_shell+0x232>
  401c85:	8b 85 d8 fe ff ff    	mov    0xfffffed8(%ebp),%eax
  401c8b:	8b 18                	mov    (%eax),%ebx
  401c8d:	83 cb 10             	or     $0x10,%ebx
  401c90:	89 18                	mov    %ebx,(%eax)
  401c92:	f7 85 d4 fe ff ff 00 	testl  $0x40000,0xfffffed4(%ebp)
  401c99:	00 04 00 
  401c9c:	74 0d                	je     401cab <_read_directory_shell+0x24b>
  401c9e:	8b 95 d8 fe ff ff    	mov    0xfffffed8(%ebp),%edx
  401ca4:	8b 0a                	mov    (%edx),%ecx
  401ca6:	83 c9 01             	or     $0x1,%ecx
  401ca9:	89 0a                	mov    %ecx,(%edx)
  401cab:	f7 85 d4 fe ff ff 00 	testl  $0x4000000,0xfffffed4(%ebp)
  401cb2:	00 00 04 
  401cb5:	74 0d                	je     401cc4 <_read_directory_shell+0x264>
  401cb7:	8b 8d d8 fe ff ff    	mov    0xfffffed8(%ebp),%ecx
  401cbd:	8b 11                	mov    (%ecx),%edx
  401cbf:	80 ce 08             	or     $0x8,%dh
  401cc2:	89 11                	mov    %edx,(%ecx)
  401cc4:	8b 95 dc fe ff ff    	mov    0xfffffedc(%ebp),%edx
  401cca:	c7 86 9c 02 00 00 01 	movl   $0x1,0x29c(%esi)
  401cd1:	00 00 00 
  401cd4:	f6 46 18 10          	testb  $0x10,0x18(%esi)
  401cd8:	8b 84 95 68 ff ff ff 	mov    0xffffff68(%ebp,%edx,4),%eax
  401cdf:	89 86 a4 02 00 00    	mov    %eax,0x2a4(%esi)
  401ce5:	0f 85 ec 01 00 00    	jne    401ed7 <_read_directory_shell+0x477>
  401ceb:	c7 86 a8 02 00 00 00 	movl   $0x0,0x2a8(%esi)
  401cf2:	00 00 00 
  401cf5:	66 83 7e 44 00       	cmpw   $0x0,0x44(%esi)
  401cfa:	0f 84 24 02 00 00    	je     401f24 <_read_directory_shell+0x4c4>
  401d00:	f6 46 18 10          	testb  $0x10,0x18(%esi)
  401d04:	74 0d                	je     401d13 <_read_directory_shell+0x2b3>
  401d06:	f6 85 ff fe ff ff 40 	testb  $0x40,0xfffffeff(%ebp)
  401d0d:	0f 85 2d fe ff ff    	jne    401b40 <_read_directory_shell+0xe0>
  401d13:	8b 8d dc fe ff ff    	mov    0xfffffedc(%ebp),%ecx
  401d19:	50                   	push   %eax
  401d1a:	50                   	push   %eax
  401d1b:	8b 84 8d 68 ff ff ff 	mov    0xffffff68(%ebp,%ecx,4),%eax
  401d22:	50                   	push   %eax
  401d23:	8b 85 e8 fe ff ff    	mov    0xfffffee8(%ebp),%eax
  401d29:	50                   	push   %eax
  401d2a:	e8 01 fc ff ff       	call   401930 <_extract_icon>
  401d2f:	83 c4 10             	add    $0x10,%esp
  401d32:	85 c0                	test   %eax,%eax
  401d34:	0f 84 f7 fd ff ff    	je     401b31 <_read_directory_shell+0xd1>
  401d3a:	89 86 ac 02 00 00    	mov    %eax,0x2ac(%esi)
  401d40:	e9 fb fd ff ff       	jmp    401b40 <_read_directory_shell+0xe0>
  401d45:	fc                   	cld    
  401d46:	31 c0                	xor    %eax,%eax
  401d48:	b9 03 00 00 00       	mov    $0x3,%ecx
  401d4d:	8d bd 28 ff ff ff    	lea    0xffffff28(%ebp),%edi
  401d53:	c7 85 0c ff ff ff 00 	movl   $0x0,0xffffff0c(%ebp)
  401d5a:	00 00 00 
  401d5d:	f3 ab                	repz stos %eax,%es:(%edi)
  401d5f:	8b 8d e8 fe ff ff    	mov    0xfffffee8(%ebp),%ecx
  401d65:	57                   	push   %edi
  401d66:	a1 d8 ca 40 00       	mov    0x40cad8,%eax
  401d6b:	c7 85 10 ff ff ff 01 	movl   $0x1,0xffffff10(%ebp)
  401d72:	00 00 00 
  401d75:	8b 11                	mov    (%ecx),%edx
  401d77:	66 89 85 08 ff ff ff 	mov    %ax,0xffffff08(%ebp)
  401d7e:	8d 85 f8 fe ff ff    	lea    0xfffffef8(%ebp),%eax
  401d84:	c7 85 14 ff ff ff ff 	movl   $0xffffffff,0xffffff14(%ebp)
  401d8b:	ff ff ff 
  401d8e:	50                   	push   %eax
  401d8f:	c7 85 18 ff ff ff 01 	movl   $0x1,0xffffff18(%ebp)
  401d96:	00 00 00 
  401d99:	8d 85 f4 fe ff ff    	lea    0xfffffef4(%ebp),%eax
  401d9f:	6a 00                	push   $0x0
  401da1:	68 20 b2 40 00       	push   $0x40b220
  401da6:	50                   	push   %eax
  401da7:	6a 01                	push   $0x1
  401da9:	6a 00                	push   $0x0
  401dab:	51                   	push   %ecx
  401dac:	ff 52 28             	call   *0x28(%edx)
  401daf:	5b                   	pop    %ebx
  401db0:	85 c0                	test   %eax,%eax
  401db2:	0f 88 c1 fe ff ff    	js     401c79 <_read_directory_shell+0x219>
  401db8:	8b 95 f8 fe ff ff    	mov    0xfffffef8(%ebp),%edx
  401dbe:	51                   	push   %ecx
  401dbf:	8d 85 28 ff ff ff    	lea    0xffffff28(%ebp),%eax
  401dc5:	8b 0a                	mov    (%edx),%ecx
  401dc7:	50                   	push   %eax
  401dc8:	8d 85 08 ff ff ff    	lea    0xffffff08(%ebp),%eax
  401dce:	50                   	push   %eax
  401dcf:	52                   	push   %edx
  401dd0:	ff 51 0c             	call   *0xc(%ecx)
  401dd3:	89 c3                	mov    %eax,%ebx
  401dd5:	8b 85 f8 fe ff ff    	mov    0xfffffef8(%ebp),%eax
  401ddb:	52                   	push   %edx
  401ddc:	52                   	push   %edx
  401ddd:	8b 10                	mov    (%eax),%edx
  401ddf:	50                   	push   %eax
  401de0:	ff 52 08             	call   *0x8(%edx)
  401de3:	83 c4 0c             	add    $0xc,%esp
  401de6:	85 db                	test   %ebx,%ebx
  401de8:	0f 88 8b fe ff ff    	js     401c79 <_read_directory_shell+0x219>
  401dee:	83 ec 0c             	sub    $0xc,%esp
  401df1:	8b 85 2c ff ff ff    	mov    0xffffff2c(%ebp),%eax
  401df7:	50                   	push   %eax
  401df8:	e8 63 55 00 00       	call   407360 <_GlobalLock@4>
  401dfd:	89 c3                	mov    %eax,%ebx
  401dff:	6a 01                	push   $0x1
  401e01:	e8 6a 55 00 00       	call   407370 <_SetErrorMode@4>
  401e06:	59                   	pop    %ecx
  401e07:	5f                   	pop    %edi
  401e08:	89 c7                	mov    %eax,%edi
  401e0a:	8d 85 38 ff ff ff    	lea    0xffffff38(%ebp),%eax
  401e10:	50                   	push   %eax
  401e11:	6a 00                	push   $0x0
  401e13:	53                   	push   %ebx
  401e14:	e8 67 55 00 00       	call   407380 <_GetFileAttributesExW@12>
  401e19:	5a                   	pop    %edx
  401e1a:	85 c0                	test   %eax,%eax
  401e1c:	74 62                	je     401e80 <_read_directory_shell+0x420>
  401e1e:	8b 85 38 ff ff ff    	mov    0xffffff38(%ebp),%eax
  401e24:	8b 8d d8 fe ff ff    	mov    0xfffffed8(%ebp),%ecx
  401e2a:	89 46 18             	mov    %eax,0x18(%esi)
  401e2d:	8b 85 3c ff ff ff    	mov    0xffffff3c(%ebp),%eax
  401e33:	8b 95 40 ff ff ff    	mov    0xffffff40(%ebp),%edx
  401e39:	89 51 08             	mov    %edx,0x8(%ecx)
  401e3c:	89 41 04             	mov    %eax,0x4(%ecx)
  401e3f:	8b 85 44 ff ff ff    	mov    0xffffff44(%ebp),%eax
  401e45:	8b 95 48 ff ff ff    	mov    0xffffff48(%ebp),%edx
  401e4b:	89 51 10             	mov    %edx,0x10(%ecx)
  401e4e:	89 41 0c             	mov    %eax,0xc(%ecx)
  401e51:	8b 85 4c ff ff ff    	mov    0xffffff4c(%ebp),%eax
  401e57:	8b 95 50 ff ff ff    	mov    0xffffff50(%ebp),%edx
  401e5d:	89 51 18             	mov    %edx,0x18(%ecx)
  401e60:	89 41 14             	mov    %eax,0x14(%ecx)
  401e63:	f6 85 38 ff ff ff 10 	testb  $0x10,0xffffff38(%ebp)
  401e6a:	75 14                	jne    401e80 <_read_directory_shell+0x420>
  401e6c:	8b 85 58 ff ff ff    	mov    0xffffff58(%ebp),%eax
  401e72:	89 41 20             	mov    %eax,0x20(%ecx)
  401e75:	8b 85 54 ff ff ff    	mov    0xffffff54(%ebp),%eax
  401e7b:	89 41 1c             	mov    %eax,0x1c(%ecx)
  401e7e:	89 f6                	mov    %esi,%esi
  401e80:	83 ec 0c             	sub    $0xc,%esp
  401e83:	57                   	push   %edi
  401e84:	e8 e7 54 00 00       	call   407370 <_SetErrorMode@4>
  401e89:	8b 85 2c ff ff ff    	mov    0xffffff2c(%ebp),%eax
  401e8f:	50                   	push   %eax
  401e90:	e8 fb 54 00 00       	call   407390 <_GlobalUnlock@4>
  401e95:	8b bd 2c ff ff ff    	mov    0xffffff2c(%ebp),%edi
  401e9b:	57                   	push   %edi
  401e9c:	e8 ff 54 00 00       	call   4073a0 <_GlobalFree@4>
  401ea1:	83 c4 0c             	add    $0xc,%esp
  401ea4:	e9 d0 fd ff ff       	jmp    401c79 <_read_directory_shell+0x219>
  401ea9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  401eb0:	8b 95 dc fe ff ff    	mov    0xfffffedc(%ebp),%edx
  401eb6:	c7 85 fc fe ff ff 00 	movl   $0x0,0xfffffefc(%ebp)
  401ebd:	00 00 00 
  401ec0:	f6 46 18 10          	testb  $0x10,0x18(%esi)
  401ec4:	8b 84 95 68 ff ff ff 	mov    0xffffff68(%ebp,%edx,4),%eax
  401ecb:	89 86 a4 02 00 00    	mov    %eax,0x2a4(%esi)
  401ed1:	0f 84 14 fe ff ff    	je     401ceb <_read_directory_shell+0x28b>
  401ed7:	83 ec 0c             	sub    $0xc,%esp
  401eda:	8b 8d e8 fe ff ff    	mov    0xfffffee8(%ebp),%ecx
  401ee0:	8d 85 f0 fe ff ff    	lea    0xfffffef0(%ebp),%eax
  401ee6:	8b 11                	mov    (%ecx),%edx
  401ee8:	50                   	push   %eax
  401ee9:	8b 85 dc fe ff ff    	mov    0xfffffedc(%ebp),%eax
  401eef:	68 00 be 40 00       	push   $0x40be00
  401ef4:	6a 00                	push   $0x0
  401ef6:	8b 84 85 68 ff ff ff 	mov    0xffffff68(%ebp,%eax,4),%eax
  401efd:	50                   	push   %eax
  401efe:	51                   	push   %ecx
  401eff:	ff 52 14             	call   *0x14(%edx)
  401f02:	83 c4 0c             	add    $0xc,%esp
  401f05:	85 c0                	test   %eax,%eax
  401f07:	0f 88 de fd ff ff    	js     401ceb <_read_directory_shell+0x28b>
  401f0d:	8b 85 f0 fe ff ff    	mov    0xfffffef0(%ebp),%eax
  401f13:	89 86 a8 02 00 00    	mov    %eax,0x2a8(%esi)
  401f19:	66 83 7e 44 00       	cmpw   $0x0,0x44(%esi)
  401f1e:	0f 85 dc fd ff ff    	jne    401d00 <_read_directory_shell+0x2a0>
  401f24:	83 ec 0c             	sub    $0xc,%esp
  401f27:	8b 95 dc fe ff ff    	mov    0xfffffedc(%ebp),%edx
  401f2d:	8d 46 44             	lea    0x44(%esi),%eax
  401f30:	68 00 20 00 00       	push   $0x2000
  401f35:	68 04 01 00 00       	push   $0x104
  401f3a:	50                   	push   %eax
  401f3b:	8b 84 95 68 ff ff ff 	mov    0xffffff68(%ebp,%edx,4),%eax
  401f42:	50                   	push   %eax
  401f43:	8b 85 e8 fe ff ff    	mov    0xfffffee8(%ebp),%eax
  401f49:	50                   	push   %eax
  401f4a:	e8 11 f8 ff ff       	call   401760 <_name_from_pidl>
  401f4f:	83 c4 20             	add    $0x20,%esp
  401f52:	e9 a9 fd ff ff       	jmp    401d00 <_read_directory_shell+0x2a0>
  401f57:	89 85 e0 fe ff ff    	mov    %eax,0xfffffee0(%ebp)
  401f5d:	e9 4f fc ff ff       	jmp    401bb1 <_read_directory_shell+0x151>
			}
		}

		(*idlist->lpVtbl->Release)(idlist);
  401f62:	8b 85 04 ff ff ff    	mov    0xffffff04(%ebp),%eax
  401f68:	83 ec 0c             	sub    $0xc,%esp
  401f6b:	8b 10                	mov    (%eax),%edx
  401f6d:	50                   	push   %eax
  401f6e:	ff 52 08             	call   *0x8(%edx)
  401f71:	83 c4 0c             	add    $0xc,%esp
	}

	if (last)
  401f74:	85 db                	test   %ebx,%ebx
  401f76:	74 06                	je     401f7e <_read_directory_shell+0x51e>
		last->next = NULL;
  401f78:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)

	dir->down = first_entry;
  401f7e:	8b 85 ec fe ff ff    	mov    0xfffffeec(%ebp),%eax
  401f84:	8b 95 e0 fe ff ff    	mov    0xfffffee0(%ebp),%edx
  401f8a:	89 50 04             	mov    %edx,0x4(%eax)
	dir->scanned = TRUE;
  401f8d:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
}
  401f94:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  401f97:	5b                   	pop    %ebx
  401f98:	5e                   	pop    %esi
  401f99:	5f                   	pop    %edi
  401f9a:	5d                   	pop    %ebp
  401f9b:	c3                   	ret    
  401f9c:	8d 74 26 00          	lea    0x0(%esi),%esi

00401fa0 <_TypeOrderFromDirname>:

#endif /* _SHELL_FOLDERS */


/* sort order for different directory/file types */
enum TYPE_ORDER {
	TO_DIR = 0,
	TO_DOT = 1,
	TO_DOTDOT = 2,
	TO_OTHER_DIR = 3,
	TO_FILE = 4
};

/* distinguish between ".", ".." and any other directory names */
static int TypeOrderFromDirname(LPCTSTR name)
{
  401fa0:	55                   	push   %ebp
	if (name[0] == '.') {
  401fa1:	66 83 38 2e          	cmpw   $0x2e,(%eax)
  401fa5:	89 e5                	mov    %esp,%ebp
  401fa7:	75 14                	jne    401fbd <_TypeOrderFromDirname+0x1d>
		if (name[1] == '\0')
  401fa9:	66 8b 50 02          	mov    0x2(%eax),%dx
			return TO_DOT;	/* "." */
  401fad:	b9 01 00 00 00       	mov    $0x1,%ecx
  401fb2:	66 85 d2             	test   %dx,%dx
  401fb5:	74 0b                	je     401fc2 <_TypeOrderFromDirname+0x22>

		if (name[1]=='.' && name[2]=='\0')
  401fb7:	66 83 fa 2e          	cmp    $0x2e,%dx
  401fbb:	74 09                	je     401fc6 <_TypeOrderFromDirname+0x26>
			return TO_DOTDOT;	/* ".." */
	}

	return TO_OTHER_DIR;	/* anything else */
  401fbd:	b9 03 00 00 00       	mov    $0x3,%ecx
}
  401fc2:	89 c8                	mov    %ecx,%eax
  401fc4:	5d                   	pop    %ebp
  401fc5:	c3                   	ret    
  401fc6:	b1 02                	mov    $0x2,%cl
  401fc8:	66 83 78 04 00       	cmpw   $0x0,0x4(%eax)
  401fcd:	74 f3                	je     401fc2 <_TypeOrderFromDirname+0x22>
  401fcf:	b9 03 00 00 00       	mov    $0x3,%ecx
  401fd4:	eb ec                	jmp    401fc2 <_TypeOrderFromDirname+0x22>
  401fd6:	8d 76 00             	lea    0x0(%esi),%esi
  401fd9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00401fe0 <_compareType>:

/* directories first... */
static int compareType(const WIN32_FIND_DATA* fd1, const WIN32_FIND_DATA* fd2)
{
  401fe0:	55                   	push   %ebp
  401fe1:	89 c1                	mov    %eax,%ecx
  401fe3:	89 e5                	mov    %esp,%ebp
  401fe5:	56                   	push   %esi
  401fe6:	53                   	push   %ebx
  401fe7:	89 d6                	mov    %edx,%esi
	int order1 = fd1->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY? TO_DIR: TO_FILE;
  401fe9:	8b 00                	mov    (%eax),%eax
  401feb:	c1 e8 04             	shr    $0x4,%eax
  401fee:	83 e0 01             	and    $0x1,%eax
  401ff1:	83 f8 01             	cmp    $0x1,%eax
	int order2 = fd2->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY? TO_DIR: TO_FILE;
  401ff4:	8b 02                	mov    (%edx),%eax
  401ff6:	19 db                	sbb    %ebx,%ebx
  401ff8:	c1 e8 04             	shr    $0x4,%eax
  401ffb:	83 e3 04             	and    $0x4,%ebx
  401ffe:	83 e0 01             	and    $0x1,%eax

	/* Handle "." and ".." as special case and move them at the very first beginning. */
	if (order1==TO_DIR && order2==TO_DIR) {
  402001:	89 da                	mov    %ebx,%edx
  402003:	83 f8 01             	cmp    $0x1,%eax
  402006:	19 c0                	sbb    %eax,%eax
  402008:	83 e0 04             	and    $0x4,%eax
  40200b:	09 c2                	or     %eax,%edx
  40200d:	75 12                	jne    402021 <_compareType+0x41>
		order1 = TypeOrderFromDirname(fd1->cFileName);
  40200f:	8d 41 2c             	lea    0x2c(%ecx),%eax
  402012:	e8 89 ff ff ff       	call   401fa0 <_TypeOrderFromDirname>
  402017:	89 c3                	mov    %eax,%ebx
		order2 = TypeOrderFromDirname(fd2->cFileName);
  402019:	8d 46 2c             	lea    0x2c(%esi),%eax
  40201c:	e8 7f ff ff ff       	call   401fa0 <_TypeOrderFromDirname>
	}

	return order2==order1? 0: order1<order2? -1: 1;
  402021:	31 d2                	xor    %edx,%edx
  402023:	39 d8                	cmp    %ebx,%eax
  402025:	74 0d                	je     402034 <_compareType+0x54>
  402027:	39 c3                	cmp    %eax,%ebx
  402029:	0f 9d c0             	setge  %al
  40202c:	31 d2                	xor    %edx,%edx
  40202e:	88 c2                	mov    %al,%dl
  402030:	8d 54 12 ff          	lea    0xffffffff(%edx,%edx,1),%edx
}
  402034:	89 d0                	mov    %edx,%eax
  402036:	5b                   	pop    %ebx
  402037:	5e                   	pop    %esi
  402038:	5d                   	pop    %ebp
  402039:	c3                   	ret    
  40203a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00402040 <_compareName>:


static int compareName(const void* arg1, const void* arg2)
{
  402040:	55                   	push   %ebp
  402041:	89 e5                	mov    %esp,%ebp
  402043:	56                   	push   %esi
  402044:	53                   	push   %ebx
	const WIN32_FIND_DATA* fd1 = &(*(Entry**)arg1)->data;
  402045:	8b 45 08             	mov    0x8(%ebp),%eax
	const WIN32_FIND_DATA* fd2 = &(*(Entry**)arg2)->data;
  402048:	8b 55 0c             	mov    0xc(%ebp),%edx
  40204b:	8b 30                	mov    (%eax),%esi
  40204d:	8b 1a                	mov    (%edx),%ebx
  40204f:	8d 46 18             	lea    0x18(%esi),%eax
  402052:	8d 53 18             	lea    0x18(%ebx),%edx

	int cmp = compareType(fd1, fd2);
  402055:	e8 86 ff ff ff       	call   401fe0 <_compareType>
	if (cmp)
  40205a:	85 c0                	test   %eax,%eax
  40205c:	74 07                	je     402065 <_compareName+0x25>
		return cmp;

	return lstrcmpi(fd1->cFileName, fd2->cFileName);
}
  40205e:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  402061:	5b                   	pop    %ebx
  402062:	5e                   	pop    %esi
  402063:	5d                   	pop    %ebp
  402064:	c3                   	ret    
  402065:	50                   	push   %eax
  402066:	50                   	push   %eax
  402067:	8d 43 44             	lea    0x44(%ebx),%eax
  40206a:	50                   	push   %eax
  40206b:	8d 46 44             	lea    0x44(%esi),%eax
  40206e:	50                   	push   %eax
  40206f:	e8 3c 53 00 00       	call   4073b0 <_lstrcmpiW@8>
  402074:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  402077:	5b                   	pop    %ebx
  402078:	5e                   	pop    %esi
  402079:	5d                   	pop    %ebp
  40207a:	c3                   	ret    
  40207b:	90                   	nop    
  40207c:	8d 74 26 00          	lea    0x0(%esi),%esi

00402080 <_compareExt>:

static int compareExt(const void* arg1, const void* arg2)
{
  402080:	55                   	push   %ebp
  402081:	89 e5                	mov    %esp,%ebp
  402083:	57                   	push   %edi
  402084:	56                   	push   %esi
  402085:	53                   	push   %ebx
  402086:	83 ec 0c             	sub    $0xc,%esp
	const WIN32_FIND_DATA* fd1 = &(*(Entry**)arg1)->data;
  402089:	8b 45 08             	mov    0x8(%ebp),%eax
	const WIN32_FIND_DATA* fd2 = &(*(Entry**)arg2)->data;
  40208c:	8b 55 0c             	mov    0xc(%ebp),%edx
  40208f:	8b 30                	mov    (%eax),%esi
  402091:	8b 1a                	mov    (%edx),%ebx
  402093:	8d 46 18             	lea    0x18(%esi),%eax
  402096:	8d 53 18             	lea    0x18(%ebx),%edx
	const TCHAR *name1, *name2, *ext1, *ext2;

	int cmp = compareType(fd1, fd2);
  402099:	e8 42 ff ff ff       	call   401fe0 <_compareType>
	if (cmp)
  40209e:	85 c0                	test   %eax,%eax
  4020a0:	74 0e                	je     4020b0 <_compareExt+0x30>
		return cmp;

	name1 = fd1->cFileName;
	name2 = fd2->cFileName;

	ext1 = _tcsrchr(name1, TEXT('.'));
	ext2 = _tcsrchr(name2, TEXT('.'));

	if (ext1)
		ext1++;
	else
		ext1 = sEmpty;

	if (ext2)
		ext2++;
	else
		ext2 = sEmpty;

	cmp = lstrcmpi(ext1, ext2);
	if (cmp)
		return cmp;

	return lstrcmpi(name1, name2);
}
  4020a2:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4020a5:	5b                   	pop    %ebx
  4020a6:	5e                   	pop    %esi
  4020a7:	5f                   	pop    %edi
  4020a8:	5d                   	pop    %ebp
  4020a9:	c3                   	ret    
  4020aa:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4020b0:	8d 7e 44             	lea    0x44(%esi),%edi
  4020b3:	50                   	push   %eax
  4020b4:	50                   	push   %eax
  4020b5:	6a 2e                	push   $0x2e
  4020b7:	57                   	push   %edi
  4020b8:	e8 53 62 00 00       	call   408310 <_wcsrchr>
  4020bd:	8d 73 44             	lea    0x44(%ebx),%esi
  4020c0:	59                   	pop    %ecx
  4020c1:	89 c3                	mov    %eax,%ebx
  4020c3:	58                   	pop    %eax
  4020c4:	6a 2e                	push   $0x2e
  4020c6:	56                   	push   %esi
  4020c7:	e8 44 62 00 00       	call   408310 <_wcsrchr>
  4020cc:	83 c4 10             	add    $0x10,%esp
  4020cf:	85 db                	test   %ebx,%ebx
  4020d1:	74 2b                	je     4020fe <_compareExt+0x7e>
  4020d3:	83 c3 02             	add    $0x2,%ebx
  4020d6:	85 c0                	test   %eax,%eax
  4020d8:	74 1d                	je     4020f7 <_compareExt+0x77>
  4020da:	83 c0 02             	add    $0x2,%eax
  4020dd:	52                   	push   %edx
  4020de:	52                   	push   %edx
  4020df:	50                   	push   %eax
  4020e0:	53                   	push   %ebx
  4020e1:	e8 ca 52 00 00       	call   4073b0 <_lstrcmpiW@8>
  4020e6:	5a                   	pop    %edx
  4020e7:	85 c0                	test   %eax,%eax
  4020e9:	59                   	pop    %ecx
  4020ea:	75 b6                	jne    4020a2 <_compareExt+0x22>
  4020ec:	50                   	push   %eax
  4020ed:	50                   	push   %eax
  4020ee:	56                   	push   %esi
  4020ef:	57                   	push   %edi
  4020f0:	e8 bb 52 00 00       	call   4073b0 <_lstrcmpiW@8>
  4020f5:	eb ab                	jmp    4020a2 <_compareExt+0x22>
  4020f7:	b8 06 a4 40 00       	mov    $0x40a406,%eax
  4020fc:	eb df                	jmp    4020dd <_compareExt+0x5d>
  4020fe:	bb 06 a4 40 00       	mov    $0x40a406,%ebx
  402103:	eb d1                	jmp    4020d6 <_compareExt+0x56>
  402105:	8d 74 26 00          	lea    0x0(%esi),%esi
  402109:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00402110 <_compareSize>:

static int compareSize(const void* arg1, const void* arg2)
{
  402110:	55                   	push   %ebp
  402111:	89 e5                	mov    %esp,%ebp
  402113:	56                   	push   %esi
  402114:	53                   	push   %ebx
	WIN32_FIND_DATA* fd1 = &(*(Entry**)arg1)->data;
  402115:	8b 45 08             	mov    0x8(%ebp),%eax
  402118:	8b 30                	mov    (%eax),%esi
	WIN32_FIND_DATA* fd2 = &(*(Entry**)arg2)->data;
  40211a:	8b 45 0c             	mov    0xc(%ebp),%eax
  40211d:	83 c6 18             	add    $0x18,%esi
  402120:	8b 18                	mov    (%eax),%ebx

	int cmp = compareType(fd1, fd2);
  402122:	89 f0                	mov    %esi,%eax
  402124:	83 c3 18             	add    $0x18,%ebx
  402127:	89 da                	mov    %ebx,%edx
  402129:	e8 b2 fe ff ff       	call   401fe0 <_compareType>
	if (cmp)
		return cmp;
  40212e:	89 c2                	mov    %eax,%edx
  402130:	85 c0                	test   %eax,%eax
  402132:	75 17                	jne    40214b <_compareSize+0x3b>

	cmp = fd2->nFileSizeHigh - fd1->nFileSizeHigh;
  402134:	8b 43 1c             	mov    0x1c(%ebx),%eax
  402137:	8b 4e 1c             	mov    0x1c(%esi),%ecx
  40213a:	29 c8                	sub    %ecx,%eax

	if (cmp < 0)
		return -1;
  40213c:	83 ca ff             	or     $0xffffffff,%edx
  40213f:	83 f8 00             	cmp    $0x0,%eax
  402142:	7c 07                	jl     40214b <_compareSize+0x3b>
	else if (cmp > 0)
  402144:	7e 0b                	jle    402151 <_compareSize+0x41>
		return 1;
  402146:	ba 01 00 00 00       	mov    $0x1,%edx

	cmp = fd2->nFileSizeLow - fd1->nFileSizeLow;

	return cmp<0? -1: cmp>0? 1: 0;
}
  40214b:	89 d0                	mov    %edx,%eax
  40214d:	5b                   	pop    %ebx
  40214e:	5e                   	pop    %esi
  40214f:	5d                   	pop    %ebp
  402150:	c3                   	ret    
  402151:	8b 56 20             	mov    0x20(%esi),%edx
  402154:	8b 43 20             	mov    0x20(%ebx),%eax
  402157:	29 d0                	sub    %edx,%eax
  402159:	83 ca ff             	or     $0xffffffff,%edx
  40215c:	83 f8 00             	cmp    $0x0,%eax
  40215f:	7c ea                	jl     40214b <_compareSize+0x3b>
  402161:	0f 9f c0             	setg   %al
  402164:	31 d2                	xor    %edx,%edx
  402166:	88 c2                	mov    %al,%dl
  402168:	eb e1                	jmp    40214b <_compareSize+0x3b>
  40216a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00402170 <_compareDate>:

static int compareDate(const void* arg1, const void* arg2)
{
  402170:	55                   	push   %ebp
  402171:	89 e5                	mov    %esp,%ebp
  402173:	56                   	push   %esi
  402174:	53                   	push   %ebx
	WIN32_FIND_DATA* fd1 = &(*(Entry**)arg1)->data;
  402175:	8b 45 08             	mov    0x8(%ebp),%eax
	WIN32_FIND_DATA* fd2 = &(*(Entry**)arg2)->data;
  402178:	8b 55 0c             	mov    0xc(%ebp),%edx
  40217b:	8b 18                	mov    (%eax),%ebx
  40217d:	8b 32                	mov    (%edx),%esi
  40217f:	8d 43 18             	lea    0x18(%ebx),%eax
  402182:	8d 56 18             	lea    0x18(%esi),%edx

	int cmp = compareType(fd1, fd2);
  402185:	e8 56 fe ff ff       	call   401fe0 <_compareType>
	if (cmp)
  40218a:	85 c0                	test   %eax,%eax
  40218c:	74 07                	je     402195 <_compareDate+0x25>
		return cmp;

	return CompareFileTime(&fd2->ftLastWriteTime, &fd1->ftLastWriteTime);
}
  40218e:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  402191:	5b                   	pop    %ebx
  402192:	5e                   	pop    %esi
  402193:	5d                   	pop    %ebp
  402194:	c3                   	ret    
  402195:	50                   	push   %eax
  402196:	50                   	push   %eax
  402197:	8d 43 2c             	lea    0x2c(%ebx),%eax
  40219a:	50                   	push   %eax
  40219b:	8d 46 2c             	lea    0x2c(%esi),%eax
  40219e:	50                   	push   %eax
  40219f:	e8 1c 52 00 00       	call   4073c0 <_CompareFileTime@8>
  4021a4:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  4021a7:	5b                   	pop    %ebx
  4021a8:	5e                   	pop    %esi
  4021a9:	5d                   	pop    %ebp
  4021aa:	c3                   	ret    
  4021ab:	90                   	nop    
  4021ac:	8d 74 26 00          	lea    0x0(%esi),%esi

004021b0 <_SortDirectory>:


static int (*sortFunctions[])(const void* arg1, const void* arg2) = {
	compareName,	/* SORT_NAME */
	compareExt,		/* SORT_EXT */
	compareSize,	/* SORT_SIZE */
	compareDate		/* SORT_DATE */
};


static void SortDirectory(Entry* dir, SORT_ORDER sortOrder)
{
  4021b0:	55                   	push   %ebp
  4021b1:	89 e5                	mov    %esp,%ebp
  4021b3:	57                   	push   %edi
  4021b4:	56                   	push   %esi
  4021b5:	53                   	push   %ebx
  4021b6:	83 ec 0c             	sub    $0xc,%esp
  4021b9:	89 55 f0             	mov    %edx,0xfffffff0(%ebp)
	Entry* entry = dir->down;
  4021bc:	8b 50 04             	mov    0x4(%eax),%edx
  4021bf:	89 c7                	mov    %eax,%edi
	Entry** array, **p;
	int len;

	len = 0;
  4021c1:	31 db                	xor    %ebx,%ebx
  4021c3:	89 d0                	mov    %edx,%eax
	for(entry=dir->down; entry; entry=entry->next)
  4021c5:	85 d2                	test   %edx,%edx
  4021c7:	74 6e                	je     402237 <_SortDirectory+0x87>
  4021c9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  4021d0:	8b 00                	mov    (%eax),%eax
		len++;
  4021d2:	43                   	inc    %ebx
  4021d3:	85 c0                	test   %eax,%eax
  4021d5:	75 f9                	jne    4021d0 <_SortDirectory+0x20>

	if (len) {
  4021d7:	85 db                	test   %ebx,%ebx
  4021d9:	74 5c                	je     402237 <_SortDirectory+0x87>
		array = (Entry**) alloca(len*sizeof(Entry*));
  4021db:	8d 04 9d 1e 00 00 00 	lea    0x1e(,%ebx,4),%eax
  4021e2:	83 e0 f0             	and    $0xfffffff0,%eax
  4021e5:	e8 a6 5f 00 00       	call   408190 <___chkstk>

		p = array;
		for(entry=dir->down; entry; entry=entry->next)
  4021ea:	89 d0                	mov    %edx,%eax
  4021ec:	8d 74 24 0f          	lea    0xf(%esp),%esi
  4021f0:	83 e6 f0             	and    $0xfffffff0,%esi
  4021f3:	89 f1                	mov    %esi,%ecx
  4021f5:	eb 07                	jmp    4021fe <_SortDirectory+0x4e>
			*p++ = entry;
  4021f7:	89 01                	mov    %eax,(%ecx)
  4021f9:	83 c1 04             	add    $0x4,%ecx
  4021fc:	8b 00                	mov    (%eax),%eax
  4021fe:	85 c0                	test   %eax,%eax
  402200:	75 f5                	jne    4021f7 <_SortDirectory+0x47>

		/* call qsort with the appropriate compare function */
		qsort(array, len, sizeof(array[0]), sortFunctions[sortOrder]);
  402202:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  402205:	8b 04 85 00 90 40 00 	mov    0x409000(,%eax,4),%eax
  40220c:	50                   	push   %eax
  40220d:	6a 04                	push   $0x4
  40220f:	53                   	push   %ebx
  402210:	56                   	push   %esi
  402211:	e8 ea 60 00 00       	call   408300 <_qsort>

		dir->down = array[0];
  402216:	8b 06                	mov    (%esi),%eax

		for(p=array; --len; p++)
  402218:	89 f1                	mov    %esi,%ecx
  40221a:	83 c4 10             	add    $0x10,%esp
  40221d:	89 47 04             	mov    %eax,0x4(%edi)
  402220:	eb 0a                	jmp    40222c <_SortDirectory+0x7c>
			p[0]->next = p[1];
  402222:	8b 11                	mov    (%ecx),%edx
  402224:	8b 41 04             	mov    0x4(%ecx),%eax
  402227:	83 c1 04             	add    $0x4,%ecx
  40222a:	89 02                	mov    %eax,(%edx)
  40222c:	4b                   	dec    %ebx
  40222d:	75 f3                	jne    402222 <_SortDirectory+0x72>

		(*p)->next = 0;
  40222f:	8b 01                	mov    (%ecx),%eax
  402231:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
	}
}
  402237:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  40223a:	5b                   	pop    %ebx
  40223b:	5e                   	pop    %esi
  40223c:	5f                   	pop    %edi
  40223d:	5d                   	pop    %ebp
  40223e:	c3                   	ret    
  40223f:	90                   	nop    

00402240 <_read_directory>:


static void read_directory(Entry* dir, LPCTSTR path, SORT_ORDER sortOrder, HWND hwnd)
{
  402240:	55                   	push   %ebp
  402241:	89 e5                	mov    %esp,%ebp
  402243:	57                   	push   %edi
  402244:	56                   	push   %esi
  402245:	53                   	push   %ebx
  402246:	81 ec 1c 02 00 00    	sub    $0x21c,%esp
  40224c:	89 c7                	mov    %eax,%edi
  40224e:	89 d3                	mov    %edx,%ebx
	TCHAR buffer[MAX_PATH];
	Entry* entry;
	LPCTSTR s;
	PTSTR d;

#ifdef _SHELL_FOLDERS
	if (dir->etype == ET_SHELL)
  402250:	83 b8 a0 02 00 00 02 	cmpl   $0x2,0x2a0(%eax)
  402257:	0f 84 83 00 00 00    	je     4022e0 <_read_directory+0xa0>
	{
		read_directory_shell(dir, hwnd);

		if (Globals.prescan_node) {
			s = path;
			d = buffer;

			while(*s)
				*d++ = *s++;

			*d++ = TEXT('\\');

			for(entry=dir->down; entry; entry=entry->next)
				if (entry->data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
					read_directory_shell(entry, hwnd);
					SortDirectory(entry, sortOrder);
				}
		}
	}
	else
#endif
#if !defined(_NO_EXTENSIONS) && defined(__WINE__)
	if (dir->etype == ET_UNIX)
	{
		read_directory_unix(dir, path);

		if (Globals.prescan_node) {
			s = path;
			d = buffer;

			while(*s)
				*d++ = *s++;

			*d++ = TEXT('/');

			for(entry=dir->down; entry; entry=entry->next)
				if (entry->data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
					lstrcpy(d, entry->data.cFileName);
					read_directory_unix(entry, buffer);
					SortDirectory(entry, sortOrder);
				}
		}
	}
	else
#endif
	{
		read_directory_win(dir, path);
  40225d:	e8 3e f2 ff ff       	call   4014a0 <_read_directory_win>

		if (Globals.prescan_node) {
  402262:	8b 35 cc ca 40 00    	mov    0x40cacc,%esi
  402268:	85 f6                	test   %esi,%esi
  40226a:	74 36                	je     4022a2 <_read_directory+0x62>
			s = path;
  40226c:	89 da                	mov    %ebx,%edx
			d = buffer;
  40226e:	8d b5 d8 fd ff ff    	lea    0xfffffdd8(%ebp),%esi
  402274:	eb 09                	jmp    40227f <_read_directory+0x3f>

			while(*s)
				*d++ = *s++;
  402276:	66 89 06             	mov    %ax,(%esi)
  402279:	83 c2 02             	add    $0x2,%edx
  40227c:	83 c6 02             	add    $0x2,%esi
  40227f:	66 8b 02             	mov    (%edx),%ax
  402282:	66 85 c0             	test   %ax,%ax
  402285:	75 ef                	jne    402276 <_read_directory+0x36>

			*d++ = TEXT('\\');

			for(entry=dir->down; entry; entry=entry->next)
  402287:	8b 5f 04             	mov    0x4(%edi),%ebx
  40228a:	66 c7 06 5c 00       	movw   $0x5c,(%esi)
  40228f:	83 c6 02             	add    $0x2,%esi
  402292:	85 db                	test   %ebx,%ebx
  402294:	74 0c                	je     4022a2 <_read_directory+0x62>
				if (entry->data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
  402296:	f6 43 18 10          	testb  $0x10,0x18(%ebx)
  40229a:	75 18                	jne    4022b4 <_read_directory+0x74>
  40229c:	8b 1b                	mov    (%ebx),%ebx
  40229e:	85 db                	test   %ebx,%ebx
  4022a0:	75 f4                	jne    402296 <_read_directory+0x56>
					lstrcpy(d, entry->data.cFileName);
					read_directory_win(entry, buffer);
					SortDirectory(entry, sortOrder);
				}
		}
	}

	SortDirectory(dir, sortOrder);
  4022a2:	8b 55 08             	mov    0x8(%ebp),%edx
  4022a5:	89 f8                	mov    %edi,%eax
  4022a7:	e8 04 ff ff ff       	call   4021b0 <_SortDirectory>
  4022ac:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4022af:	5b                   	pop    %ebx
  4022b0:	5e                   	pop    %esi
  4022b1:	5f                   	pop    %edi
  4022b2:	5d                   	pop    %ebp
  4022b3:	c3                   	ret    
  4022b4:	8d 43 44             	lea    0x44(%ebx),%eax
  4022b7:	51                   	push   %ecx
  4022b8:	51                   	push   %ecx
  4022b9:	50                   	push   %eax
  4022ba:	56                   	push   %esi
  4022bb:	e8 20 50 00 00       	call   4072e0 <_lstrcpyW@8>
  4022c0:	58                   	pop    %eax
  4022c1:	89 d8                	mov    %ebx,%eax
  4022c3:	5a                   	pop    %edx
  4022c4:	8d 95 d8 fd ff ff    	lea    0xfffffdd8(%ebp),%edx
  4022ca:	e8 d1 f1 ff ff       	call   4014a0 <_read_directory_win>
  4022cf:	89 d8                	mov    %ebx,%eax
  4022d1:	8b 55 08             	mov    0x8(%ebp),%edx
  4022d4:	e8 d7 fe ff ff       	call   4021b0 <_SortDirectory>
  4022d9:	8b 1b                	mov    (%ebx),%ebx
  4022db:	eb c1                	jmp    40229e <_read_directory+0x5e>
  4022dd:	8d 76 00             	lea    0x0(%esi),%esi
  4022e0:	8b 55 0c             	mov    0xc(%ebp),%edx
  4022e3:	e8 78 f7 ff ff       	call   401a60 <_read_directory_shell>
  4022e8:	a1 cc ca 40 00       	mov    0x40cacc,%eax
  4022ed:	85 c0                	test   %eax,%eax
  4022ef:	74 b1                	je     4022a2 <_read_directory+0x62>
  4022f1:	89 da                	mov    %ebx,%edx
  4022f3:	8d b5 d8 fd ff ff    	lea    0xfffffdd8(%ebp),%esi
  4022f9:	eb 0e                	jmp    402309 <_read_directory+0xc9>
  4022fb:	90                   	nop    
  4022fc:	8d 74 26 00          	lea    0x0(%esi),%esi
  402300:	66 89 06             	mov    %ax,(%esi)
  402303:	83 c2 02             	add    $0x2,%edx
  402306:	83 c6 02             	add    $0x2,%esi
  402309:	66 8b 02             	mov    (%edx),%ax
  40230c:	66 85 c0             	test   %ax,%ax
  40230f:	75 ef                	jne    402300 <_read_directory+0xc0>
  402311:	66 c7 06 5c 00       	movw   $0x5c,(%esi)
  402316:	8b 5f 04             	mov    0x4(%edi),%ebx
  402319:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  402320:	85 db                	test   %ebx,%ebx
  402322:	0f 84 7a ff ff ff    	je     4022a2 <_read_directory+0x62>
  402328:	f6 43 18 10          	testb  $0x10,0x18(%ebx)
  40232c:	75 04                	jne    402332 <_read_directory+0xf2>
  40232e:	8b 1b                	mov    (%ebx),%ebx
  402330:	eb ee                	jmp    402320 <_read_directory+0xe0>
  402332:	89 d8                	mov    %ebx,%eax
  402334:	8b 55 0c             	mov    0xc(%ebp),%edx
  402337:	e8 24 f7 ff ff       	call   401a60 <_read_directory_shell>
  40233c:	89 d8                	mov    %ebx,%eax
  40233e:	8b 55 08             	mov    0x8(%ebp),%edx
  402341:	e8 6a fe ff ff       	call   4021b0 <_SortDirectory>
  402346:	8b 1b                	mov    (%ebx),%ebx
  402348:	eb d6                	jmp    402320 <_read_directory+0xe0>
  40234a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00402350 <_get_path>:
}


static ChildWnd* alloc_child_window(LPCTSTR path, LPITEMIDLIST pidl, HWND hwnd)
{
	const static TCHAR sBackslash[] = {'\\', '\0'};
#if !defined(_NO_EXTENSIONS) && defined(__WINE__)
	const static TCHAR sSlash[] = {'/', '\0'};
#endif

	TCHAR drv[_MAX_DRIVE+1], dir[_MAX_DIR], name[_MAX_FNAME], ext[_MAX_EXT];
	TCHAR b1[BUFFER_LEN];

	ChildWnd* child = (ChildWnd*) malloc(sizeof(ChildWnd));
	Root* root = &child->root;
	Entry* entry;

	memset(child, 0, sizeof(ChildWnd));

	child->left.treePane = TRUE;
	child->left.visible_cols = 0;

	child->right.treePane = FALSE;
#ifndef _NO_EXTENSIONS
	child->right.visible_cols = COL_SIZE|COL_DATE|COL_TIME|COL_ATTRIBUTES|COL_INDEX|COL_LINKS;
#else
	child->right.visible_cols = COL_SIZE|COL_DATE|COL_TIME|COL_ATTRIBUTES;
#endif

	child->pos.length = sizeof(WINDOWPLACEMENT);
	child->pos.flags = 0;
	child->pos.showCmd = SW_SHOWNORMAL;
	child->pos.rcNormalPosition.left = CW_USEDEFAULT;
	child->pos.rcNormalPosition.top = CW_USEDEFAULT;
	child->pos.rcNormalPosition.right = CW_USEDEFAULT;
	child->pos.rcNormalPosition.bottom = CW_USEDEFAULT;

	child->focus_pane = 0;
	child->split_pos = DEFAULT_SPLIT_POS;
	child->sortOrder = SORT_NAME;
	child->header_wdths_ok = FALSE;

	if (path)
	{
		lstrcpy(child->path, path);

		_tsplitpath(path, drv, dir, name, ext);
	}

	root->entry.level = 0;

#ifdef _SHELL_FOLDERS
	if (pidl)
	{
		root->drive_type = DRIVE_UNKNOWN;
		drv[0] = '\\';
		drv[1] = '\0';
		load_string(root->volname, IDS_DESKTOP);
		root->fs_flags = 0;
		load_string(root->fs, IDS_SHELL);

		entry = read_tree_shell(root, pidl, child->sortOrder, hwnd);
	}
	else
#endif
#if !defined(_NO_EXTENSIONS) && defined(__WINE__)
	if (*path == '/')
	{
		root->drive_type = GetDriveType(path);

		lstrcat(drv, sSlash);
		load_string(root->volname, IDS_ROOT_FS);
		root->fs_flags = 0;
		load_string(root->fs, IDS_UNIXFS);

		lstrcpy(root->path, sSlash);
		entry = read_tree_unix(root, path, child->sortOrder, hwnd);
	}
	else
#endif
	{
		root->drive_type = GetDriveType(path);

		lstrcat(drv, sBackslash);
		GetVolumeInformation(drv, root->volname, _MAX_FNAME, 0, 0, &root->fs_flags, root->fs, _MAX_DIR);

		lstrcpy(root->path, drv);
		entry = read_tree_win(root, path, child->sortOrder, hwnd);
	}

#ifdef _SHELL_FOLDERS
	if (root->entry.etype == ET_SHELL)
		load_string(root->entry.data.cFileName, IDS_DESKTOP);
	else
#endif
		wsprintf(root->entry.data.cFileName, RS(b1,IDS_TITLEFMT), drv, root->fs);

	root->entry.data.dwFileAttributes = FILE_ATTRIBUTE_DIRECTORY;

	child->left.root = &root->entry;
	child->right.root = NULL;

	set_curdir(child, entry, hwnd);

	return child;
}


/* free all memory associated with a child window */
static void free_child_window(ChildWnd* child)
{
	free_entries(&child->root.entry);
	free(child);
}


/* get full path of specified directory entry */
static void get_path(Entry* dir, PTSTR path)
{
  402350:	55                   	push   %ebp
  402351:	89 e5                	mov    %esp,%ebp
  402353:	57                   	push   %edi
  402354:	56                   	push   %esi
  402355:	53                   	push   %ebx
  402356:	83 ec 1c             	sub    $0x1c,%esp
  402359:	89 c3                	mov    %eax,%ebx
  40235b:	89 55 ec             	mov    %edx,0xffffffec(%ebp)
	Entry* entry;
	int len = 0;
  40235e:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
	int level = 0;
  402365:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)

#ifdef _SHELL_FOLDERS
	if (dir->etype == ET_SHELL)
  40236c:	83 b8 a0 02 00 00 02 	cmpl   $0x2,0x2a0(%eax)
  402373:	0f 84 03 01 00 00    	je     40247c <_get_path+0x12c>
	{
		SFGAOF attribs;
		HRESULT hr = S_OK;

		path[0] = TEXT('\0');

		attribs = 0;

		if (dir->folder)
			hr = (*dir->folder->lpVtbl->GetAttributesOf)(dir->folder, 1, (LPCITEMIDLIST*)&dir->pidl, &attribs);

		if (SUCCEEDED(hr) && (attribs&SFGAO_FILESYSTEM)) {
			IShellFolder* parent = dir->up? dir->up->folder: Globals.iDesktop;

			hr = path_from_pidl(parent, dir->pidl, path, MAX_PATH);
		}
	}
	else
#endif
	{
		for(entry=dir; entry; level++) {
  402379:	89 c7                	mov    %eax,%edi
  40237b:	85 c0                	test   %eax,%eax
  40237d:	0f 84 be 00 00 00    	je     402441 <_get_path+0xf1>
			LPCTSTR name;
			int l;

			{
				LPCTSTR s;
				name = entry->data.cFileName;
  402383:	8d 47 44             	lea    0x44(%edi),%eax
				s = name;

				for(l=0; *s && *s!=TEXT('/') && *s!=TEXT('\\'); s++)
  402386:	66 8b 4f 44          	mov    0x44(%edi),%cx
  40238a:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
  40238d:	89 c3                	mov    %eax,%ebx
  40238f:	31 f6                	xor    %esi,%esi
  402391:	66 85 c9             	test   %cx,%cx
  402394:	0f 95 c2             	setne  %dl
  402397:	66 83 f9 2f          	cmp    $0x2f,%cx
  40239b:	0f 95 c0             	setne  %al
  40239e:	25 ff 00 00 00       	and    $0xff,%eax
  4023a3:	85 c2                	test   %eax,%edx
  4023a5:	74 23                	je     4023ca <_get_path+0x7a>
  4023a7:	66 83 f9 5c          	cmp    $0x5c,%cx
  4023ab:	74 1d                	je     4023ca <_get_path+0x7a>
  4023ad:	83 c3 02             	add    $0x2,%ebx
					l++;
  4023b0:	46                   	inc    %esi
  4023b1:	66 8b 0b             	mov    (%ebx),%cx
  4023b4:	66 85 c9             	test   %cx,%cx
  4023b7:	0f 95 c2             	setne  %dl
  4023ba:	66 83 f9 2f          	cmp    $0x2f,%cx
  4023be:	0f 95 c0             	setne  %al
  4023c1:	25 ff 00 00 00       	and    $0xff,%eax
  4023c6:	85 c2                	test   %eax,%edx
  4023c8:	75 dd                	jne    4023a7 <_get_path+0x57>
			}

			if (entry->up) {
  4023ca:	8b 47 08             	mov    0x8(%edi),%eax
  4023cd:	85 c0                	test   %eax,%eax
  4023cf:	0f 84 f9 00 00 00    	je     4024ce <_get_path+0x17e>
				if (l > 0) {
  4023d5:	85 f6                	test   %esi,%esi
  4023d7:	7e 50                	jle    402429 <_get_path+0xd9>
					memmove(path+l+1, path, len*sizeof(TCHAR));
  4023d9:	50                   	push   %eax
  4023da:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  4023dd:	8d 1c 36             	lea    (%esi,%esi,1),%ebx
  4023e0:	01 c0                	add    %eax,%eax
  4023e2:	50                   	push   %eax
  4023e3:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  4023e6:	50                   	push   %eax
  4023e7:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
  4023ea:	8d 44 13 02          	lea    0x2(%ebx,%edx,1),%eax
  4023ee:	50                   	push   %eax
  4023ef:	e8 ec 5e 00 00       	call   4082e0 <_memmove>
					memcpy(path+1, name, l*sizeof(TCHAR));
  4023f4:	83 c4 0c             	add    $0xc,%esp
  4023f7:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  4023fa:	83 c0 02             	add    $0x2,%eax
  4023fd:	53                   	push   %ebx
  4023fe:	8b 5d e0             	mov    0xffffffe0(%ebp),%ebx
  402401:	53                   	push   %ebx
  402402:	50                   	push   %eax
  402403:	e8 88 5e 00 00       	call   408290 <_memcpy>
					len += l+1;
  402408:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  40240b:	8d 44 06 01          	lea    0x1(%esi,%eax,1),%eax

#ifndef _NO_EXTENSIONS
					if (entry->etype == ET_UNIX)
  40240f:	83 c4 10             	add    $0x10,%esp
  402412:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
  402415:	83 bf a0 02 00 00 01 	cmpl   $0x1,0x2a0(%edi)
  40241c:	74 54                	je     402472 <_get_path+0x122>
						path[0] = TEXT('/');
					else
#endif
					path[0] = TEXT('\\');
  40241e:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  402421:	66 c7 00 5c 00       	movw   $0x5c,(%eax)
  402426:	8b 47 08             	mov    0x8(%edi),%eax
				}

				entry = entry->up;
  402429:	89 c7                	mov    %eax,%edi
  40242b:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
  40242e:	40                   	inc    %eax
  40242f:	85 ff                	test   %edi,%edi
  402431:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
  402434:	0f 85 49 ff ff ff    	jne    402383 <_get_path+0x33>
			} else {
				memmove(path+l, path, len*sizeof(TCHAR));
				memcpy(path, name, l*sizeof(TCHAR));
				len += l;
				break;
			}
		}

		if (!level) {
  40243a:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
  40243d:	85 c0                	test   %eax,%eax
  40243f:	75 1d                	jne    40245e <_get_path+0x10e>
#ifndef _NO_EXTENSIONS
			if (entry->etype == ET_UNIX)
  402441:	83 bf a0 02 00 00 01 	cmpl   $0x1,0x2a0(%edi)
  402448:	0f 84 c6 00 00 00    	je     402514 <_get_path+0x1c4>
				path[len++] = TEXT('/');
			else
#endif
				path[len++] = TEXT('\\');
  40244e:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  402451:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
  402454:	66 c7 04 42 5c 00    	movw   $0x5c,(%edx,%eax,2)
  40245a:	40                   	inc    %eax
  40245b:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
		}

		path[len] = TEXT('\0');
  40245e:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  402461:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
  402464:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
	}
}
  40246a:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  40246d:	5b                   	pop    %ebx
  40246e:	5e                   	pop    %esi
  40246f:	5f                   	pop    %edi
  402470:	5d                   	pop    %ebp
  402471:	c3                   	ret    
  402472:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
  402475:	66 c7 02 2f 00       	movw   $0x2f,(%edx)
  40247a:	eb aa                	jmp    402426 <_get_path+0xd6>
  40247c:	8b 88 a8 02 00 00    	mov    0x2a8(%eax),%ecx
  402482:	66 c7 02 00 00       	movw   $0x0,(%edx)
  402487:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
  40248e:	85 c9                	test   %ecx,%ecx
  402490:	0f 85 8f 00 00 00    	jne    402525 <_get_path+0x1d5>
  402496:	f6 45 f3 40          	testb  $0x40,0xfffffff3(%ebp)
  40249a:	74 ce                	je     40246a <_get_path+0x11a>
  40249c:	8b 43 08             	mov    0x8(%ebx),%eax
  40249f:	85 c0                	test   %eax,%eax
  4024a1:	0f 84 9e 00 00 00    	je     402545 <_get_path+0x1f5>
  4024a7:	8b 80 a8 02 00 00    	mov    0x2a8(%eax),%eax
  4024ad:	68 04 01 00 00       	push   $0x104
  4024b2:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
  4024b5:	51                   	push   %ecx
  4024b6:	8b 93 a4 02 00 00    	mov    0x2a4(%ebx),%edx
  4024bc:	52                   	push   %edx
  4024bd:	50                   	push   %eax
  4024be:	e8 bd f3 ff ff       	call   401880 <_path_from_pidlW>
  4024c3:	83 c4 10             	add    $0x10,%esp
  4024c6:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4024c9:	5b                   	pop    %ebx
  4024ca:	5e                   	pop    %esi
  4024cb:	5f                   	pop    %edi
  4024cc:	5d                   	pop    %ebp
  4024cd:	c3                   	ret    
  4024ce:	51                   	push   %ecx
  4024cf:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  4024d2:	8d 1c 36             	lea    (%esi,%esi,1),%ebx
  4024d5:	01 c0                	add    %eax,%eax
  4024d7:	50                   	push   %eax
  4024d8:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
  4024db:	52                   	push   %edx
  4024dc:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
  4024df:	8d 04 13             	lea    (%ebx,%edx,1),%eax
  4024e2:	50                   	push   %eax
  4024e3:	e8 f8 5d 00 00       	call   4082e0 <_memmove>
  4024e8:	83 c4 0c             	add    $0xc,%esp
  4024eb:	53                   	push   %ebx
  4024ec:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
  4024ef:	50                   	push   %eax
  4024f0:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  4024f3:	50                   	push   %eax
  4024f4:	e8 97 5d 00 00       	call   408290 <_memcpy>
  4024f9:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  4024fc:	83 c4 10             	add    $0x10,%esp
  4024ff:	01 f0                	add    %esi,%eax
  402501:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
  402504:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
  402507:	85 c0                	test   %eax,%eax
  402509:	0f 85 4f ff ff ff    	jne    40245e <_get_path+0x10e>
  40250f:	e9 2d ff ff ff       	jmp    402441 <_get_path+0xf1>
  402514:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  402517:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
  40251a:	66 c7 04 42 2f 00    	movw   $0x2f,(%edx,%eax,2)
  402520:	e9 35 ff ff ff       	jmp    40245a <_get_path+0x10a>
  402525:	8b 11                	mov    (%ecx),%edx
  402527:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
  40252a:	50                   	push   %eax
  40252b:	8d 83 a4 02 00 00    	lea    0x2a4(%ebx),%eax
  402531:	50                   	push   %eax
  402532:	6a 01                	push   $0x1
  402534:	51                   	push   %ecx
  402535:	ff 52 24             	call   *0x24(%edx)
  402538:	85 c0                	test   %eax,%eax
  40253a:	0f 89 56 ff ff ff    	jns    402496 <_get_path+0x146>
  402540:	e9 25 ff ff ff       	jmp    40246a <_get_path+0x11a>
  402545:	a1 d0 ca 40 00       	mov    0x40cad0,%eax
  40254a:	e9 5e ff ff ff       	jmp    4024ad <_get_path+0x15d>
  40254f:	90                   	nop    

00402550 <_get_to_absolute_pidl>:
  402550:	55                   	push   %ebp
  402551:	89 e5                	mov    %esp,%ebp
  402553:	56                   	push   %esi
  402554:	53                   	push   %ebx
  402555:	89 d6                	mov    %edx,%esi
  402557:	81 ec 30 04 00 00    	sub    $0x430,%esp
  40255d:	8b 50 08             	mov    0x8(%eax),%edx
  402560:	85 d2                	test   %edx,%edx
  402562:	74 09                	je     40256d <_get_to_absolute_pidl+0x1d>
  402564:	83 ba a0 02 00 00 02 	cmpl   $0x2,0x2a0(%edx)
  40256b:	74 53                	je     4025c0 <_get_to_absolute_pidl+0x70>
  40256d:	8b 98 a0 02 00 00    	mov    0x2a0(%eax),%ebx
  402573:	85 db                	test   %ebx,%ebx
  402575:	74 19                	je     402590 <_get_to_absolute_pidl+0x40>
  402577:	8b 80 a4 02 00 00    	mov    0x2a4(%eax),%eax
  40257d:	85 c0                	test   %eax,%eax
  40257f:	75 2f                	jne    4025b0 <_get_to_absolute_pidl+0x60>
  402581:	31 c0                	xor    %eax,%eax
  402583:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  402586:	5b                   	pop    %ebx
  402587:	5e                   	pop    %esi
  402588:	5d                   	pop    %ebp
  402589:	c3                   	ret    
  40258a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  402590:	8d 9d d8 fb ff ff    	lea    0xfffffbd8(%ebp),%ebx
  402596:	89 da                	mov    %ebx,%edx
  402598:	e8 b3 fd ff ff       	call   402350 <_get_path>
  40259d:	89 f2                	mov    %esi,%edx
  40259f:	89 d8                	mov    %ebx,%eax
  4025a1:	e8 4a f3 ff ff       	call   4018f0 <_get_path_pidl>
  4025a6:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  4025a9:	5b                   	pop    %ebx
  4025aa:	5e                   	pop    %esi
  4025ab:	5d                   	pop    %ebp
  4025ac:	c3                   	ret    
  4025ad:	8d 76 00             	lea    0x0(%esi),%esi
  4025b0:	83 ec 0c             	sub    $0xc,%esp
  4025b3:	50                   	push   %eax
  4025b4:	e8 07 56 00 00       	call   407bc0 <_ILClone@4>
  4025b9:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  4025bc:	5b                   	pop    %ebx
  4025bd:	5e                   	pop    %esi
  4025be:	5d                   	pop    %ebp
  4025bf:	c3                   	ret    
  4025c0:	8d 9d e8 fd ff ff    	lea    0xfffffde8(%ebp),%ebx
  4025c6:	68 04 01 00 00       	push   $0x104
  4025cb:	53                   	push   %ebx
  4025cc:	8b 80 a4 02 00 00    	mov    0x2a4(%eax),%eax
  4025d2:	50                   	push   %eax
  4025d3:	8b 82 a8 02 00 00    	mov    0x2a8(%edx),%eax
  4025d9:	50                   	push   %eax
  4025da:	e8 a1 f2 ff ff       	call   401880 <_path_from_pidlW>
  4025df:	83 c4 10             	add    $0x10,%esp
  4025e2:	85 c0                	test   %eax,%eax
  4025e4:	78 9b                	js     402581 <_get_to_absolute_pidl+0x31>
  4025e6:	50                   	push   %eax
  4025e7:	8b 15 d0 ca 40 00    	mov    0x40cad0,%edx
  4025ed:	8d 85 d4 fb ff ff    	lea    0xfffffbd4(%ebp),%eax
  4025f3:	8b 0a                	mov    (%edx),%ecx
  4025f5:	6a 00                	push   $0x0
  4025f7:	50                   	push   %eax
  4025f8:	8d 85 d0 fb ff ff    	lea    0xfffffbd0(%ebp),%eax
  4025fe:	50                   	push   %eax
  4025ff:	53                   	push   %ebx
  402600:	6a 00                	push   $0x0
  402602:	56                   	push   %esi
  402603:	52                   	push   %edx
  402604:	ff 51 0c             	call   *0xc(%ecx)
  402607:	5e                   	pop    %esi
  402608:	85 c0                	test   %eax,%eax
  40260a:	0f 88 71 ff ff ff    	js     402581 <_get_to_absolute_pidl+0x31>
  402610:	8b 85 d4 fb ff ff    	mov    0xfffffbd4(%ebp),%eax
  402616:	e9 68 ff ff ff       	jmp    402583 <_get_to_absolute_pidl+0x33>
  40261b:	90                   	nop    
  40261c:	8d 74 26 00          	lea    0x0(%esi),%esi

00402620 <_resize_frame_rect>:


static void resize_frame_rect(HWND hwnd, PRECT prect)
{
  402620:	55                   	push   %ebp
  402621:	89 e5                	mov    %esp,%ebp
  402623:	56                   	push   %esi
  402624:	53                   	push   %ebx
  402625:	89 d6                	mov    %edx,%esi
  402627:	83 ec 2c             	sub    $0x2c,%esp
	int new_top;
	RECT rt;

	if (IsWindowVisible(Globals.htoolbar)) {
  40262a:	a1 b0 c2 40 00       	mov    0x40c2b0,%eax
  40262f:	50                   	push   %eax
  402630:	e8 fb 4e 00 00       	call   407530 <_IsWindowVisible@4>
  402635:	83 c4 0c             	add    $0xc,%esp
  402638:	85 c0                	test   %eax,%eax
  40263a:	75 64                	jne    4026a0 <_resize_frame_rect+0x80>
		SendMessage(Globals.htoolbar, WM_SIZE, 0, 0);
		GetClientRect(Globals.htoolbar, &rt);
		prect->top = rt.bottom+3;
		prect->bottom -= rt.bottom+3;
	}

	if (IsWindowVisible(Globals.hdrivebar)) {
  40263c:	83 ec 0c             	sub    $0xc,%esp
  40263f:	a1 b4 c2 40 00       	mov    0x40c2b4,%eax
  402644:	50                   	push   %eax
  402645:	e8 e6 4e 00 00       	call   407530 <_IsWindowVisible@4>
  40264a:	83 c4 0c             	add    $0xc,%esp
  40264d:	85 c0                	test   %eax,%eax
  40264f:	0f 85 9d 00 00 00    	jne    4026f2 <_resize_frame_rect+0xd2>
		SendMessage(Globals.hdrivebar, WM_SIZE, 0, 0);
		GetClientRect(Globals.hdrivebar, &rt);
		new_top = --prect->top + rt.bottom+3;
		MoveWindow(Globals.hdrivebar, 0, prect->top, rt.right, new_top, TRUE);
		prect->top = new_top;
		prect->bottom -= rt.bottom+2;
	}

	if (IsWindowVisible(Globals.hstatusbar)) {
  402655:	83 ec 0c             	sub    $0xc,%esp
  402658:	a1 ac c2 40 00       	mov    0x40c2ac,%eax
  40265d:	50                   	push   %eax
  40265e:	e8 cd 4e 00 00       	call   407530 <_IsWindowVisible@4>
  402663:	83 c4 0c             	add    $0xc,%esp
  402666:	85 c0                	test   %eax,%eax
  402668:	0f 85 f9 00 00 00    	jne    402767 <_resize_frame_rect+0x147>
  40266e:	8b 46 0c             	mov    0xc(%esi),%eax
		int parts[] = {300, 500};

		SendMessage(Globals.hstatusbar, WM_SIZE, 0, 0);
		SendMessage(Globals.hstatusbar, SB_SETPARTS, 2, (LPARAM)&parts);
		GetClientRect(Globals.hstatusbar, &rt);
		prect->bottom -= rt.bottom;
	}

	MoveWindow(Globals.hmdiclient, prect->left-1,prect->top-1,prect->right+2,prect->bottom+1, TRUE);
  402671:	40                   	inc    %eax
  402672:	52                   	push   %edx
  402673:	52                   	push   %edx
  402674:	6a 01                	push   $0x1
  402676:	50                   	push   %eax
  402677:	8b 46 08             	mov    0x8(%esi),%eax
  40267a:	83 c0 02             	add    $0x2,%eax
  40267d:	50                   	push   %eax
  40267e:	8b 46 04             	mov    0x4(%esi),%eax
  402681:	48                   	dec    %eax
  402682:	50                   	push   %eax
  402683:	8b 06                	mov    (%esi),%eax
  402685:	48                   	dec    %eax
  402686:	50                   	push   %eax
  402687:	a1 a8 c2 40 00       	mov    0x40c2a8,%eax
  40268c:	50                   	push   %eax
  40268d:	e8 ae 4e 00 00       	call   407540 <_MoveWindow@24>
  402692:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  402695:	5b                   	pop    %ebx
  402696:	5e                   	pop    %esi
  402697:	5d                   	pop    %ebp
  402698:	c3                   	ret    
  402699:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  4026a0:	a1 b0 c2 40 00       	mov    0x40c2b0,%eax
  4026a5:	6a 00                	push   $0x0
  4026a7:	6a 00                	push   $0x0
  4026a9:	6a 05                	push   $0x5
  4026ab:	50                   	push   %eax
  4026ac:	e8 9f 4e 00 00       	call   407550 <_SendMessageW@16>
  4026b1:	8b 0d b0 c2 40 00    	mov    0x40c2b0,%ecx
  4026b7:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
  4026ba:	53                   	push   %ebx
  4026bb:	53                   	push   %ebx
  4026bc:	50                   	push   %eax
  4026bd:	51                   	push   %ecx
  4026be:	e8 9d 4e 00 00       	call   407560 <_GetClientRect@8>
  4026c3:	8b 55 f4             	mov    0xfffffff4(%ebp),%edx
  4026c6:	8d 42 03             	lea    0x3(%edx),%eax
  4026c9:	89 46 04             	mov    %eax,0x4(%esi)
  4026cc:	8b 46 0c             	mov    0xc(%esi),%eax
  4026cf:	29 d0                	sub    %edx,%eax
  4026d1:	83 e8 03             	sub    $0x3,%eax
  4026d4:	89 46 0c             	mov    %eax,0xc(%esi)
  4026d7:	58                   	pop    %eax
  4026d8:	5a                   	pop    %edx
  4026d9:	a1 b4 c2 40 00       	mov    0x40c2b4,%eax
  4026de:	83 ec 0c             	sub    $0xc,%esp
  4026e1:	50                   	push   %eax
  4026e2:	e8 49 4e 00 00       	call   407530 <_IsWindowVisible@4>
  4026e7:	83 c4 0c             	add    $0xc,%esp
  4026ea:	85 c0                	test   %eax,%eax
  4026ec:	0f 84 63 ff ff ff    	je     402655 <_resize_frame_rect+0x35>
  4026f2:	a1 b4 c2 40 00       	mov    0x40c2b4,%eax
  4026f7:	6a 00                	push   $0x0
  4026f9:	6a 00                	push   $0x0
  4026fb:	6a 05                	push   $0x5
  4026fd:	50                   	push   %eax
  4026fe:	e8 4d 4e 00 00       	call   407550 <_SendMessageW@16>
  402703:	8b 1d b4 c2 40 00    	mov    0x40c2b4,%ebx
  402709:	50                   	push   %eax
  40270a:	50                   	push   %eax
  40270b:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
  40270e:	50                   	push   %eax
  40270f:	53                   	push   %ebx
  402710:	e8 4b 4e 00 00       	call   407560 <_GetClientRect@8>
  402715:	8b 46 04             	mov    0x4(%esi),%eax
  402718:	48                   	dec    %eax
  402719:	8b 4d f4             	mov    0xfffffff4(%ebp),%ecx
  40271c:	89 c3                	mov    %eax,%ebx
  40271e:	8b 55 f0             	mov    0xfffffff0(%ebp),%edx
  402721:	01 cb                	add    %ecx,%ebx
  402723:	6a 01                	push   $0x1
  402725:	83 c3 03             	add    $0x3,%ebx
  402728:	89 46 04             	mov    %eax,0x4(%esi)
  40272b:	53                   	push   %ebx
  40272c:	52                   	push   %edx
  40272d:	50                   	push   %eax
  40272e:	a1 b4 c2 40 00       	mov    0x40c2b4,%eax
  402733:	6a 00                	push   $0x0
  402735:	50                   	push   %eax
  402736:	e8 05 4e 00 00       	call   407540 <_MoveWindow@24>
  40273b:	8b 46 0c             	mov    0xc(%esi),%eax
  40273e:	8b 4d f4             	mov    0xfffffff4(%ebp),%ecx
  402741:	89 5e 04             	mov    %ebx,0x4(%esi)
  402744:	29 c8                	sub    %ecx,%eax
  402746:	83 e8 02             	sub    $0x2,%eax
  402749:	89 46 0c             	mov    %eax,0xc(%esi)
  40274c:	58                   	pop    %eax
  40274d:	5a                   	pop    %edx
  40274e:	a1 ac c2 40 00       	mov    0x40c2ac,%eax
  402753:	83 ec 0c             	sub    $0xc,%esp
  402756:	50                   	push   %eax
  402757:	e8 d4 4d 00 00       	call   407530 <_IsWindowVisible@4>
  40275c:	83 c4 0c             	add    $0xc,%esp
  40275f:	85 c0                	test   %eax,%eax
  402761:	0f 84 07 ff ff ff    	je     40266e <_resize_frame_rect+0x4e>
  402767:	a1 ac c2 40 00       	mov    0x40c2ac,%eax
  40276c:	6a 00                	push   $0x0
  40276e:	c7 45 e0 2c 01 00 00 	movl   $0x12c,0xffffffe0(%ebp)
  402775:	6a 00                	push   $0x0
  402777:	c7 45 e4 f4 01 00 00 	movl   $0x1f4,0xffffffe4(%ebp)
  40277e:	6a 05                	push   $0x5
  402780:	50                   	push   %eax
  402781:	e8 ca 4d 00 00       	call   407550 <_SendMessageW@16>
  402786:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
  402789:	50                   	push   %eax
  40278a:	a1 ac c2 40 00       	mov    0x40c2ac,%eax
  40278f:	6a 02                	push   $0x2
  402791:	68 04 04 00 00       	push   $0x404
  402796:	50                   	push   %eax
  402797:	e8 b4 4d 00 00       	call   407550 <_SendMessageW@16>
  40279c:	8b 0d ac c2 40 00    	mov    0x40c2ac,%ecx
  4027a2:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
  4027a5:	53                   	push   %ebx
  4027a6:	53                   	push   %ebx
  4027a7:	50                   	push   %eax
  4027a8:	51                   	push   %ecx
  4027a9:	e8 b2 4d 00 00       	call   407560 <_GetClientRect@8>
  4027ae:	8b 46 0c             	mov    0xc(%esi),%eax
  4027b1:	8b 55 f4             	mov    0xfffffff4(%ebp),%edx
  4027b4:	59                   	pop    %ecx
  4027b5:	29 d0                	sub    %edx,%eax
  4027b7:	5b                   	pop    %ebx
  4027b8:	89 46 0c             	mov    %eax,0xc(%esi)
  4027bb:	e9 b1 fe ff ff       	jmp    402671 <_resize_frame_rect+0x51>

004027c0 <_CBTProc@12>:
}

static void resize_frame(HWND hwnd, int cx, int cy)
{
	RECT rect;

	rect.left   = 0;
	rect.top    = 0;
	rect.right  = cx;
	rect.bottom = cy;

	resize_frame_rect(hwnd, &rect);
}

static void resize_frame_client(HWND hwnd)
{
	RECT rect;

	GetClientRect(hwnd, &rect);

	resize_frame_rect(hwnd, &rect);
}


static HHOOK hcbthook;
static ChildWnd* newchild = NULL;

LRESULT CALLBACK CBTProc(int code, WPARAM wparam, LPARAM lparam)
{
  4027c0:	55                   	push   %ebp
  4027c1:	89 e5                	mov    %esp,%ebp
  4027c3:	56                   	push   %esi
  4027c4:	53                   	push   %ebx
  4027c5:	8b 5d 08             	mov    0x8(%ebp),%ebx
  4027c8:	8b 75 0c             	mov    0xc(%ebp),%esi
	if (code==HCBT_CREATEWND && newchild) {
  4027cb:	83 fb 03             	cmp    $0x3,%ebx
  4027ce:	74 20                	je     4027f0 <_CBTProc@12+0x30>
		ChildWnd* child = newchild;
		newchild = NULL;

		child->hwnd = (HWND) wparam;
		SetWindowLong(child->hwnd, GWL_USERDATA, (LPARAM)child);
	}

	return CallNextHookEx(hcbthook, code, wparam, lparam);
  4027d0:	8b 45 10             	mov    0x10(%ebp),%eax
  4027d3:	50                   	push   %eax
  4027d4:	a1 10 c2 40 00       	mov    0x40c210,%eax
  4027d9:	56                   	push   %esi
  4027da:	53                   	push   %ebx
  4027db:	50                   	push   %eax
  4027dc:	e8 8f 4d 00 00       	call   407570 <_CallNextHookEx@16>
}
  4027e1:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  4027e4:	5b                   	pop    %ebx
  4027e5:	5e                   	pop    %esi
  4027e6:	5d                   	pop    %ebp
  4027e7:	c2 0c 00             	ret    $0xc
  4027ea:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4027f0:	a1 b0 c1 40 00       	mov    0x40c1b0,%eax
  4027f5:	85 c0                	test   %eax,%eax
  4027f7:	74 d7                	je     4027d0 <_CBTProc@12+0x10>
  4027f9:	89 30                	mov    %esi,(%eax)
  4027fb:	52                   	push   %edx
  4027fc:	50                   	push   %eax
  4027fd:	6a eb                	push   $0xffffffeb
  4027ff:	c7 05 b0 c1 40 00 00 	movl   $0x0,0x40c1b0
  402806:	00 00 00 
  402809:	8b 00                	mov    (%eax),%eax
  40280b:	50                   	push   %eax
  40280c:	e8 6f 4d 00 00       	call   407580 <_SetWindowLongW@12>
  402811:	58                   	pop    %eax
  402812:	eb bc                	jmp    4027d0 <_CBTProc@12+0x10>
  402814:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  40281a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00402820 <_create_child_window>:

static HWND create_child_window(ChildWnd* child)
{
  402820:	55                   	push   %ebp
  402821:	89 e5                	mov    %esp,%ebp
  402823:	53                   	push   %ebx
  402824:	83 ec 34             	sub    $0x34,%esp
  402827:	89 c3                	mov    %eax,%ebx
	MDICREATESTRUCT mcs;
	int idx;

	mcs.szClass = sWINEFILETREE;
	mcs.szTitle = (LPTSTR)child->path;
  402829:	8d 80 14 01 00 00    	lea    0x114(%eax),%eax
  40282f:	c7 45 c8 e0 a3 40 00 	movl   $0x40a3e0,0xffffffc8(%ebp)
  402836:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
	mcs.hOwner  = Globals.hInstance;
  402839:	a1 80 c2 40 00       	mov    0x40c280,%eax
	mcs.x       = child->pos.rcNormalPosition.left;
  40283e:	8b 93 fc 00 00 00    	mov    0xfc(%ebx),%edx
  402844:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
	mcs.y       = child->pos.rcNormalPosition.top;
	mcs.cx      = child->pos.rcNormalPosition.right-child->pos.rcNormalPosition.left;
  402847:	8b 83 04 01 00 00    	mov    0x104(%ebx),%eax
  40284d:	8b 8b 00 01 00 00    	mov    0x100(%ebx),%ecx
  402853:	29 d0                	sub    %edx,%eax
  402855:	89 55 d4             	mov    %edx,0xffffffd4(%ebp)
  402858:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
	mcs.cy      = child->pos.rcNormalPosition.bottom-child->pos.rcNormalPosition.top;
  40285b:	8b 83 08 01 00 00    	mov    0x108(%ebx),%eax
  402861:	29 c8                	sub    %ecx,%eax
  402863:	89 4d d8             	mov    %ecx,0xffffffd8(%ebp)
  402866:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
	mcs.style   = 0;
  402869:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
	mcs.lParam  = 0;
  402870:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)

	hcbthook = SetWindowsHookEx(WH_CBT, CBTProc, 0, GetCurrentThreadId());
  402877:	e8 54 4b 00 00       	call   4073d0 <_GetCurrentThreadId@0>
  40287c:	50                   	push   %eax
  40287d:	6a 00                	push   $0x0
  40287f:	68 c0 27 40 00       	push   $0x4027c0
  402884:	6a 05                	push   $0x5
  402886:	e8 05 4d 00 00       	call   407590 <_SetWindowsHookExW@16>

	newchild = child;
  40288b:	89 1d b0 c1 40 00    	mov    %ebx,0x40c1b0
  402891:	a3 10 c2 40 00       	mov    %eax,0x40c210
	child->hwnd = (HWND) SendMessage(Globals.hmdiclient, WM_MDICREATE, 0, (LPARAM)&mcs);
  402896:	8d 45 c8             	lea    0xffffffc8(%ebp),%eax
  402899:	50                   	push   %eax
  40289a:	6a 00                	push   $0x0
  40289c:	68 20 02 00 00       	push   $0x220
  4028a1:	8b 0d a8 c2 40 00    	mov    0x40c2a8,%ecx
  4028a7:	51                   	push   %ecx
  4028a8:	e8 a3 4c 00 00       	call   407550 <_SendMessageW@16>
	if (!child->hwnd) {
  4028ad:	85 c0                	test   %eax,%eax
  4028af:	89 03                	mov    %eax,(%ebx)
  4028b1:	0f 84 a7 00 00 00    	je     40295e <_create_child_window+0x13e>
		UnhookWindowsHookEx(hcbthook);
		return 0;
	}

	UnhookWindowsHookEx(hcbthook);
  4028b7:	83 ec 0c             	sub    $0xc,%esp
  4028ba:	a1 10 c2 40 00       	mov    0x40c210,%eax
  4028bf:	50                   	push   %eax
  4028c0:	e8 db 4c 00 00       	call   4075a0 <_UnhookWindowsHookEx@4>

	ListBox_SetItemHeight(child->left.hwnd, 1, max(Globals.spaceSize.cy,IMAGE_HEIGHT+3));
  4028c5:	a1 c4 c2 40 00       	mov    0x40c2c4,%eax
  4028ca:	83 c4 0c             	add    $0xc,%esp
  4028cd:	83 f8 10             	cmp    $0x10,%eax
  4028d0:	0f 8c 7e 00 00 00    	jl     402954 <_create_child_window+0x134>
  4028d6:	25 ff ff 00 00       	and    $0xffff,%eax
  4028db:	50                   	push   %eax
  4028dc:	6a 01                	push   $0x1
  4028de:	68 a0 01 00 00       	push   $0x1a0
  4028e3:	8b 43 04             	mov    0x4(%ebx),%eax
  4028e6:	50                   	push   %eax
  4028e7:	e8 64 4c 00 00       	call   407550 <_SendMessageW@16>
	ListBox_SetItemHeight(child->right.hwnd, 1, max(Globals.spaceSize.cy,IMAGE_HEIGHT+3));
  4028ec:	a1 c4 c2 40 00       	mov    0x40c2c4,%eax
  4028f1:	83 f8 10             	cmp    $0x10,%eax
  4028f4:	7d 05                	jge    4028fb <_create_child_window+0xdb>
  4028f6:	b8 10 00 00 00       	mov    $0x10,%eax
  4028fb:	25 ff ff 00 00       	and    $0xffff,%eax
  402900:	50                   	push   %eax
  402901:	6a 01                	push   $0x1
  402903:	68 a0 01 00 00       	push   $0x1a0
  402908:	8b 43 70             	mov    0x70(%ebx),%eax
  40290b:	50                   	push   %eax
  40290c:	e8 3f 4c 00 00       	call   407550 <_SendMessageW@16>
	idx = ListBox_FindItemData(child->left.hwnd, ListBox_GetCurSel(child->left.hwnd), child->left.cur);
  402911:	8b 43 6c             	mov    0x6c(%ebx),%eax
  402914:	50                   	push   %eax
  402915:	83 ec 0c             	sub    $0xc,%esp
  402918:	6a 00                	push   $0x0
  40291a:	6a 00                	push   $0x0
  40291c:	68 88 01 00 00       	push   $0x188
  402921:	8b 43 04             	mov    0x4(%ebx),%eax
  402924:	50                   	push   %eax
  402925:	e8 26 4c 00 00       	call   407550 <_SendMessageW@16>
  40292a:	83 c4 0c             	add    $0xc,%esp
  40292d:	50                   	push   %eax
  40292e:	68 8f 01 00 00       	push   $0x18f
  402933:	8b 43 04             	mov    0x4(%ebx),%eax
  402936:	50                   	push   %eax
  402937:	e8 14 4c 00 00       	call   407550 <_SendMessageW@16>
	ListBox_SetCurSel(child->left.hwnd, idx);
  40293c:	6a 00                	push   $0x0
  40293e:	50                   	push   %eax
  40293f:	68 86 01 00 00       	push   $0x186
  402944:	8b 4b 04             	mov    0x4(%ebx),%ecx
  402947:	51                   	push   %ecx
  402948:	e8 03 4c 00 00       	call   407550 <_SendMessageW@16>

	return child->hwnd;
  40294d:	8b 03                	mov    (%ebx),%eax
}
  40294f:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  402952:	c9                   	leave  
  402953:	c3                   	ret    
  402954:	b8 10 00 00 00       	mov    $0x10,%eax
  402959:	e9 78 ff ff ff       	jmp    4028d6 <_create_child_window+0xb6>
  40295e:	83 ec 0c             	sub    $0xc,%esp
  402961:	8b 15 10 c2 40 00    	mov    0x40c210,%edx
  402967:	52                   	push   %edx
  402968:	e8 33 4c 00 00       	call   4075a0 <_UnhookWindowsHookEx@4>
  40296d:	31 c0                	xor    %eax,%eax
  40296f:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  402972:	c9                   	leave  
  402973:	c3                   	ret    
  402974:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  40297a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00402980 <_ExecuteDialogDlgProc@16>:


struct ExecuteDialog {
	TCHAR	cmd[MAX_PATH];
	int		cmdshow;
};


static INT_PTR CALLBACK ExecuteDialogDlgProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam)
{
  402980:	55                   	push   %ebp
  402981:	89 e5                	mov    %esp,%ebp
  402983:	56                   	push   %esi
  402984:	53                   	push   %ebx
  402985:	8b 45 0c             	mov    0xc(%ebp),%eax
  402988:	8b 75 08             	mov    0x8(%ebp),%esi
  40298b:	8b 55 10             	mov    0x10(%ebp),%edx
	static struct ExecuteDialog* dlg;

	switch(nmsg) {
  40298e:	3d 10 01 00 00       	cmp    $0x110,%eax
  402993:	74 12                	je     4029a7 <_ExecuteDialogDlgProc@16+0x27>
  402995:	3d 11 01 00 00       	cmp    $0x111,%eax
  40299a:	74 24                	je     4029c0 <_ExecuteDialogDlgProc@16+0x40>
		case WM_INITDIALOG:
			dlg = (struct ExecuteDialog*) lparam;
			return 1;

		case WM_COMMAND: {
			int id = (int)wparam;

			if (id == IDOK) {
				GetWindowText(GetDlgItem(hwnd, 201), dlg->cmd, MAX_PATH);
				dlg->cmdshow = Button_GetState(GetDlgItem(hwnd,214))&BST_CHECKED?
												SW_SHOWMINIMIZED: SW_SHOWNORMAL;
				EndDialog(hwnd, id);
			} else if (id == IDCANCEL)
				EndDialog(hwnd, id);

			return 1;}
	}

	return 0;
}
  40299c:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  40299f:	31 c0                	xor    %eax,%eax
  4029a1:	5b                   	pop    %ebx
  4029a2:	5e                   	pop    %esi
  4029a3:	5d                   	pop    %ebp
  4029a4:	c2 10 00             	ret    $0x10
  4029a7:	8b 45 14             	mov    0x14(%ebp),%eax
  4029aa:	a3 e0 c1 40 00       	mov    %eax,0x40c1e0
  4029af:	b8 01 00 00 00       	mov    $0x1,%eax
  4029b4:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  4029b7:	5b                   	pop    %ebx
  4029b8:	5e                   	pop    %esi
  4029b9:	5d                   	pop    %ebp
  4029ba:	c2 10 00             	ret    $0x10
  4029bd:	8d 76 00             	lea    0x0(%esi),%esi
  4029c0:	83 fa 01             	cmp    $0x1,%edx
  4029c3:	74 0b                	je     4029d0 <_ExecuteDialogDlgProc@16+0x50>
  4029c5:	83 fa 02             	cmp    $0x2,%edx
  4029c8:	75 e5                	jne    4029af <_ExecuteDialogDlgProc@16+0x2f>
  4029ca:	50                   	push   %eax
  4029cb:	50                   	push   %eax
  4029cc:	6a 02                	push   $0x2
  4029ce:	eb 63                	jmp    402a33 <_ExecuteDialogDlgProc@16+0xb3>
  4029d0:	50                   	push   %eax
  4029d1:	68 04 01 00 00       	push   $0x104
  4029d6:	a1 e0 c1 40 00       	mov    0x40c1e0,%eax
  4029db:	50                   	push   %eax
  4029dc:	83 ec 0c             	sub    $0xc,%esp
  4029df:	68 c9 00 00 00       	push   $0xc9
  4029e4:	56                   	push   %esi
  4029e5:	e8 c6 4b 00 00       	call   4075b0 <_GetDlgItem@8>
  4029ea:	83 c4 0c             	add    $0xc,%esp
  4029ed:	50                   	push   %eax
  4029ee:	e8 cd 4b 00 00       	call   4075c0 <_GetWindowTextW@12>
  4029f3:	8b 1d e0 c1 40 00    	mov    0x40c1e0,%ebx
  4029f9:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  402a00:	6a 00                	push   $0x0
  402a02:	68 f2 00 00 00       	push   $0xf2
  402a07:	83 ec 0c             	sub    $0xc,%esp
  402a0a:	68 d6 00 00 00       	push   $0xd6
  402a0f:	56                   	push   %esi
  402a10:	e8 9b 4b 00 00       	call   4075b0 <_GetDlgItem@8>
  402a15:	83 c4 0c             	add    $0xc,%esp
  402a18:	50                   	push   %eax
  402a19:	e8 32 4b 00 00       	call   407550 <_SendMessageW@16>
  402a1e:	83 e0 01             	and    $0x1,%eax
  402a21:	83 f8 01             	cmp    $0x1,%eax
  402a24:	19 c0                	sbb    %eax,%eax
  402a26:	83 c0 02             	add    $0x2,%eax
  402a29:	89 83 08 02 00 00    	mov    %eax,0x208(%ebx)
  402a2f:	50                   	push   %eax
  402a30:	50                   	push   %eax
  402a31:	6a 01                	push   $0x1
  402a33:	56                   	push   %esi
  402a34:	e8 97 4b 00 00       	call   4075d0 <_EndDialog@8>
  402a39:	b8 01 00 00 00       	mov    $0x1,%eax
  402a3e:	5b                   	pop    %ebx
  402a3f:	5e                   	pop    %esi
  402a40:	e9 6f ff ff ff       	jmp    4029b4 <_ExecuteDialogDlgProc@16+0x34>
  402a45:	8d 74 26 00          	lea    0x0(%esi),%esi
  402a49:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00402a50 <_DestinationDlgProc@16>:

static INT_PTR CALLBACK DestinationDlgProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam)
{
  402a50:	55                   	push   %ebp
  402a51:	b8 04 10 00 00       	mov    $0x1004,%eax
  402a56:	89 e5                	mov    %esp,%ebp
  402a58:	53                   	push   %ebx
  402a59:	e8 32 57 00 00       	call   408190 <___chkstk>
  402a5e:	8b 45 0c             	mov    0xc(%ebp),%eax
  402a61:	8b 5d 08             	mov    0x8(%ebp),%ebx
  402a64:	8b 55 10             	mov    0x10(%ebp),%edx
	TCHAR b1[BUFFER_LEN], b2[BUFFER_LEN];

	switch(nmsg) {
  402a67:	3d 10 01 00 00       	cmp    $0x110,%eax
  402a6c:	74 75                	je     402ae3 <_DestinationDlgProc@16+0x93>
  402a6e:	3d 11 01 00 00       	cmp    $0x111,%eax
  402a73:	74 0b                	je     402a80 <_DestinationDlgProc@16+0x30>
		case WM_INITDIALOG:
			SetWindowLong(hwnd, GWL_USERDATA, lparam);
			return 1;

		case WM_COMMAND: {
			int id = (int)wparam;

			switch(id) {
			  case IDOK: {
				LPTSTR dest = (LPTSTR) GetWindowLong(hwnd, GWL_USERDATA);
				GetWindowText(GetDlgItem(hwnd, 201), dest, MAX_PATH);
				EndDialog(hwnd, id);
				break;}

			  case IDCANCEL:
				EndDialog(hwnd, id);
				break;

			  case 254:
				MessageBox(hwnd, RS(b1,IDS_NO_IMPL), RS(b2,IDS_WINEFILE), MB_OK);
				break;
			}

			return 1;
		}
	}

	return 0;
  402a75:	31 c0                	xor    %eax,%eax
}
  402a77:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  402a7a:	c9                   	leave  
  402a7b:	c2 10 00             	ret    $0x10
  402a7e:	89 f6                	mov    %esi,%esi
  402a80:	83 fa 02             	cmp    $0x2,%edx
  402a83:	0f 84 ac 00 00 00    	je     402b35 <_DestinationDlgProc@16+0xe5>
  402a89:	7f 15                	jg     402aa0 <_DestinationDlgProc@16+0x50>
  402a8b:	4a                   	dec    %edx
  402a8c:	74 69                	je     402af7 <_DestinationDlgProc@16+0xa7>
  402a8e:	b8 01 00 00 00       	mov    $0x1,%eax
  402a93:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  402a96:	c9                   	leave  
  402a97:	c2 10 00             	ret    $0x10
  402a9a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  402aa0:	81 fa fe 00 00 00    	cmp    $0xfe,%edx
  402aa6:	75 e6                	jne    402a8e <_DestinationDlgProc@16+0x3e>
  402aa8:	6a 00                	push   $0x0
  402aaa:	ba b0 04 00 00       	mov    $0x4b0,%edx
  402aaf:	83 ec 0c             	sub    $0xc,%esp
  402ab2:	8d 85 f8 ef ff ff    	lea    0xffffeff8(%ebp),%eax
  402ab8:	e8 13 e8 ff ff       	call   4012d0 <_load_string>
  402abd:	83 c4 0c             	add    $0xc,%esp
  402ac0:	ba b7 04 00 00       	mov    $0x4b7,%edx
  402ac5:	50                   	push   %eax
  402ac6:	50                   	push   %eax
  402ac7:	50                   	push   %eax
  402ac8:	8d 85 f8 f7 ff ff    	lea    0xfffff7f8(%ebp),%eax
  402ace:	e8 fd e7 ff ff       	call   4012d0 <_load_string>
  402ad3:	5a                   	pop    %edx
  402ad4:	59                   	pop    %ecx
  402ad5:	50                   	push   %eax
  402ad6:	53                   	push   %ebx
  402ad7:	e8 24 4a 00 00       	call   407500 <_MessageBoxW@16>
  402adc:	b8 01 00 00 00       	mov    $0x1,%eax
  402ae1:	eb b0                	jmp    402a93 <_DestinationDlgProc@16+0x43>
  402ae3:	50                   	push   %eax
  402ae4:	8b 45 14             	mov    0x14(%ebp),%eax
  402ae7:	50                   	push   %eax
  402ae8:	6a eb                	push   $0xffffffeb
  402aea:	53                   	push   %ebx
  402aeb:	e8 90 4a 00 00       	call   407580 <_SetWindowLongW@12>
  402af0:	b8 01 00 00 00       	mov    $0x1,%eax
  402af5:	eb 9c                	jmp    402a93 <_DestinationDlgProc@16+0x43>
  402af7:	50                   	push   %eax
  402af8:	50                   	push   %eax
  402af9:	6a eb                	push   $0xffffffeb
  402afb:	53                   	push   %ebx
  402afc:	e8 df 4a 00 00       	call   4075e0 <_GetWindowLongW@8>
  402b01:	c7 04 24 04 01 00 00 	movl   $0x104,(%esp)
  402b08:	50                   	push   %eax
  402b09:	83 ec 0c             	sub    $0xc,%esp
  402b0c:	68 c9 00 00 00       	push   $0xc9
  402b11:	53                   	push   %ebx
  402b12:	e8 99 4a 00 00       	call   4075b0 <_GetDlgItem@8>
  402b17:	83 c4 0c             	add    $0xc,%esp
  402b1a:	50                   	push   %eax
  402b1b:	e8 a0 4a 00 00       	call   4075c0 <_GetWindowTextW@12>
  402b20:	50                   	push   %eax
  402b21:	6a 01                	push   $0x1
  402b23:	53                   	push   %ebx
  402b24:	e8 a7 4a 00 00       	call   4075d0 <_EndDialog@8>
  402b29:	58                   	pop    %eax
  402b2a:	b8 01 00 00 00       	mov    $0x1,%eax
  402b2f:	5a                   	pop    %edx
  402b30:	e9 5e ff ff ff       	jmp    402a93 <_DestinationDlgProc@16+0x43>
  402b35:	51                   	push   %ecx
  402b36:	51                   	push   %ecx
  402b37:	6a 02                	push   $0x2
  402b39:	eb e8                	jmp    402b23 <_DestinationDlgProc@16+0xd3>
  402b3b:	90                   	nop    
  402b3c:	8d 74 26 00          	lea    0x0(%esi),%esi

00402b40 <_frame_get_clientspace>:


#ifndef _NO_EXTENSIONS

static struct FullScreenParameters {
	BOOL	mode;
	RECT	orgPos;
	BOOL	wasZoomed;
} g_fullscreen = {
    FALSE,	/* mode */
	{0, 0, 0, 0},
	FALSE
};

void frame_get_clientspace(HWND hwnd, PRECT prect)
{
  402b40:	55                   	push   %ebp
  402b41:	89 e5                	mov    %esp,%ebp
  402b43:	57                   	push   %edi
  402b44:	56                   	push   %esi
  402b45:	53                   	push   %ebx
  402b46:	83 ec 58             	sub    $0x58,%esp
  402b49:	8b 5d 08             	mov    0x8(%ebp),%ebx
  402b4c:	8b 7d 0c             	mov    0xc(%ebp),%edi
	RECT rt;

	if (!IsIconic(hwnd))
  402b4f:	53                   	push   %ebx
  402b50:	e8 9b 4a 00 00       	call   4075f0 <_IsIconic@4>
  402b55:	83 c4 0c             	add    $0xc,%esp
  402b58:	85 c0                	test   %eax,%eax
  402b5a:	75 64                	jne    402bc0 <_frame_get_clientspace+0x80>
		GetClientRect(hwnd, prect);
  402b5c:	51                   	push   %ecx
  402b5d:	51                   	push   %ecx
  402b5e:	57                   	push   %edi
  402b5f:	53                   	push   %ebx
  402b60:	e8 fb 49 00 00       	call   407560 <_GetClientRect@8>
  402b65:	58                   	pop    %eax
  402b66:	5a                   	pop    %edx
	else {
		WINDOWPLACEMENT wp;

		GetWindowPlacement(hwnd, &wp);

		prect->left = prect->top = 0;
		prect->right = wp.rcNormalPosition.right-wp.rcNormalPosition.left-
						2*(GetSystemMetrics(SM_CXSIZEFRAME)+GetSystemMetrics(SM_CXEDGE));
		prect->bottom = wp.rcNormalPosition.bottom-wp.rcNormalPosition.top-
						2*(GetSystemMetrics(SM_CYSIZEFRAME)+GetSystemMetrics(SM_CYEDGE))-
						GetSystemMetrics(SM_CYCAPTION)-GetSystemMetrics(SM_CYMENUSIZE);
	}

	if (IsWindowVisible(Globals.htoolbar)) {
  402b67:	83 ec 0c             	sub    $0xc,%esp
  402b6a:	a1 b0 c2 40 00       	mov    0x40c2b0,%eax
  402b6f:	50                   	push   %eax
  402b70:	e8 bb 49 00 00       	call   407530 <_IsWindowVisible@4>
  402b75:	83 c4 0c             	add    $0xc,%esp
  402b78:	85 c0                	test   %eax,%eax
  402b7a:	0f 85 cc 00 00 00    	jne    402c4c <_frame_get_clientspace+0x10c>
		GetClientRect(Globals.htoolbar, &rt);
		prect->top += rt.bottom+2;
	}

	if (IsWindowVisible(Globals.hdrivebar)) {
  402b80:	83 ec 0c             	sub    $0xc,%esp
  402b83:	a1 b4 c2 40 00       	mov    0x40c2b4,%eax
  402b88:	50                   	push   %eax
  402b89:	e8 a2 49 00 00       	call   407530 <_IsWindowVisible@4>
  402b8e:	83 c4 0c             	add    $0xc,%esp
  402b91:	85 c0                	test   %eax,%eax
  402b93:	0f 85 ee 00 00 00    	jne    402c87 <_frame_get_clientspace+0x147>
		GetClientRect(Globals.hdrivebar, &rt);
		prect->top += rt.bottom+2;
	}

	if (IsWindowVisible(Globals.hstatusbar)) {
  402b99:	83 ec 0c             	sub    $0xc,%esp
  402b9c:	a1 ac c2 40 00       	mov    0x40c2ac,%eax
  402ba1:	50                   	push   %eax
  402ba2:	e8 89 49 00 00       	call   407530 <_IsWindowVisible@4>
  402ba7:	83 c4 0c             	add    $0xc,%esp
  402baa:	85 c0                	test   %eax,%eax
  402bac:	0f 85 10 01 00 00    	jne    402cc2 <_frame_get_clientspace+0x182>
		GetClientRect(Globals.hstatusbar, &rt);
		prect->bottom -= rt.bottom;
	}
}
  402bb2:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  402bb5:	5b                   	pop    %ebx
  402bb6:	5e                   	pop    %esi
  402bb7:	5f                   	pop    %edi
  402bb8:	5d                   	pop    %ebp
  402bb9:	c3                   	ret    
  402bba:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  402bc0:	50                   	push   %eax
  402bc1:	50                   	push   %eax
  402bc2:	8d 45 a8             	lea    0xffffffa8(%ebp),%eax
  402bc5:	50                   	push   %eax
  402bc6:	53                   	push   %ebx
  402bc7:	e8 34 4a 00 00       	call   407600 <_GetWindowPlacement@8>
  402bcc:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
  402bd2:	8b 45 c4             	mov    0xffffffc4(%ebp),%eax
  402bd5:	8b 5d cc             	mov    0xffffffcc(%ebp),%ebx
  402bd8:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
  402bdf:	29 c3                	sub    %eax,%ebx
  402be1:	50                   	push   %eax
  402be2:	6a 20                	push   $0x20
  402be4:	e8 37 49 00 00       	call   407520 <_GetSystemMetrics@4>
  402be9:	89 c6                	mov    %eax,%esi
  402beb:	6a 2d                	push   $0x2d
  402bed:	e8 2e 49 00 00       	call   407520 <_GetSystemMetrics@4>
  402bf2:	8d 04 06             	lea    (%esi,%eax,1),%eax
  402bf5:	01 c0                	add    %eax,%eax
  402bf7:	29 c3                	sub    %eax,%ebx
  402bf9:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
  402bfc:	89 5f 08             	mov    %ebx,0x8(%edi)
  402bff:	8b 5d d0             	mov    0xffffffd0(%ebp),%ebx
  402c02:	29 c3                	sub    %eax,%ebx
  402c04:	6a 21                	push   $0x21
  402c06:	e8 15 49 00 00       	call   407520 <_GetSystemMetrics@4>
  402c0b:	89 c6                	mov    %eax,%esi
  402c0d:	6a 2e                	push   $0x2e
  402c0f:	e8 0c 49 00 00       	call   407520 <_GetSystemMetrics@4>
  402c14:	8d 04 06             	lea    (%esi,%eax,1),%eax
  402c17:	6a 04                	push   $0x4
  402c19:	01 c0                	add    %eax,%eax
  402c1b:	29 c3                	sub    %eax,%ebx
  402c1d:	e8 fe 48 00 00       	call   407520 <_GetSystemMetrics@4>
  402c22:	29 c3                	sub    %eax,%ebx
  402c24:	6a 37                	push   $0x37
  402c26:	e8 f5 48 00 00       	call   407520 <_GetSystemMetrics@4>
  402c2b:	83 c4 0c             	add    $0xc,%esp
  402c2e:	29 c3                	sub    %eax,%ebx
  402c30:	83 ec 0c             	sub    $0xc,%esp
  402c33:	89 5f 0c             	mov    %ebx,0xc(%edi)
  402c36:	a1 b0 c2 40 00       	mov    0x40c2b0,%eax
  402c3b:	50                   	push   %eax
  402c3c:	e8 ef 48 00 00       	call   407530 <_IsWindowVisible@4>
  402c41:	83 c4 0c             	add    $0xc,%esp
  402c44:	85 c0                	test   %eax,%eax
  402c46:	0f 84 34 ff ff ff    	je     402b80 <_frame_get_clientspace+0x40>
  402c4c:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
  402c4f:	56                   	push   %esi
  402c50:	56                   	push   %esi
  402c51:	50                   	push   %eax
  402c52:	8b 1d b0 c2 40 00    	mov    0x40c2b0,%ebx
  402c58:	53                   	push   %ebx
  402c59:	e8 02 49 00 00       	call   407560 <_GetClientRect@8>
  402c5e:	8b 4f 04             	mov    0x4(%edi),%ecx
  402c61:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
  402c64:	01 c8                	add    %ecx,%eax
  402c66:	83 c0 02             	add    $0x2,%eax
  402c69:	89 47 04             	mov    %eax,0x4(%edi)
  402c6c:	58                   	pop    %eax
  402c6d:	5a                   	pop    %edx
  402c6e:	83 ec 0c             	sub    $0xc,%esp
  402c71:	a1 b4 c2 40 00       	mov    0x40c2b4,%eax
  402c76:	50                   	push   %eax
  402c77:	e8 b4 48 00 00       	call   407530 <_IsWindowVisible@4>
  402c7c:	83 c4 0c             	add    $0xc,%esp
  402c7f:	85 c0                	test   %eax,%eax
  402c81:	0f 84 12 ff ff ff    	je     402b99 <_frame_get_clientspace+0x59>
  402c87:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
  402c8a:	56                   	push   %esi
  402c8b:	56                   	push   %esi
  402c8c:	50                   	push   %eax
  402c8d:	8b 1d b4 c2 40 00    	mov    0x40c2b4,%ebx
  402c93:	53                   	push   %ebx
  402c94:	e8 c7 48 00 00       	call   407560 <_GetClientRect@8>
  402c99:	8b 4f 04             	mov    0x4(%edi),%ecx
  402c9c:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
  402c9f:	01 c8                	add    %ecx,%eax
  402ca1:	83 c0 02             	add    $0x2,%eax
  402ca4:	89 47 04             	mov    %eax,0x4(%edi)
  402ca7:	58                   	pop    %eax
  402ca8:	5a                   	pop    %edx
  402ca9:	83 ec 0c             	sub    $0xc,%esp
  402cac:	a1 ac c2 40 00       	mov    0x40c2ac,%eax
  402cb1:	50                   	push   %eax
  402cb2:	e8 79 48 00 00       	call   407530 <_IsWindowVisible@4>
  402cb7:	83 c4 0c             	add    $0xc,%esp
  402cba:	85 c0                	test   %eax,%eax
  402cbc:	0f 84 f0 fe ff ff    	je     402bb2 <_frame_get_clientspace+0x72>
  402cc2:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
  402cc5:	56                   	push   %esi
  402cc6:	56                   	push   %esi
  402cc7:	50                   	push   %eax
  402cc8:	8b 1d ac c2 40 00    	mov    0x40c2ac,%ebx
  402cce:	53                   	push   %ebx
  402ccf:	e8 8c 48 00 00       	call   407560 <_GetClientRect@8>
  402cd4:	8b 47 0c             	mov    0xc(%edi),%eax
  402cd7:	8b 4d e4             	mov    0xffffffe4(%ebp),%ecx
  402cda:	29 c8                	sub    %ecx,%eax
  402cdc:	89 47 0c             	mov    %eax,0xc(%edi)
  402cdf:	58                   	pop    %eax
  402ce0:	5a                   	pop    %edx
  402ce1:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  402ce4:	5b                   	pop    %ebx
  402ce5:	5e                   	pop    %esi
  402ce6:	5f                   	pop    %edi
  402ce7:	5d                   	pop    %ebp
  402ce8:	c3                   	ret    
  402ce9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00402cf0 <_toggle_child>:

static BOOL toggle_fullscreen(HWND hwnd)
{
	RECT rt;

	if ((g_fullscreen.mode=!g_fullscreen.mode)) {
		GetWindowRect(hwnd, &g_fullscreen.orgPos);
		g_fullscreen.wasZoomed = IsZoomed(hwnd);

		Frame_CalcFrameClient(hwnd, &rt);
		ClientToScreen(hwnd, (LPPOINT)&rt.left);
		ClientToScreen(hwnd, (LPPOINT)&rt.right);

		rt.left = g_fullscreen.orgPos.left-rt.left;
		rt.top = g_fullscreen.orgPos.top-rt.top;
		rt.right = GetSystemMetrics(SM_CXSCREEN)+g_fullscreen.orgPos.right-rt.right;
		rt.bottom = GetSystemMetrics(SM_CYSCREEN)+g_fullscreen.orgPos.bottom-rt.bottom;

		MoveWindow(hwnd, rt.left, rt.top, rt.right-rt.left, rt.bottom-rt.top, TRUE);
	} else {
		MoveWindow(hwnd, g_fullscreen.orgPos.left, g_fullscreen.orgPos.top,
							g_fullscreen.orgPos.right-g_fullscreen.orgPos.left,
							g_fullscreen.orgPos.bottom-g_fullscreen.orgPos.top, TRUE);

		if (g_fullscreen.wasZoomed)
			ShowWindow(hwnd, WS_MAXIMIZE);
	}

	return g_fullscreen.mode;
}

static void fullscreen_move(HWND hwnd)
{
	RECT rt, pos;
	GetWindowRect(hwnd, &pos);

	Frame_CalcFrameClient(hwnd, &rt);
	ClientToScreen(hwnd, (LPPOINT)&rt.left);
	ClientToScreen(hwnd, (LPPOINT)&rt.right);

	rt.left = pos.left-rt.left;
	rt.top = pos.top-rt.top;
	rt.right = GetSystemMetrics(SM_CXSCREEN)+pos.right-rt.right;
	rt.bottom = GetSystemMetrics(SM_CYSCREEN)+pos.bottom-rt.bottom;

	MoveWindow(hwnd, rt.left, rt.top, rt.right-rt.left, rt.bottom-rt.top, TRUE);
}

#endif


static void toggle_child(HWND hwnd, UINT cmd, HWND hchild)
{
  402cf0:	55                   	push   %ebp
  402cf1:	89 e5                	mov    %esp,%ebp
  402cf3:	57                   	push   %edi
  402cf4:	56                   	push   %esi
  402cf5:	53                   	push   %ebx
  402cf6:	83 ec 58             	sub    $0x58,%esp
  402cf9:	89 45 b4             	mov    %eax,0xffffffb4(%ebp)
  402cfc:	8b 7d 08             	mov    0x8(%ebp),%edi
  402cff:	89 d6                	mov    %edx,%esi
	BOOL vis = IsWindowVisible(hchild);
  402d01:	57                   	push   %edi
  402d02:	e8 29 48 00 00       	call   407530 <_IsWindowVisible@4>
  402d07:	89 c3                	mov    %eax,%ebx

	CheckMenuItem(Globals.hMenuOptions, cmd, vis?MF_BYCOMMAND:MF_BYCOMMAND|MF_CHECKED);
  402d09:	58                   	pop    %eax
  402d0a:	83 fb 01             	cmp    $0x1,%ebx
  402d0d:	5a                   	pop    %edx
  402d0e:	19 c0                	sbb    %eax,%eax
  402d10:	83 e0 08             	and    $0x8,%eax
  402d13:	50                   	push   %eax
  402d14:	56                   	push   %esi
  402d15:	a1 a4 c2 40 00       	mov    0x40c2a4,%eax
  402d1a:	50                   	push   %eax
  402d1b:	e8 f0 48 00 00       	call   407610 <_CheckMenuItem@12>

	ShowWindow(hchild, vis?SW_HIDE:SW_SHOW);
  402d20:	83 fb 01             	cmp    $0x1,%ebx
  402d23:	50                   	push   %eax
  402d24:	19 c0                	sbb    %eax,%eax
  402d26:	83 e0 05             	and    $0x5,%eax
  402d29:	50                   	push   %eax
  402d2a:	57                   	push   %edi
  402d2b:	e8 f0 48 00 00       	call   407620 <_ShowWindow@8>

#ifndef _NO_EXTENSIONS
	if (g_fullscreen.mode)
  402d30:	8b 35 c0 c1 40 00    	mov    0x40c1c0,%esi
  402d36:	5f                   	pop    %edi
  402d37:	85 f6                	test   %esi,%esi
  402d39:	58                   	pop    %eax
  402d3a:	75 24                	jne    402d60 <_toggle_child+0x70>
  402d3c:	8d 5d b8             	lea    0xffffffb8(%ebp),%ebx
  402d3f:	50                   	push   %eax
  402d40:	50                   	push   %eax
  402d41:	53                   	push   %ebx
  402d42:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
  402d45:	50                   	push   %eax
  402d46:	e8 15 48 00 00       	call   407560 <_GetClientRect@8>
  402d4b:	89 da                	mov    %ebx,%edx
  402d4d:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
  402d50:	5e                   	pop    %esi
  402d51:	5f                   	pop    %edi
  402d52:	e8 c9 f8 ff ff       	call   402620 <_resize_frame_rect>
  402d57:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  402d5a:	5b                   	pop    %ebx
  402d5b:	5e                   	pop    %esi
  402d5c:	5f                   	pop    %edi
  402d5d:	5d                   	pop    %ebp
  402d5e:	c3                   	ret    
  402d5f:	90                   	nop    
  402d60:	8d 45 c8             	lea    0xffffffc8(%ebp),%eax
  402d63:	53                   	push   %ebx
  402d64:	53                   	push   %ebx
  402d65:	50                   	push   %eax
  402d66:	8d 5d d8             	lea    0xffffffd8(%ebp),%ebx
  402d69:	8b 4d b4             	mov    0xffffffb4(%ebp),%ecx
  402d6c:	51                   	push   %ecx
  402d6d:	e8 be 48 00 00       	call   407630 <_GetWindowRect@8>
  402d72:	58                   	pop    %eax
  402d73:	5a                   	pop    %edx
  402d74:	53                   	push   %ebx
  402d75:	6a 00                	push   $0x0
  402d77:	68 83 bf 00 00       	push   $0xbf83
  402d7c:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
  402d7f:	50                   	push   %eax
  402d80:	e8 cb 47 00 00       	call   407550 <_SendMessageW@16>
  402d85:	50                   	push   %eax
  402d86:	50                   	push   %eax
  402d87:	53                   	push   %ebx
  402d88:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
  402d8b:	50                   	push   %eax
  402d8c:	e8 af 48 00 00       	call   407640 <_ClientToScreen@8>
  402d91:	8d 45 e0             	lea    0xffffffe0(%ebp),%eax
  402d94:	50                   	push   %eax
  402d95:	8b 7d b4             	mov    0xffffffb4(%ebp),%edi
  402d98:	57                   	push   %edi
  402d99:	e8 a2 48 00 00       	call   407640 <_ClientToScreen@8>
  402d9e:	56                   	push   %esi
  402d9f:	8b 5d d8             	mov    0xffffffd8(%ebp),%ebx
  402da2:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
  402da5:	29 d8                	sub    %ebx,%eax
  402da7:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
  402daa:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
  402dad:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
  402db0:	29 c8                	sub    %ecx,%eax
  402db2:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
  402db5:	6a 00                	push   $0x0
  402db7:	e8 64 47 00 00       	call   407520 <_GetSystemMetrics@4>
  402dbc:	8b 55 d0             	mov    0xffffffd0(%ebp),%edx
  402dbf:	8b 7d e0             	mov    0xffffffe0(%ebp),%edi
  402dc2:	01 d0                	add    %edx,%eax
  402dc4:	29 f8                	sub    %edi,%eax
  402dc6:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
  402dc9:	6a 01                	push   $0x1
  402dcb:	e8 50 47 00 00       	call   407520 <_GetSystemMetrics@4>
  402dd0:	8b 75 d4             	mov    0xffffffd4(%ebp),%esi
  402dd3:	8b 5d e4             	mov    0xffffffe4(%ebp),%ebx
  402dd6:	01 f0                	add    %esi,%eax
  402dd8:	29 d8                	sub    %ebx,%eax
  402dda:	8d 5d b8             	lea    0xffffffb8(%ebp),%ebx
  402ddd:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
  402de0:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  402de7:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
  402dea:	29 c8                	sub    %ecx,%eax
  402dec:	50                   	push   %eax
  402ded:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
  402df0:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
  402df3:	29 d0                	sub    %edx,%eax
  402df5:	50                   	push   %eax
  402df6:	51                   	push   %ecx
  402df7:	52                   	push   %edx
  402df8:	8b 4d b4             	mov    0xffffffb4(%ebp),%ecx
  402dfb:	51                   	push   %ecx
  402dfc:	e8 3f 47 00 00       	call   407540 <_MoveWindow@24>
  402e01:	58                   	pop    %eax
  402e02:	5a                   	pop    %edx
  402e03:	50                   	push   %eax
  402e04:	50                   	push   %eax
  402e05:	53                   	push   %ebx
  402e06:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
  402e09:	50                   	push   %eax
  402e0a:	e8 51 47 00 00       	call   407560 <_GetClientRect@8>
  402e0f:	89 da                	mov    %ebx,%edx
  402e11:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
  402e14:	5e                   	pop    %esi
  402e15:	5f                   	pop    %edi
  402e16:	e8 05 f8 ff ff       	call   402620 <_resize_frame_rect>
  402e1b:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  402e1e:	5b                   	pop    %ebx
  402e1f:	5e                   	pop    %esi
  402e20:	5f                   	pop    %edi
  402e21:	5d                   	pop    %ebp
  402e22:	c3                   	ret    
  402e23:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  402e29:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00402e30 <_activate_drive_window>:
		fullscreen_move(hwnd);
#endif

	resize_frame_client(hwnd);
}

BOOL activate_drive_window(LPCTSTR path)
{
  402e30:	55                   	push   %ebp
  402e31:	89 e5                	mov    %esp,%ebp
  402e33:	57                   	push   %edi
  402e34:	56                   	push   %esi
  402e35:	53                   	push   %ebx
  402e36:	83 ec 38             	sub    $0x38,%esp
	TCHAR drv1[_MAX_DRIVE], drv2[_MAX_DRIVE];
	HWND child_wnd;

	_tsplitpath(path, drv1, 0, 0, 0);
  402e39:	8d 7d d8             	lea    0xffffffd8(%ebp),%edi
  402e3c:	6a 00                	push   $0x0
  402e3e:	6a 00                	push   $0x0
  402e40:	6a 00                	push   $0x0
  402e42:	57                   	push   %edi
  402e43:	8b 5d 08             	mov    0x8(%ebp),%ebx
  402e46:	53                   	push   %ebx
  402e47:	e8 a4 54 00 00       	call   4082f0 <__wsplitpath>

	/* search for a already open window for the same drive */
	for(child_wnd=GetNextWindow(Globals.hmdiclient,GW_CHILD); child_wnd; child_wnd=GetNextWindow(child_wnd, GW_HWNDNEXT)) {
  402e4c:	83 c4 18             	add    $0x18,%esp
  402e4f:	6a 05                	push   $0x5
  402e51:	8b 0d a8 c2 40 00    	mov    0x40c2a8,%ecx
  402e57:	51                   	push   %ecx
  402e58:	e8 f3 47 00 00       	call   407650 <_GetWindow@8>
  402e5d:	89 c3                	mov    %eax,%ebx
  402e5f:	58                   	pop    %eax
  402e60:	85 db                	test   %ebx,%ebx
  402e62:	5a                   	pop    %edx
  402e63:	74 4a                	je     402eaf <_activate_drive_window+0x7f>
  402e65:	8d 75 c8             	lea    0xffffffc8(%ebp),%esi
		ChildWnd* child = (ChildWnd*) GetWindowLong(child_wnd, GWL_USERDATA);
  402e68:	50                   	push   %eax
  402e69:	50                   	push   %eax
  402e6a:	6a eb                	push   $0xffffffeb
  402e6c:	53                   	push   %ebx
  402e6d:	e8 6e 47 00 00       	call   4075e0 <_GetWindowLongW@8>

		if (child) {
  402e72:	5a                   	pop    %edx
  402e73:	85 c0                	test   %eax,%eax
  402e75:	59                   	pop    %ecx
  402e76:	74 25                	je     402e9d <_activate_drive_window+0x6d>
			_tsplitpath(child->root.path, drv2, 0, 0, 0);
  402e78:	83 ec 0c             	sub    $0xc,%esp
  402e7b:	05 cc 05 00 00       	add    $0x5cc,%eax
  402e80:	6a 00                	push   $0x0
  402e82:	6a 00                	push   $0x0
  402e84:	6a 00                	push   $0x0
  402e86:	56                   	push   %esi
  402e87:	50                   	push   %eax
  402e88:	e8 63 54 00 00       	call   4082f0 <__wsplitpath>

			if (!lstrcmpi(drv2, drv1)) {
  402e8d:	83 c4 18             	add    $0x18,%esp
  402e90:	57                   	push   %edi
  402e91:	56                   	push   %esi
  402e92:	e8 19 45 00 00       	call   4073b0 <_lstrcmpiW@8>
  402e97:	5a                   	pop    %edx
  402e98:	85 c0                	test   %eax,%eax
  402e9a:	59                   	pop    %ecx
  402e9b:	74 1c                	je     402eb9 <_activate_drive_window+0x89>
  402e9d:	50                   	push   %eax
  402e9e:	50                   	push   %eax
  402e9f:	6a 02                	push   $0x2
  402ea1:	53                   	push   %ebx
  402ea2:	e8 a9 47 00 00       	call   407650 <_GetWindow@8>
  402ea7:	89 c3                	mov    %eax,%ebx
  402ea9:	59                   	pop    %ecx
  402eaa:	85 db                	test   %ebx,%ebx
  402eac:	58                   	pop    %eax
  402ead:	75 b9                	jne    402e68 <_activate_drive_window+0x38>
				SendMessage(Globals.hmdiclient, WM_MDIACTIVATE, (WPARAM)child_wnd, 0);

				if (IsMinimized(child_wnd))
					ShowWindow(child_wnd, SW_SHOWNORMAL);

				return TRUE;
			}
		}
	}

	return FALSE;
}
  402eaf:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  402eb2:	31 c0                	xor    %eax,%eax
  402eb4:	5b                   	pop    %ebx
  402eb5:	5e                   	pop    %esi
  402eb6:	5f                   	pop    %edi
  402eb7:	5d                   	pop    %ebp
  402eb8:	c3                   	ret    
  402eb9:	6a 00                	push   $0x0
  402ebb:	53                   	push   %ebx
  402ebc:	68 22 02 00 00       	push   $0x222
  402ec1:	8b 35 a8 c2 40 00    	mov    0x40c2a8,%esi
  402ec7:	56                   	push   %esi
  402ec8:	e8 83 46 00 00       	call   407550 <_SendMessageW@16>
  402ecd:	83 ec 0c             	sub    $0xc,%esp
  402ed0:	53                   	push   %ebx
  402ed1:	e8 1a 47 00 00       	call   4075f0 <_IsIconic@4>
  402ed6:	83 c4 0c             	add    $0xc,%esp
  402ed9:	85 c0                	test   %eax,%eax
  402edb:	75 0d                	jne    402eea <_activate_drive_window+0xba>
  402edd:	b8 01 00 00 00       	mov    $0x1,%eax
  402ee2:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  402ee5:	5b                   	pop    %ebx
  402ee6:	5e                   	pop    %esi
  402ee7:	5f                   	pop    %edi
  402ee8:	5d                   	pop    %ebp
  402ee9:	c3                   	ret    
  402eea:	51                   	push   %ecx
  402eeb:	51                   	push   %ecx
  402eec:	6a 01                	push   $0x1
  402eee:	53                   	push   %ebx
  402eef:	e8 2c 47 00 00       	call   407620 <_ShowWindow@8>
  402ef4:	58                   	pop    %eax
  402ef5:	b8 01 00 00 00       	mov    $0x1,%eax
  402efa:	5a                   	pop    %edx
  402efb:	eb e5                	jmp    402ee2 <_activate_drive_window+0xb2>
  402efd:	8d 76 00             	lea    0x0(%esi),%esi

00402f00 <_activate_fs_window>:

BOOL activate_fs_window(LPCTSTR filesys)
{
  402f00:	55                   	push   %ebp
  402f01:	89 e5                	mov    %esp,%ebp
  402f03:	56                   	push   %esi
  402f04:	53                   	push   %ebx
  402f05:	8b 75 08             	mov    0x8(%ebp),%esi
	HWND child_wnd;

	/* search for a already open window of the given file system name */
	for(child_wnd=GetNextWindow(Globals.hmdiclient,GW_CHILD); child_wnd; child_wnd=GetNextWindow(child_wnd, GW_HWNDNEXT)) {
  402f08:	53                   	push   %ebx
  402f09:	53                   	push   %ebx
  402f0a:	6a 05                	push   $0x5
  402f0c:	8b 0d a8 c2 40 00    	mov    0x40c2a8,%ecx
  402f12:	51                   	push   %ecx
  402f13:	e8 38 47 00 00       	call   407650 <_GetWindow@8>
  402f18:	89 c3                	mov    %eax,%ebx
  402f1a:	58                   	pop    %eax
  402f1b:	85 db                	test   %ebx,%ebx
  402f1d:	5a                   	pop    %edx
  402f1e:	74 36                	je     402f56 <_activate_fs_window+0x56>
		ChildWnd* child = (ChildWnd*) GetWindowLong(child_wnd, GWL_USERDATA);
  402f20:	51                   	push   %ecx
  402f21:	51                   	push   %ecx
  402f22:	6a eb                	push   $0xffffffeb
  402f24:	53                   	push   %ebx
  402f25:	e8 b6 46 00 00       	call   4075e0 <_GetWindowLongW@8>

		if (child) {
  402f2a:	59                   	pop    %ecx
  402f2b:	85 c0                	test   %eax,%eax
  402f2d:	5a                   	pop    %edx
  402f2e:	74 14                	je     402f44 <_activate_fs_window+0x44>
			if (!lstrcmpi(child->root.fs, filesys)) {
  402f30:	05 d4 09 00 00       	add    $0x9d4,%eax
  402f35:	52                   	push   %edx
  402f36:	52                   	push   %edx
  402f37:	56                   	push   %esi
  402f38:	50                   	push   %eax
  402f39:	e8 72 44 00 00       	call   4073b0 <_lstrcmpiW@8>
  402f3e:	5a                   	pop    %edx
  402f3f:	85 c0                	test   %eax,%eax
  402f41:	59                   	pop    %ecx
  402f42:	74 1b                	je     402f5f <_activate_fs_window+0x5f>
  402f44:	50                   	push   %eax
  402f45:	50                   	push   %eax
  402f46:	6a 02                	push   $0x2
  402f48:	53                   	push   %ebx
  402f49:	e8 02 47 00 00       	call   407650 <_GetWindow@8>
  402f4e:	89 c3                	mov    %eax,%ebx
  402f50:	58                   	pop    %eax
  402f51:	85 db                	test   %ebx,%ebx
  402f53:	5a                   	pop    %edx
  402f54:	75 ca                	jne    402f20 <_activate_fs_window+0x20>
				SendMessage(Globals.hmdiclient, WM_MDIACTIVATE, (WPARAM)child_wnd, 0);

				if (IsMinimized(child_wnd))
					ShowWindow(child_wnd, SW_SHOWNORMAL);

				return TRUE;
			}
		}
	}

	return FALSE;
}
  402f56:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  402f59:	31 c0                	xor    %eax,%eax
  402f5b:	5b                   	pop    %ebx
  402f5c:	5e                   	pop    %esi
  402f5d:	5d                   	pop    %ebp
  402f5e:	c3                   	ret    
  402f5f:	6a 00                	push   $0x0
  402f61:	53                   	push   %ebx
  402f62:	68 22 02 00 00       	push   $0x222
  402f67:	8b 35 a8 c2 40 00    	mov    0x40c2a8,%esi
  402f6d:	56                   	push   %esi
  402f6e:	e8 dd 45 00 00       	call   407550 <_SendMessageW@16>
  402f73:	83 ec 0c             	sub    $0xc,%esp
  402f76:	53                   	push   %ebx
  402f77:	e8 74 46 00 00       	call   4075f0 <_IsIconic@4>
  402f7c:	83 c4 0c             	add    $0xc,%esp
  402f7f:	85 c0                	test   %eax,%eax
  402f81:	75 0c                	jne    402f8f <_activate_fs_window+0x8f>
  402f83:	b8 01 00 00 00       	mov    $0x1,%eax
  402f88:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  402f8b:	5b                   	pop    %ebx
  402f8c:	5e                   	pop    %esi
  402f8d:	5d                   	pop    %ebp
  402f8e:	c3                   	ret    
  402f8f:	51                   	push   %ecx
  402f90:	51                   	push   %ecx
  402f91:	6a 01                	push   $0x1
  402f93:	53                   	push   %ebx
  402f94:	e8 87 46 00 00       	call   407620 <_ShowWindow@8>
  402f99:	58                   	pop    %eax
  402f9a:	b8 01 00 00 00       	mov    $0x1,%eax
  402f9f:	5a                   	pop    %edx
  402fa0:	eb e6                	jmp    402f88 <_activate_fs_window+0x88>
  402fa2:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  402fa9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00402fb0 <_resize_tree>:

LRESULT CALLBACK FrameWndProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam)
{
	TCHAR b1[BUFFER_LEN], b2[BUFFER_LEN];

	switch(nmsg) {
		case WM_CLOSE:
			DestroyWindow(hwnd);

			 /* clear handle variables */
			Globals.hMenuFrame = 0;
			Globals.hMenuView = 0;
			Globals.hMenuOptions = 0;
			Globals.hMainWnd = 0;
			Globals.hmdiclient = 0;
			Globals.hdrivebar = 0;
			break;

		case WM_DESTROY:
			 /* don't exit desktop when closing file manager window */
			if (!Globals.hwndParent)
				PostQuitMessage(0);
			break;

		case WM_COMMAND: {
			UINT cmd = LOWORD(wparam);
			HWND hwndClient = (HWND) SendMessage(Globals.hmdiclient, WM_MDIGETACTIVE, 0, 0);

			if (SendMessage(hwndClient, WM_DISPATCH_COMMAND, wparam, lparam))
				break;

			if (cmd>=ID_DRIVE_FIRST && cmd<=ID_DRIVE_FIRST+0xFF) {
				TCHAR drv[_MAX_DRIVE], path[MAX_PATH];
				ChildWnd* child;
				LPCTSTR root = Globals.drives;
				int i;

				for(i=cmd-ID_DRIVE_FIRST; i--; root++)
					while(*root)
						root++;

				if (activate_drive_window(root))
					return 0;

				_tsplitpath(root, drv, 0, 0, 0);

				if (!SetCurrentDirectory(drv)) {
					display_error(hwnd, GetLastError());
					return 0;
				}

				GetCurrentDirectory(MAX_PATH, path); /*TODO: store last directory per drive */
				child = alloc_child_window(path, NULL, hwnd);

				if (!create_child_window(child))
					free(child);
			} else switch(cmd) {
				case ID_FILE_EXIT:
					SendMessage(hwnd, WM_CLOSE, 0, 0);
					break;

				case ID_WINDOW_NEW: {
					TCHAR path[MAX_PATH];
					ChildWnd* child;

					GetCurrentDirectory(MAX_PATH, path);
					child = alloc_child_window(path, NULL, hwnd);

					if (!create_child_window(child))
						free(child);
					break;}

				case ID_WINDOW_CASCADE:
					SendMessage(Globals.hmdiclient, WM_MDICASCADE, 0, 0);
					break;

				case ID_WINDOW_TILE_HORZ:
					SendMessage(Globals.hmdiclient, WM_MDITILE, MDITILE_HORIZONTAL, 0);
					break;

				case ID_WINDOW_TILE_VERT:
					SendMessage(Globals.hmdiclient, WM_MDITILE, MDITILE_VERTICAL, 0);
					break;

				case ID_WINDOW_ARRANGE:
					SendMessage(Globals.hmdiclient, WM_MDIICONARRANGE, 0, 0);
					break;

				case ID_SELECT_FONT: {
					TCHAR dlg_name[BUFFER_LEN], dlg_info[BUFFER_LEN];
					CHOOSEFONT chFont;
					LOGFONT lFont;

					HDC hdc = GetDC(hwnd);
					chFont.lStructSize = sizeof(CHOOSEFONT);
					chFont.hwndOwner = hwnd;
					chFont.hDC = NULL;
					chFont.lpLogFont = &lFont;
					chFont.Flags = CF_SCREENFONTS | CF_FORCEFONTEXIST | CF_LIMITSIZE | CF_NOSCRIPTSEL;
					chFont.rgbColors = RGB(0,0,0);
					chFont.lCustData = 0;
					chFont.lpfnHook = NULL;
					chFont.lpTemplateName = NULL;
					chFont.hInstance = Globals.hInstance;
					chFont.lpszStyle = NULL;
					chFont.nFontType = SIMULATED_FONTTYPE;
					chFont.nSizeMin = 0;
					chFont.nSizeMax = 24;

					if (ChooseFont(&chFont)) {
						HWND childWnd;

						Globals.hfont = CreateFontIndirect(&lFont);
						SelectFont(hdc, Globals.hfont);
						GetTextExtentPoint32(hdc, sSpace, 1, &Globals.spaceSize);

						/* change font in all open child windows */
						for(childWnd=GetWindow(Globals.hmdiclient,GW_CHILD); childWnd; childWnd=GetNextWindow(childWnd,GW_HWNDNEXT)) {
							ChildWnd* child = (ChildWnd*) GetWindowLong(childWnd, GWL_USERDATA);
							SetWindowFont(child->left.hwnd, Globals.hfont, TRUE);
							SetWindowFont(child->right.hwnd, Globals.hfont, TRUE);
							ListBox_SetItemHeight(child->left.hwnd, 1, max(Globals.spaceSize.cy,IMAGE_HEIGHT+3));
							ListBox_SetItemHeight(child->right.hwnd, 1, max(Globals.spaceSize.cy,IMAGE_HEIGHT+3));
							InvalidateRect(child->left.hwnd, NULL, TRUE);
							InvalidateRect(child->right.hwnd, NULL, TRUE);
						}
					}
					else if (CommDlgExtendedError()) {
						LoadString(Globals.hInstance, IDS_FONT_SEL_DLG_NAME, dlg_name, BUFFER_LEN);
						LoadString(Globals.hInstance, IDS_FONT_SEL_ERROR, dlg_info, BUFFER_LEN);
						MessageBox(hwnd, dlg_info, dlg_name, MB_OK);
					}

					ReleaseDC(hwnd, hdc);
					break;
				}

				case ID_VIEW_TOOL_BAR:
					toggle_child(hwnd, cmd, Globals.htoolbar);
					break;

				case ID_VIEW_DRIVE_BAR:
					toggle_child(hwnd, cmd, Globals.hdrivebar);
					break;

				case ID_VIEW_STATUSBAR:
					toggle_child(hwnd, cmd, Globals.hstatusbar);
					break;

				case ID_EXECUTE: {
					struct ExecuteDialog dlg;

					memset(&dlg, 0, sizeof(struct ExecuteDialog));

					if (DialogBoxParam(Globals.hInstance, MAKEINTRESOURCE(IDD_EXECUTE), hwnd, ExecuteDialogDlgProc, (LPARAM)&dlg) == IDOK) {
						HINSTANCE hinst = ShellExecute(hwnd, NULL/*operation*/, dlg.cmd/*file*/, NULL/*parameters*/, NULL/*dir*/, dlg.cmdshow);

						if ((int)hinst <= 32)
							display_error(hwnd, GetLastError());
					}
					break;}

				case ID_HELP:
					WinHelp(hwnd, RS(b1,IDS_WINEFILE), HELP_INDEX, 0);
					break;

#ifndef _NO_EXTENSIONS
				case ID_VIEW_FULLSCREEN:
					CheckMenuItem(Globals.hMenuOptions, cmd, toggle_fullscreen(hwnd)?MF_CHECKED:0);
					break;

#ifdef __WINE__
				case ID_DRIVE_UNIX_FS: {
					TCHAR path[MAX_PATH];
#ifdef UNICODE
					char cpath[MAX_PATH];
#endif
					ChildWnd* child;

					if (activate_fs_window(RS(b1,IDS_UNIXFS)))
						break;

	
#ifdef UNICODE
					call_getcwd(cpath, MAX_PATH);
					MultiByteToWideChar(CP_UNIXCP, 0, cpath, -1, path, MAX_PATH);
#else
					call_getcwd(path, MAX_PATH);
#endif
					child = alloc_child_window(path, NULL, hwnd);

					if (!create_child_window(child))
						free(child);
					break;}
#endif

#ifdef _SHELL_FOLDERS
				case ID_DRIVE_SHELL_NS: {
					TCHAR path[MAX_PATH];
					ChildWnd* child;

					if (activate_fs_window(RS(b1,IDS_SHELL)))
						break;

					GetCurrentDirectory(MAX_PATH, path);
					child = alloc_child_window(path, get_path_pidl(path,hwnd), hwnd);

					if (!create_child_window(child))
						free(child);
					break;}
#endif
#endif

				/*TODO: There are even more menu items! */

#ifndef _NO_EXTENSIONS
#ifdef __WINE__
				case ID_LICENSE:
					WineLicense(Globals.hMainWnd);
					break;

				case ID_NO_WARRANTY:
					WineWarranty(Globals.hMainWnd);
					break;
#endif

				case ID_ABOUT_WINE:
					ShellAbout(hwnd, RS(b2,IDS_WINE), RS(b1,IDS_WINEFILE), 0);
					break;

				case ID_ABOUT:
					ShellAbout(hwnd, RS(b1,IDS_WINEFILE), NULL, 0);
					break;
#endif	/* _NO_EXTENSIONS */

				default:
					/*TODO: if (wParam >= PM_FIRST_LANGUAGE && wParam <= PM_LAST_LANGUAGE)
						STRING_SelectLanguageByNumber(wParam - PM_FIRST_LANGUAGE);
					else */if ((cmd<IDW_FIRST_CHILD || cmd>=IDW_FIRST_CHILD+0x100) &&
						(cmd<SC_SIZE || cmd>SC_RESTORE))
						MessageBox(hwnd, RS(b2,IDS_NO_IMPL), RS(b1,IDS_WINEFILE), MB_OK);

					return DefFrameProc(hwnd, Globals.hmdiclient, nmsg, wparam, lparam);
			}
			break;}

		case WM_SIZE:
			resize_frame(hwnd, LOWORD(lparam), HIWORD(lparam));
			break;	/* do not pass message to DefFrameProc */

#ifndef _NO_EXTENSIONS
		case WM_GETMINMAXINFO: {
			LPMINMAXINFO lpmmi = (LPMINMAXINFO)lparam;

			lpmmi->ptMaxTrackSize.x <<= 1;/*2*GetSystemMetrics(SM_CXSCREEN) / SM_CXVIRTUALSCREEN */
			lpmmi->ptMaxTrackSize.y <<= 1;/*2*GetSystemMetrics(SM_CYSCREEN) / SM_CYVIRTUALSCREEN */
			break;}

		case FRM_CALC_CLIENT:
			frame_get_clientspace(hwnd, (PRECT)lparam);
			return TRUE;
#endif /* _NO_EXTENSIONS */

		default:
			return DefFrameProc(hwnd, Globals.hmdiclient, nmsg, wparam, lparam);
	}

	return 0;
}


static TCHAR g_pos_names[COLUMNS][20] = {
	{'\0'}	/* symbol */
};

static const int g_pos_align[] = {
	0,
	HDF_LEFT,	/* Name */
	HDF_RIGHT,	/* Size */
	HDF_LEFT,	/* CDate */
#ifndef _NO_EXTENSIONS
	HDF_LEFT,	/* ADate */
	HDF_LEFT,	/* MDate */
	HDF_LEFT,	/* Index */
	HDF_CENTER,	/* Links */
#endif
	HDF_CENTER,	/* Attributes */
#ifndef _NO_EXTENSIONS
	HDF_LEFT	/* Security */
#endif
};

static void resize_tree(ChildWnd* child, int cx, int cy)
{
  402fb0:	55                   	push   %ebp
  402fb1:	89 e5                	mov    %esp,%ebp
  402fb3:	57                   	push   %edi
  402fb4:	56                   	push   %esi
  402fb5:	53                   	push   %ebx
  402fb6:	83 ec 58             	sub    $0x58,%esp
  402fb9:	89 c3                	mov    %eax,%ebx
  402fbb:	89 d7                	mov    %edx,%edi
	HDWP hdwp = BeginDeferWindowPos(4);
  402fbd:	6a 04                	push   $0x4
  402fbf:	e8 9c 46 00 00       	call   407660 <_BeginDeferWindowPos@4>
  402fc4:	89 c6                	mov    %eax,%esi
	RECT rt;

	rt.left   = 0;
	rt.top    = 0;
	rt.right  = cx;
	rt.bottom = cy;
  402fc6:	8b 45 08             	mov    0x8(%ebp),%eax
  402fc9:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)

	cx = child->split_pos + SPLIT_WIDTH/2;

#ifndef _NO_EXTENSIONS
	{
		WINDOWPOS wp;
		HD_LAYOUT hdl;

		hdl.prc   = &rt;
  402fcc:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
		hdl.pwpos = &wp;

		Header_Layout(child->left.hwndHeader, &hdl);
  402fcf:	83 c4 0c             	add    $0xc,%esp
  402fd2:	89 45 b0             	mov    %eax,0xffffffb0(%ebp)
  402fd5:	8d 45 b8             	lea    0xffffffb8(%ebp),%eax
  402fd8:	89 7d e0             	mov    %edi,0xffffffe0(%ebp)
  402fdb:	89 45 b4             	mov    %eax,0xffffffb4(%ebp)
  402fde:	8d 45 b0             	lea    0xffffffb0(%ebp),%eax
  402fe1:	50                   	push   %eax
  402fe2:	8b 43 08             	mov    0x8(%ebx),%eax
  402fe5:	8b bb 0c 01 00 00    	mov    0x10c(%ebx),%edi
  402feb:	6a 00                	push   $0x0
  402fed:	c7 45 d8 00 00 00 00 	movl   $0x0,0xffffffd8(%ebp)
  402ff4:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
  402ffb:	68 05 12 00 00       	push   $0x1205
  403000:	50                   	push   %eax
  403001:	e8 4a 45 00 00       	call   407550 <_SendMessageW@16>

		DeferWindowPos(hdwp, child->left.hwndHeader, wp.hwndInsertAfter,
  403006:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
  403009:	8b 4b 08             	mov    0x8(%ebx),%ecx
  40300c:	83 c7 02             	add    $0x2,%edi
  40300f:	50                   	push   %eax
  403010:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
  403013:	50                   	push   %eax
  403014:	8b 83 0c 01 00 00    	mov    0x10c(%ebx),%eax
  40301a:	48                   	dec    %eax
  40301b:	50                   	push   %eax
  40301c:	8b 45 c4             	mov    0xffffffc4(%ebp),%eax
  40301f:	50                   	push   %eax
  403020:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
  403023:	48                   	dec    %eax
  403024:	50                   	push   %eax
  403025:	8b 45 bc             	mov    0xffffffbc(%ebp),%eax
  403028:	50                   	push   %eax
  403029:	51                   	push   %ecx
  40302a:	56                   	push   %esi
  40302b:	e8 40 46 00 00       	call   407670 <_DeferWindowPos@32>
						wp.x-1, wp.y, child->split_pos-SPLIT_WIDTH/2+1, wp.cy, wp.flags);
		DeferWindowPos(hdwp, child->right.hwndHeader, wp.hwndInsertAfter,
  403030:	8b 55 d0             	mov    0xffffffd0(%ebp),%edx
  403033:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
  403036:	52                   	push   %edx
  403037:	50                   	push   %eax
  403038:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
  40303b:	29 f8                	sub    %edi,%eax
  40303d:	83 c0 02             	add    $0x2,%eax
  403040:	50                   	push   %eax
  403041:	8b 45 c4             	mov    0xffffffc4(%ebp),%eax
  403044:	50                   	push   %eax
  403045:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
  403048:	01 f8                	add    %edi,%eax
  40304a:	40                   	inc    %eax
  40304b:	50                   	push   %eax
  40304c:	8b 45 bc             	mov    0xffffffbc(%ebp),%eax
  40304f:	50                   	push   %eax
  403050:	8b 43 74             	mov    0x74(%ebx),%eax
  403053:	50                   	push   %eax
  403054:	56                   	push   %esi
  403055:	e8 16 46 00 00       	call   407670 <_DeferWindowPos@32>
						rt.left+cx+1, wp.y, wp.cx-cx+2, wp.cy, wp.flags);
	}
#endif /* _NO_EXTENSIONS */

	DeferWindowPos(hdwp, child->left.hwnd, 0, rt.left, rt.top, child->split_pos-SPLIT_WIDTH/2-rt.left, rt.bottom-rt.top, SWP_NOZORDER|SWP_NOACTIVATE);
  40305a:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
  40305d:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
  403060:	8b 55 d8             	mov    0xffffffd8(%ebp),%edx
  403063:	29 c8                	sub    %ecx,%eax
  403065:	6a 14                	push   $0x14
  403067:	50                   	push   %eax
  403068:	8b 83 0c 01 00 00    	mov    0x10c(%ebx),%eax
  40306e:	29 d0                	sub    %edx,%eax
  403070:	83 e8 02             	sub    $0x2,%eax
  403073:	50                   	push   %eax
  403074:	8b 43 04             	mov    0x4(%ebx),%eax
  403077:	51                   	push   %ecx
  403078:	52                   	push   %edx
  403079:	6a 00                	push   $0x0
  40307b:	50                   	push   %eax
  40307c:	56                   	push   %esi
  40307d:	e8 ee 45 00 00       	call   407670 <_DeferWindowPos@32>
	DeferWindowPos(hdwp, child->right.hwnd, 0, rt.left+cx+1, rt.top, rt.right-cx, rt.bottom-rt.top, SWP_NOZORDER|SWP_NOACTIVATE);
  403082:	8b 55 dc             	mov    0xffffffdc(%ebp),%edx
  403085:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
  403088:	29 d0                	sub    %edx,%eax
  40308a:	6a 14                	push   $0x14
  40308c:	50                   	push   %eax
  40308d:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
  403090:	29 f8                	sub    %edi,%eax
  403092:	50                   	push   %eax
  403093:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
  403096:	01 c7                	add    %eax,%edi
  403098:	52                   	push   %edx
  403099:	8d 47 01             	lea    0x1(%edi),%eax
  40309c:	8b 7b 70             	mov    0x70(%ebx),%edi
  40309f:	50                   	push   %eax
  4030a0:	6a 00                	push   $0x0
  4030a2:	57                   	push   %edi
  4030a3:	56                   	push   %esi
  4030a4:	e8 c7 45 00 00       	call   407670 <_DeferWindowPos@32>

	EndDeferWindowPos(hdwp);
  4030a9:	83 ec 0c             	sub    $0xc,%esp
  4030ac:	56                   	push   %esi
  4030ad:	e8 ce 45 00 00       	call   407680 <_EndDeferWindowPos@4>
  4030b2:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4030b5:	5b                   	pop    %ebx
  4030b6:	5e                   	pop    %esi
  4030b7:	5f                   	pop    %edi
  4030b8:	5d                   	pop    %ebp
  4030b9:	c3                   	ret    
  4030ba:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

004030c0 <_insert_entries>:
}


#ifndef _NO_EXTENSIONS

static HWND create_header(HWND parent, Pane* pane, int id)
{
	HD_ITEM hdi;
	int idx;

	HWND hwnd = CreateWindow(WC_HEADER, 0, WS_CHILD|WS_VISIBLE|HDS_HORZ/*TODO: |HDS_BUTTONS + sort orders*/,
								0, 0, 0, 0, parent, (HMENU)id, Globals.hInstance, 0);
	if (!hwnd)
		return 0;

	SetWindowFont(hwnd, GetStockObject(DEFAULT_GUI_FONT), FALSE);

	hdi.mask = HDI_TEXT|HDI_WIDTH|HDI_FORMAT;

	for(idx=0; idx<COLUMNS; idx++) {
		hdi.pszText = g_pos_names[idx];
		hdi.fmt = HDF_STRING | g_pos_align[idx];
		hdi.cxy = pane->widths[idx];
		Header_InsertItem(hwnd, idx, &hdi);
	}

	return hwnd;
}

#endif /* _NO_EXTENSIONS */


static void init_output(HWND hwnd)
{
	const static TCHAR s1000[] = {'1','0','0','0','\0'};

	TCHAR b[16];
	HFONT old_font;
	HDC hdc = GetDC(hwnd);

	if (GetNumberFormat(LOCALE_USER_DEFAULT, 0, s1000, 0, b, 16) > 4)
		Globals.num_sep = b[1];
	else
		Globals.num_sep = TEXT('.');

	old_font = SelectFont(hdc, Globals.hfont);
	GetTextExtentPoint32(hdc, sSpace, 1, &Globals.spaceSize);
	SelectFont(hdc, old_font);
	ReleaseDC(hwnd, hdc);
}

static void draw_item(Pane* pane, LPDRAWITEMSTRUCT dis, Entry* entry, int calcWidthCol);


/* calculate prefered width for all visible columns */

static BOOL calc_widths(Pane* pane, BOOL anyway)
{
	int col, x, cx, spc=3*Globals.spaceSize.cx;
	int entries = ListBox_GetCount(pane->hwnd);
	int orgWidths[COLUMNS];
	int orgPositions[COLUMNS+1];
	HFONT hfontOld;
	HDC hdc;
	int cnt;

	if (!anyway) {
		memcpy(orgWidths, pane->widths, sizeof(orgWidths));
		memcpy(orgPositions, pane->positions, sizeof(orgPositions));
	}

	for(col=0; col<COLUMNS; col++)
		pane->widths[col] = 0;

	hdc = GetDC(pane->hwnd);
	hfontOld = SelectFont(hdc, Globals.hfont);

	for(cnt=0; cnt<entries; cnt++) {
		Entry* entry = (Entry*) ListBox_GetItemData(pane->hwnd, cnt);

		DRAWITEMSTRUCT dis;

		dis.CtlType		  = 0;
		dis.CtlID		  = 0;
		dis.itemID		  = 0;
		dis.itemAction	  = 0;
		dis.itemState	  = 0;
		dis.hwndItem	  = pane->hwnd;
		dis.hDC			  = hdc;
		dis.rcItem.left	  = 0;
		dis.rcItem.top    = 0;
		dis.rcItem.right  = 0;
		dis.rcItem.bottom = 0;
		/*dis.itemData	  = 0; */

		draw_item(pane, &dis, entry, COLUMNS);
	}

	SelectObject(hdc, hfontOld);
	ReleaseDC(pane->hwnd, hdc);

	x = 0;
	for(col=0; col<COLUMNS; col++) {
		pane->positions[col] = x;
		cx = pane->widths[col];

		if (cx) {
			cx += spc;

			if (cx < IMAGE_WIDTH)
				cx = IMAGE_WIDTH;

			pane->widths[col] = cx;
		}

		x += cx;
	}

	pane->positions[COLUMNS] = x;

	ListBox_SetHorizontalExtent(pane->hwnd, x);

	/* no change? */
	if (!memcmp(orgWidths, pane->widths, sizeof(orgWidths)))
		return FALSE;

	/* don't move, if only collapsing an entry */
	if (!anyway && pane->widths[0]<orgWidths[0] &&
		!memcmp(orgWidths+1, pane->widths+1, sizeof(orgWidths)-sizeof(int))) {
		pane->widths[0] = orgWidths[0];
		memcpy(pane->positions, orgPositions, sizeof(orgPositions));

		return FALSE;
	}

	InvalidateRect(pane->hwnd, 0, TRUE);

	return TRUE;
}


/* calculate one prefered column width */

static void calc_single_width(Pane* pane, int col)
{
	HFONT hfontOld;
	int x, cx;
	int entries = ListBox_GetCount(pane->hwnd);
	int cnt;
	HDC hdc;

	pane->widths[col] = 0;

	hdc = GetDC(pane->hwnd);
	hfontOld = SelectFont(hdc, Globals.hfont);

	for(cnt=0; cnt<entries; cnt++) {
		Entry* entry = (Entry*) ListBox_GetItemData(pane->hwnd, cnt);
		DRAWITEMSTRUCT dis;

		dis.CtlType		  = 0;
		dis.CtlID		  = 0;
		dis.itemID		  = 0;
		dis.itemAction	  = 0;
		dis.itemState	  = 0;
		dis.hwndItem	  = pane->hwnd;
		dis.hDC			  = hdc;
		dis.rcItem.left	  = 0;
		dis.rcItem.top    = 0;
		dis.rcItem.right  = 0;
		dis.rcItem.bottom = 0;
		/*dis.itemData	  = 0; */

		draw_item(pane, &dis, entry, col);
	}

	SelectObject(hdc, hfontOld);
	ReleaseDC(pane->hwnd, hdc);

	cx = pane->widths[col];

	if (cx) {
		cx += 3*Globals.spaceSize.cx;

		if (cx < IMAGE_WIDTH)
			cx = IMAGE_WIDTH;
	}

	pane->widths[col] = cx;

	x = pane->positions[col] + cx;

	for(; col<COLUMNS; ) {
		pane->positions[++col] = x;
		x += pane->widths[col];
	}

	ListBox_SetHorizontalExtent(pane->hwnd, x);
}


/* insert listbox entries after index idx */

static void insert_entries(Pane* pane, Entry* dir, int idx)
{
  4030c0:	55                   	push   %ebp
  4030c1:	89 e5                	mov    %esp,%ebp
  4030c3:	57                   	push   %edi
  4030c4:	56                   	push   %esi
  4030c5:	53                   	push   %ebx
  4030c6:	83 ec 0c             	sub    $0xc,%esp
  4030c9:	89 c7                	mov    %eax,%edi
  4030cb:	8b 75 08             	mov    0x8(%ebp),%esi
	Entry* entry = dir;
  4030ce:	89 d3                	mov    %edx,%ebx

	if (!entry)
  4030d0:	85 d2                	test   %edx,%edx
  4030d2:	74 78                	je     40314c <_insert_entries+0x8c>
		return;

	ShowWindow(pane->hwnd, SW_HIDE);
  4030d4:	8b 0f                	mov    (%edi),%ecx
  4030d6:	50                   	push   %eax
  4030d7:	50                   	push   %eax
  4030d8:	6a 00                	push   $0x0
  4030da:	51                   	push   %ecx
  4030db:	e8 40 45 00 00       	call   407620 <_ShowWindow@8>

	for(; entry; entry=entry->next) {
  4030e0:	58                   	pop    %eax
  4030e1:	5a                   	pop    %edx
  4030e2:	eb 12                	jmp    4030f6 <_insert_entries+0x36>
#ifndef _LEFT_FILES
		if (pane->treePane && !(entry->data.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY))
  4030e4:	f6 43 18 10          	testb  $0x10,0x18(%ebx)
  4030e8:	75 6a                	jne    403154 <_insert_entries+0x94>
  4030ea:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4030f0:	8b 1b                	mov    (%ebx),%ebx
  4030f2:	85 db                	test   %ebx,%ebx
  4030f4:	74 4a                	je     403140 <_insert_entries+0x80>
  4030f6:	8b 47 5c             	mov    0x5c(%edi),%eax
  4030f9:	85 c0                	test   %eax,%eax
  4030fb:	75 e7                	jne    4030e4 <_insert_entries+0x24>
			continue;
#endif

		/* don't display entries "." and ".." in the left pane */
		if (pane->treePane && (entry->data.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
				&& entry->data.cFileName[0]==TEXT('.'))
			if (
#ifndef _NO_EXTENSIONS
				entry->data.cFileName[1]==TEXT('\0') ||
#endif
				(entry->data.cFileName[1]==TEXT('.') && entry->data.cFileName[2]==TEXT('\0')))
				continue;

		if (idx != -1)
			idx++;
  4030fd:	83 fe ff             	cmp    $0xffffffff,%esi

		ListBox_InsertItemData(pane->hwnd, idx, entry);
  403100:	53                   	push   %ebx
  403101:	0f 95 c0             	setne  %al
  403104:	25 ff 00 00 00       	and    $0xff,%eax
  403109:	01 c6                	add    %eax,%esi
  40310b:	8b 07                	mov    (%edi),%eax
  40310d:	56                   	push   %esi
  40310e:	68 81 01 00 00       	push   $0x181
  403113:	50                   	push   %eax
  403114:	e8 37 44 00 00       	call   407550 <_SendMessageW@16>

		if (pane->treePane && entry->expanded)
  403119:	8b 47 5c             	mov    0x5c(%edi),%eax
  40311c:	85 c0                	test   %eax,%eax
  40311e:	74 d0                	je     4030f0 <_insert_entries+0x30>
  403120:	8b 4b 0c             	mov    0xc(%ebx),%ecx
  403123:	85 c9                	test   %ecx,%ecx
  403125:	74 c9                	je     4030f0 <_insert_entries+0x30>
			insert_entries(pane, entry->down, idx);
  403127:	83 ec 0c             	sub    $0xc,%esp
  40312a:	8b 53 04             	mov    0x4(%ebx),%edx
  40312d:	89 f8                	mov    %edi,%eax
  40312f:	56                   	push   %esi
  403130:	e8 8b ff ff ff       	call   4030c0 <_insert_entries>
  403135:	8b 1b                	mov    (%ebx),%ebx
  403137:	83 c4 10             	add    $0x10,%esp
  40313a:	85 db                	test   %ebx,%ebx
  40313c:	75 b8                	jne    4030f6 <_insert_entries+0x36>
  40313e:	89 f6                	mov    %esi,%esi
	}

	ShowWindow(pane->hwnd, SW_SHOW);
  403140:	8b 07                	mov    (%edi),%eax
  403142:	52                   	push   %edx
  403143:	52                   	push   %edx
  403144:	6a 05                	push   $0x5
  403146:	50                   	push   %eax
  403147:	e8 d4 44 00 00       	call   407620 <_ShowWindow@8>
}
  40314c:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  40314f:	5b                   	pop    %ebx
  403150:	5e                   	pop    %esi
  403151:	5f                   	pop    %edi
  403152:	5d                   	pop    %ebp
  403153:	c3                   	ret    
  403154:	66 83 7b 44 2e       	cmpw   $0x2e,0x44(%ebx)
  403159:	75 a2                	jne    4030fd <_insert_entries+0x3d>
  40315b:	66 8b 43 46          	mov    0x46(%ebx),%ax
  40315f:	66 85 c0             	test   %ax,%ax
  403162:	74 8c                	je     4030f0 <_insert_entries+0x30>
  403164:	66 83 f8 2e          	cmp    $0x2e,%ax
  403168:	75 93                	jne    4030fd <_insert_entries+0x3d>
  40316a:	66 83 7b 48 00       	cmpw   $0x0,0x48(%ebx)
  40316f:	0f 84 7b ff ff ff    	je     4030f0 <_insert_entries+0x30>
  403175:	eb 86                	jmp    4030fd <_insert_entries+0x3d>
  403177:	89 f6                	mov    %esi,%esi
  403179:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00403180 <_format_date>:


static WNDPROC g_orgTreeWndProc;

static void create_tree_window(HWND parent, Pane* pane, int id, int id_header)
{
	const static TCHAR sListBox[] = {'L','i','s','t','B','o','x','\0'};

	static int s_init = 0;
	Entry* entry = pane->root;

	pane->hwnd = CreateWindow(sListBox, sEmpty, WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL|
								LBS_DISABLENOSCROLL|LBS_NOINTEGRALHEIGHT|LBS_OWNERDRAWFIXED|LBS_NOTIFY,
								0, 0, 0, 0, parent, (HMENU)id, Globals.hInstance, 0);

	SetWindowLong(pane->hwnd, GWL_USERDATA, (LPARAM)pane);
	g_orgTreeWndProc = SubclassWindow(pane->hwnd, TreeWndProc);

	SetWindowFont(pane->hwnd, Globals.hfont, FALSE);

	/* insert entries into listbox */
	if (entry)
		insert_entries(pane, entry, -1);

	/* calculate column widths */
	if (!s_init) {
		s_init = 1;
		init_output(pane->hwnd);
	}

	calc_widths(pane, TRUE);

#ifndef _NO_EXTENSIONS
	pane->hwndHeader = create_header(parent, pane, id_header);
#endif
}


static void InitChildWindow(ChildWnd* child)
{
	create_tree_window(child->hwnd, &child->left, IDW_TREE_LEFT, IDW_HEADER_LEFT);
	create_tree_window(child->hwnd, &child->right, IDW_TREE_RIGHT, IDW_HEADER_RIGHT);
}


static void format_date(const FILETIME* ft, TCHAR* buffer, int visible_cols)
{
  403180:	55                   	push   %ebp
  403181:	89 e5                	mov    %esp,%ebp
  403183:	57                   	push   %edi
  403184:	56                   	push   %esi
  403185:	53                   	push   %ebx
  403186:	83 ec 2c             	sub    $0x2c,%esp
	SYSTEMTIME systime;
	FILETIME lft;
	int len = 0;
  403189:	31 ff                	xor    %edi,%edi

	*buffer = TEXT('\0');

	if (!ft->dwLowDateTime && !ft->dwHighDateTime)
  40318b:	8b 08                	mov    (%eax),%ecx
  40318d:	89 d3                	mov    %edx,%ebx
  40318f:	66 c7 02 00 00       	movw   $0x0,(%edx)
  403194:	85 c9                	test   %ecx,%ecx
  403196:	75 07                	jne    40319f <_format_date+0x1f>
  403198:	8b 50 04             	mov    0x4(%eax),%edx
  40319b:	85 d2                	test   %edx,%edx
  40319d:	74 1f                	je     4031be <_format_date+0x3e>
		return;

	if (!FileTimeToLocalFileTime(ft, &lft))
  40319f:	56                   	push   %esi
  4031a0:	56                   	push   %esi
  4031a1:	8d 75 d0             	lea    0xffffffd0(%ebp),%esi
  4031a4:	56                   	push   %esi
  4031a5:	50                   	push   %eax
  4031a6:	e8 35 42 00 00       	call   4073e0 <_FileTimeToLocalFileTime@8>
  4031ab:	5a                   	pop    %edx
  4031ac:	85 c0                	test   %eax,%eax
  4031ae:	59                   	pop    %ecx
  4031af:	75 15                	jne    4031c6 <_format_date+0x46>
		{err: _tcscpy(buffer,sQMarks); return;}
  4031b1:	56                   	push   %esi
  4031b2:	56                   	push   %esi
  4031b3:	68 1e a4 40 00       	push   $0x40a41e
  4031b8:	53                   	push   %ebx
  4031b9:	e8 12 51 00 00       	call   4082d0 <_wcscpy>

	if (!FileTimeToSystemTime(&lft, &systime))
		goto err;

	if (visible_cols & COL_DATE) {
		len = GetDateFormat(LOCALE_USER_DEFAULT, 0, &systime, 0, buffer, BUFFER_LEN);
		if (!len)
			goto err;
	}

	if (visible_cols & COL_TIME) {
		if (len)
			buffer[len-1] = ' ';

		buffer[len++] = ' ';

		if (!GetTimeFormat(LOCALE_USER_DEFAULT, 0, &systime, 0, buffer+len, BUFFER_LEN-len))
			buffer[len] = TEXT('\0');
	}
}
  4031be:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4031c1:	5b                   	pop    %ebx
  4031c2:	5e                   	pop    %esi
  4031c3:	5f                   	pop    %edi
  4031c4:	5d                   	pop    %ebp
  4031c5:	c3                   	ret    
  4031c6:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
  4031c9:	51                   	push   %ecx
  4031ca:	51                   	push   %ecx
  4031cb:	50                   	push   %eax
  4031cc:	56                   	push   %esi
  4031cd:	e8 1e 42 00 00       	call   4073f0 <_FileTimeToSystemTime@8>
  4031d2:	5e                   	pop    %esi
  4031d3:	85 c0                	test   %eax,%eax
  4031d5:	5a                   	pop    %edx
  4031d6:	74 d9                	je     4031b1 <_format_date+0x31>
  4031d8:	f6 45 08 02          	testb  $0x2,0x8(%ebp)
  4031dc:	75 46                	jne    403224 <_format_date+0xa4>
  4031de:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
  4031e2:	74 da                	je     4031be <_format_date+0x3e>
  4031e4:	85 ff                	test   %edi,%edi
  4031e6:	74 07                	je     4031ef <_format_date+0x6f>
  4031e8:	66 c7 44 7b fe 20 00 	movw   $0x20,0xfffffffe(%ebx,%edi,2)
  4031ef:	66 c7 04 7b 20 00    	movw   $0x20,(%ebx,%edi,2)
  4031f5:	b8 00 04 00 00       	mov    $0x400,%eax
  4031fa:	47                   	inc    %edi
  4031fb:	29 f8                	sub    %edi,%eax
  4031fd:	56                   	push   %esi
  4031fe:	56                   	push   %esi
  4031ff:	50                   	push   %eax
  403200:	8d 04 7b             	lea    (%ebx,%edi,2),%eax
  403203:	50                   	push   %eax
  403204:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
  403207:	6a 00                	push   $0x0
  403209:	50                   	push   %eax
  40320a:	6a 00                	push   $0x0
  40320c:	68 00 04 00 00       	push   $0x400
  403211:	e8 ea 41 00 00       	call   407400 <_GetTimeFormatW@24>
  403216:	5a                   	pop    %edx
  403217:	85 c0                	test   %eax,%eax
  403219:	59                   	pop    %ecx
  40321a:	75 a2                	jne    4031be <_format_date+0x3e>
  40321c:	66 c7 04 7b 00 00    	movw   $0x0,(%ebx,%edi,2)
  403222:	eb 9a                	jmp    4031be <_format_date+0x3e>
  403224:	8d 55 d8             	lea    0xffffffd8(%ebp),%edx
  403227:	51                   	push   %ecx
  403228:	51                   	push   %ecx
  403229:	68 00 04 00 00       	push   $0x400
  40322e:	53                   	push   %ebx
  40322f:	6a 00                	push   $0x0
  403231:	52                   	push   %edx
  403232:	6a 00                	push   $0x0
  403234:	68 00 04 00 00       	push   $0x400
  403239:	e8 d2 41 00 00       	call   407410 <_GetDateFormatW@24>
  40323e:	89 c7                	mov    %eax,%edi
  403240:	58                   	pop    %eax
  403241:	85 ff                	test   %edi,%edi
  403243:	5a                   	pop    %edx
  403244:	75 98                	jne    4031de <_format_date+0x5e>
  403246:	e9 66 ff ff ff       	jmp    4031b1 <_format_date+0x31>
  40324b:	90                   	nop    
  40324c:	8d 74 26 00          	lea    0x0(%esi),%esi

00403250 <_calc_width>:


static void calc_width(Pane* pane, LPDRAWITEMSTRUCT dis, int col, LPCTSTR str)
{
  403250:	55                   	push   %ebp
	RECT rt = {0, 0, 0, 0};
  403251:	b9 04 00 00 00       	mov    $0x4,%ecx
  403256:	89 e5                	mov    %esp,%ebp
  403258:	57                   	push   %edi
  403259:	fc                   	cld    
  40325a:	56                   	push   %esi
  40325b:	8d 7d d8             	lea    0xffffffd8(%ebp),%edi
  40325e:	53                   	push   %ebx
  40325f:	89 c3                	mov    %eax,%ebx
  403261:	31 c0                	xor    %eax,%eax
  403263:	83 ec 28             	sub    $0x28,%esp
  403266:	f3 ab                	repz stos %eax,%es:(%edi)

	DrawText(dis->hDC, (LPTSTR)str, -1, &rt, DT_CALCRECT|DT_SINGLELINE|DT_NOPREFIX);
  403268:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
  40326b:	68 20 0c 00 00       	push   $0xc20
  403270:	8b 7a 18             	mov    0x18(%edx),%edi
  403273:	50                   	push   %eax
  403274:	8b 45 0c             	mov    0xc(%ebp),%eax
  403277:	6a ff                	push   $0xffffffff
  403279:	8b 75 08             	mov    0x8(%ebp),%esi
  40327c:	50                   	push   %eax
  40327d:	57                   	push   %edi
  40327e:	e8 0d 44 00 00       	call   407690 <_DrawTextW@20>

	if (rt.right > pane->widths[col])
  403283:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
  403286:	83 c4 0c             	add    $0xc,%esp
  403289:	3b 44 b3 08          	cmp    0x8(%ebx,%esi,4),%eax
  40328d:	7e 04                	jle    403293 <_calc_width+0x43>
		pane->widths[col] = rt.right;
  40328f:	89 44 b3 08          	mov    %eax,0x8(%ebx,%esi,4)
}
  403293:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  403296:	5b                   	pop    %ebx
  403297:	5e                   	pop    %esi
  403298:	5f                   	pop    %edi
  403299:	5d                   	pop    %ebp
  40329a:	c3                   	ret    
  40329b:	90                   	nop    
  40329c:	8d 74 26 00          	lea    0x0(%esi),%esi

004032a0 <_output_text>:

static void calc_tabbed_width(Pane* pane, LPDRAWITEMSTRUCT dis, int col, LPCTSTR str)
{
	RECT rt = {0, 0, 0, 0};

/*	DRAWTEXTPARAMS dtp = {sizeof(DRAWTEXTPARAMS), 2};
	DrawTextEx(dis->hDC, (LPTSTR)str, -1, &rt, DT_CALCRECT|DT_SINGLELINE|DT_NOPREFIX|DT_EXPANDTABS|DT_TABSTOP, &dtp);*/

	DrawText(dis->hDC, (LPTSTR)str, -1, &rt, DT_CALCRECT|DT_SINGLELINE|DT_EXPANDTABS|DT_TABSTOP|(2<<8));
	/*FIXME rt (0,0) ??? */

	if (rt.right > pane->widths[col])
		pane->widths[col] = rt.right;
}


static void output_text(Pane* pane, LPDRAWITEMSTRUCT dis, int col, LPCTSTR str, DWORD flags)
{
  4032a0:	55                   	push   %ebp
  4032a1:	89 e5                	mov    %esp,%ebp
  4032a3:	57                   	push   %edi
  4032a4:	56                   	push   %esi
  4032a5:	53                   	push   %ebx
  4032a6:	83 ec 28             	sub    $0x28,%esp
	int x = dis->rcItem.left;
	RECT rt;

	rt.left   = x+pane->positions[col]+Globals.spaceSize.cx;
  4032a9:	8b 7d 08             	mov    0x8(%ebp),%edi
  4032ac:	8b 5a 1c             	mov    0x1c(%edx),%ebx
  4032af:	8b 75 10             	mov    0x10(%ebp),%esi
  4032b2:	8b 4c b8 30          	mov    0x30(%eax,%edi,4),%ecx
  4032b6:	8b 3d c0 c2 40 00    	mov    0x40c2c0,%edi
  4032bc:	01 d9                	add    %ebx,%ecx
	rt.top    = dis->rcItem.top;
	rt.right  = x+pane->positions[col+1]-Globals.spaceSize.cx;
	rt.bottom = dis->rcItem.bottom;

	DrawText(dis->hDC, (LPTSTR)str, -1, &rt, DT_SINGLELINE|DT_NOPREFIX|flags);
  4032be:	81 ce 20 08 00 00    	or     $0x820,%esi
  4032c4:	01 f9                	add    %edi,%ecx
  4032c6:	89 4d d8             	mov    %ecx,0xffffffd8(%ebp)
  4032c9:	8b 4a 20             	mov    0x20(%edx),%ecx
  4032cc:	89 4d dc             	mov    %ecx,0xffffffdc(%ebp)
  4032cf:	8b 4d 08             	mov    0x8(%ebp),%ecx
  4032d2:	03 5c 88 34          	add    0x34(%eax,%ecx,4),%ebx
  4032d6:	8b 42 28             	mov    0x28(%edx),%eax
  4032d9:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
  4032dc:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
  4032df:	56                   	push   %esi
  4032e0:	50                   	push   %eax
  4032e1:	8b 45 0c             	mov    0xc(%ebp),%eax
  4032e4:	29 fb                	sub    %edi,%ebx
  4032e6:	6a ff                	push   $0xffffffff
  4032e8:	50                   	push   %eax
  4032e9:	8b 42 18             	mov    0x18(%edx),%eax
  4032ec:	89 5d e0             	mov    %ebx,0xffffffe0(%ebp)
  4032ef:	50                   	push   %eax
  4032f0:	e8 9b 43 00 00       	call   407690 <_DrawTextW@20>
  4032f5:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4032f8:	5b                   	pop    %ebx
  4032f9:	5e                   	pop    %esi
  4032fa:	5f                   	pop    %edi
  4032fb:	5d                   	pop    %ebp
  4032fc:	c3                   	ret    
  4032fd:	8d 76 00             	lea    0x0(%esi),%esi

00403300 <_draw_item>:
}

static void output_tabbed_text(Pane* pane, LPDRAWITEMSTRUCT dis, int col, LPCTSTR str)
{
	int x = dis->rcItem.left;
	RECT rt;

	rt.left   = x+pane->positions[col]+Globals.spaceSize.cx;
	rt.top    = dis->rcItem.top;
	rt.right  = x+pane->positions[col+1]-Globals.spaceSize.cx;
	rt.bottom = dis->rcItem.bottom;

/*	DRAWTEXTPARAMS dtp = {sizeof(DRAWTEXTPARAMS), 2};
	DrawTextEx(dis->hDC, (LPTSTR)str, -1, &rt, DT_SINGLELINE|DT_NOPREFIX|DT_EXPANDTABS|DT_TABSTOP, &dtp);*/

	DrawText(dis->hDC, (LPTSTR)str, -1, &rt, DT_SINGLELINE|DT_EXPANDTABS|DT_TABSTOP|(2<<8));
}

static void output_number(Pane* pane, LPDRAWITEMSTRUCT dis, int col, LPCTSTR str)
{
	int x = dis->rcItem.left;
	RECT rt;
	LPCTSTR s = str;
	TCHAR b[128];
	LPTSTR d = b;
	int pos;

	rt.left   = x+pane->positions[col]+Globals.spaceSize.cx;
	rt.top    = dis->rcItem.top;
	rt.right  = x+pane->positions[col+1]-Globals.spaceSize.cx;
	rt.bottom = dis->rcItem.bottom;

	if (*s)
		*d++ = *s++;

	/* insert number separator characters */
	pos = lstrlen(s) % 3;

	while(*s)
		if (pos--)
			*d++ = *s++;
		else {
			*d++ = Globals.num_sep;
			pos = 3;
		}

	DrawText(dis->hDC, b, d-b, &rt, DT_RIGHT|DT_SINGLELINE|DT_NOPREFIX|DT_END_ELLIPSIS);
}


static int is_exe_file(LPCTSTR ext)
{
	static const TCHAR executable_extensions[][4] = {
		{'C','O','M','\0'},
		{'E','X','E','\0'},
		{'B','A','T','\0'},
		{'C','M','D','\0'},
#ifndef _NO_EXTENSIONS
		{'C','M','M','\0'},
		{'B','T','M','\0'},
		{'A','W','K','\0'},
#endif /* _NO_EXTENSIONS */
		{'\0'}
	};

	TCHAR ext_buffer[_MAX_EXT];
	const TCHAR (*p)[4];
	LPCTSTR s;
	LPTSTR d;

	for(s=ext+1,d=ext_buffer; (*d=tolower(*s)); s++)
		d++;

	for(p=executable_extensions; (*p)[0]; p++)
		if (!_tcscmp(ext_buffer, *p))
			return 1;

	return 0;
}

static int is_registered_type(LPCTSTR ext)
{
        /* TODO */

	return 1;
}


static void draw_item(Pane* pane, LPDRAWITEMSTRUCT dis, Entry* entry, int calcWidthCol)
{
  403300:	55                   	push   %ebp
  403301:	89 e5                	mov    %esp,%ebp
  403303:	57                   	push   %edi
  403304:	56                   	push   %esi
  403305:	53                   	push   %ebx
  403306:	81 ec 8c 0b 00 00    	sub    $0xb8c,%esp
  40330c:	89 85 a4 f4 ff ff    	mov    %eax,0xfffff4a4(%ebp)
	TCHAR buffer[BUFFER_LEN];
	DWORD attrs;
	int visible_cols = pane->visible_cols;
  403312:	8b 40 60             	mov    0x60(%eax),%eax
  403315:	89 95 a0 f4 ff ff    	mov    %edx,0xfffff4a0(%ebp)
  40331b:	89 85 98 f4 ff ff    	mov    %eax,0xfffff498(%ebp)
	COLORREF bkcolor, textcolor;
	RECT focusRect = dis->rcItem;
  403321:	8b 42 1c             	mov    0x1c(%edx),%eax
  403324:	89 85 d8 f7 ff ff    	mov    %eax,0xfffff7d8(%ebp)
	HBRUSH hbrush;
	enum IMAGE img;
	int img_pos, cx;
	int col = 0;
  40332a:	c7 85 8c f4 ff ff 00 	movl   $0x0,0xfffff48c(%ebp)
  403331:	00 00 00 
  403334:	8b 42 20             	mov    0x20(%edx),%eax
  403337:	89 85 dc f7 ff ff    	mov    %eax,0xfffff7dc(%ebp)
  40333d:	8b 42 24             	mov    0x24(%edx),%eax
  403340:	89 85 e0 f7 ff ff    	mov    %eax,0xfffff7e0(%ebp)
  403346:	8b 42 28             	mov    0x28(%edx),%eax
  403349:	89 85 e4 f7 ff ff    	mov    %eax,0xfffff7e4(%ebp)

	if (entry) {
  40334f:	8b 45 08             	mov    0x8(%ebp),%eax
  403352:	85 c0                	test   %eax,%eax
  403354:	0f 84 d0 05 00 00    	je     40392a <_draw_item+0x62a>
		attrs = entry->data.dwFileAttributes;
  40335a:	8b 55 08             	mov    0x8(%ebp),%edx
  40335d:	8b 52 18             	mov    0x18(%edx),%edx
  403360:	89 95 9c f4 ff ff    	mov    %edx,0xfffff49c(%ebp)

		if (attrs & FILE_ATTRIBUTE_DIRECTORY) {
  403366:	83 e2 10             	and    $0x10,%edx
  403369:	0f 84 be 01 00 00    	je     40352d <_draw_item+0x22d>
			if (entry->data.cFileName[0]==TEXT('.') && entry->data.cFileName[1]==TEXT('.')
  40336f:	8b 4d 08             	mov    0x8(%ebp),%ecx
  403372:	8b 41 44             	mov    0x44(%ecx),%eax
  403375:	3d 2e 00 2e 00       	cmp    $0x2e002e,%eax
  40337a:	0f 84 48 03 00 00    	je     4036c8 <_draw_item+0x3c8>
					&& entry->data.cFileName[2]==TEXT('\0'))
				img = IMG_FOLDER_UP;
#ifndef _NO_EXTENSIONS
			else if (entry->data.cFileName[0]==TEXT('.') && entry->data.cFileName[1]==TEXT('\0'))
  403380:	83 f8 2e             	cmp    $0x2e,%eax
  403383:	0f 84 7e 07 00 00    	je     403b07 <_draw_item+0x807>
				img = IMG_FOLDER_CUR;
#endif
			else if (
  403389:	8b 8d a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%ecx
  40338f:	8b 41 5c             	mov    0x5c(%ecx),%eax
  403392:	85 c0                	test   %eax,%eax
  403394:	74 1a                	je     4033b0 <_draw_item+0xb0>
  403396:	8b b5 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%esi
#ifdef _NO_EXTENSIONS
					 entry->expanded ||
#endif
					 (pane->treePane && (dis->itemState&ODS_FOCUS)))
				img = IMG_OPEN_FOLDER;
  40339c:	c7 85 90 f4 ff ff 04 	movl   $0x4,0xfffff490(%ebp)
  4033a3:	00 00 00 
  4033a6:	f6 46 10 10          	testb  $0x10,0x10(%esi)
  4033aa:	0f 85 06 02 00 00    	jne    4035b6 <_draw_item+0x2b6>
			else
				img = IMG_FOLDER;
  4033b0:	c7 85 90 f4 ff ff 03 	movl   $0x3,0xfffff490(%ebp)
  4033b7:	00 00 00 
		} else {
			LPCTSTR ext = _tcsrchr(entry->data.cFileName, '.');
			if (!ext)
				ext = sEmpty;

			if (is_exe_file(ext))
				img = IMG_EXECUTABLE;
			else if (is_registered_type(ext))
				img = IMG_DOCUMENT;
			else
				img = IMG_FILE;
		}
	} else {
		attrs = 0;
		img = IMG_NONE;
	}

	if (pane->treePane) {
  4033ba:	85 c0                	test   %eax,%eax
  4033bc:	0f 85 fc 01 00 00    	jne    4035be <_draw_item+0x2be>
		if (entry) {
			img_pos = dis->rcItem.left + entry->level*(IMAGE_WIDTH+TREE_LINE_DX);

			if (calcWidthCol == -1) {
				int x;
				int y = dis->rcItem.top + IMAGE_HEIGHT/2;
				Entry* up;
				RECT rt_clip;
				HRGN hrgn_org = CreateRectRgn(0, 0, 0, 0);
				HRGN hrgn;

				rt_clip.left   = dis->rcItem.left;
				rt_clip.top    = dis->rcItem.top;
				rt_clip.right  = dis->rcItem.left+pane->widths[col];
				rt_clip.bottom = dis->rcItem.bottom;

				hrgn = CreateRectRgnIndirect(&rt_clip);

				if (!GetClipRgn(dis->hDC, hrgn_org)) {
					DeleteObject(hrgn_org);
					hrgn_org = 0;
				}

				/* HGDIOBJ holdPen = SelectObject(dis->hDC, GetStockObject(BLACK_PEN)); */
				ExtSelectClipRgn(dis->hDC, hrgn, RGN_AND);
				DeleteObject(hrgn);

				if ((up=entry->up) != NULL) {
					MoveToEx(dis->hDC, img_pos-IMAGE_WIDTH/2, y, 0);
					LineTo(dis->hDC, img_pos-2, y);

					x = img_pos - IMAGE_WIDTH/2;

					do {
						x -= IMAGE_WIDTH+TREE_LINE_DX;

						if (up->next
#ifndef _LEFT_FILES
							&& (up->next->data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
#endif
							) {
							MoveToEx(dis->hDC, x, dis->rcItem.top, 0);
							LineTo(dis->hDC, x, dis->rcItem.bottom);
						}
					} while((up=up->up) != NULL);
				}

				x = img_pos - IMAGE_WIDTH/2;

				MoveToEx(dis->hDC, x, dis->rcItem.top, 0);
				LineTo(dis->hDC, x, y);

				if (entry->next
#ifndef _LEFT_FILES
					&& (entry->next->data.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
#endif
					)
					LineTo(dis->hDC, x, dis->rcItem.bottom);

				if (entry->down && entry->expanded) {
					x += IMAGE_WIDTH+TREE_LINE_DX;
					MoveToEx(dis->hDC, x, dis->rcItem.top+IMAGE_HEIGHT, 0);
					LineTo(dis->hDC, x, dis->rcItem.bottom);
				}

				SelectClipRgn(dis->hDC, hrgn_org);
				if (hrgn_org) DeleteObject(hrgn_org);
				/* SelectObject(dis->hDC, holdPen); */
			} else if (calcWidthCol==col || calcWidthCol==COLUMNS) {
				int right = img_pos + IMAGE_WIDTH - TREE_LINE_DX;

				if (right > pane->widths[col])
					pane->widths[col] = right;
			}
		} else  {
			img_pos = dis->rcItem.left;
		}
	} else {
		img_pos = dis->rcItem.left;
  4033c2:	8b 85 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%eax

		if (calcWidthCol==col || calcWidthCol==COLUMNS)
  4033c8:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  4033cb:	85 db                	test   %ebx,%ebx
  4033cd:	8b 78 1c             	mov    0x1c(%eax),%edi
  4033d0:	0f 94 c2             	sete   %dl
  4033d3:	83 7d 0c 0a          	cmpl   $0xa,0xc(%ebp)
  4033d7:	0f 94 c0             	sete   %al
  4033da:	09 d0                	or     %edx,%eax
  4033dc:	a8 01                	test   $0x1,%al
  4033de:	0f 84 33 02 00 00    	je     403617 <_draw_item+0x317>
			pane->widths[col] = IMAGE_WIDTH;
  4033e4:	8b 95 8c f4 ff ff    	mov    0xfffff48c(%ebp),%edx
  4033ea:	8b 8d a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%ecx
	}

	if (calcWidthCol == -1) {
  4033f0:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  4033f4:	c7 44 91 08 10 00 00 	movl   $0x10,0x8(%ecx,%edx,4)
  4033fb:	00 
  4033fc:	0f 85 1f 02 00 00    	jne    403621 <_draw_item+0x321>
		focusRect.left = img_pos - 2;
  403402:	8d 47 fe             	lea    0xfffffffe(%edi),%eax

#ifdef _NO_EXTENSIONS
		if (pane->treePane && entry) {
			RECT rt = {0};

			DrawText(dis->hDC, entry->data.cFileName, -1, &rt, DT_CALCRECT|DT_SINGLELINE|DT_NOPREFIX);

			focusRect.right = dis->rcItem.left+pane->positions[col+1]+TREE_LINE_DX + rt.right +2;
		}
#else

		if (attrs & FILE_ATTRIBUTE_COMPRESSED)
			textcolor = COLOR_COMPRESSED;
		else
#endif /* _NO_EXTENSIONS */
			textcolor = RGB(0,0,0);

		if (dis->itemState & ODS_FOCUS) {
			textcolor = RGB(255,255,255);
			bkcolor = COLOR_SELECTION;
		} else {
			bkcolor = RGB(255,255,255);
  403405:	c7 85 94 f4 ff ff ff 	movl   $0xffffff,0xfffff494(%ebp)
  40340c:	ff ff 00 
  40340f:	89 85 d8 f7 ff ff    	mov    %eax,0xfffff7d8(%ebp)
  403415:	8b 85 9c f4 ff ff    	mov    0xfffff49c(%ebp),%eax
  40341b:	c1 e8 0b             	shr    $0xb,%eax
  40341e:	83 e0 01             	and    $0x1,%eax
  403421:	83 f8 01             	cmp    $0x1,%eax
  403424:	8b 85 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%eax
  40342a:	19 f6                	sbb    %esi,%esi
  40342c:	83 f6 ff             	xor    $0xffffffff,%esi
  40342f:	81 e6 00 00 ff 00    	and    $0xff0000,%esi
  403435:	f6 40 10 10          	testb  $0x10,0x10(%eax)
  403439:	74 0f                	je     40344a <_draw_item+0x14a>
  40343b:	be ff ff ff 00       	mov    $0xffffff,%esi
  403440:	c7 85 94 f4 ff ff 00 	movl   $0x800000,0xfffff494(%ebp)
  403447:	00 80 00 
		}

		hbrush = CreateSolidBrush(bkcolor);
  40344a:	83 ec 0c             	sub    $0xc,%esp
  40344d:	8b 8d 94 f4 ff ff    	mov    0xfffff494(%ebp),%ecx
  403453:	51                   	push   %ecx
  403454:	e8 77 45 00 00       	call   4079d0 <_CreateSolidBrush@4>
  403459:	89 c3                	mov    %eax,%ebx
		FillRect(dis->hDC, &focusRect, hbrush);
  40345b:	58                   	pop    %eax
  40345c:	8d 85 d8 f7 ff ff    	lea    0xfffff7d8(%ebp),%eax
  403462:	5a                   	pop    %edx
  403463:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403469:	53                   	push   %ebx
  40346a:	50                   	push   %eax
  40346b:	8b 42 18             	mov    0x18(%edx),%eax
  40346e:	50                   	push   %eax
  40346f:	e8 2c 42 00 00       	call   4076a0 <_FillRect@12>
		DeleteObject(hbrush);
  403474:	50                   	push   %eax
  403475:	50                   	push   %eax
  403476:	53                   	push   %ebx
  403477:	e8 64 45 00 00       	call   4079e0 <_DeleteObject@4>

		SetBkMode(dis->hDC, TRANSPARENT);
  40347c:	8b 8d a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%ecx
  403482:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  403489:	8b 59 18             	mov    0x18(%ecx),%ebx
  40348c:	53                   	push   %ebx
  40348d:	e8 5e 45 00 00       	call   4079f0 <_SetBkMode@8>
		SetTextColor(dis->hDC, textcolor);
  403492:	56                   	push   %esi
  403493:	8b b5 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%esi
  403499:	8b 4e 18             	mov    0x18(%esi),%ecx
  40349c:	51                   	push   %ecx
  40349d:	e8 5e 45 00 00       	call   407a00 <_SetTextColor@8>

		cx = pane->widths[col];
  4034a2:	8b 85 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%eax
  4034a8:	8b 58 08             	mov    0x8(%eax),%ebx

		if (cx && img!=IMG_NONE) {
  4034ab:	58                   	pop    %eax
  4034ac:	85 db                	test   %ebx,%ebx
  4034ae:	5a                   	pop    %edx
  4034af:	0f 95 c2             	setne  %dl
  4034b2:	83 bd 90 f4 ff ff ff 	cmpl   $0xffffffff,0xfffff490(%ebp)
  4034b9:	0f 95 c0             	setne  %al
  4034bc:	25 ff 00 00 00       	and    $0xff,%eax
  4034c1:	85 c2                	test   %eax,%edx
  4034c3:	0f 84 58 01 00 00    	je     403621 <_draw_item+0x321>
			if (cx > IMAGE_WIDTH)
  4034c9:	83 fb 10             	cmp    $0x10,%ebx
  4034cc:	7e 05                	jle    4034d3 <_draw_item+0x1d3>
				cx = IMAGE_WIDTH;
  4034ce:	bb 10 00 00 00       	mov    $0x10,%ebx

#ifdef _SHELL_FOLDERS
			if (entry->hicon && entry->hicon!=(HICON)-1)
  4034d3:	8b 55 08             	mov    0x8(%ebp),%edx
  4034d6:	8b 82 ac 02 00 00    	mov    0x2ac(%edx),%eax
  4034dc:	85 c0                	test   %eax,%eax
  4034de:	0f 95 c2             	setne  %dl
  4034e1:	40                   	inc    %eax
  4034e2:	0f 95 c0             	setne  %al
  4034e5:	25 ff 00 00 00       	and    $0xff,%eax
  4034ea:	85 c2                	test   %eax,%edx
  4034ec:	0f 84 3b 06 00 00    	je     403b2d <_draw_item+0x82d>
				DrawIconEx(dis->hDC, img_pos, dis->rcItem.top, entry->hicon, cx, GetSystemMetrics(SM_CYSMICON), 0, 0, DI_NORMAL);
  4034f2:	83 ec 0c             	sub    $0xc,%esp
  4034f5:	6a 03                	push   $0x3
  4034f7:	6a 00                	push   $0x0
  4034f9:	6a 00                	push   $0x0
  4034fb:	50                   	push   %eax
  4034fc:	6a 32                	push   $0x32
  4034fe:	e8 1d 40 00 00       	call   407520 <_GetSystemMetrics@4>
  403503:	8b 4d 08             	mov    0x8(%ebp),%ecx
  403506:	8b b5 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%esi
  40350c:	89 04 24             	mov    %eax,(%esp)
  40350f:	53                   	push   %ebx
  403510:	8b 81 ac 02 00 00    	mov    0x2ac(%ecx),%eax
  403516:	50                   	push   %eax
  403517:	8b 46 20             	mov    0x20(%esi),%eax
  40351a:	50                   	push   %eax
  40351b:	57                   	push   %edi
  40351c:	8b 7e 18             	mov    0x18(%esi),%edi
  40351f:	57                   	push   %edi
  403520:	e8 8b 41 00 00       	call   4076b0 <_DrawIconEx@36>
  403525:	83 c4 0c             	add    $0xc,%esp
  403528:	e9 f4 00 00 00       	jmp    403621 <_draw_item+0x321>
  40352d:	50                   	push   %eax
  40352e:	50                   	push   %eax
  40352f:	8b 45 08             	mov    0x8(%ebp),%eax
  403532:	83 c0 44             	add    $0x44,%eax
  403535:	6a 2e                	push   $0x2e
  403537:	50                   	push   %eax
  403538:	e8 d3 4d 00 00       	call   408310 <_wcsrchr>
  40353d:	83 c4 10             	add    $0x10,%esp
  403540:	85 c0                	test   %eax,%eax
  403542:	0f 84 b6 08 00 00    	je     403dfe <_draw_item+0xafe>
  403548:	8d bd d8 f5 ff ff    	lea    0xfffff5d8(%ebp),%edi
  40354e:	8d 58 02             	lea    0x2(%eax),%ebx
  403551:	89 fe                	mov    %edi,%esi
  403553:	eb 06                	jmp    40355b <_draw_item+0x25b>
  403555:	83 c6 02             	add    $0x2,%esi
  403558:	83 c3 02             	add    $0x2,%ebx
  40355b:	83 ec 0c             	sub    $0xc,%esp
  40355e:	66 8b 03             	mov    (%ebx),%ax
  403561:	25 ff ff 00 00       	and    $0xffff,%eax
  403566:	50                   	push   %eax
  403567:	e8 b4 4d 00 00       	call   408320 <_tolower>
  40356c:	83 c4 10             	add    $0x10,%esp
  40356f:	66 85 c0             	test   %ax,%ax
  403572:	66 89 06             	mov    %ax,(%esi)
  403575:	75 de                	jne    403555 <_draw_item+0x255>
  403577:	bb 80 a4 40 00       	mov    $0x40a480,%ebx
  40357c:	66 83 3d 80 a4 40 00 	cmpw   $0x0,0x40a480
  403583:	00 
  403584:	74 1d                	je     4035a3 <_draw_item+0x2a3>
  403586:	50                   	push   %eax
  403587:	50                   	push   %eax
  403588:	53                   	push   %ebx
  403589:	57                   	push   %edi
  40358a:	e8 31 4d 00 00       	call   4082c0 <_wcscmp>
  40358f:	83 c4 10             	add    $0x10,%esp
  403592:	85 c0                	test   %eax,%eax
  403594:	0f 84 49 0a 00 00    	je     403fe3 <_draw_item+0xce3>
  40359a:	83 c3 08             	add    $0x8,%ebx
  40359d:	66 83 3b 00          	cmpw   $0x0,(%ebx)
  4035a1:	75 e3                	jne    403586 <_draw_item+0x286>
  4035a3:	8b 8d a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%ecx
  4035a9:	c7 85 90 f4 ff ff 01 	movl   $0x1,0xfffff490(%ebp)
  4035b0:	00 00 00 
  4035b3:	8b 41 5c             	mov    0x5c(%ecx),%eax
  4035b6:	85 c0                	test   %eax,%eax
  4035b8:	0f 84 04 fe ff ff    	je     4033c2 <_draw_item+0xc2>
  4035be:	8b 75 08             	mov    0x8(%ebp),%esi
  4035c1:	85 f6                	test   %esi,%esi
  4035c3:	0f 84 56 05 00 00    	je     403b1f <_draw_item+0x81f>
  4035c9:	8b 55 08             	mov    0x8(%ebp),%edx
  4035cc:	8b 8d a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%ecx
  4035d2:	8b 42 14             	mov    0x14(%edx),%eax
  4035d5:	8b 59 1c             	mov    0x1c(%ecx),%ebx
  4035d8:	8d 14 c0             	lea    (%eax,%eax,8),%edx
  4035db:	8d 3c 50             	lea    (%eax,%edx,2),%edi
  4035de:	01 df                	add    %ebx,%edi
  4035e0:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  4035e4:	0f 84 b7 06 00 00    	je     403ca1 <_draw_item+0x9a1>
  4035ea:	8b 75 0c             	mov    0xc(%ebp),%esi
  4035ed:	85 f6                	test   %esi,%esi
  4035ef:	0f 94 c2             	sete   %dl
  4035f2:	83 7d 0c 0a          	cmpl   $0xa,0xc(%ebp)
  4035f6:	0f 94 c0             	sete   %al
  4035f9:	09 d0                	or     %edx,%eax
  4035fb:	a8 01                	test   $0x1,%al
  4035fd:	74 18                	je     403617 <_draw_item+0x317>
  4035ff:	8b 95 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%edx
  403605:	8d 47 0d             	lea    0xd(%edi),%eax
  403608:	39 42 08             	cmp    %eax,0x8(%edx)
  40360b:	7d 0a                	jge    403617 <_draw_item+0x317>
  40360d:	8b 8d 8c f4 ff ff    	mov    0xfffff48c(%ebp),%ecx
  403613:	89 44 8a 08          	mov    %eax,0x8(%edx,%ecx,4)
  403617:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  40361b:	0f 84 e1 fd ff ff    	je     403402 <_draw_item+0x102>
			else
#endif
				ImageList_DrawEx(Globals.himl, img, dis->hDC,
								 img_pos, dis->rcItem.top, cx,
								 IMAGE_HEIGHT, bkcolor, CLR_DEFAULT, ILD_NORMAL);
		}
	}

	if (!entry)
  403621:	8b 4d 08             	mov    0x8(%ebp),%ecx
  403624:	85 c9                	test   %ecx,%ecx
  403626:	0f 84 94 00 00 00    	je     4036c0 <_draw_item+0x3c0>
		return;

#ifdef _NO_EXTENSIONS
	if (img >= IMG_FOLDER_UP)
		return;
#endif

	col++;

	/* ouput file name */
	if (calcWidthCol == -1)
  40362c:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  403630:	0f 84 ac 04 00 00    	je     403ae2 <_draw_item+0x7e2>
		output_text(pane, dis, col, entry->data.cFileName, 0);
	else if (calcWidthCol==col || calcWidthCol==COLUMNS)
  403636:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
  40363a:	0f 94 c2             	sete   %dl
  40363d:	83 7d 0c 0a          	cmpl   $0xa,0xc(%ebp)
  403641:	0f 94 c0             	sete   %al
  403644:	09 d0                	or     %edx,%eax
  403646:	a8 01                	test   $0x1,%al
  403648:	0f 85 b8 02 00 00    	jne    403906 <_draw_item+0x606>
		calc_width(pane, dis, col, entry->data.cFileName);

	col++;
  40364e:	c7 85 8c f4 ff ff 02 	movl   $0x2,0xfffff48c(%ebp)
  403655:	00 00 00 

#ifdef _NO_EXTENSIONS
  if (!pane->treePane) {
#endif

        /* display file size */
	if (visible_cols & COL_SIZE) {
  403658:	f6 85 98 f4 ff ff 01 	testb  $0x1,0xfffff498(%ebp)
  40365f:	0f 85 47 02 00 00    	jne    4038ac <_draw_item+0x5ac>
#ifdef _NO_EXTENSIONS
		if (!(attrs&FILE_ATTRIBUTE_DIRECTORY))
#endif
		{
			ULONGLONG size;

			size = ((ULONGLONG)entry->data.nFileSizeHigh << 32) | entry->data.nFileSizeLow;

			_stprintf(buffer, sLongNumFmt, size);

			if (calcWidthCol == -1)
				output_number(pane, dis, col, buffer);
			else if (calcWidthCol==col || calcWidthCol==COLUMNS)
				calc_width(pane, dis, col, buffer);/*TODO: not in every case time enough */
		}

		col++;
	}

	/* display file date */
	if (visible_cols & (COL_DATE|COL_TIME)) {
  403665:	f6 85 98 f4 ff ff 06 	testb  $0x6,0xfffff498(%ebp)
  40366c:	0f 85 45 01 00 00    	jne    4037b7 <_draw_item+0x4b7>
#ifndef _NO_EXTENSIONS
		format_date(&entry->data.ftCreationTime, buffer, visible_cols);
		if (calcWidthCol == -1)
			output_text(pane, dis, col, buffer, 0);
		else if (calcWidthCol==col || calcWidthCol==COLUMNS)
			calc_width(pane, dis, col, buffer);
		col++;

		format_date(&entry->data.ftLastAccessTime, buffer, visible_cols);
		if (calcWidthCol == -1)
			output_text(pane, dis, col, buffer, 0);
		else if (calcWidthCol==col || calcWidthCol==COLUMNS)
			calc_width(pane, dis, col, buffer);
		col++;
#endif /* _NO_EXTENSIONS */

		format_date(&entry->data.ftLastWriteTime, buffer, visible_cols);
		if (calcWidthCol == -1)
			output_text(pane, dis, col, buffer, 0);
		else if (calcWidthCol==col || calcWidthCol==COLUMNS)
			calc_width(pane, dis, col, buffer);
		col++;
	}

#ifndef _NO_EXTENSIONS
	if (entry->bhfi_valid) {
  403672:	8b 75 08             	mov    0x8(%ebp),%esi
  403675:	8b 86 9c 02 00 00    	mov    0x29c(%esi),%eax
  40367b:	85 c0                	test   %eax,%eax
  40367d:	74 71                	je     4036f0 <_draw_item+0x3f0>
            ULONGLONG index = ((ULONGLONG)entry->bhfi.nFileIndexHigh << 32) | entry->bhfi.nFileIndexLow;
  40367f:	8b 86 94 02 00 00    	mov    0x294(%esi),%eax
  403685:	8b 8e 98 02 00 00    	mov    0x298(%esi),%ecx
  40368b:	89 c2                	mov    %eax,%edx
  40368d:	31 c0                	xor    %eax,%eax
  40368f:	31 db                	xor    %ebx,%ebx
  403691:	89 c6                	mov    %eax,%esi
  403693:	89 d7                	mov    %edx,%edi
  403695:	09 ce                	or     %ecx,%esi
  403697:	09 df                	or     %ebx,%edi

		if (visible_cols & COL_INDEX) {
  403699:	f6 85 98 f4 ff ff 20 	testb  $0x20,0xfffff498(%ebp)
  4036a0:	0f 85 9d 02 00 00    	jne    403943 <_draw_item+0x643>
			_stprintf(buffer, sLongHexFmt, index);

			if (calcWidthCol == -1)
				output_text(pane, dis, col, buffer, DT_RIGHT);
			else if (calcWidthCol==col || calcWidthCol==COLUMNS)
				calc_width(pane, dis, col, buffer);

			col++;
		}

		if (visible_cols & COL_LINKS) {
  4036a6:	f6 85 98 f4 ff ff 40 	testb  $0x40,0xfffff498(%ebp)
  4036ad:	0f 85 e7 02 00 00    	jne    40399a <_draw_item+0x69a>
			wsprintf(buffer, sNumFmt, entry->bhfi.nNumberOfLinks);

			if (calcWidthCol == -1)
				output_text(pane, dis, col, buffer, DT_CENTER);
			else if (calcWidthCol==col || calcWidthCol==COLUMNS)
				calc_width(pane, dis, col, buffer);

			col++;
		}
	} else
		col += 2;
#endif /* _NO_EXTENSIONS */

	/* show file attributes */
	if (visible_cols & COL_ATTRIBUTES) {
  4036b3:	f6 85 98 f4 ff ff 08 	testb  $0x8,0xfffff498(%ebp)
  4036ba:	75 4c                	jne    403708 <_draw_item+0x408>
  4036bc:	8d 74 26 00          	lea    0x0(%esi),%esi
#ifdef _NO_EXTENSIONS
		const static TCHAR s4Tabs[] = {' ','\t',' ','\t',' ','\t',' ','\t',' ','\0'};
		_tcscpy(buffer, s4Tabs);
#else
		const static TCHAR s11Tabs[] = {' ','\t',' ','\t',' ','\t',' ','\t',' ','\t',' ','\t',' ','\t',' ','\t',' ','\t',' ','\t',' ','\t',' ','\0'};
		_tcscpy(buffer, s11Tabs);
#endif

		if (attrs & FILE_ATTRIBUTE_NORMAL)					buffer[ 0] = 'N';
		else {
			if (attrs & FILE_ATTRIBUTE_READONLY)			buffer[ 2] = 'R';
			if (attrs & FILE_ATTRIBUTE_HIDDEN)				buffer[ 4] = 'H';
			if (attrs & FILE_ATTRIBUTE_SYSTEM)				buffer[ 6] = 'S';
			if (attrs & FILE_ATTRIBUTE_ARCHIVE)				buffer[ 8] = 'A';
			if (attrs & FILE_ATTRIBUTE_COMPRESSED)			buffer[10] = 'C';
#ifndef _NO_EXTENSIONS
			if (attrs & FILE_ATTRIBUTE_DIRECTORY)			buffer[12] = 'D';
			if (attrs & FILE_ATTRIBUTE_ENCRYPTED)			buffer[14] = 'E';
			if (attrs & FILE_ATTRIBUTE_TEMPORARY)			buffer[16] = 'T';
			if (attrs & FILE_ATTRIBUTE_SPARSE_FILE)			buffer[18] = 'P';
			if (attrs & FILE_ATTRIBUTE_REPARSE_POINT)		buffer[20] = 'Q';
			if (attrs & FILE_ATTRIBUTE_OFFLINE)				buffer[22] = 'O';
			if (attrs & FILE_ATTRIBUTE_NOT_CONTENT_INDEXED)	buffer[24] = 'X';
#endif /* _NO_EXTENSIONS */
		}

		if (calcWidthCol == -1)
			output_tabbed_text(pane, dis, col, buffer);
		else if (calcWidthCol==col || calcWidthCol==COLUMNS)
			calc_tabbed_width(pane, dis, col, buffer);

		col++;
	}

/*TODO
	if (flags.security) {
		const static TCHAR sSecTabs[] = {
			' ','\t',' ','\t',' ','\t',' ',
			' ','\t',' ',
			' ','\t',' ','\t',' ','\t',' ',
			' ','\t',' ',
			' ','\t',' ','\t',' ','\t',' ',
			'\0'
		};

		DWORD rights = get_access_mask();

		tcscpy(buffer, sSecTabs);

		if (rights & FILE_READ_DATA)			buffer[ 0] = 'R';
		if (rights & FILE_WRITE_DATA)			buffer[ 2] = 'W';
		if (rights & FILE_APPEND_DATA)			buffer[ 4] = 'A';
		if (rights & FILE_READ_EA)				{buffer[6] = 'entry'; buffer[ 7] = 'R';}
		if (rights & FILE_WRITE_EA)				{buffer[9] = 'entry'; buffer[10] = 'W';}
		if (rights & FILE_EXECUTE)				buffer[12] = 'X';
		if (rights & FILE_DELETE_CHILD)			buffer[14] = 'D';
		if (rights & FILE_READ_ATTRIBUTES)		{buffer[16] = 'a'; buffer[17] = 'R';}
		if (rights & FILE_WRITE_ATTRIBUTES)		{buffer[19] = 'a'; buffer[20] = 'W';}
		if (rights & WRITE_DAC)					buffer[22] = 'C';
		if (rights & WRITE_OWNER)				buffer[24] = 'O';
		if (rights & SYNCHRONIZE)				buffer[26] = 'S';

		output_text(dis, col++, buffer, DT_LEFT, 3, psize);
	}

	if (flags.description) {
		get_description(buffer);
		output_text(dis, col++, buffer, 0, psize);
	}
*/

#ifdef _NO_EXTENSIONS
  }

        /* draw focus frame */
	if ((dis->itemState&ODS_FOCUS) && calcWidthCol==-1) {
	        /* Currently [04/2000] Wine neither behaves exactly the same */
	        /* way as WIN 95 nor like Windows NT... */
		HGDIOBJ lastBrush;
		HPEN lastPen;
		HPEN hpen;

		if (!(GetVersion() & 0x80000000)) {	/* Windows NT? */
			LOGBRUSH lb = {PS_SOLID, RGB(255,255,255)};
			hpen = ExtCreatePen(PS_COSMETIC|PS_ALTERNATE, 1, &lb, 0, 0);
		} else
			hpen = CreatePen(PS_DOT, 0, RGB(255,255,255));

		lastPen = SelectPen(dis->hDC, hpen);
		lastBrush = SelectObject(dis->hDC, GetStockObject(HOLLOW_BRUSH));
		SetROP2(dis->hDC, R2_XORPEN);
		Rectangle(dis->hDC, focusRect.left, focusRect.top, focusRect.right, focusRect.bottom);
		SelectObject(dis->hDC, lastBrush);
		SelectObject(dis->hDC, lastPen);
		DeleteObject(hpen);
	}
#endif /* _NO_EXTENSIONS */
}
  4036c0:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4036c3:	5b                   	pop    %ebx
  4036c4:	5e                   	pop    %esi
  4036c5:	5f                   	pop    %edi
  4036c6:	5d                   	pop    %ebp
  4036c7:	c3                   	ret    
  4036c8:	66 83 79 48 00       	cmpw   $0x0,0x48(%ecx)
  4036cd:	0f 85 b6 fc ff ff    	jne    403389 <_draw_item+0x89>
  4036d3:	c7 85 90 f4 ff ff 08 	movl   $0x8,0xfffff490(%ebp)
  4036da:	00 00 00 
  4036dd:	8d 76 00             	lea    0x0(%esi),%esi
  4036e0:	8b b5 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%esi
  4036e6:	8b 46 5c             	mov    0x5c(%esi),%eax
  4036e9:	e9 c8 fe ff ff       	jmp    4035b6 <_draw_item+0x2b6>
  4036ee:	89 f6                	mov    %esi,%esi
  4036f0:	8b 85 8c f4 ff ff    	mov    0xfffff48c(%ebp),%eax
  4036f6:	83 c0 02             	add    $0x2,%eax
  4036f9:	89 85 8c f4 ff ff    	mov    %eax,0xfffff48c(%ebp)
  4036ff:	f6 85 98 f4 ff ff 08 	testb  $0x8,0xfffff498(%ebp)
  403706:	74 b8                	je     4036c0 <_draw_item+0x3c0>
  403708:	8d 9d e8 f7 ff ff    	lea    0xfffff7e8(%ebp),%ebx
  40370e:	50                   	push   %eax
  40370f:	50                   	push   %eax
  403710:	68 c0 a4 40 00       	push   $0x40a4c0
  403715:	53                   	push   %ebx
  403716:	e8 b5 4b 00 00       	call   4082d0 <_wcscpy>
  40371b:	83 c4 10             	add    $0x10,%esp
  40371e:	f7 85 9c f4 ff ff 80 	testl  $0x80,0xfffff49c(%ebp)
  403725:	00 00 00 
  403728:	0f 84 be 02 00 00    	je     4039ec <_draw_item+0x6ec>
  40372e:	66 c7 85 e8 f7 ff ff 	movw   $0x4e,0xfffff7e8(%ebp)
  403735:	4e 00 
  403737:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  40373b:	0f 84 b2 07 00 00    	je     403ef3 <_draw_item+0xbf3>
  403741:	8b 8d 8c f4 ff ff    	mov    0xfffff48c(%ebp),%ecx
  403747:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
  40374a:	0f 94 c2             	sete   %dl
  40374d:	83 7d 0c 0a          	cmpl   $0xa,0xc(%ebp)
  403751:	0f 94 c0             	sete   %al
  403754:	09 d0                	or     %edx,%eax
  403756:	a8 01                	test   $0x1,%al
  403758:	0f 84 62 ff ff ff    	je     4036c0 <_draw_item+0x3c0>
  40375e:	fc                   	cld    
  40375f:	31 c0                	xor    %eax,%eax
  403761:	8d bd a8 f4 ff ff    	lea    0xfffff4a8(%ebp),%edi
  403767:	b9 04 00 00 00       	mov    $0x4,%ecx
  40376c:	83 ec 0c             	sub    $0xc,%esp
  40376f:	f3 ab                	repz stos %eax,%es:(%edi)
  403771:	8b b5 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%esi
  403777:	8d 85 a8 f4 ff ff    	lea    0xfffff4a8(%ebp),%eax
  40377d:	68 e0 06 00 00       	push   $0x6e0
  403782:	50                   	push   %eax
  403783:	6a ff                	push   $0xffffffff
  403785:	53                   	push   %ebx
  403786:	8b 46 18             	mov    0x18(%esi),%eax
  403789:	50                   	push   %eax
  40378a:	e8 01 3f 00 00       	call   407690 <_DrawTextW@20>
  40378f:	8b 95 8c f4 ff ff    	mov    0xfffff48c(%ebp),%edx
  403795:	8b 8d a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%ecx
  40379b:	8b 85 b0 f4 ff ff    	mov    0xfffff4b0(%ebp),%eax
  4037a1:	83 c4 0c             	add    $0xc,%esp
  4037a4:	3b 44 91 08          	cmp    0x8(%ecx,%edx,4),%eax
  4037a8:	0f 8e 12 ff ff ff    	jle    4036c0 <_draw_item+0x3c0>
  4037ae:	89 44 91 08          	mov    %eax,0x8(%ecx,%edx,4)
  4037b2:	e9 09 ff ff ff       	jmp    4036c0 <_draw_item+0x3c0>
  4037b7:	83 ec 0c             	sub    $0xc,%esp
  4037ba:	8b 95 98 f4 ff ff    	mov    0xfffff498(%ebp),%edx
  4037c0:	8b 45 08             	mov    0x8(%ebp),%eax
  4037c3:	8d 9d e8 f7 ff ff    	lea    0xfffff7e8(%ebp),%ebx
  4037c9:	52                   	push   %edx
  4037ca:	83 c0 1c             	add    $0x1c,%eax
  4037cd:	89 da                	mov    %ebx,%edx
  4037cf:	e8 ac f9 ff ff       	call   403180 <_format_date>
  4037d4:	83 c4 10             	add    $0x10,%esp
  4037d7:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  4037db:	0f 84 ba 07 00 00    	je     403f9b <_draw_item+0xc9b>
  4037e1:	8b 85 8c f4 ff ff    	mov    0xfffff48c(%ebp),%eax
  4037e7:	39 45 0c             	cmp    %eax,0xc(%ebp)
  4037ea:	0f 94 c2             	sete   %dl
  4037ed:	83 7d 0c 0a          	cmpl   $0xa,0xc(%ebp)
  4037f1:	0f 94 c0             	sete   %al
  4037f4:	09 d0                	or     %edx,%eax
  4037f6:	a8 01                	test   $0x1,%al
  4037f8:	0f 85 80 04 00 00    	jne    403c7e <_draw_item+0x97e>
  4037fe:	83 ec 0c             	sub    $0xc,%esp
  403801:	8b 8d 8c f4 ff ff    	mov    0xfffff48c(%ebp),%ecx
  403807:	8b 95 98 f4 ff ff    	mov    0xfffff498(%ebp),%edx
  40380d:	8b 45 08             	mov    0x8(%ebp),%eax
  403810:	41                   	inc    %ecx
  403811:	52                   	push   %edx
  403812:	83 c0 24             	add    $0x24,%eax
  403815:	89 da                	mov    %ebx,%edx
  403817:	89 8d 8c f4 ff ff    	mov    %ecx,0xfffff48c(%ebp)
  40381d:	e8 5e f9 ff ff       	call   403180 <_format_date>
  403822:	83 c4 10             	add    $0x10,%esp
  403825:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  403829:	0f 84 48 07 00 00    	je     403f77 <_draw_item+0xc77>
  40382f:	8b 95 8c f4 ff ff    	mov    0xfffff48c(%ebp),%edx
  403835:	39 55 0c             	cmp    %edx,0xc(%ebp)
  403838:	0f 94 c2             	sete   %dl
  40383b:	83 7d 0c 0a          	cmpl   $0xa,0xc(%ebp)
  40383f:	0f 94 c0             	sete   %al
  403842:	09 d0                	or     %edx,%eax
  403844:	a8 01                	test   $0x1,%al
  403846:	0f 85 0f 04 00 00    	jne    403c5b <_draw_item+0x95b>
  40384c:	83 ec 0c             	sub    $0xc,%esp
  40384f:	8b b5 8c f4 ff ff    	mov    0xfffff48c(%ebp),%esi
  403855:	8b 45 08             	mov    0x8(%ebp),%eax
  403858:	8b 8d 98 f4 ff ff    	mov    0xfffff498(%ebp),%ecx
  40385e:	46                   	inc    %esi
  40385f:	83 c0 2c             	add    $0x2c,%eax
  403862:	51                   	push   %ecx
  403863:	89 da                	mov    %ebx,%edx
  403865:	89 b5 8c f4 ff ff    	mov    %esi,0xfffff48c(%ebp)
  40386b:	e8 10 f9 ff ff       	call   403180 <_format_date>
  403870:	83 c4 10             	add    $0x10,%esp
  403873:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  403877:	0f 84 42 07 00 00    	je     403fbf <_draw_item+0xcbf>
  40387d:	8b 8d 8c f4 ff ff    	mov    0xfffff48c(%ebp),%ecx
  403883:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
  403886:	0f 94 c2             	sete   %dl
  403889:	83 7d 0c 0a          	cmpl   $0xa,0xc(%ebp)
  40388d:	0f 94 c0             	sete   %al
  403890:	09 d0                	or     %edx,%eax
  403892:	a8 01                	test   $0x1,%al
  403894:	0f 85 a4 03 00 00    	jne    403c3e <_draw_item+0x93e>
  40389a:	8b 85 8c f4 ff ff    	mov    0xfffff48c(%ebp),%eax
  4038a0:	40                   	inc    %eax
  4038a1:	89 85 8c f4 ff ff    	mov    %eax,0xfffff48c(%ebp)
  4038a7:	e9 c6 fd ff ff       	jmp    403672 <_draw_item+0x372>
  4038ac:	8b 4d 08             	mov    0x8(%ebp),%ecx
  4038af:	31 db                	xor    %ebx,%ebx
  4038b1:	8b 41 34             	mov    0x34(%ecx),%eax
  4038b4:	8b 49 38             	mov    0x38(%ecx),%ecx
  4038b7:	89 c2                	mov    %eax,%edx
  4038b9:	31 c0                	xor    %eax,%eax
  4038bb:	09 da                	or     %ebx,%edx
  4038bd:	09 c8                	or     %ecx,%eax
  4038bf:	8d 9d e8 f7 ff ff    	lea    0xfffff7e8(%ebp),%ebx
  4038c5:	52                   	push   %edx
  4038c6:	50                   	push   %eax
  4038c7:	68 16 a4 40 00       	push   $0x40a416
  4038cc:	53                   	push   %ebx
  4038cd:	e8 de 49 00 00       	call   4082b0 <_swprintf>
  4038d2:	83 c4 10             	add    $0x10,%esp
  4038d5:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  4038d9:	0f 84 8a 02 00 00    	je     403b69 <_draw_item+0x869>
  4038df:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
  4038e3:	0f 94 c2             	sete   %dl
  4038e6:	83 7d 0c 0a          	cmpl   $0xa,0xc(%ebp)
  4038ea:	0f 94 c0             	sete   %al
  4038ed:	09 d0                	or     %edx,%eax
  4038ef:	a8 01                	test   $0x1,%al
  4038f1:	0f 85 e9 04 00 00    	jne    403de0 <_draw_item+0xae0>
  4038f7:	c7 85 8c f4 ff ff 03 	movl   $0x3,0xfffff48c(%ebp)
  4038fe:	00 00 00 
  403901:	e9 5f fd ff ff       	jmp    403665 <_draw_item+0x365>
  403906:	50                   	push   %eax
  403907:	50                   	push   %eax
  403908:	8b 45 08             	mov    0x8(%ebp),%eax
  40390b:	83 c0 44             	add    $0x44,%eax
  40390e:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403914:	50                   	push   %eax
  403915:	8b 85 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%eax
  40391b:	6a 01                	push   $0x1
  40391d:	e8 2e f9 ff ff       	call   403250 <_calc_width>
  403922:	83 c4 10             	add    $0x10,%esp
  403925:	e9 24 fd ff ff       	jmp    40364e <_draw_item+0x34e>
  40392a:	c7 85 9c f4 ff ff 00 	movl   $0x0,0xfffff49c(%ebp)
  403931:	00 00 00 
  403934:	c7 85 90 f4 ff ff ff 	movl   $0xffffffff,0xfffff490(%ebp)
  40393b:	ff ff ff 
  40393e:	e9 9d fd ff ff       	jmp    4036e0 <_draw_item+0x3e0>
  403943:	8d 9d e8 f7 ff ff    	lea    0xfffff7e8(%ebp),%ebx
  403949:	57                   	push   %edi
  40394a:	56                   	push   %esi
  40394b:	68 0e a4 40 00       	push   $0x40a40e
  403950:	53                   	push   %ebx
  403951:	e8 5a 49 00 00       	call   4082b0 <_swprintf>
  403956:	83 c4 10             	add    $0x10,%esp
  403959:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  40395d:	0f 84 f3 06 00 00    	je     404056 <_draw_item+0xd56>
  403963:	8b 85 8c f4 ff ff    	mov    0xfffff48c(%ebp),%eax
  403969:	39 45 0c             	cmp    %eax,0xc(%ebp)
  40396c:	0f 94 c2             	sete   %dl
  40396f:	83 7d 0c 0a          	cmpl   $0xa,0xc(%ebp)
  403973:	0f 94 c0             	sete   %al
  403976:	09 d0                	or     %edx,%eax
  403978:	a8 01                	test   $0x1,%al
  40397a:	0f 85 72 06 00 00    	jne    403ff2 <_draw_item+0xcf2>
  403980:	8b 9d 8c f4 ff ff    	mov    0xfffff48c(%ebp),%ebx
  403986:	43                   	inc    %ebx
  403987:	f6 85 98 f4 ff ff 40 	testb  $0x40,0xfffff498(%ebp)
  40398e:	89 9d 8c f4 ff ff    	mov    %ebx,0xfffff48c(%ebp)
  403994:	0f 84 19 fd ff ff    	je     4036b3 <_draw_item+0x3b3>
  40399a:	8b 55 08             	mov    0x8(%ebp),%edx
  40399d:	51                   	push   %ecx
  40399e:	8d 9d e8 f7 ff ff    	lea    0xfffff7e8(%ebp),%ebx
  4039a4:	8b 92 90 02 00 00    	mov    0x290(%edx),%edx
  4039aa:	52                   	push   %edx
  4039ab:	68 08 a4 40 00       	push   $0x40a408
  4039b0:	53                   	push   %ebx
  4039b1:	e8 0a 40 00 00       	call   4079c0 <_wsprintfW>
  4039b6:	83 c4 10             	add    $0x10,%esp
  4039b9:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
  4039bd:	0f 84 6f 06 00 00    	je     404032 <_draw_item+0xd32>
  4039c3:	8b 8d 8c f4 ff ff    	mov    0xfffff48c(%ebp),%ecx
  4039c9:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
  4039cc:	0f 94 c2             	sete   %dl
  4039cf:	83 7d 0c 0a          	cmpl   $0xa,0xc(%ebp)
  4039d3:	0f 94 c0             	sete   %al
  4039d6:	09 d0                	or     %edx,%eax
  4039d8:	a8 01                	test   $0x1,%al
  4039da:	0f 85 35 06 00 00    	jne    404015 <_draw_item+0xd15>
  4039e0:	8b 85 8c f4 ff ff    	mov    0xfffff48c(%ebp),%eax
  4039e6:	40                   	inc    %eax
  4039e7:	e9 0d fd ff ff       	jmp    4036f9 <_draw_item+0x3f9>
  4039ec:	f6 85 9c f4 ff ff 01 	testb  $0x1,0xfffff49c(%ebp)
  4039f3:	74 09                	je     4039fe <_draw_item+0x6fe>
  4039f5:	66 c7 85 ec f7 ff ff 	movw   $0x52,0xfffff7ec(%ebp)
  4039fc:	52 00 
  4039fe:	f6 85 9c f4 ff ff 02 	testb  $0x2,0xfffff49c(%ebp)
  403a05:	74 09                	je     403a10 <_draw_item+0x710>
  403a07:	66 c7 85 f0 f7 ff ff 	movw   $0x48,0xfffff7f0(%ebp)
  403a0e:	48 00 
  403a10:	f6 85 9c f4 ff ff 04 	testb  $0x4,0xfffff49c(%ebp)
  403a17:	74 09                	je     403a22 <_draw_item+0x722>
  403a19:	66 c7 85 f4 f7 ff ff 	movw   $0x53,0xfffff7f4(%ebp)
  403a20:	53 00 
  403a22:	f6 85 9c f4 ff ff 20 	testb  $0x20,0xfffff49c(%ebp)
  403a29:	74 09                	je     403a34 <_draw_item+0x734>
  403a2b:	66 c7 85 f8 f7 ff ff 	movw   $0x41,0xfffff7f8(%ebp)
  403a32:	41 00 
  403a34:	f7 85 9c f4 ff ff 00 	testl  $0x800,0xfffff49c(%ebp)
  403a3b:	08 00 00 
  403a3e:	74 09                	je     403a49 <_draw_item+0x749>
  403a40:	66 c7 85 fc f7 ff ff 	movw   $0x43,0xfffff7fc(%ebp)
  403a47:	43 00 
  403a49:	f6 85 9c f4 ff ff 10 	testb  $0x10,0xfffff49c(%ebp)
  403a50:	74 09                	je     403a5b <_draw_item+0x75b>
  403a52:	66 c7 85 00 f8 ff ff 	movw   $0x44,0xfffff800(%ebp)
  403a59:	44 00 
  403a5b:	f7 85 9c f4 ff ff 00 	testl  $0x4000,0xfffff49c(%ebp)
  403a62:	40 00 00 
  403a65:	74 09                	je     403a70 <_draw_item+0x770>
  403a67:	66 c7 85 04 f8 ff ff 	movw   $0x45,0xfffff804(%ebp)
  403a6e:	45 00 
  403a70:	f7 85 9c f4 ff ff 00 	testl  $0x100,0xfffff49c(%ebp)
  403a77:	01 00 00 
  403a7a:	74 09                	je     403a85 <_draw_item+0x785>
  403a7c:	66 c7 85 08 f8 ff ff 	movw   $0x54,0xfffff808(%ebp)
  403a83:	54 00 
  403a85:	f7 85 9c f4 ff ff 00 	testl  $0x200,0xfffff49c(%ebp)
  403a8c:	02 00 00 
  403a8f:	74 09                	je     403a9a <_draw_item+0x79a>
  403a91:	66 c7 85 0c f8 ff ff 	movw   $0x50,0xfffff80c(%ebp)
  403a98:	50 00 
  403a9a:	f7 85 9c f4 ff ff 00 	testl  $0x400,0xfffff49c(%ebp)
  403aa1:	04 00 00 
  403aa4:	74 09                	je     403aaf <_draw_item+0x7af>
  403aa6:	66 c7 85 10 f8 ff ff 	movw   $0x51,0xfffff810(%ebp)
  403aad:	51 00 
  403aaf:	f7 85 9c f4 ff ff 00 	testl  $0x1000,0xfffff49c(%ebp)
  403ab6:	10 00 00 
  403ab9:	74 09                	je     403ac4 <_draw_item+0x7c4>
  403abb:	66 c7 85 14 f8 ff ff 	movw   $0x4f,0xfffff814(%ebp)
  403ac2:	4f 00 
  403ac4:	f7 85 9c f4 ff ff 00 	testl  $0x2000,0xfffff49c(%ebp)
  403acb:	20 00 00 
  403ace:	0f 84 63 fc ff ff    	je     403737 <_draw_item+0x437>
  403ad4:	66 c7 85 18 f8 ff ff 	movw   $0x58,0xfffff818(%ebp)
  403adb:	58 00 
  403add:	e9 55 fc ff ff       	jmp    403737 <_draw_item+0x437>
  403ae2:	8b 45 08             	mov    0x8(%ebp),%eax
  403ae5:	83 c0 44             	add    $0x44,%eax
  403ae8:	52                   	push   %edx
  403ae9:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403aef:	6a 00                	push   $0x0
  403af1:	50                   	push   %eax
  403af2:	8b 85 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%eax
  403af8:	6a 01                	push   $0x1
  403afa:	e8 a1 f7 ff ff       	call   4032a0 <_output_text>
  403aff:	83 c4 10             	add    $0x10,%esp
  403b02:	e9 47 fb ff ff       	jmp    40364e <_draw_item+0x34e>
  403b07:	c7 85 90 f4 ff ff 09 	movl   $0x9,0xfffff490(%ebp)
  403b0e:	00 00 00 
  403b11:	8b 95 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%edx
  403b17:	8b 42 5c             	mov    0x5c(%edx),%eax
  403b1a:	e9 97 fa ff ff       	jmp    4035b6 <_draw_item+0x2b6>
  403b1f:	8b b5 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%esi
  403b25:	8b 7e 1c             	mov    0x1c(%esi),%edi
  403b28:	e9 ea fa ff ff       	jmp    403617 <_draw_item+0x317>
  403b2d:	8b 85 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%eax
  403b33:	8b 8d 94 f4 ff ff    	mov    0xfffff494(%ebp),%ecx
  403b39:	56                   	push   %esi
  403b3a:	56                   	push   %esi
  403b3b:	6a 00                	push   $0x0
  403b3d:	68 00 00 00 ff       	push   $0xff000000
  403b42:	51                   	push   %ecx
  403b43:	6a 0d                	push   $0xd
  403b45:	53                   	push   %ebx
  403b46:	8b 50 20             	mov    0x20(%eax),%edx
  403b49:	52                   	push   %edx
  403b4a:	57                   	push   %edi
  403b4b:	8b 40 18             	mov    0x18(%eax),%eax
  403b4e:	8b 3d c8 c2 40 00    	mov    0x40c2c8,%edi
  403b54:	50                   	push   %eax
  403b55:	8b 85 90 f4 ff ff    	mov    0xfffff490(%ebp),%eax
  403b5b:	50                   	push   %eax
  403b5c:	57                   	push   %edi
  403b5d:	e8 8e 3f 00 00       	call   407af0 <_ImageList_DrawEx@40>
  403b62:	5b                   	pop    %ebx
  403b63:	5e                   	pop    %esi
  403b64:	e9 b8 fa ff ff       	jmp    403621 <_draw_item+0x321>
  403b69:	8b b5 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%esi
  403b6f:	8b 8d a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%ecx
  403b75:	8d bd c8 f4 ff ff    	lea    0xfffff4c8(%ebp),%edi
  403b7b:	8b 56 1c             	mov    0x1c(%esi),%edx
  403b7e:	8b 41 38             	mov    0x38(%ecx),%eax
  403b81:	01 d0                	add    %edx,%eax
  403b83:	8b 0d c0 c2 40 00    	mov    0x40c2c0,%ecx
  403b89:	01 c8                	add    %ecx,%eax
  403b8b:	89 de                	mov    %ebx,%esi
  403b8d:	89 85 c8 f5 ff ff    	mov    %eax,0xfffff5c8(%ebp)
  403b93:	8b 85 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%eax
  403b99:	89 fb                	mov    %edi,%ebx
  403b9b:	8b 40 20             	mov    0x20(%eax),%eax
  403b9e:	89 85 cc f5 ff ff    	mov    %eax,0xfffff5cc(%ebp)
  403ba4:	8b 85 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%eax
  403baa:	03 50 3c             	add    0x3c(%eax),%edx
  403bad:	29 ca                	sub    %ecx,%edx
  403baf:	89 95 d0 f5 ff ff    	mov    %edx,0xfffff5d0(%ebp)
  403bb5:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403bbb:	8b 42 28             	mov    0x28(%edx),%eax
  403bbe:	89 85 d4 f5 ff ff    	mov    %eax,0xfffff5d4(%ebp)
  403bc4:	8b 85 e8 f7 ff ff    	mov    0xfffff7e8(%ebp),%eax
  403bca:	66 85 c0             	test   %ax,%ax
  403bcd:	0f 85 35 02 00 00    	jne    403e08 <_draw_item+0xb08>
  403bd3:	83 ec 0c             	sub    $0xc,%esp
  403bd6:	56                   	push   %esi
  403bd7:	e8 44 38 00 00       	call   407420 <_lstrlenW@4>
  403bdc:	89 c2                	mov    %eax,%edx
  403bde:	b8 03 00 00 00       	mov    $0x3,%eax
  403be3:	89 c1                	mov    %eax,%ecx
  403be5:	89 d0                	mov    %edx,%eax
  403be7:	c1 fa 1f             	sar    $0x1f,%edx
  403bea:	83 c4 0c             	add    $0xc,%esp
  403bed:	f7 f9                	idiv   %ecx
  403bef:	66 8b 06             	mov    (%esi),%ax
  403bf2:	66 85 c0             	test   %ax,%ax
  403bf5:	74 1b                	je     403c12 <_draw_item+0x912>
  403bf7:	4a                   	dec    %edx
  403bf8:	83 fa ff             	cmp    $0xffffffff,%edx
  403bfb:	0f 84 40 02 00 00    	je     403e41 <_draw_item+0xb41>
  403c01:	83 c6 02             	add    $0x2,%esi
  403c04:	66 89 03             	mov    %ax,(%ebx)
  403c07:	83 c3 02             	add    $0x2,%ebx
  403c0a:	66 8b 06             	mov    (%esi),%ax
  403c0d:	66 85 c0             	test   %ax,%ax
  403c10:	75 e5                	jne    403bf7 <_draw_item+0x8f7>
  403c12:	83 ec 0c             	sub    $0xc,%esp
  403c15:	29 fb                	sub    %edi,%ebx
  403c17:	8d 85 c8 f5 ff ff    	lea    0xfffff5c8(%ebp),%eax
  403c1d:	8b b5 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%esi
  403c23:	d1 fb                	sar    %ebx
  403c25:	68 22 88 00 00       	push   $0x8822
  403c2a:	50                   	push   %eax
  403c2b:	53                   	push   %ebx
  403c2c:	57                   	push   %edi
  403c2d:	8b 5e 18             	mov    0x18(%esi),%ebx
  403c30:	53                   	push   %ebx
  403c31:	e8 5a 3a 00 00       	call   407690 <_DrawTextW@20>
  403c36:	83 c4 0c             	add    $0xc,%esp
  403c39:	e9 b9 fc ff ff       	jmp    4038f7 <_draw_item+0x5f7>
  403c3e:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403c44:	50                   	push   %eax
  403c45:	50                   	push   %eax
  403c46:	8b 85 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%eax
  403c4c:	53                   	push   %ebx
  403c4d:	51                   	push   %ecx
  403c4e:	e8 fd f5 ff ff       	call   403250 <_calc_width>
  403c53:	83 c4 10             	add    $0x10,%esp
  403c56:	e9 3f fc ff ff       	jmp    40389a <_draw_item+0x59a>
  403c5b:	8b bd 8c f4 ff ff    	mov    0xfffff48c(%ebp),%edi
  403c61:	50                   	push   %eax
  403c62:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403c68:	50                   	push   %eax
  403c69:	8b 85 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%eax
  403c6f:	53                   	push   %ebx
  403c70:	57                   	push   %edi
  403c71:	e8 da f5 ff ff       	call   403250 <_calc_width>
  403c76:	83 c4 10             	add    $0x10,%esp
  403c79:	e9 ce fb ff ff       	jmp    40384c <_draw_item+0x54c>
  403c7e:	8b b5 8c f4 ff ff    	mov    0xfffff48c(%ebp),%esi
  403c84:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403c8a:	8b 85 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%eax
  403c90:	57                   	push   %edi
  403c91:	57                   	push   %edi
  403c92:	53                   	push   %ebx
  403c93:	56                   	push   %esi
  403c94:	e8 b7 f5 ff ff       	call   403250 <_calc_width>
  403c99:	83 c4 10             	add    $0x10,%esp
  403c9c:	e9 5d fb ff ff       	jmp    4037fe <_draw_item+0x4fe>
  403ca1:	8b 71 20             	mov    0x20(%ecx),%esi
  403ca4:	6a 00                	push   $0x0
  403ca6:	83 c6 06             	add    $0x6,%esi
  403ca9:	6a 00                	push   $0x0
  403cab:	89 b5 88 f4 ff ff    	mov    %esi,0xfffff488(%ebp)
  403cb1:	6a 00                	push   $0x0
  403cb3:	6a 00                	push   $0x0
  403cb5:	e8 56 3d 00 00       	call   407a10 <_CreateRectRgn@16>
  403cba:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403cc0:	8b b5 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%esi
  403cc6:	89 d1                	mov    %edx,%ecx
  403cc8:	89 85 84 f4 ff ff    	mov    %eax,0xfffff484(%ebp)
  403cce:	8b 42 1c             	mov    0x1c(%edx),%eax
  403cd1:	8b 52 20             	mov    0x20(%edx),%edx
  403cd4:	89 95 cc f5 ff ff    	mov    %edx,0xfffff5cc(%ebp)
  403cda:	8b 56 08             	mov    0x8(%esi),%edx
  403cdd:	89 85 c8 f5 ff ff    	mov    %eax,0xfffff5c8(%ebp)
  403ce3:	01 d0                	add    %edx,%eax
  403ce5:	83 ec 0c             	sub    $0xc,%esp
  403ce8:	89 85 d0 f5 ff ff    	mov    %eax,0xfffff5d0(%ebp)
  403cee:	8b 41 28             	mov    0x28(%ecx),%eax
  403cf1:	89 85 d4 f5 ff ff    	mov    %eax,0xfffff5d4(%ebp)
  403cf7:	8d 85 c8 f5 ff ff    	lea    0xfffff5c8(%ebp),%eax
  403cfd:	50                   	push   %eax
  403cfe:	e8 1d 3d 00 00       	call   407a20 <_CreateRectRgnIndirect@4>
  403d03:	8b b5 84 f4 ff ff    	mov    0xfffff484(%ebp),%esi
  403d09:	89 c3                	mov    %eax,%ebx
  403d0b:	58                   	pop    %eax
  403d0c:	8b 85 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%eax
  403d12:	56                   	push   %esi
  403d13:	8b 48 18             	mov    0x18(%eax),%ecx
  403d16:	51                   	push   %ecx
  403d17:	e8 14 3d 00 00       	call   407a30 <_GetClipRgn@8>
  403d1c:	5e                   	pop    %esi
  403d1d:	85 c0                	test   %eax,%eax
  403d1f:	5a                   	pop    %edx
  403d20:	0f 84 fa 00 00 00    	je     403e20 <_draw_item+0xb20>
  403d26:	52                   	push   %edx
  403d27:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403d2d:	6a 01                	push   $0x1
  403d2f:	53                   	push   %ebx
  403d30:	8d 77 f8             	lea    0xfffffff8(%edi),%esi
  403d33:	8b 42 18             	mov    0x18(%edx),%eax
  403d36:	50                   	push   %eax
  403d37:	e8 04 3d 00 00       	call   407a40 <_ExtSelectClipRgn@12>
  403d3c:	50                   	push   %eax
  403d3d:	50                   	push   %eax
  403d3e:	53                   	push   %ebx
  403d3f:	e8 9c 3c 00 00       	call   4079e0 <_DeleteObject@4>
  403d44:	8b 4d 08             	mov    0x8(%ebp),%ecx
  403d47:	83 c4 0c             	add    $0xc,%esp
  403d4a:	89 b5 80 f4 ff ff    	mov    %esi,0xfffff480(%ebp)
  403d50:	8b 59 08             	mov    0x8(%ecx),%ebx
  403d53:	85 db                	test   %ebx,%ebx
  403d55:	0f 84 fc 00 00 00    	je     403e57 <_draw_item+0xb57>
  403d5b:	8b 85 88 f4 ff ff    	mov    0xfffff488(%ebp),%eax
  403d61:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403d67:	6a 00                	push   $0x0
  403d69:	50                   	push   %eax
  403d6a:	56                   	push   %esi
  403d6b:	8b 42 18             	mov    0x18(%edx),%eax
  403d6e:	50                   	push   %eax
  403d6f:	e8 dc 3c 00 00       	call   407a50 <_MoveToEx@16>
  403d74:	8b 8d a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%ecx
  403d7a:	50                   	push   %eax
  403d7b:	8b 85 88 f4 ff ff    	mov    0xfffff488(%ebp),%eax
  403d81:	50                   	push   %eax
  403d82:	8d 47 fe             	lea    0xfffffffe(%edi),%eax
  403d85:	50                   	push   %eax
  403d86:	8b 71 18             	mov    0x18(%ecx),%esi
  403d89:	56                   	push   %esi
  403d8a:	e8 d1 3c 00 00       	call   407a60 <_LineTo@12>
  403d8f:	8b b5 80 f4 ff ff    	mov    0xfffff480(%ebp),%esi
  403d95:	59                   	pop    %ecx
  403d96:	eb 0b                	jmp    403da3 <_draw_item+0xaa3>
  403d98:	8b 5b 08             	mov    0x8(%ebx),%ebx
  403d9b:	85 db                	test   %ebx,%ebx
  403d9d:	0f 84 b4 00 00 00    	je     403e57 <_draw_item+0xb57>
  403da3:	8b 03                	mov    (%ebx),%eax
  403da5:	83 ee 13             	sub    $0x13,%esi
  403da8:	85 c0                	test   %eax,%eax
  403daa:	74 ec                	je     403d98 <_draw_item+0xa98>
  403dac:	f6 40 18 10          	testb  $0x10,0x18(%eax)
  403db0:	74 e6                	je     403d98 <_draw_item+0xa98>
  403db2:	8b 85 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%eax
  403db8:	6a 00                	push   $0x0
  403dba:	8b 50 20             	mov    0x20(%eax),%edx
  403dbd:	52                   	push   %edx
  403dbe:	56                   	push   %esi
  403dbf:	8b 40 18             	mov    0x18(%eax),%eax
  403dc2:	50                   	push   %eax
  403dc3:	e8 88 3c 00 00       	call   407a50 <_MoveToEx@16>
  403dc8:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403dce:	50                   	push   %eax
  403dcf:	8b 42 28             	mov    0x28(%edx),%eax
  403dd2:	50                   	push   %eax
  403dd3:	56                   	push   %esi
  403dd4:	8b 42 18             	mov    0x18(%edx),%eax
  403dd7:	50                   	push   %eax
  403dd8:	e8 83 3c 00 00       	call   407a60 <_LineTo@12>
  403ddd:	58                   	pop    %eax
  403dde:	eb b8                	jmp    403d98 <_draw_item+0xa98>
  403de0:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403de6:	8b 85 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%eax
  403dec:	51                   	push   %ecx
  403ded:	51                   	push   %ecx
  403dee:	53                   	push   %ebx
  403def:	6a 02                	push   $0x2
  403df1:	e8 5a f4 ff ff       	call   403250 <_calc_width>
  403df6:	83 c4 10             	add    $0x10,%esp
  403df9:	e9 f9 fa ff ff       	jmp    4038f7 <_draw_item+0x5f7>
  403dfe:	b8 06 a4 40 00       	mov    $0x40a406,%eax
  403e03:	e9 40 f7 ff ff       	jmp    403548 <_draw_item+0x248>
  403e08:	8d b5 ea f7 ff ff    	lea    0xfffff7ea(%ebp),%esi
  403e0e:	8d 9d ca f4 ff ff    	lea    0xfffff4ca(%ebp),%ebx
  403e14:	66 89 85 c8 f4 ff ff 	mov    %ax,0xfffff4c8(%ebp)
  403e1b:	e9 b3 fd ff ff       	jmp    403bd3 <_draw_item+0x8d3>
  403e20:	83 ec 0c             	sub    $0xc,%esp
  403e23:	8b 8d 84 f4 ff ff    	mov    0xfffff484(%ebp),%ecx
  403e29:	51                   	push   %ecx
  403e2a:	e8 b1 3b 00 00       	call   4079e0 <_DeleteObject@4>
  403e2f:	83 c4 0c             	add    $0xc,%esp
  403e32:	c7 85 84 f4 ff ff 00 	movl   $0x0,0xfffff484(%ebp)
  403e39:	00 00 00 
  403e3c:	e9 e5 fe ff ff       	jmp    403d26 <_draw_item+0xa26>
  403e41:	66 a1 bc c2 40 00    	mov    0x40c2bc,%ax
  403e47:	ba 03 00 00 00       	mov    $0x3,%edx
  403e4c:	66 89 03             	mov    %ax,(%ebx)
  403e4f:	83 c3 02             	add    $0x2,%ebx
  403e52:	e9 98 fd ff ff       	jmp    403bef <_draw_item+0x8ef>
  403e57:	8b 8d a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%ecx
  403e5d:	6a 00                	push   $0x0
  403e5f:	8b b5 80 f4 ff ff    	mov    0xfffff480(%ebp),%esi
  403e65:	8b 59 20             	mov    0x20(%ecx),%ebx
  403e68:	53                   	push   %ebx
  403e69:	56                   	push   %esi
  403e6a:	8b 51 18             	mov    0x18(%ecx),%edx
  403e6d:	52                   	push   %edx
  403e6e:	e8 dd 3b 00 00       	call   407a50 <_MoveToEx@16>
  403e73:	50                   	push   %eax
  403e74:	8b 85 88 f4 ff ff    	mov    0xfffff488(%ebp),%eax
  403e7a:	50                   	push   %eax
  403e7b:	8b 85 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%eax
  403e81:	56                   	push   %esi
  403e82:	8b 40 18             	mov    0x18(%eax),%eax
  403e85:	50                   	push   %eax
  403e86:	e8 d5 3b 00 00       	call   407a60 <_LineTo@12>
  403e8b:	8b 55 08             	mov    0x8(%ebp),%edx
  403e8e:	58                   	pop    %eax
  403e8f:	8b 02                	mov    (%edx),%eax
  403e91:	85 c0                	test   %eax,%eax
  403e93:	74 0a                	je     403e9f <_draw_item+0xb9f>
  403e95:	f6 40 18 10          	testb  $0x10,0x18(%eax)
  403e99:	0f 85 18 02 00 00    	jne    4040b7 <_draw_item+0xdb7>
  403e9f:	8b 75 08             	mov    0x8(%ebp),%esi
  403ea2:	8b 56 04             	mov    0x4(%esi),%edx
  403ea5:	85 d2                	test   %edx,%edx
  403ea7:	74 0b                	je     403eb4 <_draw_item+0xbb4>
  403ea9:	8b 46 0c             	mov    0xc(%esi),%eax
  403eac:	85 c0                	test   %eax,%eax
  403eae:	0f 85 c6 01 00 00    	jne    40407a <_draw_item+0xd7a>
  403eb4:	8b 9d 84 f4 ff ff    	mov    0xfffff484(%ebp),%ebx
  403eba:	56                   	push   %esi
  403ebb:	56                   	push   %esi
  403ebc:	8b b5 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%esi
  403ec2:	53                   	push   %ebx
  403ec3:	8b 4e 18             	mov    0x18(%esi),%ecx
  403ec6:	51                   	push   %ecx
  403ec7:	e8 a4 3b 00 00       	call   407a70 <_SelectClipRgn@8>
  403ecc:	58                   	pop    %eax
  403ecd:	8b 85 84 f4 ff ff    	mov    0xfffff484(%ebp),%eax
  403ed3:	5a                   	pop    %edx
  403ed4:	85 c0                	test   %eax,%eax
  403ed6:	0f 84 26 f5 ff ff    	je     403402 <_draw_item+0x102>
  403edc:	83 ec 0c             	sub    $0xc,%esp
  403edf:	8b 85 84 f4 ff ff    	mov    0xfffff484(%ebp),%eax
  403ee5:	50                   	push   %eax
  403ee6:	e8 f5 3a 00 00       	call   4079e0 <_DeleteObject@4>
  403eeb:	83 c4 0c             	add    $0xc,%esp
  403eee:	e9 0f f5 ff ff       	jmp    403402 <_draw_item+0x102>
  403ef3:	8b b5 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%esi
  403ef9:	8b 8d 8c f4 ff ff    	mov    0xfffff48c(%ebp),%ecx
  403eff:	83 ec 0c             	sub    $0xc,%esp
  403f02:	8b 56 1c             	mov    0x1c(%esi),%edx
  403f05:	8b b5 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%esi
  403f0b:	8b 44 8e 30          	mov    0x30(%esi,%ecx,4),%eax
  403f0f:	8b 0d c0 c2 40 00    	mov    0x40c2c0,%ecx
  403f15:	8b b5 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%esi
  403f1b:	01 d0                	add    %edx,%eax
  403f1d:	01 c8                	add    %ecx,%eax
  403f1f:	89 85 b8 f4 ff ff    	mov    %eax,0xfffff4b8(%ebp)
  403f25:	8b 46 20             	mov    0x20(%esi),%eax
  403f28:	89 85 bc f4 ff ff    	mov    %eax,0xfffff4bc(%ebp)
  403f2e:	8b b5 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%esi
  403f34:	8b 85 8c f4 ff ff    	mov    0xfffff48c(%ebp),%eax
  403f3a:	8b 7c 86 34          	mov    0x34(%esi,%eax,4),%edi
  403f3e:	01 fa                	add    %edi,%edx
  403f40:	29 ca                	sub    %ecx,%edx
  403f42:	89 95 c0 f4 ff ff    	mov    %edx,0xfffff4c0(%ebp)
  403f48:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403f4e:	8b 42 28             	mov    0x28(%edx),%eax
  403f51:	68 e0 02 00 00       	push   $0x2e0
  403f56:	89 85 c4 f4 ff ff    	mov    %eax,0xfffff4c4(%ebp)
  403f5c:	8d 85 b8 f4 ff ff    	lea    0xfffff4b8(%ebp),%eax
  403f62:	50                   	push   %eax
  403f63:	6a ff                	push   $0xffffffff
  403f65:	53                   	push   %ebx
  403f66:	8b 52 18             	mov    0x18(%edx),%edx
  403f69:	52                   	push   %edx
  403f6a:	e8 21 37 00 00       	call   407690 <_DrawTextW@20>
  403f6f:	83 c4 0c             	add    $0xc,%esp
  403f72:	e9 49 f7 ff ff       	jmp    4036c0 <_draw_item+0x3c0>
  403f77:	50                   	push   %eax
  403f78:	8b 85 8c f4 ff ff    	mov    0xfffff48c(%ebp),%eax
  403f7e:	6a 00                	push   $0x0
  403f80:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403f86:	53                   	push   %ebx
  403f87:	50                   	push   %eax
  403f88:	8b 85 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%eax
  403f8e:	e8 0d f3 ff ff       	call   4032a0 <_output_text>
  403f93:	83 c4 10             	add    $0x10,%esp
  403f96:	e9 b1 f8 ff ff       	jmp    40384c <_draw_item+0x54c>
  403f9b:	50                   	push   %eax
  403f9c:	8b 85 8c f4 ff ff    	mov    0xfffff48c(%ebp),%eax
  403fa2:	6a 00                	push   $0x0
  403fa4:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403faa:	53                   	push   %ebx
  403fab:	50                   	push   %eax
  403fac:	8b 85 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%eax
  403fb2:	e8 e9 f2 ff ff       	call   4032a0 <_output_text>
  403fb7:	83 c4 10             	add    $0x10,%esp
  403fba:	e9 3f f8 ff ff       	jmp    4037fe <_draw_item+0x4fe>
  403fbf:	8b 85 8c f4 ff ff    	mov    0xfffff48c(%ebp),%eax
  403fc5:	52                   	push   %edx
  403fc6:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403fcc:	6a 00                	push   $0x0
  403fce:	53                   	push   %ebx
  403fcf:	50                   	push   %eax
  403fd0:	8b 85 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%eax
  403fd6:	e8 c5 f2 ff ff       	call   4032a0 <_output_text>
  403fdb:	83 c4 10             	add    $0x10,%esp
  403fde:	e9 b7 f8 ff ff       	jmp    40389a <_draw_item+0x59a>
  403fe3:	c7 85 90 f4 ff ff 02 	movl   $0x2,0xfffff490(%ebp)
  403fea:	00 00 00 
  403fed:	e9 1f fb ff ff       	jmp    403b11 <_draw_item+0x811>
  403ff2:	8b b5 8c f4 ff ff    	mov    0xfffff48c(%ebp),%esi
  403ff8:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  403ffe:	8b 85 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%eax
  404004:	57                   	push   %edi
  404005:	57                   	push   %edi
  404006:	53                   	push   %ebx
  404007:	56                   	push   %esi
  404008:	e8 43 f2 ff ff       	call   403250 <_calc_width>
  40400d:	83 c4 10             	add    $0x10,%esp
  404010:	e9 6b f9 ff ff       	jmp    403980 <_draw_item+0x680>
  404015:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  40401b:	50                   	push   %eax
  40401c:	50                   	push   %eax
  40401d:	8b 85 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%eax
  404023:	53                   	push   %ebx
  404024:	51                   	push   %ecx
  404025:	e8 26 f2 ff ff       	call   403250 <_calc_width>
  40402a:	83 c4 10             	add    $0x10,%esp
  40402d:	e9 ae f9 ff ff       	jmp    4039e0 <_draw_item+0x6e0>
  404032:	50                   	push   %eax
  404033:	8b 85 8c f4 ff ff    	mov    0xfffff48c(%ebp),%eax
  404039:	6a 01                	push   $0x1
  40403b:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  404041:	53                   	push   %ebx
  404042:	50                   	push   %eax
  404043:	8b 85 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%eax
  404049:	e8 52 f2 ff ff       	call   4032a0 <_output_text>
  40404e:	83 c4 10             	add    $0x10,%esp
  404051:	e9 8a f9 ff ff       	jmp    4039e0 <_draw_item+0x6e0>
  404056:	50                   	push   %eax
  404057:	8b 85 8c f4 ff ff    	mov    0xfffff48c(%ebp),%eax
  40405d:	6a 02                	push   $0x2
  40405f:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  404065:	53                   	push   %ebx
  404066:	50                   	push   %eax
  404067:	8b 85 a4 f4 ff ff    	mov    0xfffff4a4(%ebp),%eax
  40406d:	e8 2e f2 ff ff       	call   4032a0 <_output_text>
  404072:	83 c4 10             	add    $0x10,%esp
  404075:	e9 06 f9 ff ff       	jmp    403980 <_draw_item+0x680>
  40407a:	8b 95 a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%edx
  404080:	6a 00                	push   $0x0
  404082:	8b b5 80 f4 ff ff    	mov    0xfffff480(%ebp),%esi
  404088:	8b 42 20             	mov    0x20(%edx),%eax
  40408b:	83 c6 13             	add    $0x13,%esi
  40408e:	83 c0 0d             	add    $0xd,%eax
  404091:	50                   	push   %eax
  404092:	56                   	push   %esi
  404093:	8b 42 18             	mov    0x18(%edx),%eax
  404096:	50                   	push   %eax
  404097:	e8 b4 39 00 00       	call   407a50 <_MoveToEx@16>
  40409c:	8b 8d a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%ecx
  4040a2:	50                   	push   %eax
  4040a3:	8b 41 28             	mov    0x28(%ecx),%eax
  4040a6:	50                   	push   %eax
  4040a7:	56                   	push   %esi
  4040a8:	8b 41 18             	mov    0x18(%ecx),%eax
  4040ab:	50                   	push   %eax
  4040ac:	e8 af 39 00 00       	call   407a60 <_LineTo@12>
  4040b1:	58                   	pop    %eax
  4040b2:	e9 fd fd ff ff       	jmp    403eb4 <_draw_item+0xbb4>
  4040b7:	8b 8d a0 f4 ff ff    	mov    0xfffff4a0(%ebp),%ecx
  4040bd:	50                   	push   %eax
  4040be:	8b 41 28             	mov    0x28(%ecx),%eax
  4040c1:	50                   	push   %eax
  4040c2:	56                   	push   %esi
  4040c3:	8b 59 18             	mov    0x18(%ecx),%ebx
  4040c6:	53                   	push   %ebx
  4040c7:	e8 94 39 00 00       	call   407a60 <_LineTo@12>
  4040cc:	59                   	pop    %ecx
  4040cd:	e9 cd fd ff ff       	jmp    403e9f <_draw_item+0xb9f>
  4040d2:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  4040d9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004040e0 <_calc_widths>:
  4040e0:	55                   	push   %ebp
  4040e1:	89 e5                	mov    %esp,%ebp
  4040e3:	57                   	push   %edi
  4040e4:	56                   	push   %esi
  4040e5:	53                   	push   %ebx
  4040e6:	81 ec bc 00 00 00    	sub    $0xbc,%esp
  4040ec:	89 c3                	mov    %eax,%ebx
  4040ee:	a1 c0 c2 40 00       	mov    0x40c2c0,%eax
  4040f3:	89 95 54 ff ff ff    	mov    %edx,0xffffff54(%ebp)
  4040f9:	8d 04 40             	lea    (%eax,%eax,2),%eax
  4040fc:	89 85 50 ff ff ff    	mov    %eax,0xffffff50(%ebp)
  404102:	6a 00                	push   $0x0
  404104:	6a 00                	push   $0x0
  404106:	68 8b 01 00 00       	push   $0x18b
  40410b:	8b 03                	mov    (%ebx),%eax
  40410d:	50                   	push   %eax
  40410e:	e8 3d 34 00 00       	call   407550 <_SendMessageW@16>
  404113:	89 85 4c ff ff ff    	mov    %eax,0xffffff4c(%ebp)
  404119:	8b 85 54 ff ff ff    	mov    0xffffff54(%ebp),%eax
  40411f:	85 c0                	test   %eax,%eax
  404121:	75 4a                	jne    40416d <_calc_widths+0x8d>
  404123:	8b 43 08             	mov    0x8(%ebx),%eax
  404126:	8d 7d 88             	lea    0xffffff88(%ebp),%edi
  404129:	89 45 b8             	mov    %eax,0xffffffb8(%ebp)
  40412c:	8d 73 30             	lea    0x30(%ebx),%esi
  40412f:	8b 43 0c             	mov    0xc(%ebx),%eax
  404132:	b9 0b 00 00 00       	mov    $0xb,%ecx
  404137:	89 45 bc             	mov    %eax,0xffffffbc(%ebp)
  40413a:	8b 43 10             	mov    0x10(%ebx),%eax
  40413d:	89 45 c0             	mov    %eax,0xffffffc0(%ebp)
  404140:	8b 43 14             	mov    0x14(%ebx),%eax
  404143:	89 45 c4             	mov    %eax,0xffffffc4(%ebp)
  404146:	8b 43 18             	mov    0x18(%ebx),%eax
  404149:	89 45 c8             	mov    %eax,0xffffffc8(%ebp)
  40414c:	8b 43 1c             	mov    0x1c(%ebx),%eax
  40414f:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
  404152:	8b 43 20             	mov    0x20(%ebx),%eax
  404155:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
  404158:	8b 43 24             	mov    0x24(%ebx),%eax
  40415b:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
  40415e:	8b 43 28             	mov    0x28(%ebx),%eax
  404161:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
  404164:	8b 43 2c             	mov    0x2c(%ebx),%eax
  404167:	fc                   	cld    
  404168:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
  40416b:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
  40416d:	31 d2                	xor    %edx,%edx
  40416f:	90                   	nop    
  404170:	c7 44 93 08 00 00 00 	movl   $0x0,0x8(%ebx,%edx,4)
  404177:	00 
  404178:	42                   	inc    %edx
  404179:	83 fa 09             	cmp    $0x9,%edx
  40417c:	7e f2                	jle    404170 <_calc_widths+0x90>
  40417e:	83 ec 0c             	sub    $0xc,%esp
  404181:	8b 3b                	mov    (%ebx),%edi
  404183:	57                   	push   %edi
  404184:	e8 37 35 00 00       	call   4076c0 <_GetDC@4>
  404189:	8b 0d b8 c2 40 00    	mov    0x40c2b8,%ecx
  40418f:	5e                   	pop    %esi
  404190:	51                   	push   %ecx
  404191:	89 c7                	mov    %eax,%edi
  404193:	50                   	push   %eax
  404194:	e8 e7 38 00 00       	call   407a80 <_SelectObject@8>
  404199:	31 f6                	xor    %esi,%esi
  40419b:	89 85 48 ff ff ff    	mov    %eax,0xffffff48(%ebp)
  4041a1:	58                   	pop    %eax
  4041a2:	5a                   	pop    %edx
  4041a3:	e9 8b 00 00 00       	jmp    404233 <_calc_widths+0x153>
  4041a8:	6a 00                	push   $0x0
  4041aa:	56                   	push   %esi
  4041ab:	68 99 01 00 00       	push   $0x199
  4041b0:	46                   	inc    %esi
  4041b1:	8b 0b                	mov    (%ebx),%ecx
  4041b3:	51                   	push   %ecx
  4041b4:	e8 97 33 00 00       	call   407550 <_SendMessageW@16>
  4041b9:	8b 13                	mov    (%ebx),%edx
  4041bb:	c7 85 58 ff ff ff 00 	movl   $0x0,0xffffff58(%ebp)
  4041c2:	00 00 00 
  4041c5:	89 95 6c ff ff ff    	mov    %edx,0xffffff6c(%ebp)
  4041cb:	c7 85 5c ff ff ff 00 	movl   $0x0,0xffffff5c(%ebp)
  4041d2:	00 00 00 
  4041d5:	c7 85 60 ff ff ff 00 	movl   $0x0,0xffffff60(%ebp)
  4041dc:	00 00 00 
  4041df:	c7 85 64 ff ff ff 00 	movl   $0x0,0xffffff64(%ebp)
  4041e6:	00 00 00 
  4041e9:	c7 85 68 ff ff ff 00 	movl   $0x0,0xffffff68(%ebp)
  4041f0:	00 00 00 
  4041f3:	89 bd 70 ff ff ff    	mov    %edi,0xffffff70(%ebp)
  4041f9:	c7 85 74 ff ff ff 00 	movl   $0x0,0xffffff74(%ebp)
  404200:	00 00 00 
  404203:	c7 85 78 ff ff ff 00 	movl   $0x0,0xffffff78(%ebp)
  40420a:	00 00 00 
  40420d:	c7 85 7c ff ff ff 00 	movl   $0x0,0xffffff7c(%ebp)
  404214:	00 00 00 
  404217:	c7 45 80 00 00 00 00 	movl   $0x0,0xffffff80(%ebp)
  40421e:	52                   	push   %edx
  40421f:	52                   	push   %edx
  404220:	8d 95 58 ff ff ff    	lea    0xffffff58(%ebp),%edx
  404226:	6a 0a                	push   $0xa
  404228:	50                   	push   %eax
  404229:	89 d8                	mov    %ebx,%eax
  40422b:	e8 d0 f0 ff ff       	call   403300 <_draw_item>
  404230:	83 c4 10             	add    $0x10,%esp
  404233:	3b b5 4c ff ff ff    	cmp    0xffffff4c(%ebp),%esi
  404239:	0f 8c 69 ff ff ff    	jl     4041a8 <_calc_widths+0xc8>
  40423f:	50                   	push   %eax
  404240:	50                   	push   %eax
  404241:	8b 85 48 ff ff ff    	mov    0xffffff48(%ebp),%eax
  404247:	50                   	push   %eax
  404248:	57                   	push   %edi
  404249:	e8 32 38 00 00       	call   407a80 <_SelectObject@8>
  40424e:	57                   	push   %edi
  40424f:	8b 03                	mov    (%ebx),%eax
  404251:	50                   	push   %eax
  404252:	e8 79 34 00 00       	call   4076d0 <_ReleaseDC@8>
  404257:	31 c9                	xor    %ecx,%ecx
  404259:	5f                   	pop    %edi
  40425a:	31 d2                	xor    %edx,%edx
  40425c:	58                   	pop    %eax
  40425d:	8d 76 00             	lea    0x0(%esi),%esi
  404260:	8b 44 93 08          	mov    0x8(%ebx,%edx,4),%eax
  404264:	89 4c 93 30          	mov    %ecx,0x30(%ebx,%edx,4)
  404268:	85 c0                	test   %eax,%eax
  40426a:	74 16                	je     404282 <_calc_widths+0x1a2>
  40426c:	8b b5 50 ff ff ff    	mov    0xffffff50(%ebp),%esi
  404272:	01 f0                	add    %esi,%eax
  404274:	83 f8 0f             	cmp    $0xf,%eax
  404277:	7f 05                	jg     40427e <_calc_widths+0x19e>
  404279:	b8 10 00 00 00       	mov    $0x10,%eax
  40427e:	89 44 93 08          	mov    %eax,0x8(%ebx,%edx,4)
  404282:	42                   	inc    %edx
  404283:	01 c1                	add    %eax,%ecx
  404285:	83 fa 09             	cmp    $0x9,%edx
  404288:	7e d6                	jle    404260 <_calc_widths+0x180>
  40428a:	89 4b 58             	mov    %ecx,0x58(%ebx)
  40428d:	6a 00                	push   $0x0
  40428f:	51                   	push   %ecx
  404290:	68 94 01 00 00       	push   $0x194
  404295:	8b 13                	mov    (%ebx),%edx
  404297:	8d 75 b8             	lea    0xffffffb8(%ebp),%esi
  40429a:	52                   	push   %edx
  40429b:	e8 b0 32 00 00       	call   407550 <_SendMessageW@16>
  4042a0:	fc                   	cld    
  4042a1:	b9 28 00 00 00       	mov    $0x28,%ecx
  4042a6:	8d 7b 08             	lea    0x8(%ebx),%edi
  4042a9:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
  4042ab:	0f 97 c2             	seta   %dl
  4042ae:	0f 92 c0             	setb   %al
  4042b1:	31 c9                	xor    %ecx,%ecx
  4042b3:	38 c2                	cmp    %al,%dl
  4042b5:	74 3c                	je     4042f3 <_calc_widths+0x213>
  4042b7:	8b 85 54 ff ff ff    	mov    0xffffff54(%ebp),%eax
  4042bd:	85 c0                	test   %eax,%eax
  4042bf:	75 3c                	jne    4042fd <_calc_widths+0x21d>
  4042c1:	8b 45 b8             	mov    0xffffffb8(%ebp),%eax
  4042c4:	89 85 44 ff ff ff    	mov    %eax,0xffffff44(%ebp)
  4042ca:	39 43 08             	cmp    %eax,0x8(%ebx)
  4042cd:	7d 2e                	jge    4042fd <_calc_widths+0x21d>
  4042cf:	8d 45 bc             	lea    0xffffffbc(%ebp),%eax
  4042d2:	8d 7b 0c             	lea    0xc(%ebx),%edi
  4042d5:	b1 24                	mov    $0x24,%cl
  4042d7:	89 c6                	mov    %eax,%esi
  4042d9:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
  4042db:	75 20                	jne    4042fd <_calc_widths+0x21d>
  4042dd:	8b 85 44 ff ff ff    	mov    0xffffff44(%ebp),%eax
  4042e3:	8d 7b 30             	lea    0x30(%ebx),%edi
  4042e6:	89 43 08             	mov    %eax,0x8(%ebx)
  4042e9:	8d 75 88             	lea    0xffffff88(%ebp),%esi
  4042ec:	b9 0b 00 00 00       	mov    $0xb,%ecx
  4042f1:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
  4042f3:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4042f6:	89 c8                	mov    %ecx,%eax
  4042f8:	5b                   	pop    %ebx
  4042f9:	5e                   	pop    %esi
  4042fa:	5f                   	pop    %edi
  4042fb:	5d                   	pop    %ebp
  4042fc:	c3                   	ret    
  4042fd:	50                   	push   %eax
  4042fe:	6a 01                	push   $0x1
  404300:	6a 00                	push   $0x0
  404302:	8b 03                	mov    (%ebx),%eax
  404304:	50                   	push   %eax
  404305:	e8 d6 33 00 00       	call   4076e0 <_InvalidateRect@12>
  40430a:	b9 01 00 00 00       	mov    $0x1,%ecx
  40430f:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  404312:	89 c8                	mov    %ecx,%eax
  404314:	5b                   	pop    %ebx
  404315:	5e                   	pop    %esi
  404316:	5f                   	pop    %edi
  404317:	5d                   	pop    %ebp
  404318:	c3                   	ret    
  404319:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00404320 <_create_tree_window>:
  404320:	55                   	push   %ebp
  404321:	89 e5                	mov    %esp,%ebp
  404323:	57                   	push   %edi
  404324:	56                   	push   %esi
  404325:	53                   	push   %ebx
  404326:	83 ec 6c             	sub    $0x6c,%esp
  404329:	89 c7                	mov    %eax,%edi
  40432b:	8b 75 08             	mov    0x8(%ebp),%esi
  40432e:	a1 80 c2 40 00       	mov    0x40c280,%eax
  404333:	8b 5a 64             	mov    0x64(%edx),%ebx
  404336:	89 55 94             	mov    %edx,0xffffff94(%ebp)
  404339:	6a 00                	push   $0x0
  40433b:	50                   	push   %eax
  40433c:	56                   	push   %esi
  40433d:	57                   	push   %edi
  40433e:	6a 00                	push   $0x0
  404340:	6a 00                	push   $0x0
  404342:	6a 00                	push   $0x0
  404344:	6a 00                	push   $0x0
  404346:	68 11 11 30 50       	push   $0x50301111
  40434b:	68 06 a4 40 00       	push   $0x40a406
  404350:	68 f0 a4 40 00       	push   $0x40a4f0
  404355:	6a 00                	push   $0x0
  404357:	e8 94 33 00 00       	call   4076f0 <_CreateWindowExW@48>
  40435c:	8b 55 94             	mov    0xffffff94(%ebp),%edx
  40435f:	89 02                	mov    %eax,(%edx)
  404361:	51                   	push   %ecx
  404362:	52                   	push   %edx
  404363:	6a eb                	push   $0xffffffeb
  404365:	50                   	push   %eax
  404366:	e8 15 32 00 00       	call   407580 <_SetWindowLongW@12>
  40436b:	8b 45 94             	mov    0xffffff94(%ebp),%eax
  40436e:	68 70 69 40 00       	push   $0x406970
  404373:	6a fc                	push   $0xfffffffc
  404375:	8b 00                	mov    (%eax),%eax
  404377:	50                   	push   %eax
  404378:	e8 03 32 00 00       	call   407580 <_SetWindowLongW@12>
  40437d:	8b 55 94             	mov    0xffffff94(%ebp),%edx
  404380:	a3 20 c2 40 00       	mov    %eax,0x40c220
  404385:	a1 b8 c2 40 00       	mov    0x40c2b8,%eax
  40438a:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  404391:	50                   	push   %eax
  404392:	6a 30                	push   $0x30
  404394:	8b 32                	mov    (%edx),%esi
  404396:	56                   	push   %esi
  404397:	e8 b4 31 00 00       	call   407550 <_SendMessageW@16>
  40439c:	85 db                	test   %ebx,%ebx
  40439e:	74 12                	je     4043b2 <_create_tree_window+0x92>
  4043a0:	83 ec 0c             	sub    $0xc,%esp
  4043a3:	89 da                	mov    %ebx,%edx
  4043a5:	8b 45 94             	mov    0xffffff94(%ebp),%eax
  4043a8:	6a ff                	push   $0xffffffff
  4043aa:	e8 11 ed ff ff       	call   4030c0 <_insert_entries>
  4043af:	83 c4 10             	add    $0x10,%esp
  4043b2:	8b 1d f0 c1 40 00    	mov    0x40c1f0,%ebx
  4043b8:	85 db                	test   %ebx,%ebx
  4043ba:	0f 84 a4 00 00 00    	je     404464 <_create_tree_window+0x144>
  4043c0:	ba 01 00 00 00       	mov    $0x1,%edx
  4043c5:	8b 45 94             	mov    0xffffff94(%ebp),%eax
  4043c8:	e8 13 fd ff ff       	call   4040e0 <_calc_widths>
  4043cd:	a1 80 c2 40 00       	mov    0x40c280,%eax
  4043d2:	8b 75 0c             	mov    0xc(%ebp),%esi
  4043d5:	6a 00                	push   $0x0
  4043d7:	50                   	push   %eax
  4043d8:	56                   	push   %esi
  4043d9:	57                   	push   %edi
  4043da:	6a 00                	push   $0x0
  4043dc:	6a 00                	push   $0x0
  4043de:	6a 00                	push   $0x0
  4043e0:	6a 00                	push   $0x0
  4043e2:	68 00 00 00 50       	push   $0x50000000
  4043e7:	6a 00                	push   $0x0
  4043e9:	68 0a a5 40 00       	push   $0x40a50a
  4043ee:	6a 00                	push   $0x0
  4043f0:	e8 fb 32 00 00       	call   4076f0 <_CreateWindowExW@48>
  4043f5:	89 c7                	mov    %eax,%edi
  4043f7:	31 c0                	xor    %eax,%eax
  4043f9:	85 ff                	test   %edi,%edi
  4043fb:	74 59                	je     404456 <_create_tree_window+0x136>
  4043fd:	6a 00                	push   $0x0
  4043ff:	53                   	push   %ebx
  404400:	53                   	push   %ebx
  404401:	6a 11                	push   $0x11
  404403:	e8 88 36 00 00       	call   407a90 <_GetStockObject@4>
  404408:	5a                   	pop    %edx
  404409:	59                   	pop    %ecx
  40440a:	50                   	push   %eax
  40440b:	31 db                	xor    %ebx,%ebx
  40440d:	6a 30                	push   $0x30
  40440f:	be 10 c0 40 00       	mov    $0x40c010,%esi
  404414:	57                   	push   %edi
  404415:	e8 36 31 00 00       	call   407550 <_SendMessageW@16>
  40441a:	c7 45 98 07 00 00 00 	movl   $0x7,0xffffff98(%ebp)
  404421:	8b 04 9d 40 a4 40 00 	mov    0x40a440(,%ebx,4),%eax
  404428:	8b 55 94             	mov    0xffffff94(%ebp),%edx
  40442b:	80 cc 40             	or     $0x40,%ah
  40442e:	89 75 a0             	mov    %esi,0xffffffa0(%ebp)
  404431:	89 45 ac             	mov    %eax,0xffffffac(%ebp)
  404434:	83 c6 28             	add    $0x28,%esi
  404437:	8b 44 9a 08          	mov    0x8(%edx,%ebx,4),%eax
  40443b:	89 45 9c             	mov    %eax,0xffffff9c(%ebp)
  40443e:	8d 45 98             	lea    0xffffff98(%ebp),%eax
  404441:	50                   	push   %eax
  404442:	53                   	push   %ebx
  404443:	43                   	inc    %ebx
  404444:	68 0a 12 00 00       	push   $0x120a
  404449:	57                   	push   %edi
  40444a:	e8 01 31 00 00       	call   407550 <_SendMessageW@16>
  40444f:	83 fb 09             	cmp    $0x9,%ebx
  404452:	7e cd                	jle    404421 <_create_tree_window+0x101>
  404454:	89 f8                	mov    %edi,%eax
  404456:	8b 55 94             	mov    0xffffff94(%ebp),%edx
  404459:	89 42 04             	mov    %eax,0x4(%edx)
  40445c:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  40445f:	5b                   	pop    %ebx
  404460:	5e                   	pop    %esi
  404461:	5f                   	pop    %edi
  404462:	5d                   	pop    %ebp
  404463:	c3                   	ret    
  404464:	8b 45 94             	mov    0xffffff94(%ebp),%eax
  404467:	83 ec 0c             	sub    $0xc,%esp
  40446a:	c7 05 f0 c1 40 00 01 	movl   $0x1,0x40c1f0
  404471:	00 00 00 
  404474:	8b 00                	mov    (%eax),%eax
  404476:	89 45 90             	mov    %eax,0xffffff90(%ebp)
  404479:	50                   	push   %eax
  40447a:	e8 41 32 00 00       	call   4076c0 <_GetDC@4>
  40447f:	89 c6                	mov    %eax,%esi
  404481:	8d 45 c8             	lea    0xffffffc8(%ebp),%eax
  404484:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
  40448b:	50                   	push   %eax
  40448c:	6a 00                	push   $0x0
  40448e:	68 00 a5 40 00       	push   $0x40a500
  404493:	6a 00                	push   $0x0
  404495:	68 00 04 00 00       	push   $0x400
  40449a:	e8 91 2f 00 00       	call   407430 <_GetNumberFormatW@24>
  40449f:	5a                   	pop    %edx
  4044a0:	83 f8 04             	cmp    $0x4,%eax
  4044a3:	59                   	pop    %ecx
  4044a4:	7f 48                	jg     4044ee <_create_tree_window+0x1ce>
  4044a6:	66 c7 05 bc c2 40 00 	movw   $0x2e,0x40c2bc
  4044ad:	2e 00 
  4044af:	8b 1d b8 c2 40 00    	mov    0x40c2b8,%ebx
  4044b5:	50                   	push   %eax
  4044b6:	50                   	push   %eax
  4044b7:	53                   	push   %ebx
  4044b8:	56                   	push   %esi
  4044b9:	e8 c2 35 00 00       	call   407a80 <_SelectObject@8>
  4044be:	5a                   	pop    %edx
  4044bf:	59                   	pop    %ecx
  4044c0:	68 c0 c2 40 00       	push   $0x40c2c0
  4044c5:	89 c3                	mov    %eax,%ebx
  4044c7:	6a 01                	push   $0x1
  4044c9:	68 26 a4 40 00       	push   $0x40a426
  4044ce:	56                   	push   %esi
  4044cf:	e8 cc 35 00 00       	call   407aa0 <_GetTextExtentPoint32W@16>
  4044d4:	50                   	push   %eax
  4044d5:	50                   	push   %eax
  4044d6:	53                   	push   %ebx
  4044d7:	56                   	push   %esi
  4044d8:	e8 a3 35 00 00       	call   407a80 <_SelectObject@8>
  4044dd:	8b 4d 90             	mov    0xffffff90(%ebp),%ecx
  4044e0:	56                   	push   %esi
  4044e1:	51                   	push   %ecx
  4044e2:	e8 e9 31 00 00       	call   4076d0 <_ReleaseDC@8>
  4044e7:	58                   	pop    %eax
  4044e8:	5a                   	pop    %edx
  4044e9:	e9 d2 fe ff ff       	jmp    4043c0 <_create_tree_window+0xa0>
  4044ee:	66 8b 45 ca          	mov    0xffffffca(%ebp),%ax
  4044f2:	66 a3 bc c2 40 00    	mov    %ax,0x40c2bc
  4044f8:	eb b5                	jmp    4044af <_create_tree_window+0x18f>
  4044fa:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00404500 <_set_header>:


#ifdef _NO_EXTENSIONS

static void draw_splitbar(HWND hwnd, int x)
{
	RECT rt;
	HDC hdc = GetDC(hwnd);

	GetClientRect(hwnd, &rt);

	rt.left = x - SPLIT_WIDTH/2;
	rt.right = x + SPLIT_WIDTH/2+1;

	InvertRect(hdc, &rt);

	ReleaseDC(hwnd, hdc);
}

#endif /* _NO_EXTENSIONS */


#ifndef _NO_EXTENSIONS

static void set_header(Pane* pane)
{
  404500:	55                   	push   %ebp
  404501:	89 e5                	mov    %esp,%ebp
  404503:	57                   	push   %edi
  404504:	56                   	push   %esi
  404505:	53                   	push   %ebx
  404506:	83 ec 54             	sub    $0x54,%esp
  404509:	89 c6                	mov    %eax,%esi
	HD_ITEM item;
	int scroll_pos = GetScrollPos(pane->hwnd, SB_HORZ);
	int i=0, x=0;
  40450b:	31 ff                	xor    %edi,%edi
  40450d:	6a 00                	push   $0x0
  40450f:	8b 18                	mov    (%eax),%ebx
  404511:	53                   	push   %ebx
  404512:	e8 e9 31 00 00       	call   407700 <_GetScrollPos@8>
  404517:	31 db                	xor    %ebx,%ebx

	item.mask = HDI_WIDTH;
	item.cxy = 0;

	for(; x+pane->widths[i]<scroll_pos && i<COLUMNS; i++) {
  404519:	5a                   	pop    %edx
  40451a:	89 45 b4             	mov    %eax,0xffffffb4(%ebp)
  40451d:	8b 46 08             	mov    0x8(%esi),%eax
  404520:	c7 45 b8 01 00 00 00 	movl   $0x1,0xffffffb8(%ebp)
  404527:	c7 45 bc 00 00 00 00 	movl   $0x0,0xffffffbc(%ebp)
  40452e:	59                   	pop    %ecx
  40452f:	3b 45 b4             	cmp    0xffffffb4(%ebp),%eax
  404532:	7d 39                	jge    40456d <_set_header+0x6d>
  404534:	89 c1                	mov    %eax,%ecx
		x += pane->widths[i];
		Header_SetItem(pane->hwndHeader, i, &item);
  404536:	8d 45 b8             	lea    0xffffffb8(%ebp),%eax
  404539:	01 cf                	add    %ecx,%edi
  40453b:	50                   	push   %eax
  40453c:	53                   	push   %ebx
  40453d:	43                   	inc    %ebx
  40453e:	8b 46 04             	mov    0x4(%esi),%eax
  404541:	68 0c 12 00 00       	push   $0x120c
  404546:	50                   	push   %eax
  404547:	e8 04 30 00 00       	call   407550 <_SendMessageW@16>
  40454c:	8b 4c 9e 08          	mov    0x8(%esi,%ebx,4),%ecx
  404550:	8d 04 39             	lea    (%ecx,%edi,1),%eax
  404553:	3b 45 b4             	cmp    0xffffffb4(%ebp),%eax
  404556:	0f 9c c2             	setl   %dl
  404559:	83 fb 09             	cmp    $0x9,%ebx
  40455c:	0f 9e c0             	setle  %al
  40455f:	25 ff 00 00 00       	and    $0xff,%eax
  404564:	85 c2                	test   %eax,%edx
  404566:	75 ce                	jne    404536 <_set_header+0x36>
	}

	if (i < COLUMNS) {
  404568:	83 fb 09             	cmp    $0x9,%ebx
  40456b:	7f 47                	jg     4045b4 <_set_header+0xb4>
		x += pane->widths[i];
  40456d:	8b 44 9e 08          	mov    0x8(%esi,%ebx,4),%eax
  404571:	01 c7                	add    %eax,%edi
		item.cxy = x - scroll_pos;
  404573:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
  404576:	29 c7                	sub    %eax,%edi
		Header_SetItem(pane->hwndHeader, i++, &item);
  404578:	8d 45 b8             	lea    0xffffffb8(%ebp),%eax
  40457b:	50                   	push   %eax
  40457c:	8b 46 04             	mov    0x4(%esi),%eax
  40457f:	53                   	push   %ebx
  404580:	43                   	inc    %ebx
  404581:	68 0c 12 00 00       	push   $0x120c
  404586:	89 7d bc             	mov    %edi,0xffffffbc(%ebp)
  404589:	50                   	push   %eax
  40458a:	e8 c1 2f 00 00       	call   407550 <_SendMessageW@16>

		for(; i<COLUMNS; i++) {
  40458f:	83 fb 09             	cmp    $0x9,%ebx
  404592:	7f 20                	jg     4045b4 <_set_header+0xb4>
			item.cxy = pane->widths[i];
  404594:	8b 44 9e 08          	mov    0x8(%esi,%ebx,4),%eax
  404598:	89 45 bc             	mov    %eax,0xffffffbc(%ebp)
			x += pane->widths[i];
			Header_SetItem(pane->hwndHeader, i, &item);
  40459b:	8d 45 b8             	lea    0xffffffb8(%ebp),%eax
  40459e:	50                   	push   %eax
  40459f:	8b 46 04             	mov    0x4(%esi),%eax
  4045a2:	53                   	push   %ebx
  4045a3:	43                   	inc    %ebx
  4045a4:	68 0c 12 00 00       	push   $0x120c
  4045a9:	50                   	push   %eax
  4045aa:	e8 a1 2f 00 00       	call   407550 <_SendMessageW@16>
  4045af:	83 fb 09             	cmp    $0x9,%ebx
  4045b2:	7e e0                	jle    404594 <_set_header+0x94>
		}
	}
}
  4045b4:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4045b7:	5b                   	pop    %ebx
  4045b8:	5e                   	pop    %esi
  4045b9:	5f                   	pop    %edi
  4045ba:	5d                   	pop    %ebp
  4045bb:	c3                   	ret    
  4045bc:	8d 74 26 00          	lea    0x0(%esi),%esi

004045c0 <_scan_entry>:

static LRESULT pane_notify(Pane* pane, NMHDR* pnmh)
{
	switch(pnmh->code) {
		case HDN_TRACK:
		case HDN_ENDTRACK: {
			HD_NOTIFY* phdn = (HD_NOTIFY*) pnmh;
			int idx = phdn->iItem;
			int dx = phdn->pitem->cxy - pane->widths[idx];
			int i;

			RECT clnt;
			GetClientRect(pane->hwnd, &clnt);

			/* move immediate to simulate HDS_FULLDRAG (for now [04/2000] not really needed with WINELIB) */
			Header_SetItem(pane->hwndHeader, idx, phdn->pitem);

			pane->widths[idx] += dx;

			for(i=idx; ++i<=COLUMNS; )
				pane->positions[i] += dx;

			{
				int scroll_pos = GetScrollPos(pane->hwnd, SB_HORZ);
				RECT rt_scr;
				RECT rt_clip;

				rt_scr.left   = pane->positions[idx+1]-scroll_pos;
				rt_scr.top    = 0;
				rt_scr.right  = clnt.right;
				rt_scr.bottom = clnt.bottom;

				rt_clip.left   = pane->positions[idx]-scroll_pos;
				rt_clip.top    = 0;
				rt_clip.right  = clnt.right;
				rt_clip.bottom = clnt.bottom;

				if (rt_scr.left < 0) rt_scr.left = 0;
				if (rt_clip.left < 0) rt_clip.left = 0;

				ScrollWindowEx(pane->hwnd, dx, 0, &rt_scr, &rt_clip, 0, 0, SW_INVALIDATE);

				rt_clip.right = pane->positions[idx+1];
				RedrawWindow(pane->hwnd, &rt_clip, 0, RDW_INVALIDATE|RDW_UPDATENOW);

				if (pnmh->code == HDN_ENDTRACK) {
					ListBox_SetHorizontalExtent(pane->hwnd, pane->positions[COLUMNS]);

					if (GetScrollPos(pane->hwnd, SB_HORZ) != scroll_pos)
						set_header(pane);
				}
			}

			return FALSE;
		}

		case HDN_DIVIDERDBLCLICK: {
			HD_NOTIFY* phdn = (HD_NOTIFY*) pnmh;
			HD_ITEM item;

			calc_single_width(pane, phdn->iItem);
			item.mask = HDI_WIDTH;
			item.cxy = pane->widths[phdn->iItem];

			Header_SetItem(pane->hwndHeader, phdn->iItem, &item);
			InvalidateRect(pane->hwnd, 0, TRUE);
			break;}
	}

	return 0;
}

#endif /* _NO_EXTENSIONS */


static void scan_entry(ChildWnd* child, Entry* entry, HWND hwnd)
{
  4045c0:	55                   	push   %ebp
  4045c1:	89 e5                	mov    %esp,%ebp
  4045c3:	57                   	push   %edi
  4045c4:	56                   	push   %esi
  4045c5:	53                   	push   %ebx
  4045c6:	81 ec 2c 02 00 00    	sub    $0x22c,%esp
  4045cc:	89 c6                	mov    %eax,%esi
  4045ce:	89 d7                	mov    %edx,%edi
	TCHAR path[MAX_PATH];
	int idx = ListBox_GetCurSel(child->left.hwnd);
  4045d0:	6a 00                	push   $0x0
  4045d2:	6a 00                	push   $0x0
  4045d4:	68 88 01 00 00       	push   $0x188
  4045d9:	8b 40 04             	mov    0x4(%eax),%eax
  4045dc:	50                   	push   %eax
  4045dd:	e8 6e 2f 00 00       	call   407550 <_SendMessageW@16>
	HCURSOR old_cursor = SetCursor(LoadCursor(0, IDC_WAIT));
  4045e2:	83 ec 18             	sub    $0x18,%esp
  4045e5:	89 c3                	mov    %eax,%ebx
  4045e7:	43                   	inc    %ebx
  4045e8:	68 02 7f 00 00       	push   $0x7f02
  4045ed:	6a 00                	push   $0x0
  4045ef:	e8 1c 31 00 00       	call   407710 <_LoadCursorW@8>
  4045f4:	83 c4 0c             	add    $0xc,%esp
  4045f7:	50                   	push   %eax
  4045f8:	e8 23 31 00 00       	call   407720 <_SetCursor@4>

	/* delete sub entries in left pane */
	for(;;) {
  4045fd:	83 c4 0c             	add    $0xc,%esp
  404600:	89 85 d4 fd ff ff    	mov    %eax,0xfffffdd4(%ebp)
  404606:	eb 19                	jmp    404621 <_scan_entry+0x61>
		LRESULT res = ListBox_GetItemData(child->left.hwnd, idx+1);
		Entry* sub = (Entry*) res;

		if (res==LB_ERR || !sub || sub->level<=entry->level)
  404608:	8b 47 14             	mov    0x14(%edi),%eax
  40460b:	39 41 14             	cmp    %eax,0x14(%ecx)
  40460e:	7e 35                	jle    404645 <_scan_entry+0x85>
			break;

		ListBox_DeleteString(child->left.hwnd, idx+1);
  404610:	6a 00                	push   $0x0
  404612:	53                   	push   %ebx
  404613:	68 82 01 00 00       	push   $0x182
  404618:	8b 4e 04             	mov    0x4(%esi),%ecx
  40461b:	51                   	push   %ecx
  40461c:	e8 2f 2f 00 00       	call   407550 <_SendMessageW@16>
  404621:	6a 00                	push   $0x0
  404623:	53                   	push   %ebx
  404624:	68 99 01 00 00       	push   $0x199
  404629:	8b 46 04             	mov    0x4(%esi),%eax
  40462c:	50                   	push   %eax
  40462d:	e8 1e 2f 00 00       	call   407550 <_SendMessageW@16>
  404632:	83 f8 ff             	cmp    $0xffffffff,%eax
  404635:	89 c1                	mov    %eax,%ecx
  404637:	0f 94 c2             	sete   %dl
  40463a:	85 c0                	test   %eax,%eax
  40463c:	0f 94 c0             	sete   %al
  40463f:	09 d0                	or     %edx,%eax
  404641:	a8 01                	test   $0x1,%al
  404643:	74 c3                	je     404608 <_scan_entry+0x48>
	}

	/* empty right pane */
	ListBox_ResetContent(child->right.hwnd);
  404645:	6a 00                	push   $0x0
  404647:	6a 00                	push   $0x0
  404649:	68 84 01 00 00       	push   $0x184
  40464e:	8b 56 70             	mov    0x70(%esi),%edx
  404651:	52                   	push   %edx
  404652:	e8 f9 2e 00 00       	call   407550 <_SendMessageW@16>

	/* release memory */
	free_entries(entry);
  404657:	89 f8                	mov    %edi,%eax
  404659:	e8 82 cd ff ff       	call   4013e0 <_free_entries>

	/* read contents from disk */
#ifdef _SHELL_FOLDERS
	if (entry->etype == ET_SHELL)
  40465e:	83 bf a0 02 00 00 02 	cmpl   $0x2,0x2a0(%edi)
  404665:	74 68                	je     4046cf <_scan_entry+0x10f>
	{
		read_directory(entry, NULL, child->sortOrder, hwnd);
	}
	else
#endif
	{
		get_path(entry, path);
  404667:	8d 9d d8 fd ff ff    	lea    0xfffffdd8(%ebp),%ebx
  40466d:	89 f8                	mov    %edi,%eax
  40466f:	89 da                	mov    %ebx,%edx
  404671:	e8 da dc ff ff       	call   402350 <_get_path>
		read_directory(entry, path, child->sortOrder, hwnd);
  404676:	89 da                	mov    %ebx,%edx
  404678:	50                   	push   %eax
  404679:	50                   	push   %eax
  40467a:	8b 45 08             	mov    0x8(%ebp),%eax
  40467d:	50                   	push   %eax
  40467e:	8b 86 dc 0b 00 00    	mov    0xbdc(%esi),%eax
  404684:	50                   	push   %eax
	}

	/* insert found entries in right pane */
	insert_entries(&child->right, entry->down, -1);
  404685:	8d 5e 70             	lea    0x70(%esi),%ebx
  404688:	89 f8                	mov    %edi,%eax
  40468a:	e8 b1 db ff ff       	call   402240 <_read_directory>
  40468f:	8b 57 04             	mov    0x4(%edi),%edx
  404692:	89 d8                	mov    %ebx,%eax
  404694:	c7 04 24 ff ff ff ff 	movl   $0xffffffff,(%esp)
  40469b:	e8 20 ea ff ff       	call   4030c0 <_insert_entries>
	calc_widths(&child->right, FALSE);
  4046a0:	31 d2                	xor    %edx,%edx
  4046a2:	89 d8                	mov    %ebx,%eax
  4046a4:	e8 37 fa ff ff       	call   4040e0 <_calc_widths>
#ifndef _NO_EXTENSIONS
	set_header(&child->right);
  4046a9:	89 d8                	mov    %ebx,%eax
  4046ab:	e8 50 fe ff ff       	call   404500 <_set_header>
#endif

	child->header_wdths_ok = FALSE;
  4046b0:	c7 86 10 01 00 00 00 	movl   $0x0,0x110(%esi)
  4046b7:	00 00 00 

	SetCursor(old_cursor);
  4046ba:	5f                   	pop    %edi
  4046bb:	8b b5 d4 fd ff ff    	mov    0xfffffdd4(%ebp),%esi
  4046c1:	56                   	push   %esi
  4046c2:	e8 59 30 00 00       	call   407720 <_SetCursor@4>
  4046c7:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4046ca:	5b                   	pop    %ebx
  4046cb:	5e                   	pop    %esi
  4046cc:	5f                   	pop    %edi
  4046cd:	5d                   	pop    %ebp
  4046ce:	c3                   	ret    
  4046cf:	50                   	push   %eax
  4046d0:	50                   	push   %eax
  4046d1:	8b 45 08             	mov    0x8(%ebp),%eax
  4046d4:	50                   	push   %eax
  4046d5:	31 d2                	xor    %edx,%edx
  4046d7:	8b 86 dc 0b 00 00    	mov    0xbdc(%esi),%eax
  4046dd:	50                   	push   %eax
  4046de:	eb a5                	jmp    404685 <_scan_entry+0xc5>

004046e0 <_collapse_entry>:
}


/* expand a directory entry */

static BOOL expand_entry(ChildWnd* child, Entry* dir)
{
	int idx;
	Entry* p;

	if (!dir || dir->expanded || !dir->down)
		return FALSE;

	p = dir->down;

	if (p->data.cFileName[0]=='.' && p->data.cFileName[1]=='\0' && p->next) {
		p = p->next;

		if (p->data.cFileName[0]=='.' && p->data.cFileName[1]=='.' &&
				p->data.cFileName[2]=='\0' && p->next)
			p = p->next;
	}

	/* no subdirectories ? */
	if (!(p->data.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY))
		return FALSE;

	idx = ListBox_FindItemData(child->left.hwnd, 0, dir);

	dir->expanded = TRUE;

	/* insert entries in left pane */
	insert_entries(&child->left, p, idx);

	if (!child->header_wdths_ok) {
		if (calc_widths(&child->left, FALSE)) {
#ifndef _NO_EXTENSIONS
			set_header(&child->left);
#endif

			child->header_wdths_ok = TRUE;
		}
	}

	return TRUE;
}


static void collapse_entry(Pane* pane, Entry* dir)
{
  4046e0:	55                   	push   %ebp
  4046e1:	89 e5                	mov    %esp,%ebp
  4046e3:	57                   	push   %edi
  4046e4:	56                   	push   %esi
  4046e5:	53                   	push   %ebx
  4046e6:	83 ec 0c             	sub    $0xc,%esp
  4046e9:	89 c6                	mov    %eax,%esi
  4046eb:	89 d7                	mov    %edx,%edi
	int idx = ListBox_FindItemData(pane->hwnd, 0, dir);
  4046ed:	52                   	push   %edx
  4046ee:	6a 00                	push   $0x0
  4046f0:	68 8f 01 00 00       	push   $0x18f
  4046f5:	8b 00                	mov    (%eax),%eax
  4046f7:	50                   	push   %eax
  4046f8:	e8 53 2e 00 00       	call   407550 <_SendMessageW@16>
  4046fd:	89 c3                	mov    %eax,%ebx

	ShowWindow(pane->hwnd, SW_HIDE);
  4046ff:	50                   	push   %eax
  404700:	50                   	push   %eax
  404701:	8b 06                	mov    (%esi),%eax
  404703:	6a 00                	push   $0x0
  404705:	50                   	push   %eax
  404706:	e8 15 2f 00 00       	call   407620 <_ShowWindow@8>
  40470b:	43                   	inc    %ebx

	/* hide sub entries */
	for(;;) {
  40470c:	5a                   	pop    %edx
  40470d:	59                   	pop    %ecx
  40470e:	eb 18                	jmp    404728 <_collapse_entry+0x48>
		LRESULT res = ListBox_GetItemData(pane->hwnd, idx+1);
		Entry* sub = (Entry*) res;

		if (res==LB_ERR || !sub || sub->level<=dir->level)
  404710:	8b 47 14             	mov    0x14(%edi),%eax
  404713:	39 41 14             	cmp    %eax,0x14(%ecx)
  404716:	7e 33                	jle    40474b <_collapse_entry+0x6b>
			break;

		ListBox_DeleteString(pane->hwnd, idx+1);
  404718:	8b 06                	mov    (%esi),%eax
  40471a:	6a 00                	push   $0x0
  40471c:	53                   	push   %ebx
  40471d:	68 82 01 00 00       	push   $0x182
  404722:	50                   	push   %eax
  404723:	e8 28 2e 00 00       	call   407550 <_SendMessageW@16>
  404728:	8b 06                	mov    (%esi),%eax
  40472a:	6a 00                	push   $0x0
  40472c:	53                   	push   %ebx
  40472d:	68 99 01 00 00       	push   $0x199
  404732:	50                   	push   %eax
  404733:	e8 18 2e 00 00       	call   407550 <_SendMessageW@16>
  404738:	83 f8 ff             	cmp    $0xffffffff,%eax
  40473b:	89 c1                	mov    %eax,%ecx
  40473d:	0f 94 c2             	sete   %dl
  404740:	85 c0                	test   %eax,%eax
  404742:	0f 94 c0             	sete   %al
  404745:	09 d0                	or     %edx,%eax
  404747:	a8 01                	test   $0x1,%al
  404749:	74 c5                	je     404710 <_collapse_entry+0x30>
	}

	dir->expanded = FALSE;
  40474b:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)

	ShowWindow(pane->hwnd, SW_SHOW);
  404752:	50                   	push   %eax
  404753:	50                   	push   %eax
  404754:	8b 06                	mov    (%esi),%eax
  404756:	6a 05                	push   $0x5
  404758:	50                   	push   %eax
  404759:	e8 c2 2e 00 00       	call   407620 <_ShowWindow@8>
  40475e:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  404761:	5b                   	pop    %ebx
  404762:	5e                   	pop    %esi
  404763:	5f                   	pop    %edi
  404764:	5d                   	pop    %ebp
  404765:	c3                   	ret    
  404766:	8d 76 00             	lea    0x0(%esi),%esi
  404769:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00404770 <_set_curdir>:
}


static void set_curdir(ChildWnd* child, Entry* entry, HWND hwnd)
{
  404770:	55                   	push   %ebp
  404771:	89 e5                	mov    %esp,%ebp
  404773:	57                   	push   %edi
  404774:	89 c7                	mov    %eax,%edi
  404776:	56                   	push   %esi
  404777:	53                   	push   %ebx
  404778:	89 d6                	mov    %edx,%esi
  40477a:	81 ec 1c 02 00 00    	sub    $0x21c,%esp
	TCHAR path[MAX_PATH];

	path[0] = '\0';

	child->left.cur = entry;
  404780:	89 57 6c             	mov    %edx,0x6c(%edi)
	child->right.root = entry->down? entry->down: entry;
  404783:	8b 42 04             	mov    0x4(%edx),%eax
  404786:	66 c7 85 d8 fd ff ff 	movw   $0x0,0xfffffdd8(%ebp)
  40478d:	00 00 
  40478f:	85 c0                	test   %eax,%eax
  404791:	75 02                	jne    404795 <_set_curdir+0x25>
  404793:	89 d0                	mov    %edx,%eax
  404795:	89 87 d4 00 00 00    	mov    %eax,0xd4(%edi)
	child->right.cur = entry;

	if (!entry->scanned)
  40479b:	8b 46 10             	mov    0x10(%esi),%eax
  40479e:	89 b7 d8 00 00 00    	mov    %esi,0xd8(%edi)
  4047a4:	85 c0                	test   %eax,%eax
  4047a6:	75 4b                	jne    4047f3 <_set_curdir+0x83>
		scan_entry(child, entry, hwnd);
  4047a8:	83 ec 0c             	sub    $0xc,%esp
  4047ab:	8b 45 08             	mov    0x8(%ebp),%eax
  4047ae:	89 f2                	mov    %esi,%edx
  4047b0:	50                   	push   %eax
  4047b1:	89 f8                	mov    %edi,%eax
  4047b3:	e8 08 fe ff ff       	call   4045c0 <_scan_entry>
	else {
		ListBox_ResetContent(child->right.hwnd);
		insert_entries(&child->right, entry->down, -1);
		calc_widths(&child->right, FALSE);
#ifndef _NO_EXTENSIONS
		set_header(&child->right);
#endif
	}

	get_path(entry, path);
  4047b8:	8d 9d d8 fd ff ff    	lea    0xfffffdd8(%ebp),%ebx
  4047be:	83 c4 10             	add    $0x10,%esp
  4047c1:	89 f0                	mov    %esi,%eax
  4047c3:	89 da                	mov    %ebx,%edx
  4047c5:	e8 86 db ff ff       	call   402350 <_get_path>
	lstrcpy(child->path, path);
  4047ca:	50                   	push   %eax
  4047cb:	50                   	push   %eax
  4047cc:	8d 87 14 01 00 00    	lea    0x114(%edi),%eax
  4047d2:	53                   	push   %ebx
  4047d3:	50                   	push   %eax
  4047d4:	e8 07 2b 00 00       	call   4072e0 <_lstrcpyW@8>

	if (child->hwnd)	/* only change window title, if the window already exists */
  4047d9:	5e                   	pop    %esi
  4047da:	58                   	pop    %eax
  4047db:	8b 07                	mov    (%edi),%eax
  4047dd:	85 c0                	test   %eax,%eax
  4047df:	75 4f                	jne    404830 <_set_curdir+0xc0>
		SetWindowText(child->hwnd, path);

	if (path[0])
  4047e1:	66 83 bd d8 fd ff ff 	cmpw   $0x0,0xfffffdd8(%ebp)
  4047e8:	00 
  4047e9:	75 5a                	jne    404845 <_set_curdir+0xd5>
		SetCurrentDirectory(path);
}
  4047eb:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4047ee:	5b                   	pop    %ebx
  4047ef:	5e                   	pop    %esi
  4047f0:	5f                   	pop    %edi
  4047f1:	5d                   	pop    %ebp
  4047f2:	c3                   	ret    
  4047f3:	6a 00                	push   $0x0
  4047f5:	6a 00                	push   $0x0
  4047f7:	68 84 01 00 00       	push   $0x184
  4047fc:	8d 5f 70             	lea    0x70(%edi),%ebx
  4047ff:	8b 47 70             	mov    0x70(%edi),%eax
  404802:	50                   	push   %eax
  404803:	e8 48 2d 00 00       	call   407550 <_SendMessageW@16>
  404808:	83 ec 0c             	sub    $0xc,%esp
  40480b:	8b 56 04             	mov    0x4(%esi),%edx
  40480e:	89 d8                	mov    %ebx,%eax
  404810:	6a ff                	push   $0xffffffff
  404812:	e8 a9 e8 ff ff       	call   4030c0 <_insert_entries>
  404817:	31 d2                	xor    %edx,%edx
  404819:	89 d8                	mov    %ebx,%eax
  40481b:	e8 c0 f8 ff ff       	call   4040e0 <_calc_widths>
  404820:	89 d8                	mov    %ebx,%eax
  404822:	e8 d9 fc ff ff       	call   404500 <_set_header>
  404827:	eb 8f                	jmp    4047b8 <_set_curdir+0x48>
  404829:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  404830:	51                   	push   %ecx
  404831:	51                   	push   %ecx
  404832:	53                   	push   %ebx
  404833:	50                   	push   %eax
  404834:	e8 f7 2e 00 00       	call   407730 <_SetWindowTextW@8>
  404839:	66 83 bd d8 fd ff ff 	cmpw   $0x0,0xfffffdd8(%ebp)
  404840:	00 
  404841:	58                   	pop    %eax
  404842:	5a                   	pop    %edx
  404843:	74 a6                	je     4047eb <_set_curdir+0x7b>
  404845:	83 ec 0c             	sub    $0xc,%esp
  404848:	53                   	push   %ebx
  404849:	e8 f2 2b 00 00       	call   407440 <_SetCurrentDirectoryW@4>
  40484e:	83 c4 0c             	add    $0xc,%esp
  404851:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  404854:	5b                   	pop    %ebx
  404855:	5e                   	pop    %esi
  404856:	5f                   	pop    %edi
  404857:	5d                   	pop    %ebp
  404858:	c3                   	ret    
  404859:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00404860 <_alloc_child_window>:
  404860:	55                   	push   %ebp
  404861:	89 e5                	mov    %esp,%ebp
  404863:	57                   	push   %edi
  404864:	56                   	push   %esi
  404865:	53                   	push   %ebx
  404866:	50                   	push   %eax
  404867:	b8 68 10 00 00       	mov    $0x1068,%eax
  40486c:	e8 1f 39 00 00       	call   408190 <___chkstk>
  404871:	83 ec 0c             	sub    $0xc,%esp
  404874:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  404877:	89 d3                	mov    %edx,%ebx
  404879:	89 c6                	mov    %eax,%esi
  40487b:	68 e0 0b 00 00       	push   $0xbe0
  404880:	e8 bb 3a 00 00       	call   408340 <_malloc>
  404885:	83 c4 0c             	add    $0xc,%esp
  404888:	68 e0 0b 00 00       	push   $0xbe0
  40488d:	6a 00                	push   $0x0
  40488f:	89 85 c8 ef ff ff    	mov    %eax,0xffffefc8(%ebp)
  404895:	05 1c 03 00 00       	add    $0x31c,%eax
  40489a:	89 85 c4 ef ff ff    	mov    %eax,0xffffefc4(%ebp)
  4048a0:	8b 85 c8 ef ff ff    	mov    0xffffefc8(%ebp),%eax
  4048a6:	50                   	push   %eax
  4048a7:	e8 d4 39 00 00       	call   408280 <_memset>
  4048ac:	8b 85 c8 ef ff ff    	mov    0xffffefc8(%ebp),%eax
  4048b2:	83 c4 10             	add    $0x10,%esp
  4048b5:	85 f6                	test   %esi,%esi
  4048b7:	c7 40 60 01 00 00 00 	movl   $0x1,0x60(%eax)
  4048be:	c7 40 64 00 00 00 00 	movl   $0x0,0x64(%eax)
  4048c5:	c7 80 cc 00 00 00 00 	movl   $0x0,0xcc(%eax)
  4048cc:	00 00 00 
  4048cf:	c7 80 d0 00 00 00 6f 	movl   $0x6f,0xd0(%eax)
  4048d6:	00 00 00 
  4048d9:	c7 80 e0 00 00 00 2c 	movl   $0x2c,0xe0(%eax)
  4048e0:	00 00 00 
  4048e3:	c7 80 e4 00 00 00 00 	movl   $0x0,0xe4(%eax)
  4048ea:	00 00 00 
  4048ed:	c7 80 e8 00 00 00 01 	movl   $0x1,0xe8(%eax)
  4048f4:	00 00 00 
  4048f7:	c7 80 fc 00 00 00 00 	movl   $0x80000000,0xfc(%eax)
  4048fe:	00 00 80 
  404901:	c7 80 00 01 00 00 00 	movl   $0x80000000,0x100(%eax)
  404908:	00 00 80 
  40490b:	c7 80 04 01 00 00 00 	movl   $0x80000000,0x104(%eax)
  404912:	00 00 80 
  404915:	c7 80 08 01 00 00 00 	movl   $0x80000000,0x108(%eax)
  40491c:	00 00 80 
  40491f:	c7 80 dc 00 00 00 00 	movl   $0x0,0xdc(%eax)
  404926:	00 00 00 
  404929:	c7 80 0c 01 00 00 2c 	movl   $0x12c,0x10c(%eax)
  404930:	01 00 00 
  404933:	c7 80 dc 0b 00 00 00 	movl   $0x0,0xbdc(%eax)
  40493a:	00 00 00 
  40493d:	c7 80 10 01 00 00 00 	movl   $0x0,0x110(%eax)
  404944:	00 00 00 
  404947:	74 34                	je     40497d <_alloc_child_window+0x11d>
  404949:	05 14 01 00 00       	add    $0x114,%eax
  40494e:	57                   	push   %edi
  40494f:	57                   	push   %edi
  404950:	56                   	push   %esi
  404951:	50                   	push   %eax
  404952:	e8 89 29 00 00       	call   4072e0 <_lstrcpyW@8>
  404957:	8d 85 e8 f9 ff ff    	lea    0xfffff9e8(%ebp),%eax
  40495d:	8d 95 d0 ef ff ff    	lea    0xffffefd0(%ebp),%edx
  404963:	51                   	push   %ecx
  404964:	50                   	push   %eax
  404965:	8d 85 e8 fb ff ff    	lea    0xfffffbe8(%ebp),%eax
  40496b:	50                   	push   %eax
  40496c:	8d 85 e8 fd ff ff    	lea    0xfffffde8(%ebp),%eax
  404972:	50                   	push   %eax
  404973:	52                   	push   %edx
  404974:	56                   	push   %esi
  404975:	e8 76 39 00 00       	call   4082f0 <__wsplitpath>
  40497a:	83 c4 20             	add    $0x20,%esp
  40497d:	8b 85 c4 ef ff ff    	mov    0xffffefc4(%ebp),%eax
  404983:	85 db                	test   %ebx,%ebx
  404985:	c7 40 14 00 00 00 00 	movl   $0x0,0x14(%eax)
  40498c:	0f 84 c3 02 00 00    	je     404c55 <_alloc_child_window+0x3f5>
  404992:	c7 80 b8 08 00 00 00 	movl   $0x0,0x8b8(%eax)
  404999:	00 00 00 
  40499c:	8b 85 c8 ef ff ff    	mov    0xffffefc8(%ebp),%eax
  4049a2:	05 d4 07 00 00       	add    $0x7d4,%eax
  4049a7:	ba b4 04 00 00       	mov    $0x4b4,%edx
  4049ac:	66 c7 85 d0 ef ff ff 	movw   $0x5c,0xffffefd0(%ebp)
  4049b3:	5c 00 
  4049b5:	66 c7 85 d2 ef ff ff 	movw   $0x0,0xffffefd2(%ebp)
  4049bc:	00 00 
  4049be:	e8 0d c9 ff ff       	call   4012d0 <_load_string>
  4049c3:	8b 95 c4 ef ff ff    	mov    0xffffefc4(%ebp),%edx
  4049c9:	8b 85 c8 ef ff ff    	mov    0xffffefc8(%ebp),%eax
  4049cf:	c7 82 bc 08 00 00 00 	movl   $0x0,0x8bc(%edx)
  4049d6:	00 00 00 
  4049d9:	05 d4 09 00 00       	add    $0x9d4,%eax
  4049de:	ba b5 04 00 00       	mov    $0x4b5,%edx
  4049e3:	e8 e8 c8 ff ff       	call   4012d0 <_load_string>
  4049e8:	8b 85 c8 ef ff ff    	mov    0xffffefc8(%ebp),%eax
  4049ee:	83 ec 18             	sub    $0x18,%esp
  4049f1:	8b 80 dc 0b 00 00    	mov    0xbdc(%eax),%eax
  4049f7:	8b 95 c4 ef ff ff    	mov    0xffffefc4(%ebp),%edx
  4049fd:	89 9d c0 ef ff ff    	mov    %ebx,0xffffefc0(%ebp)
  404a03:	89 95 b8 ef ff ff    	mov    %edx,0xffffefb8(%ebp)
  404a09:	89 9d b4 ef ff ff    	mov    %ebx,0xffffefb4(%ebp)
  404a0f:	68 02 7f 00 00       	push   $0x7f02
  404a14:	89 85 bc ef ff ff    	mov    %eax,0xffffefbc(%ebp)
  404a1a:	c7 85 cc ef ff ff 00 	movl   $0x0,0xffffefcc(%ebp)
  404a21:	00 00 00 
  404a24:	6a 00                	push   $0x0
  404a26:	e8 e5 2c 00 00       	call   407710 <_LoadCursorW@8>
  404a2b:	83 c4 0c             	add    $0xc,%esp
  404a2e:	50                   	push   %eax
  404a2f:	e8 ec 2c 00 00       	call   407720 <_SetCursor@4>
  404a34:	8b 1d d0 ca 40 00    	mov    0x40cad0,%ebx
  404a3a:	83 c4 0c             	add    $0xc,%esp
  404a3d:	89 85 b0 ef ff ff    	mov    %eax,0xffffefb0(%ebp)
  404a43:	8b 85 c4 ef ff ff    	mov    0xffffefc4(%ebp),%eax
  404a49:	85 c0                	test   %eax,%eax
  404a4b:	c7 80 a0 02 00 00 02 	movl   $0x2,0x2a0(%eax)
  404a52:	00 00 00 
  404a55:	0f 84 4c 01 00 00    	je     404ba7 <_alloc_child_window+0x347>
  404a5b:	8b 95 b8 ef ff ff    	mov    0xffffefb8(%ebp),%edx
  404a61:	8b 85 b4 ef ff ff    	mov    0xffffefb4(%ebp),%eax
  404a67:	89 82 a4 02 00 00    	mov    %eax,0x2a4(%edx)
  404a6d:	89 9a a8 02 00 00    	mov    %ebx,0x2a8(%edx)
  404a73:	8b 95 c0 ef ff ff    	mov    0xffffefc0(%ebp),%edx
  404a79:	66 8b 02             	mov    (%edx),%ax
  404a7c:	66 85 c0             	test   %ax,%ax
  404a7f:	0f 84 22 01 00 00    	je     404ba7 <_alloc_child_window+0x347>
  404a85:	52                   	push   %edx
  404a86:	52                   	push   %edx
  404a87:	8b 15 d4 ca 40 00    	mov    0x40cad4,%edx
  404a8d:	25 ff ff 00 00       	and    $0xffff,%eax
  404a92:	8b 0a                	mov    (%edx),%ecx
  404a94:	83 c0 02             	add    $0x2,%eax
  404a97:	50                   	push   %eax
  404a98:	52                   	push   %edx
  404a99:	ff 51 0c             	call   *0xc(%ecx)
  404a9c:	8b 95 c0 ef ff ff    	mov    0xffffefc0(%ebp),%edx
  404aa2:	89 85 b4 ef ff ff    	mov    %eax,0xffffefb4(%ebp)
  404aa8:	66 8b 02             	mov    (%edx),%ax
  404aab:	25 ff ff 00 00       	and    $0xffff,%eax
  404ab0:	89 04 24             	mov    %eax,(%esp)
  404ab3:	8b 85 b4 ef ff ff    	mov    0xffffefb4(%ebp),%eax
  404ab9:	52                   	push   %edx
  404aba:	50                   	push   %eax
  404abb:	e8 d0 37 00 00       	call   408290 <_memcpy>
  404ac0:	8b 95 c0 ef ff ff    	mov    0xffffefc0(%ebp),%edx
  404ac6:	66 8b 02             	mov    (%edx),%ax
  404ac9:	8b 95 b4 ef ff ff    	mov    0xffffefb4(%ebp),%edx
  404acf:	25 ff ff 00 00       	and    $0xffff,%eax
  404ad4:	66 c7 04 02 00 00    	movw   $0x0,(%edx,%eax,1)
  404ada:	8b 13                	mov    (%ebx),%edx
  404adc:	8d 85 cc ef ff ff    	lea    0xffffefcc(%ebp),%eax
  404ae2:	89 04 24             	mov    %eax,(%esp)
  404ae5:	8b 85 b4 ef ff ff    	mov    0xffffefb4(%ebp),%eax
  404aeb:	68 00 be 40 00       	push   $0x40be00
  404af0:	6a 00                	push   $0x0
  404af2:	50                   	push   %eax
  404af3:	53                   	push   %ebx
  404af4:	ff 52 14             	call   *0x14(%edx)
  404af7:	83 c4 0c             	add    $0xc,%esp
  404afa:	85 c0                	test   %eax,%eax
  404afc:	0f 88 a5 00 00 00    	js     404ba7 <_alloc_child_window+0x347>
  404b02:	50                   	push   %eax
  404b03:	50                   	push   %eax
  404b04:	8b 45 08             	mov    0x8(%ebp),%eax
  404b07:	50                   	push   %eax
  404b08:	31 d2                	xor    %edx,%edx
  404b0a:	8b bd bc ef ff ff    	mov    0xffffefbc(%ebp),%edi
  404b10:	8b 85 b8 ef ff ff    	mov    0xffffefb8(%ebp),%eax
  404b16:	57                   	push   %edi
  404b17:	e8 24 d7 ff ff       	call   402240 <_read_directory>
  404b1c:	8b 95 b8 ef ff ff    	mov    0xffffefb8(%ebp),%edx
  404b22:	83 c4 10             	add    $0x10,%esp
  404b25:	8b 42 04             	mov    0x4(%edx),%eax
  404b28:	85 c0                	test   %eax,%eax
  404b2a:	75 72                	jne    404b9e <_alloc_child_window+0x33e>
  404b2c:	89 c3                	mov    %eax,%ebx
  404b2e:	85 c0                	test   %eax,%eax
  404b30:	74 75                	je     404ba7 <_alloc_child_window+0x347>
  404b32:	8b 85 b4 ef ff ff    	mov    0xffffefb4(%ebp),%eax
  404b38:	fc                   	cld    
  404b39:	66 8b 00             	mov    (%eax),%ax
  404b3c:	66 89 85 92 ef ff ff 	mov    %ax,0xffffef92(%ebp)
  404b43:	eb 06                	jmp    404b4b <_alloc_child_window+0x2eb>
  404b45:	8b 1b                	mov    (%ebx),%ebx
  404b47:	85 db                	test   %ebx,%ebx
  404b49:	74 5c                	je     404ba7 <_alloc_child_window+0x347>
  404b4b:	8b b3 a4 02 00 00    	mov    0x2a4(%ebx),%esi
  404b51:	66 8b 06             	mov    (%esi),%ax
  404b54:	66 3b 85 92 ef ff ff 	cmp    0xffffef92(%ebp),%ax
  404b5b:	75 e8                	jne    404b45 <_alloc_child_window+0x2e5>
  404b5d:	89 c1                	mov    %eax,%ecx
  404b5f:	8b bd b4 ef ff ff    	mov    0xffffefb4(%ebp),%edi
  404b65:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
  404b6b:	39 c9                	cmp    %ecx,%ecx
  404b6d:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
  404b6f:	75 d4                	jne    404b45 <_alloc_child_window+0x2e5>
  404b71:	89 d8                	mov    %ebx,%eax
  404b73:	85 db                	test   %ebx,%ebx
  404b75:	74 30                	je     404ba7 <_alloc_child_window+0x347>
  404b77:	8b 95 c0 ef ff ff    	mov    0xffffefc0(%ebp),%edx
  404b7d:	89 85 b8 ef ff ff    	mov    %eax,0xffffefb8(%ebp)
  404b83:	8b 9d cc ef ff ff    	mov    0xffffefcc(%ebp),%ebx
  404b89:	66 8b 02             	mov    (%edx),%ax
  404b8c:	25 ff ff 00 00       	and    $0xffff,%eax
  404b91:	01 c2                	add    %eax,%edx
  404b93:	89 95 c0 ef ff ff    	mov    %edx,0xffffefc0(%ebp)
  404b99:	e9 bd fe ff ff       	jmp    404a5b <_alloc_child_window+0x1fb>
  404b9e:	c7 42 0c 01 00 00 00 	movl   $0x1,0xc(%edx)
  404ba5:	eb 85                	jmp    404b2c <_alloc_child_window+0x2cc>
  404ba7:	83 ec 0c             	sub    $0xc,%esp
  404baa:	8b b5 b0 ef ff ff    	mov    0xffffefb0(%ebp),%esi
  404bb0:	56                   	push   %esi
  404bb1:	e8 6a 2b 00 00       	call   407720 <_SetCursor@4>
  404bb6:	8b 9d b8 ef ff ff    	mov    0xffffefb8(%ebp),%ebx
  404bbc:	83 c4 0c             	add    $0xc,%esp
  404bbf:	8b 95 c4 ef ff ff    	mov    0xffffefc4(%ebp),%edx
  404bc5:	83 ba a0 02 00 00 02 	cmpl   $0x2,0x2a0(%edx)
  404bcc:	74 76                	je     404c44 <_alloc_child_window+0x3e4>
  404bce:	8b 85 c4 ef ff ff    	mov    0xffffefc4(%ebp),%eax
  404bd4:	ba b6 04 00 00       	mov    $0x4b6,%edx
  404bd9:	05 b8 06 00 00       	add    $0x6b8,%eax
  404bde:	50                   	push   %eax
  404bdf:	8d 85 d0 ef ff ff    	lea    0xffffefd0(%ebp),%eax
  404be5:	50                   	push   %eax
  404be6:	8d 85 e8 f1 ff ff    	lea    0xfffff1e8(%ebp),%eax
  404bec:	57                   	push   %edi
  404bed:	57                   	push   %edi
  404bee:	e8 dd c6 ff ff       	call   4012d0 <_load_string>
  404bf3:	59                   	pop    %ecx
  404bf4:	5e                   	pop    %esi
  404bf5:	50                   	push   %eax
  404bf6:	8b 85 c4 ef ff ff    	mov    0xffffefc4(%ebp),%eax
  404bfc:	83 c0 44             	add    $0x44,%eax
  404bff:	50                   	push   %eax
  404c00:	e8 bb 2d 00 00       	call   4079c0 <_wsprintfW>
  404c05:	83 c4 10             	add    $0x10,%esp
  404c08:	8b 95 c4 ef ff ff    	mov    0xffffefc4(%ebp),%edx
  404c0e:	8b 85 c8 ef ff ff    	mov    0xffffefc8(%ebp),%eax
  404c14:	83 ec 0c             	sub    $0xc,%esp
  404c17:	89 50 68             	mov    %edx,0x68(%eax)
  404c1a:	c7 42 18 10 00 00 00 	movl   $0x10,0x18(%edx)
  404c21:	8b 55 08             	mov    0x8(%ebp),%edx
  404c24:	c7 80 d4 00 00 00 00 	movl   $0x0,0xd4(%eax)
  404c2b:	00 00 00 
  404c2e:	52                   	push   %edx
  404c2f:	89 da                	mov    %ebx,%edx
  404c31:	e8 3a fb ff ff       	call   404770 <_set_curdir>
  404c36:	8b 85 c8 ef ff ff    	mov    0xffffefc8(%ebp),%eax
  404c3c:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  404c3f:	5b                   	pop    %ebx
  404c40:	5e                   	pop    %esi
  404c41:	5f                   	pop    %edi
  404c42:	5d                   	pop    %ebp
  404c43:	c3                   	ret    
  404c44:	89 d0                	mov    %edx,%eax
  404c46:	ba b4 04 00 00       	mov    $0x4b4,%edx
  404c4b:	83 c0 44             	add    $0x44,%eax
  404c4e:	e8 7d c6 ff ff       	call   4012d0 <_load_string>
  404c53:	eb b3                	jmp    404c08 <_alloc_child_window+0x3a8>
  404c55:	83 ec 0c             	sub    $0xc,%esp
  404c58:	56                   	push   %esi
  404c59:	e8 f2 27 00 00       	call   407450 <_GetDriveTypeW@4>
  404c5e:	8b 95 c4 ef ff ff    	mov    0xffffefc4(%ebp),%edx
  404c64:	89 82 b8 08 00 00    	mov    %eax,0x8b8(%edx)
  404c6a:	8d 85 d0 ef ff ff    	lea    0xffffefd0(%ebp),%eax
  404c70:	c7 04 24 22 a5 40 00 	movl   $0x40a522,(%esp)
  404c77:	50                   	push   %eax
  404c78:	e8 e3 27 00 00       	call   407460 <_lstrcatW@8>
  404c7d:	8b 85 c8 ef ff ff    	mov    0xffffefc8(%ebp),%eax
  404c83:	59                   	pop    %ecx
  404c84:	05 d4 09 00 00       	add    $0x9d4,%eax
  404c89:	5b                   	pop    %ebx
  404c8a:	8d 9d d0 ef ff ff    	lea    0xffffefd0(%ebp),%ebx
  404c90:	68 00 01 00 00       	push   $0x100
  404c95:	50                   	push   %eax
  404c96:	8b 85 c8 ef ff ff    	mov    0xffffefc8(%ebp),%eax
  404c9c:	05 d8 0b 00 00       	add    $0xbd8,%eax
  404ca1:	50                   	push   %eax
  404ca2:	8b 85 c8 ef ff ff    	mov    0xffffefc8(%ebp),%eax
  404ca8:	05 d4 07 00 00       	add    $0x7d4,%eax
  404cad:	6a 00                	push   $0x0
  404caf:	6a 00                	push   $0x0
  404cb1:	68 00 01 00 00       	push   $0x100
  404cb6:	50                   	push   %eax
  404cb7:	53                   	push   %ebx
  404cb8:	e8 b3 27 00 00       	call   407470 <_GetVolumeInformationW@32>
  404cbd:	8b 85 c8 ef ff ff    	mov    0xffffefc8(%ebp),%eax
  404cc3:	05 cc 05 00 00       	add    $0x5cc,%eax
  404cc8:	52                   	push   %edx
  404cc9:	52                   	push   %edx
  404cca:	53                   	push   %ebx
  404ccb:	50                   	push   %eax
  404ccc:	e8 0f 26 00 00       	call   4072e0 <_lstrcpyW@8>
  404cd1:	8b 85 c8 ef ff ff    	mov    0xffffefc8(%ebp),%eax
  404cd7:	83 ec 10             	sub    $0x10,%esp
  404cda:	8b 80 dc 0b 00 00    	mov    0xbdc(%eax),%eax
  404ce0:	8d 95 d8 ef ff ff    	lea    0xffffefd8(%ebp),%edx
  404ce6:	89 85 a4 ef ff ff    	mov    %eax,0xffffefa4(%ebp)
  404cec:	89 95 9c ef ff ff    	mov    %edx,0xffffef9c(%ebp)
  404cf2:	68 02 7f 00 00       	push   $0x7f02
  404cf7:	8b 9d c4 ef ff ff    	mov    0xffffefc4(%ebp),%ebx
  404cfd:	89 b5 a0 ef ff ff    	mov    %esi,0xffffefa0(%ebp)
  404d03:	6a 00                	push   $0x0
  404d05:	e8 06 2a 00 00       	call   407710 <_LoadCursorW@8>
  404d0a:	83 c4 0c             	add    $0xc,%esp
  404d0d:	50                   	push   %eax
  404d0e:	e8 0d 2a 00 00       	call   407720 <_SetCursor@4>
  404d13:	83 c4 0c             	add    $0xc,%esp
  404d16:	89 85 98 ef ff ff    	mov    %eax,0xffffef98(%ebp)
  404d1c:	8b 85 c4 ef ff ff    	mov    0xffffefc4(%ebp),%eax
  404d22:	85 c0                	test   %eax,%eax
  404d24:	c7 80 a0 02 00 00 00 	movl   $0x0,0x2a0(%eax)
  404d2b:	00 00 00 
  404d2e:	0f 84 e1 01 00 00    	je     404f15 <_alloc_child_window+0x6b5>
  404d34:	8b 95 a0 ef ff ff    	mov    0xffffefa0(%ebp),%edx
  404d3a:	66 8b 0a             	mov    (%edx),%cx
  404d3d:	66 85 c9             	test   %cx,%cx
  404d40:	0f 95 c2             	setne  %dl
  404d43:	66 83 f9 5c          	cmp    $0x5c,%cx
  404d47:	0f 95 c0             	setne  %al
  404d4a:	25 ff 00 00 00       	and    $0xff,%eax
  404d4f:	85 c2                	test   %eax,%edx
  404d51:	74 46                	je     404d99 <_alloc_child_window+0x539>
  404d53:	66 83 f9 2f          	cmp    $0x2f,%cx
  404d57:	74 40                	je     404d99 <_alloc_child_window+0x539>
  404d59:	8b 85 a0 ef ff ff    	mov    0xffffefa0(%ebp),%eax
  404d5f:	83 c0 02             	add    $0x2,%eax
  404d62:	89 85 a0 ef ff ff    	mov    %eax,0xffffefa0(%ebp)
  404d68:	8b 85 9c ef ff ff    	mov    0xffffef9c(%ebp),%eax
  404d6e:	8b 95 a0 ef ff ff    	mov    0xffffefa0(%ebp),%edx
  404d74:	66 89 08             	mov    %cx,(%eax)
  404d77:	83 c0 02             	add    $0x2,%eax
  404d7a:	66 8b 0a             	mov    (%edx),%cx
  404d7d:	89 85 9c ef ff ff    	mov    %eax,0xffffef9c(%ebp)
  404d83:	66 85 c9             	test   %cx,%cx
  404d86:	0f 95 c2             	setne  %dl
  404d89:	66 83 f9 5c          	cmp    $0x5c,%cx
  404d8d:	0f 95 c0             	setne  %al
  404d90:	25 ff 00 00 00       	and    $0xff,%eax
  404d95:	85 c2                	test   %eax,%edx
  404d97:	75 ba                	jne    404d53 <_alloc_child_window+0x4f3>
  404d99:	66 83 f9 5c          	cmp    $0x5c,%cx
  404d9d:	0f 94 c2             	sete   %dl
  404da0:	66 83 f9 2f          	cmp    $0x2f,%cx
  404da4:	eb 23                	jmp    404dc9 <_alloc_child_window+0x569>
  404da6:	8b 85 a0 ef ff ff    	mov    0xffffefa0(%ebp),%eax
  404dac:	83 c0 02             	add    $0x2,%eax
  404daf:	89 85 a0 ef ff ff    	mov    %eax,0xffffefa0(%ebp)
  404db5:	8b 95 a0 ef ff ff    	mov    0xffffefa0(%ebp),%edx
  404dbb:	66 8b 02             	mov    (%edx),%ax
  404dbe:	66 83 f8 5c          	cmp    $0x5c,%ax
  404dc2:	0f 94 c2             	sete   %dl
  404dc5:	66 83 f8 2f          	cmp    $0x2f,%ax
  404dc9:	0f 94 c0             	sete   %al
  404dcc:	09 d0                	or     %edx,%eax
  404dce:	a8 01                	test   $0x1,%al
  404dd0:	75 d4                	jne    404da6 <_alloc_child_window+0x546>
  404dd2:	8b 85 9c ef ff ff    	mov    0xffffef9c(%ebp),%eax
  404dd8:	8d 95 d8 ef ff ff    	lea    0xffffefd8(%ebp),%edx
  404dde:	66 c7 00 5c 00       	movw   $0x5c,(%eax)
  404de3:	83 c0 02             	add    $0x2,%eax
  404de6:	89 85 9c ef ff ff    	mov    %eax,0xffffef9c(%ebp)
  404dec:	66 c7 00 00 00       	movw   $0x0,(%eax)
  404df1:	50                   	push   %eax
  404df2:	50                   	push   %eax
  404df3:	8b 45 08             	mov    0x8(%ebp),%eax
  404df6:	50                   	push   %eax
  404df7:	8b 85 a4 ef ff ff    	mov    0xffffefa4(%ebp),%eax
  404dfd:	50                   	push   %eax
  404dfe:	89 d8                	mov    %ebx,%eax
  404e00:	e8 3b d4 ff ff       	call   402240 <_read_directory>
  404e05:	8b 43 04             	mov    0x4(%ebx),%eax
  404e08:	83 c4 10             	add    $0x10,%esp
  404e0b:	85 c0                	test   %eax,%eax
  404e0d:	74 07                	je     404e16 <_alloc_child_window+0x5b6>
  404e0f:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
  404e16:	8b 95 a0 ef ff ff    	mov    0xffffefa0(%ebp),%edx
  404e1c:	66 83 3a 00          	cmpw   $0x0,(%edx)
  404e20:	0f 84 ef 00 00 00    	je     404f15 <_alloc_child_window+0x6b5>
  404e26:	89 85 94 ef ff ff    	mov    %eax,0xffffef94(%ebp)
  404e2c:	85 c0                	test   %eax,%eax
  404e2e:	0f 84 d5 00 00 00    	je     404f09 <_alloc_child_window+0x6a9>
  404e34:	8b b5 94 ef ff ff    	mov    0xffffef94(%ebp),%esi
  404e3a:	8b bd a0 ef ff ff    	mov    0xffffefa0(%ebp),%edi
  404e40:	83 c6 44             	add    $0x44,%esi
  404e43:	66 8b 0f             	mov    (%edi),%cx
  404e46:	66 85 c9             	test   %cx,%cx
  404e49:	0f 94 c2             	sete   %dl
  404e4c:	66 83 f9 5c          	cmp    $0x5c,%cx
  404e50:	0f 94 c0             	sete   %al
  404e53:	09 d0                	or     %edx,%eax
  404e55:	a8 01                	test   $0x1,%al
  404e57:	0f 85 cf 00 00 00    	jne    404f2c <_alloc_child_window+0x6cc>
  404e5d:	66 83 f9 2f          	cmp    $0x2f,%cx
  404e61:	0f 84 c5 00 00 00    	je     404f2c <_alloc_child_window+0x6cc>
  404e67:	83 ec 0c             	sub    $0xc,%esp
  404e6a:	89 c8                	mov    %ecx,%eax
  404e6c:	25 ff ff 00 00       	and    $0xffff,%eax
  404e71:	83 c7 02             	add    $0x2,%edi
  404e74:	50                   	push   %eax
  404e75:	e8 a6 34 00 00       	call   408320 <_tolower>
  404e7a:	89 c3                	mov    %eax,%ebx
  404e7c:	66 8b 06             	mov    (%esi),%ax
  404e7f:	25 ff ff 00 00       	and    $0xffff,%eax
  404e84:	83 c6 02             	add    $0x2,%esi
  404e87:	89 04 24             	mov    %eax,(%esp)
  404e8a:	e8 91 34 00 00       	call   408320 <_tolower>
  404e8f:	83 c4 10             	add    $0x10,%esp
  404e92:	39 c3                	cmp    %eax,%ebx
  404e94:	74 ad                	je     404e43 <_alloc_child_window+0x5e3>
  404e96:	8b b5 94 ef ff ff    	mov    0xffffef94(%ebp),%esi
  404e9c:	8b bd a0 ef ff ff    	mov    0xffffefa0(%ebp),%edi
  404ea2:	81 c6 4c 02 00 00    	add    $0x24c,%esi
  404ea8:	66 8b 0f             	mov    (%edi),%cx
  404eab:	66 85 c9             	test   %cx,%cx
  404eae:	0f 94 c2             	sete   %dl
  404eb1:	66 83 f9 5c          	cmp    $0x5c,%cx
  404eb5:	0f 94 c0             	sete   %al
  404eb8:	09 d0                	or     %edx,%eax
  404eba:	a8 01                	test   $0x1,%al
  404ebc:	75 6e                	jne    404f2c <_alloc_child_window+0x6cc>
  404ebe:	66 83 f9 2f          	cmp    $0x2f,%cx
  404ec2:	74 68                	je     404f2c <_alloc_child_window+0x6cc>
  404ec4:	83 ec 0c             	sub    $0xc,%esp
  404ec7:	89 c8                	mov    %ecx,%eax
  404ec9:	25 ff ff 00 00       	and    $0xffff,%eax
  404ece:	83 c7 02             	add    $0x2,%edi
  404ed1:	50                   	push   %eax
  404ed2:	e8 49 34 00 00       	call   408320 <_tolower>
  404ed7:	89 c3                	mov    %eax,%ebx
  404ed9:	66 8b 06             	mov    (%esi),%ax
  404edc:	25 ff ff 00 00       	and    $0xffff,%eax
  404ee1:	83 c6 02             	add    $0x2,%esi
  404ee4:	89 04 24             	mov    %eax,(%esp)
  404ee7:	e8 34 34 00 00       	call   408320 <_tolower>
  404eec:	83 c4 10             	add    $0x10,%esp
  404eef:	39 c3                	cmp    %eax,%ebx
  404ef1:	74 b5                	je     404ea8 <_alloc_child_window+0x648>
  404ef3:	8b 85 94 ef ff ff    	mov    0xffffef94(%ebp),%eax
  404ef9:	8b 00                	mov    (%eax),%eax
  404efb:	89 85 94 ef ff ff    	mov    %eax,0xffffef94(%ebp)
  404f01:	85 c0                	test   %eax,%eax
  404f03:	0f 85 2b ff ff ff    	jne    404e34 <_alloc_child_window+0x5d4>
  404f09:	31 c0                	xor    %eax,%eax
  404f0b:	89 c3                	mov    %eax,%ebx
  404f0d:	85 c0                	test   %eax,%eax
  404f0f:	0f 85 1f fe ff ff    	jne    404d34 <_alloc_child_window+0x4d4>
  404f15:	83 ec 0c             	sub    $0xc,%esp
  404f18:	8b 85 98 ef ff ff    	mov    0xffffef98(%ebp),%eax
  404f1e:	50                   	push   %eax
  404f1f:	e8 fc 27 00 00       	call   407720 <_SetCursor@4>
  404f24:	83 c4 0c             	add    $0xc,%esp
  404f27:	e9 93 fc ff ff       	jmp    404bbf <_alloc_child_window+0x35f>
  404f2c:	8b 85 94 ef ff ff    	mov    0xffffef94(%ebp),%eax
  404f32:	89 c3                	mov    %eax,%ebx
  404f34:	85 c0                	test   %eax,%eax
  404f36:	eb d7                	jmp    404f0f <_alloc_child_window+0x6af>
  404f38:	90                   	nop    
  404f39:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00404f40 <_FrameWndProc@16>:
  404f40:	55                   	push   %ebp
  404f41:	b8 0c 29 00 00       	mov    $0x290c,%eax
  404f46:	89 e5                	mov    %esp,%ebp
  404f48:	57                   	push   %edi
  404f49:	56                   	push   %esi
  404f4a:	53                   	push   %ebx
  404f4b:	e8 40 32 00 00       	call   408190 <___chkstk>
  404f50:	8b 45 0c             	mov    0xc(%ebp),%eax
  404f53:	8b 75 10             	mov    0x10(%ebp),%esi
  404f56:	8b 5d 14             	mov    0x14(%ebp),%ebx
  404f59:	83 f8 10             	cmp    $0x10,%eax
  404f5c:	0f 84 8e 00 00 00    	je     404ff0 <_FrameWndProc@16+0xb0>
  404f62:	77 3c                	ja     404fa0 <_FrameWndProc@16+0x60>
  404f64:	83 f8 02             	cmp    $0x2,%eax
  404f67:	0f 84 d3 00 00 00    	je     405040 <_FrameWndProc@16+0x100>
  404f6d:	83 f8 05             	cmp    $0x5,%eax
  404f70:	0f 84 50 01 00 00    	je     4050c6 <_FrameWndProc@16+0x186>
  404f76:	83 ec 0c             	sub    $0xc,%esp
  404f79:	53                   	push   %ebx
  404f7a:	56                   	push   %esi
  404f7b:	50                   	push   %eax
  404f7c:	a1 a8 c2 40 00       	mov    0x40c2a8,%eax
  404f81:	50                   	push   %eax
  404f82:	8b 45 08             	mov    0x8(%ebp),%eax
  404f85:	50                   	push   %eax
  404f86:	e8 b5 27 00 00       	call   407740 <_DefFrameProcW@20>
  404f8b:	89 c2                	mov    %eax,%edx
  404f8d:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  404f90:	89 d0                	mov    %edx,%eax
  404f92:	5b                   	pop    %ebx
  404f93:	5e                   	pop    %esi
  404f94:	5f                   	pop    %edi
  404f95:	5d                   	pop    %ebp
  404f96:	c2 10 00             	ret    $0x10
  404f99:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  404fa0:	3d 11 01 00 00       	cmp    $0x111,%eax
  404fa5:	0f 84 b1 00 00 00    	je     40505c <_FrameWndProc@16+0x11c>
  404fab:	77 23                	ja     404fd0 <_FrameWndProc@16+0x90>
  404fad:	83 f8 24             	cmp    $0x24,%eax
  404fb0:	75 c4                	jne    404f76 <_FrameWndProc@16+0x36>
  404fb2:	8b 53 20             	mov    0x20(%ebx),%edx
  404fb5:	8b 43 24             	mov    0x24(%ebx),%eax
  404fb8:	01 d2                	add    %edx,%edx
  404fba:	01 c0                	add    %eax,%eax
  404fbc:	89 53 20             	mov    %edx,0x20(%ebx)
  404fbf:	89 43 24             	mov    %eax,0x24(%ebx)
  404fc2:	31 d2                	xor    %edx,%edx
  404fc4:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  404fc7:	89 d0                	mov    %edx,%eax
  404fc9:	5b                   	pop    %ebx
  404fca:	5e                   	pop    %esi
  404fcb:	5f                   	pop    %edi
  404fcc:	5d                   	pop    %ebp
  404fcd:	c2 10 00             	ret    $0x10
  404fd0:	3d 83 bf 00 00       	cmp    $0xbf83,%eax
  404fd5:	75 9f                	jne    404f76 <_FrameWndProc@16+0x36>
  404fd7:	50                   	push   %eax
  404fd8:	50                   	push   %eax
  404fd9:	53                   	push   %ebx
  404fda:	8b 45 08             	mov    0x8(%ebp),%eax
  404fdd:	50                   	push   %eax
  404fde:	e8 5d db ff ff       	call   402b40 <_frame_get_clientspace>
  404fe3:	ba 01 00 00 00       	mov    $0x1,%edx
  404fe8:	eb a3                	jmp    404f8d <_FrameWndProc@16+0x4d>
  404fea:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  404ff0:	83 ec 0c             	sub    $0xc,%esp
  404ff3:	8b 45 08             	mov    0x8(%ebp),%eax
  404ff6:	50                   	push   %eax
  404ff7:	e8 54 27 00 00       	call   407750 <_DestroyWindow@4>
  404ffc:	c7 05 94 c2 40 00 00 	movl   $0x0,0x40c294
  405003:	00 00 00 
  405006:	c7 05 a0 c2 40 00 00 	movl   $0x0,0x40c2a0
  40500d:	00 00 00 
  405010:	c7 05 a4 c2 40 00 00 	movl   $0x0,0x40c2a4
  405017:	00 00 00 
  40501a:	c7 05 90 c2 40 00 00 	movl   $0x0,0x40c290
  405021:	00 00 00 
  405024:	c7 05 a8 c2 40 00 00 	movl   $0x0,0x40c2a8
  40502b:	00 00 00 
  40502e:	c7 05 b4 c2 40 00 00 	movl   $0x0,0x40c2b4
  405035:	00 00 00 
  405038:	83 c4 0c             	add    $0xc,%esp
  40503b:	31 d2                	xor    %edx,%edx
  40503d:	eb 85                	jmp    404fc4 <_FrameWndProc@16+0x84>
  40503f:	90                   	nop    
  405040:	a1 8c c2 40 00       	mov    0x40c28c,%eax
  405045:	85 c0                	test   %eax,%eax
  405047:	0f 85 75 ff ff ff    	jne    404fc2 <_FrameWndProc@16+0x82>
  40504d:	83 ec 0c             	sub    $0xc,%esp
  405050:	6a 00                	push   $0x0
  405052:	e8 09 27 00 00       	call   407760 <_PostQuitMessage@4>
  405057:	83 c4 0c             	add    $0xc,%esp
  40505a:	eb df                	jmp    40503b <_FrameWndProc@16+0xfb>
  40505c:	6a 00                	push   $0x0
  40505e:	6a 00                	push   $0x0
  405060:	68 29 02 00 00       	push   $0x229
  405065:	89 f7                	mov    %esi,%edi
  405067:	a1 a8 c2 40 00       	mov    0x40c2a8,%eax
  40506c:	81 e7 ff ff 00 00    	and    $0xffff,%edi
  405072:	50                   	push   %eax
  405073:	e8 d8 24 00 00       	call   407550 <_SendMessageW@16>
  405078:	53                   	push   %ebx
  405079:	56                   	push   %esi
  40507a:	68 80 bf 00 00       	push   $0xbf80
  40507f:	50                   	push   %eax
  405080:	e8 cb 24 00 00       	call   407550 <_SendMessageW@16>
  405085:	85 c0                	test   %eax,%eax
  405087:	0f 85 35 ff ff ff    	jne    404fc2 <_FrameWndProc@16+0x82>
  40508d:	8d 87 fe 6f ff ff    	lea    0xffff6ffe(%edi),%eax
  405093:	3d ff 00 00 00       	cmp    $0xff,%eax
  405098:	0f 87 ed 00 00 00    	ja     40518b <_FrameWndProc@16+0x24b>
  40509e:	be cc c2 40 00       	mov    $0x40c2cc,%esi
  4050a3:	8d 87 fd 6f ff ff    	lea    0xffff6ffd(%edi),%eax
  4050a9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  4050b0:	83 f8 ff             	cmp    $0xffffffff,%eax
  4050b3:	75 05                	jne    4050ba <_FrameWndProc@16+0x17a>
  4050b5:	eb 4e                	jmp    405105 <_FrameWndProc@16+0x1c5>
  4050b7:	83 c6 02             	add    $0x2,%esi
  4050ba:	66 83 3e 00          	cmpw   $0x0,(%esi)
  4050be:	75 f7                	jne    4050b7 <_FrameWndProc@16+0x177>
  4050c0:	83 c6 02             	add    $0x2,%esi
  4050c3:	48                   	dec    %eax
  4050c4:	eb ea                	jmp    4050b0 <_FrameWndProc@16+0x170>
  4050c6:	89 d8                	mov    %ebx,%eax
  4050c8:	8d 95 f8 d8 ff ff    	lea    0xffffd8f8(%ebp),%edx
  4050ce:	25 ff ff 00 00       	and    $0xffff,%eax
  4050d3:	c7 85 f8 d8 ff ff 00 	movl   $0x0,0xffffd8f8(%ebp)
  4050da:	00 00 00 
  4050dd:	c1 eb 10             	shr    $0x10,%ebx
  4050e0:	89 85 00 d9 ff ff    	mov    %eax,0xffffd900(%ebp)
  4050e6:	c7 85 fc d8 ff ff 00 	movl   $0x0,0xffffd8fc(%ebp)
  4050ed:	00 00 00 
  4050f0:	89 9d 04 d9 ff ff    	mov    %ebx,0xffffd904(%ebp)
  4050f6:	8b 45 08             	mov    0x8(%ebp),%eax
  4050f9:	e8 22 d5 ff ff       	call   402620 <_resize_frame_rect>
  4050fe:	31 d2                	xor    %edx,%edx
  405100:	e9 bf fe ff ff       	jmp    404fc4 <_FrameWndProc@16+0x84>
  405105:	83 ec 0c             	sub    $0xc,%esp
  405108:	56                   	push   %esi
  405109:	e8 22 dd ff ff       	call   402e30 <_activate_drive_window>
  40510e:	83 c4 10             	add    $0x10,%esp
  405111:	31 d2                	xor    %edx,%edx
  405113:	85 c0                	test   %eax,%eax
  405115:	0f 85 72 fe ff ff    	jne    404f8d <_FrameWndProc@16+0x4d>
  40511b:	83 ec 0c             	sub    $0xc,%esp
  40511e:	8d 9d d8 ef ff ff    	lea    0xffffefd8(%ebp),%ebx
  405124:	6a 00                	push   $0x0
  405126:	6a 00                	push   $0x0
  405128:	6a 00                	push   $0x0
  40512a:	53                   	push   %ebx
  40512b:	56                   	push   %esi
  40512c:	e8 bf 31 00 00       	call   4082f0 <__wsplitpath>
  405131:	83 c4 14             	add    $0x14,%esp
  405134:	53                   	push   %ebx
  405135:	e8 06 23 00 00       	call   407440 <_SetCurrentDirectoryW@4>
  40513a:	83 c4 0c             	add    $0xc,%esp
  40513d:	85 c0                	test   %eax,%eax
  40513f:	0f 84 33 03 00 00    	je     405478 <_FrameWndProc@16+0x538>
  405145:	8d 9d c8 ed ff ff    	lea    0xffffedc8(%ebp),%ebx
  40514b:	51                   	push   %ecx
  40514c:	51                   	push   %ecx
  40514d:	53                   	push   %ebx
  40514e:	68 04 01 00 00       	push   $0x104
  405153:	e8 28 23 00 00       	call   407480 <_GetCurrentDirectoryW@8>
  405158:	31 d2                	xor    %edx,%edx
  40515a:	50                   	push   %eax
  40515b:	8b 45 08             	mov    0x8(%ebp),%eax
  40515e:	50                   	push   %eax
  40515f:	89 d8                	mov    %ebx,%eax
  405161:	e8 fa f6 ff ff       	call   404860 <_alloc_child_window>
  405166:	89 c3                	mov    %eax,%ebx
  405168:	e8 b3 d6 ff ff       	call   402820 <_create_child_window>
  40516d:	83 c4 10             	add    $0x10,%esp
  405170:	85 c0                	test   %eax,%eax
  405172:	0f 85 4a fe ff ff    	jne    404fc2 <_FrameWndProc@16+0x82>
  405178:	83 ec 0c             	sub    $0xc,%esp
  40517b:	53                   	push   %ebx
  40517c:	e8 af 31 00 00       	call   408330 <_free>
  405181:	83 c4 10             	add    $0x10,%esp
  405184:	31 d2                	xor    %edx,%edx
  405186:	e9 39 fe ff ff       	jmp    404fc4 <_FrameWndProc@16+0x84>
  40518b:	81 ff 00 80 00 00    	cmp    $0x8000,%edi
  405191:	0f 84 48 02 00 00    	je     4053df <_FrameWndProc@16+0x49f>
  405197:	77 62                	ja     4051fb <_FrameWndProc@16+0x2bb>
  405199:	81 ff fb 01 00 00    	cmp    $0x1fb,%edi
  40519f:	0f 84 9b 03 00 00    	je     405540 <_FrameWndProc@16+0x600>
  4051a5:	0f 87 f7 01 00 00    	ja     4053a2 <_FrameWndProc@16+0x462>
  4051ab:	83 ff 73             	cmp    $0x73,%edi
  4051ae:	0f 84 b6 03 00 00    	je     40556a <_FrameWndProc@16+0x62a>
  4051b4:	0f 87 29 03 00 00    	ja     4054e3 <_FrameWndProc@16+0x5a3>
  4051ba:	83 ff 69             	cmp    $0x69,%edi
  4051bd:	0f 84 5a 02 00 00    	je     40541d <_FrameWndProc@16+0x4dd>
  4051c3:	8d 87 00 40 ff ff    	lea    0xffff4000(%edi),%eax
  4051c9:	3d ff 00 00 00       	cmp    $0xff,%eax
  4051ce:	8d 87 00 10 ff ff    	lea    0xffff1000(%edi),%eax
  4051d4:	0f 97 c2             	seta   %dl
  4051d7:	3d 20 01 00 00       	cmp    $0x120,%eax
  4051dc:	0f 97 c0             	seta   %al
  4051df:	25 ff 00 00 00       	and    $0xff,%eax
  4051e4:	85 c2                	test   %eax,%edx
  4051e6:	0f 85 a2 02 00 00    	jne    40548e <_FrameWndProc@16+0x54e>
  4051ec:	83 ec 0c             	sub    $0xc,%esp
  4051ef:	53                   	push   %ebx
  4051f0:	56                   	push   %esi
  4051f1:	68 11 01 00 00       	push   $0x111
  4051f6:	e9 81 fd ff ff       	jmp    404f7c <_FrameWndProc@16+0x3c>
  4051fb:	81 ff 31 e1 00 00    	cmp    $0xe131,%edi
  405201:	0f 84 1e 03 00 00    	je     405525 <_FrameWndProc@16+0x5e5>
  405207:	0f 87 42 01 00 00    	ja     40534f <_FrameWndProc@16+0x40f>
  40520d:	81 ff 01 90 00 00    	cmp    $0x9001,%edi
  405213:	0f 84 13 05 00 00    	je     40572c <_FrameWndProc@16+0x7ec>
  405219:	0f 87 ab 02 00 00    	ja     4054ca <_FrameWndProc@16+0x58a>
  40521f:	81 ff 04 80 00 00    	cmp    $0x8004,%edi
  405225:	75 9c                	jne    4051c3 <_FrameWndProc@16+0x283>
  405227:	8b 35 c0 c1 40 00    	mov    0x40c1c0,%esi
  40522d:	85 f6                	test   %esi,%esi
  40522f:	0f 94 c0             	sete   %al
  405232:	25 ff 00 00 00       	and    $0xff,%eax
  405237:	a3 c0 c1 40 00       	mov    %eax,0x40c1c0
  40523c:	85 c0                	test   %eax,%eax
  40523e:	0f 84 47 05 00 00    	je     40578b <_FrameWndProc@16+0x84b>
  405244:	53                   	push   %ebx
  405245:	53                   	push   %ebx
  405246:	68 c4 c1 40 00       	push   $0x40c1c4
  40524b:	8b 4d 08             	mov    0x8(%ebp),%ecx
  40524e:	8d 9d f8 d8 ff ff    	lea    0xffffd8f8(%ebp),%ebx
  405254:	51                   	push   %ecx
  405255:	e8 d6 23 00 00       	call   407630 <_GetWindowRect@8>
  40525a:	52                   	push   %edx
  40525b:	8b 45 08             	mov    0x8(%ebp),%eax
  40525e:	50                   	push   %eax
  40525f:	e8 0c 25 00 00       	call   407770 <_IsZoomed@4>
  405264:	83 c4 0c             	add    $0xc,%esp
  405267:	a3 d4 c1 40 00       	mov    %eax,0x40c1d4
  40526c:	53                   	push   %ebx
  40526d:	6a 00                	push   $0x0
  40526f:	68 83 bf 00 00       	push   $0xbf83
  405274:	8b 45 08             	mov    0x8(%ebp),%eax
  405277:	50                   	push   %eax
  405278:	e8 d3 22 00 00       	call   407550 <_SendMessageW@16>
  40527d:	50                   	push   %eax
  40527e:	50                   	push   %eax
  40527f:	53                   	push   %ebx
  405280:	8b 45 08             	mov    0x8(%ebp),%eax
  405283:	50                   	push   %eax
  405284:	e8 b7 23 00 00       	call   407640 <_ClientToScreen@8>
  405289:	8d 85 00 d9 ff ff    	lea    0xffffd900(%ebp),%eax
  40528f:	50                   	push   %eax
  405290:	8b 45 08             	mov    0x8(%ebp),%eax
  405293:	50                   	push   %eax
  405294:	e8 a7 23 00 00       	call   407640 <_ClientToScreen@8>
  405299:	50                   	push   %eax
  40529a:	8b bd f8 d8 ff ff    	mov    0xffffd8f8(%ebp),%edi
  4052a0:	a1 c4 c1 40 00       	mov    0x40c1c4,%eax
  4052a5:	29 f8                	sub    %edi,%eax
  4052a7:	8b b5 fc d8 ff ff    	mov    0xffffd8fc(%ebp),%esi
  4052ad:	89 85 f8 d8 ff ff    	mov    %eax,0xffffd8f8(%ebp)
  4052b3:	a1 c8 c1 40 00       	mov    0x40c1c8,%eax
  4052b8:	29 f0                	sub    %esi,%eax
  4052ba:	89 85 fc d8 ff ff    	mov    %eax,0xffffd8fc(%ebp)
  4052c0:	6a 00                	push   $0x0
  4052c2:	e8 59 22 00 00       	call   407520 <_GetSystemMetrics@4>
  4052c7:	8b 1d cc c1 40 00    	mov    0x40c1cc,%ebx
  4052cd:	8b 8d 00 d9 ff ff    	mov    0xffffd900(%ebp),%ecx
  4052d3:	01 d8                	add    %ebx,%eax
  4052d5:	29 c8                	sub    %ecx,%eax
  4052d7:	89 85 00 d9 ff ff    	mov    %eax,0xffffd900(%ebp)
  4052dd:	6a 01                	push   $0x1
  4052df:	e8 3c 22 00 00       	call   407520 <_GetSystemMetrics@4>
  4052e4:	8b 15 d0 c1 40 00    	mov    0x40c1d0,%edx
  4052ea:	8b bd 04 d9 ff ff    	mov    0xffffd904(%ebp),%edi
  4052f0:	01 d0                	add    %edx,%eax
  4052f2:	29 f8                	sub    %edi,%eax
  4052f4:	89 85 04 d9 ff ff    	mov    %eax,0xffffd904(%ebp)
  4052fa:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  405301:	8b 8d fc d8 ff ff    	mov    0xffffd8fc(%ebp),%ecx
  405307:	29 c8                	sub    %ecx,%eax
  405309:	50                   	push   %eax
  40530a:	8b 85 00 d9 ff ff    	mov    0xffffd900(%ebp),%eax
  405310:	8b 95 f8 d8 ff ff    	mov    0xffffd8f8(%ebp),%edx
  405316:	29 d0                	sub    %edx,%eax
  405318:	50                   	push   %eax
  405319:	51                   	push   %ecx
  40531a:	52                   	push   %edx
  40531b:	8b 75 08             	mov    0x8(%ebp),%esi
  40531e:	56                   	push   %esi
  40531f:	e8 1c 22 00 00       	call   407540 <_MoveWindow@24>
  405324:	59                   	pop    %ecx
  405325:	5b                   	pop    %ebx
  405326:	83 3d c0 c1 40 00 01 	cmpl   $0x1,0x40c1c0
  40532d:	19 c0                	sbb    %eax,%eax
  40532f:	52                   	push   %edx
  405330:	83 f0 ff             	xor    $0xffffffff,%eax
  405333:	83 e0 08             	and    $0x8,%eax
  405336:	50                   	push   %eax
  405337:	68 04 80 00 00       	push   $0x8004
  40533c:	a1 a4 c2 40 00       	mov    0x40c2a4,%eax
  405341:	50                   	push   %eax
  405342:	e8 c9 22 00 00       	call   407610 <_CheckMenuItem@12>
  405347:	31 d2                	xor    %edx,%edx
  405349:	58                   	pop    %eax
  40534a:	e9 75 fc ff ff       	jmp    404fc4 <_FrameWndProc@16+0x84>
  40534f:	81 ff 33 e1 00 00    	cmp    $0xe133,%edi
  405355:	0f 84 04 02 00 00    	je     40555f <_FrameWndProc@16+0x61f>
  40535b:	0f 82 f3 01 00 00    	jb     405554 <_FrameWndProc@16+0x614>
  405361:	81 ff 34 e1 00 00    	cmp    $0xe134,%edi
  405367:	0f 84 10 04 00 00    	je     40577d <_FrameWndProc@16+0x83d>
  40536d:	81 ff 46 e1 00 00    	cmp    $0xe146,%edi
  405373:	0f 85 4a fe ff ff    	jne    4051c3 <_FrameWndProc@16+0x283>
  405379:	ba b0 04 00 00       	mov    $0x4b0,%edx
  40537e:	8d 85 e8 f7 ff ff    	lea    0xfffff7e8(%ebp),%eax
  405384:	6a 00                	push   $0x0
  405386:	6a 03                	push   $0x3
  405388:	53                   	push   %ebx
  405389:	53                   	push   %ebx
  40538a:	e8 41 bf ff ff       	call   4012d0 <_load_string>
  40538f:	5a                   	pop    %edx
  405390:	59                   	pop    %ecx
  405391:	50                   	push   %eax
  405392:	8b 7d 08             	mov    0x8(%ebp),%edi
  405395:	57                   	push   %edi
  405396:	e8 e5 23 00 00       	call   407780 <_WinHelpW@16>
  40539b:	31 d2                	xor    %edx,%edx
  40539d:	e9 22 fc ff ff       	jmp    404fc4 <_FrameWndProc@16+0x84>
  4053a2:	81 ff fe 01 00 00    	cmp    $0x1fe,%edi
  4053a8:	0f 84 cd 01 00 00    	je     40557b <_FrameWndProc@16+0x63b>
  4053ae:	0f 87 4f 01 00 00    	ja     405503 <_FrameWndProc@16+0x5c3>
  4053b4:	81 ff fc 01 00 00    	cmp    $0x1fc,%edi
  4053ba:	0f 85 03 fe ff ff    	jne    4051c3 <_FrameWndProc@16+0x283>
  4053c0:	83 ec 0c             	sub    $0xc,%esp
  4053c3:	8b 1d b0 c2 40 00    	mov    0x40c2b0,%ebx
  4053c9:	ba fc 01 00 00       	mov    $0x1fc,%edx
  4053ce:	53                   	push   %ebx
  4053cf:	8b 45 08             	mov    0x8(%ebp),%eax
  4053d2:	e8 19 d9 ff ff       	call   402cf0 <_toggle_child>
  4053d7:	83 c4 10             	add    $0x10,%esp
  4053da:	e9 a5 fd ff ff       	jmp    405184 <_FrameWndProc@16+0x244>
  4053df:	6a 00                	push   $0x0
  4053e1:	ba b0 04 00 00       	mov    $0x4b0,%edx
  4053e6:	83 ec 0c             	sub    $0xc,%esp
  4053e9:	8d 85 e8 f7 ff ff    	lea    0xfffff7e8(%ebp),%eax
  4053ef:	e8 dc be ff ff       	call   4012d0 <_load_string>
  4053f4:	83 c4 0c             	add    $0xc,%esp
  4053f7:	ba b8 04 00 00       	mov    $0x4b8,%edx
  4053fc:	50                   	push   %eax
  4053fd:	50                   	push   %eax
  4053fe:	50                   	push   %eax
  4053ff:	8d 85 e8 ef ff ff    	lea    0xffffefe8(%ebp),%eax
  405405:	e8 c6 be ff ff       	call   4012d0 <_load_string>
  40540a:	5e                   	pop    %esi
  40540b:	5f                   	pop    %edi
  40540c:	50                   	push   %eax
  40540d:	8b 5d 08             	mov    0x8(%ebp),%ebx
  405410:	53                   	push   %ebx
  405411:	e8 ba 27 00 00       	call   407bd0 <_ShellAboutW@16>
  405416:	31 d2                	xor    %edx,%edx
  405418:	e9 a7 fb ff ff       	jmp    404fc4 <_FrameWndProc@16+0x84>
  40541d:	8d 9d 08 d9 ff ff    	lea    0xffffd908(%ebp),%ebx
  405423:	50                   	push   %eax
  405424:	68 0c 02 00 00       	push   $0x20c
  405429:	6a 00                	push   $0x0
  40542b:	53                   	push   %ebx
  40542c:	e8 4f 2e 00 00       	call   408280 <_memset>
  405431:	89 1c 24             	mov    %ebx,(%esp)
  405434:	68 80 29 40 00       	push   $0x402980
  405439:	8b 45 08             	mov    0x8(%ebp),%eax
  40543c:	50                   	push   %eax
  40543d:	6a 67                	push   $0x67
  40543f:	a1 80 c2 40 00       	mov    0x40c280,%eax
  405444:	50                   	push   %eax
  405445:	e8 46 23 00 00       	call   407790 <_DialogBoxParamW@20>
  40544a:	83 c4 0c             	add    $0xc,%esp
  40544d:	48                   	dec    %eax
  40544e:	0f 85 6e fb ff ff    	jne    404fc2 <_FrameWndProc@16+0x82>
  405454:	50                   	push   %eax
  405455:	50                   	push   %eax
  405456:	8b 85 10 db ff ff    	mov    0xffffdb10(%ebp),%eax
  40545c:	50                   	push   %eax
  40545d:	6a 00                	push   $0x0
  40545f:	6a 00                	push   $0x0
  405461:	53                   	push   %ebx
  405462:	6a 00                	push   $0x0
  405464:	8b 45 08             	mov    0x8(%ebp),%eax
  405467:	50                   	push   %eax
  405468:	e8 73 27 00 00       	call   407be0 <_ShellExecuteW@24>
  40546d:	5e                   	pop    %esi
  40546e:	83 f8 20             	cmp    $0x20,%eax
  405471:	5f                   	pop    %edi
  405472:	0f 8f 4a fb ff ff    	jg     404fc2 <_FrameWndProc@16+0x82>
  405478:	e8 13 20 00 00       	call   407490 <_GetLastError@0>
  40547d:	89 c2                	mov    %eax,%edx
  40547f:	8b 45 08             	mov    0x8(%ebp),%eax
  405482:	e8 69 be ff ff       	call   4012f0 <_display_error>
  405487:	31 d2                	xor    %edx,%edx
  405489:	e9 36 fb ff ff       	jmp    404fc4 <_FrameWndProc@16+0x84>
  40548e:	6a 00                	push   $0x0
  405490:	8d 85 e8 f7 ff ff    	lea    0xfffff7e8(%ebp),%eax
  405496:	83 ec 0c             	sub    $0xc,%esp
  405499:	ba b0 04 00 00       	mov    $0x4b0,%edx
  40549e:	e8 2d be ff ff       	call   4012d0 <_load_string>
  4054a3:	83 c4 0c             	add    $0xc,%esp
  4054a6:	ba b7 04 00 00       	mov    $0x4b7,%edx
  4054ab:	50                   	push   %eax
  4054ac:	8d 85 e8 ef ff ff    	lea    0xffffefe8(%ebp),%eax
  4054b2:	51                   	push   %ecx
  4054b3:	51                   	push   %ecx
  4054b4:	e8 17 be ff ff       	call   4012d0 <_load_string>
  4054b9:	5f                   	pop    %edi
  4054ba:	5a                   	pop    %edx
  4054bb:	50                   	push   %eax
  4054bc:	8b 4d 08             	mov    0x8(%ebp),%ecx
  4054bf:	51                   	push   %ecx
  4054c0:	e8 3b 20 00 00       	call   407500 <_MessageBoxW@16>
  4054c5:	e9 22 fd ff ff       	jmp    4051ec <_FrameWndProc@16+0x2ac>
  4054ca:	81 ff 30 e1 00 00    	cmp    $0xe130,%edi
  4054d0:	0f 85 ed fc ff ff    	jne    4051c3 <_FrameWndProc@16+0x283>
  4054d6:	8d 9d b8 eb ff ff    	lea    0xffffebb8(%ebp),%ebx
  4054dc:	50                   	push   %eax
  4054dd:	50                   	push   %eax
  4054de:	e9 6a fc ff ff       	jmp    40514d <_FrameWndProc@16+0x20d>
  4054e3:	81 ff f7 01 00 00    	cmp    $0x1f7,%edi
  4054e9:	0f 85 d4 fc ff ff    	jne    4051c3 <_FrameWndProc@16+0x283>
  4054ef:	83 ec 0c             	sub    $0xc,%esp
  4054f2:	8b 15 ac c2 40 00    	mov    0x40c2ac,%edx
  4054f8:	52                   	push   %edx
  4054f9:	ba f7 01 00 00       	mov    $0x1f7,%edx
  4054fe:	e9 cc fe ff ff       	jmp    4053cf <_FrameWndProc@16+0x48f>
  405503:	81 ff 0b 07 00 00    	cmp    $0x70b,%edi
  405509:	0f 85 b4 fc ff ff    	jne    4051c3 <_FrameWndProc@16+0x283>
  40550f:	6a 00                	push   $0x0
  405511:	6a 00                	push   $0x0
  405513:	ba b0 04 00 00       	mov    $0x4b0,%edx
  405518:	50                   	push   %eax
  405519:	50                   	push   %eax
  40551a:	8d 85 e8 f7 ff ff    	lea    0xfffff7e8(%ebp),%eax
  405520:	e9 e0 fe ff ff       	jmp    405405 <_FrameWndProc@16+0x4c5>
  405525:	6a 00                	push   $0x0
  405527:	6a 00                	push   $0x0
  405529:	68 28 02 00 00       	push   $0x228
  40552e:	a1 a8 c2 40 00       	mov    0x40c2a8,%eax
  405533:	50                   	push   %eax
  405534:	e8 17 20 00 00       	call   407550 <_SendMessageW@16>
  405539:	31 d2                	xor    %edx,%edx
  40553b:	e9 84 fa ff ff       	jmp    404fc4 <_FrameWndProc@16+0x84>
  405540:	83 ec 0c             	sub    $0xc,%esp
  405543:	8b 0d b4 c2 40 00    	mov    0x40c2b4,%ecx
  405549:	ba fb 01 00 00       	mov    $0x1fb,%edx
  40554e:	51                   	push   %ecx
  40554f:	e9 7b fe ff ff       	jmp    4053cf <_FrameWndProc@16+0x48f>
  405554:	6a 00                	push   $0x0
  405556:	6a 00                	push   $0x0
  405558:	68 27 02 00 00       	push   $0x227
  40555d:	eb cf                	jmp    40552e <_FrameWndProc@16+0x5ee>
  40555f:	6a 00                	push   $0x0
  405561:	6a 01                	push   $0x1
  405563:	68 26 02 00 00       	push   $0x226
  405568:	eb c4                	jmp    40552e <_FrameWndProc@16+0x5ee>
  40556a:	6a 00                	push   $0x0
  40556c:	6a 00                	push   $0x0
  40556e:	6a 10                	push   $0x10
  405570:	8b 55 08             	mov    0x8(%ebp),%edx
  405573:	52                   	push   %edx
  405574:	e8 d7 1f 00 00       	call   407550 <_SendMessageW@16>
  405579:	eb be                	jmp    405539 <_FrameWndProc@16+0x5f9>
  40557b:	83 ec 0c             	sub    $0xc,%esp
  40557e:	8b 45 08             	mov    0x8(%ebp),%eax
  405581:	8d 9d 18 db ff ff    	lea    0xffffdb18(%ebp),%ebx
  405587:	50                   	push   %eax
  405588:	e8 33 21 00 00       	call   4076c0 <_GetDC@4>
  40558d:	89 c7                	mov    %eax,%edi
  40558f:	8b 45 08             	mov    0x8(%ebp),%eax
  405592:	89 85 7c db ff ff    	mov    %eax,0xffffdb7c(%ebp)
  405598:	a1 80 c2 40 00       	mov    0x40c280,%eax
  40559d:	89 85 a0 db ff ff    	mov    %eax,0xffffdba0(%ebp)
  4055a3:	c7 85 78 db ff ff 3c 	movl   $0x3c,0xffffdb78(%ebp)
  4055aa:	00 00 00 
  4055ad:	c7 85 80 db ff ff 00 	movl   $0x0,0xffffdb80(%ebp)
  4055b4:	00 00 00 
  4055b7:	89 9d 84 db ff ff    	mov    %ebx,0xffffdb84(%ebp)
  4055bd:	c7 85 8c db ff ff 01 	movl   $0x812001,0xffffdb8c(%ebp)
  4055c4:	20 81 00 
  4055c7:	c7 85 90 db ff ff 00 	movl   $0x0,0xffffdb90(%ebp)
  4055ce:	00 00 00 
  4055d1:	c7 85 94 db ff ff 00 	movl   $0x0,0xffffdb94(%ebp)
  4055d8:	00 00 00 
  4055db:	c7 85 98 db ff ff 00 	movl   $0x0,0xffffdb98(%ebp)
  4055e2:	00 00 00 
  4055e5:	c7 85 9c db ff ff 00 	movl   $0x0,0xffffdb9c(%ebp)
  4055ec:	00 00 00 
  4055ef:	c7 85 a4 db ff ff 00 	movl   $0x0,0xffffdba4(%ebp)
  4055f6:	00 00 00 
  4055f9:	66 c7 85 a8 db ff ff 	movw   $0x8000,0xffffdba8(%ebp)
  405600:	00 80 
  405602:	c7 85 ac db ff ff 00 	movl   $0x0,0xffffdbac(%ebp)
  405609:	00 00 00 
  40560c:	c7 85 b0 db ff ff 18 	movl   $0x18,0xffffdbb0(%ebp)
  405613:	00 00 00 
  405616:	8d 85 78 db ff ff    	lea    0xffffdb78(%ebp),%eax
  40561c:	50                   	push   %eax
  40561d:	e8 2e 25 00 00       	call   407b50 <_ChooseFontW@4>
  405622:	83 c4 0c             	add    $0xc,%esp
  405625:	85 c0                	test   %eax,%eax
  405627:	0f 84 ad 01 00 00    	je     4057da <_FrameWndProc@16+0x89a>
  40562d:	83 ec 0c             	sub    $0xc,%esp
  405630:	53                   	push   %ebx
  405631:	e8 7a 24 00 00       	call   407ab0 <_CreateFontIndirectW@4>
  405636:	a3 b8 c2 40 00       	mov    %eax,0x40c2b8
  40563b:	89 04 24             	mov    %eax,(%esp)
  40563e:	57                   	push   %edi
  40563f:	e8 3c 24 00 00       	call   407a80 <_SelectObject@8>
  405644:	5e                   	pop    %esi
  405645:	58                   	pop    %eax
  405646:	68 c0 c2 40 00       	push   $0x40c2c0
  40564b:	6a 01                	push   $0x1
  40564d:	68 26 a4 40 00       	push   $0x40a426
  405652:	57                   	push   %edi
  405653:	e8 48 24 00 00       	call   407aa0 <_GetTextExtentPoint32W@16>
  405658:	53                   	push   %ebx
  405659:	53                   	push   %ebx
  40565a:	6a 05                	push   $0x5
  40565c:	8b 0d a8 c2 40 00    	mov    0x40c2a8,%ecx
  405662:	51                   	push   %ecx
  405663:	e9 9e 00 00 00       	jmp    405706 <_FrameWndProc@16+0x7c6>
  405668:	50                   	push   %eax
  405669:	50                   	push   %eax
  40566a:	6a eb                	push   $0xffffffeb
  40566c:	56                   	push   %esi
  40566d:	e8 6e 1f 00 00       	call   4075e0 <_GetWindowLongW@8>
  405672:	89 c3                	mov    %eax,%ebx
  405674:	59                   	pop    %ecx
  405675:	58                   	pop    %eax
  405676:	6a 01                	push   $0x1
  405678:	8b 15 b8 c2 40 00    	mov    0x40c2b8,%edx
  40567e:	52                   	push   %edx
  40567f:	6a 30                	push   $0x30
  405681:	8b 43 04             	mov    0x4(%ebx),%eax
  405684:	50                   	push   %eax
  405685:	e8 c6 1e 00 00       	call   407550 <_SendMessageW@16>
  40568a:	6a 01                	push   $0x1
  40568c:	a1 b8 c2 40 00       	mov    0x40c2b8,%eax
  405691:	50                   	push   %eax
  405692:	6a 30                	push   $0x30
  405694:	8b 43 70             	mov    0x70(%ebx),%eax
  405697:	50                   	push   %eax
  405698:	e8 b3 1e 00 00       	call   407550 <_SendMessageW@16>
  40569d:	a1 c4 c2 40 00       	mov    0x40c2c4,%eax
  4056a2:	83 f8 10             	cmp    $0x10,%eax
  4056a5:	7d 05                	jge    4056ac <_FrameWndProc@16+0x76c>
  4056a7:	b8 10 00 00 00       	mov    $0x10,%eax
  4056ac:	25 ff ff 00 00       	and    $0xffff,%eax
  4056b1:	50                   	push   %eax
  4056b2:	6a 01                	push   $0x1
  4056b4:	68 a0 01 00 00       	push   $0x1a0
  4056b9:	8b 43 04             	mov    0x4(%ebx),%eax
  4056bc:	50                   	push   %eax
  4056bd:	e8 8e 1e 00 00       	call   407550 <_SendMessageW@16>
  4056c2:	a1 c4 c2 40 00       	mov    0x40c2c4,%eax
  4056c7:	83 f8 10             	cmp    $0x10,%eax
  4056ca:	7d 05                	jge    4056d1 <_FrameWndProc@16+0x791>
  4056cc:	b8 10 00 00 00       	mov    $0x10,%eax
  4056d1:	25 ff ff 00 00       	and    $0xffff,%eax
  4056d6:	50                   	push   %eax
  4056d7:	6a 01                	push   $0x1
  4056d9:	68 a0 01 00 00       	push   $0x1a0
  4056de:	8b 43 70             	mov    0x70(%ebx),%eax
  4056e1:	50                   	push   %eax
  4056e2:	e8 69 1e 00 00       	call   407550 <_SendMessageW@16>
  4056e7:	50                   	push   %eax
  4056e8:	6a 01                	push   $0x1
  4056ea:	6a 00                	push   $0x0
  4056ec:	8b 4b 04             	mov    0x4(%ebx),%ecx
  4056ef:	51                   	push   %ecx
  4056f0:	e8 eb 1f 00 00       	call   4076e0 <_InvalidateRect@12>
  4056f5:	6a 01                	push   $0x1
  4056f7:	6a 00                	push   $0x0
  4056f9:	8b 53 70             	mov    0x70(%ebx),%edx
  4056fc:	52                   	push   %edx
  4056fd:	e8 de 1f 00 00       	call   4076e0 <_InvalidateRect@12>
  405702:	50                   	push   %eax
  405703:	6a 02                	push   $0x2
  405705:	56                   	push   %esi
  405706:	e8 45 1f 00 00       	call   407650 <_GetWindow@8>
  40570b:	89 c6                	mov    %eax,%esi
  40570d:	58                   	pop    %eax
  40570e:	85 f6                	test   %esi,%esi
  405710:	5a                   	pop    %edx
  405711:	0f 85 51 ff ff ff    	jne    405668 <_FrameWndProc@16+0x728>
  405717:	50                   	push   %eax
  405718:	50                   	push   %eax
  405719:	57                   	push   %edi
  40571a:	8b 45 08             	mov    0x8(%ebp),%eax
  40571d:	50                   	push   %eax
  40571e:	e8 ad 1f 00 00       	call   4076d0 <_ReleaseDC@8>
  405723:	31 d2                	xor    %edx,%edx
  405725:	5e                   	pop    %esi
  405726:	5f                   	pop    %edi
  405727:	e9 98 f8 ff ff       	jmp    404fc4 <_FrameWndProc@16+0x84>
  40572c:	83 ec 10             	sub    $0x10,%esp
  40572f:	ba b5 04 00 00       	mov    $0x4b5,%edx
  405734:	8d 85 e8 f7 ff ff    	lea    0xfffff7e8(%ebp),%eax
  40573a:	e8 91 bb ff ff       	call   4012d0 <_load_string>
  40573f:	89 04 24             	mov    %eax,(%esp)
  405742:	e8 b9 d7 ff ff       	call   402f00 <_activate_fs_window>
  405747:	83 c4 10             	add    $0x10,%esp
  40574a:	85 c0                	test   %eax,%eax
  40574c:	0f 85 70 f8 ff ff    	jne    404fc2 <_FrameWndProc@16+0x82>
  405752:	8d 9d e8 d6 ff ff    	lea    0xffffd6e8(%ebp),%ebx
  405758:	57                   	push   %edi
  405759:	57                   	push   %edi
  40575a:	53                   	push   %ebx
  40575b:	68 04 01 00 00       	push   $0x104
  405760:	e8 1b 1d 00 00       	call   407480 <_GetCurrentDirectoryW@8>
  405765:	89 d8                	mov    %ebx,%eax
  405767:	56                   	push   %esi
  405768:	56                   	push   %esi
  405769:	8b 55 08             	mov    0x8(%ebp),%edx
  40576c:	e8 7f c1 ff ff       	call   4018f0 <_get_path_pidl>
  405771:	8b 55 08             	mov    0x8(%ebp),%edx
  405774:	59                   	pop    %ecx
  405775:	52                   	push   %edx
  405776:	89 c2                	mov    %eax,%edx
  405778:	e9 e2 f9 ff ff       	jmp    40515f <_FrameWndProc@16+0x21f>
  40577d:	6a 00                	push   $0x0
  40577f:	6a 00                	push   $0x0
  405781:	68 26 02 00 00       	push   $0x226
  405786:	e9 a3 fd ff ff       	jmp    40552e <_FrameWndProc@16+0x5ee>
  40578b:	53                   	push   %ebx
  40578c:	53                   	push   %ebx
  40578d:	6a 01                	push   $0x1
  40578f:	8b 0d c8 c1 40 00    	mov    0x40c1c8,%ecx
  405795:	a1 d0 c1 40 00       	mov    0x40c1d0,%eax
  40579a:	29 c8                	sub    %ecx,%eax
  40579c:	50                   	push   %eax
  40579d:	8b 15 c4 c1 40 00    	mov    0x40c1c4,%edx
  4057a3:	a1 cc c1 40 00       	mov    0x40c1cc,%eax
  4057a8:	29 d0                	sub    %edx,%eax
  4057aa:	50                   	push   %eax
  4057ab:	51                   	push   %ecx
  4057ac:	52                   	push   %edx
  4057ad:	8b 4d 08             	mov    0x8(%ebp),%ecx
  4057b0:	51                   	push   %ecx
  4057b1:	e8 8a 1d 00 00       	call   407540 <_MoveWindow@24>
  4057b6:	58                   	pop    %eax
  4057b7:	a1 d4 c1 40 00       	mov    0x40c1d4,%eax
  4057bc:	5a                   	pop    %edx
  4057bd:	85 c0                	test   %eax,%eax
  4057bf:	0f 84 61 fb ff ff    	je     405326 <_FrameWndProc@16+0x3e6>
  4057c5:	57                   	push   %edi
  4057c6:	57                   	push   %edi
  4057c7:	68 00 00 00 01       	push   $0x1000000
  4057cc:	8b 75 08             	mov    0x8(%ebp),%esi
  4057cf:	56                   	push   %esi
  4057d0:	e8 4b 1e 00 00       	call   407620 <_ShowWindow@8>
  4057d5:	e9 4a fb ff ff       	jmp    405324 <_FrameWndProc@16+0x3e4>
  4057da:	e8 81 23 00 00       	call   407b60 <_CommDlgExtendedError@0>
  4057df:	85 c0                	test   %eax,%eax
  4057e1:	0f 84 30 ff ff ff    	je     405717 <_FrameWndProc@16+0x7d7>
  4057e7:	8d b5 b8 e3 ff ff    	lea    0xffffe3b8(%ebp),%esi
  4057ed:	68 00 04 00 00       	push   $0x400
  4057f2:	56                   	push   %esi
  4057f3:	68 4d 04 00 00       	push   $0x44d
  4057f8:	a1 80 c2 40 00       	mov    0x40c280,%eax
  4057fd:	8d 9d b8 db ff ff    	lea    0xffffdbb8(%ebp),%ebx
  405803:	50                   	push   %eax
  405804:	e8 e7 1c 00 00       	call   4074f0 <_LoadStringW@16>
  405809:	68 00 04 00 00       	push   $0x400
  40580e:	53                   	push   %ebx
  40580f:	68 4f 04 00 00       	push   $0x44f
  405814:	a1 80 c2 40 00       	mov    0x40c280,%eax
  405819:	50                   	push   %eax
  40581a:	e8 d1 1c 00 00       	call   4074f0 <_LoadStringW@16>
  40581f:	6a 00                	push   $0x0
  405821:	56                   	push   %esi
  405822:	53                   	push   %ebx
  405823:	8b 45 08             	mov    0x8(%ebp),%eax
  405826:	50                   	push   %eax
  405827:	e8 d4 1c 00 00       	call   407500 <_MessageBoxW@16>
  40582c:	e9 e6 fe ff ff       	jmp    405717 <_FrameWndProc@16+0x7d7>
  405831:	eb 0d                	jmp    405840 <_launch_file>
  405833:	90                   	nop    
  405834:	90                   	nop    
  405835:	90                   	nop    
  405836:	90                   	nop    
  405837:	90                   	nop    
  405838:	90                   	nop    
  405839:	90                   	nop    
  40583a:	90                   	nop    
  40583b:	90                   	nop    
  40583c:	90                   	nop    
  40583d:	90                   	nop    
  40583e:	90                   	nop    
  40583f:	90                   	nop    

00405840 <_launch_file>:


BOOL launch_file(HWND hwnd, LPCTSTR cmd, UINT nCmdShow)
{
  405840:	55                   	push   %ebp
  405841:	89 e5                	mov    %esp,%ebp
  405843:	53                   	push   %ebx
  405844:	83 ec 0c             	sub    $0xc,%esp
	HINSTANCE hinst = ShellExecute(hwnd, NULL/*operation*/, cmd, NULL/*parameters*/, NULL/*dir*/, nCmdShow);
  405847:	8b 45 10             	mov    0x10(%ebp),%eax
  40584a:	8b 5d 08             	mov    0x8(%ebp),%ebx
  40584d:	50                   	push   %eax
  40584e:	6a 00                	push   $0x0
  405850:	6a 00                	push   $0x0
  405852:	8b 45 0c             	mov    0xc(%ebp),%eax
  405855:	50                   	push   %eax
  405856:	6a 00                	push   $0x0
  405858:	53                   	push   %ebx
  405859:	e8 82 23 00 00       	call   407be0 <_ShellExecuteW@24>

	if ((int)hinst <= 32) {
  40585e:	5a                   	pop    %edx
  40585f:	83 f8 20             	cmp    $0x20,%eax
  405862:	59                   	pop    %ecx
		display_error(hwnd, GetLastError());
		return FALSE;
	}

	return TRUE;
  405863:	ba 01 00 00 00       	mov    $0x1,%edx
  405868:	7e 07                	jle    405871 <_launch_file+0x31>
}
  40586a:	89 d0                	mov    %edx,%eax
  40586c:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  40586f:	c9                   	leave  
  405870:	c3                   	ret    
  405871:	e8 1a 1c 00 00       	call   407490 <_GetLastError@0>
  405876:	89 c2                	mov    %eax,%edx
  405878:	89 d8                	mov    %ebx,%eax
  40587a:	e8 71 ba ff ff       	call   4012f0 <_display_error>
  40587f:	31 d2                	xor    %edx,%edx
  405881:	89 d0                	mov    %edx,%eax
  405883:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  405886:	c9                   	leave  
  405887:	c3                   	ret    
  405888:	90                   	nop    
  405889:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00405890 <_launch_fileA>:

#ifdef UNICODE
BOOL launch_fileA(HWND hwnd, LPSTR cmd, UINT nCmdShow)
{
  405890:	55                   	push   %ebp
  405891:	89 e5                	mov    %esp,%ebp
  405893:	53                   	push   %ebx
  405894:	83 ec 0c             	sub    $0xc,%esp
	HINSTANCE hinst = ShellExecuteA(hwnd, NULL/*operation*/, cmd, NULL/*parameters*/, NULL/*dir*/, nCmdShow);
  405897:	8b 45 10             	mov    0x10(%ebp),%eax
  40589a:	8b 5d 08             	mov    0x8(%ebp),%ebx
  40589d:	50                   	push   %eax
  40589e:	6a 00                	push   $0x0
  4058a0:	6a 00                	push   $0x0
  4058a2:	8b 45 0c             	mov    0xc(%ebp),%eax
  4058a5:	50                   	push   %eax
  4058a6:	6a 00                	push   $0x0
  4058a8:	53                   	push   %ebx
  4058a9:	e8 42 23 00 00       	call   407bf0 <_ShellExecuteA@24>

	if ((int)hinst <= 32) {
  4058ae:	5a                   	pop    %edx
  4058af:	83 f8 20             	cmp    $0x20,%eax
  4058b2:	59                   	pop    %ecx
		display_error(hwnd, GetLastError());
		return FALSE;
	}

	return TRUE;
  4058b3:	ba 01 00 00 00       	mov    $0x1,%edx
  4058b8:	7e 07                	jle    4058c1 <_launch_fileA+0x31>
}
  4058ba:	89 d0                	mov    %edx,%eax
  4058bc:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  4058bf:	c9                   	leave  
  4058c0:	c3                   	ret    
  4058c1:	e8 ca 1b 00 00       	call   407490 <_GetLastError@0>
  4058c6:	89 c2                	mov    %eax,%edx
  4058c8:	89 d8                	mov    %ebx,%eax
  4058ca:	e8 21 ba ff ff       	call   4012f0 <_display_error>
  4058cf:	31 d2                	xor    %edx,%edx
  4058d1:	89 d0                	mov    %edx,%eax
  4058d3:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  4058d6:	c9                   	leave  
  4058d7:	c3                   	ret    
  4058d8:	90                   	nop    
  4058d9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

004058e0 <_launch_entry>:
#endif


BOOL launch_entry(Entry* entry, HWND hwnd, UINT nCmdShow)
{
  4058e0:	55                   	push   %ebp
  4058e1:	89 e5                	mov    %esp,%ebp
  4058e3:	57                   	push   %edi
  4058e4:	56                   	push   %esi
  4058e5:	53                   	push   %ebx
  4058e6:	81 ec 5c 02 00 00    	sub    $0x25c,%esp
  4058ec:	8b 75 08             	mov    0x8(%ebp),%esi
  4058ef:	8b 7d 0c             	mov    0xc(%ebp),%edi
	TCHAR cmd[MAX_PATH];

#ifdef _SHELL_FOLDERS
	if (entry->etype == ET_SHELL) {
  4058f2:	83 be a0 02 00 00 02 	cmpl   $0x2,0x2a0(%esi)
  4058f9:	74 25                	je     405920 <_launch_entry+0x40>
		BOOL ret = TRUE;

		SHELLEXECUTEINFO shexinfo;

		shexinfo.cbSize = sizeof(SHELLEXECUTEINFO);
		shexinfo.fMask = SEE_MASK_IDLIST;
		shexinfo.hwnd = hwnd;
		shexinfo.lpVerb = NULL;
		shexinfo.lpFile = NULL;
		shexinfo.lpParameters = NULL;
		shexinfo.lpDirectory = NULL;
		shexinfo.nShow = nCmdShow;
		shexinfo.lpIDList = get_to_absolute_pidl(entry, hwnd);

		if (!ShellExecuteEx(&shexinfo)) {
			display_error(hwnd, GetLastError());
			ret = FALSE;
		}

		if (shexinfo.lpIDList != entry->pidl)
			(*Globals.iMalloc->lpVtbl->Free)(Globals.iMalloc, shexinfo.lpIDList);

		return ret;
	}
#endif

	get_path(entry, cmd);
  4058fb:	8d 9d d8 fd ff ff    	lea    0xfffffdd8(%ebp),%ebx
  405901:	89 f0                	mov    %esi,%eax
  405903:	89 da                	mov    %ebx,%edx
  405905:	e8 46 ca ff ff       	call   402350 <_get_path>

	 /* start program, open document... */
	return launch_file(hwnd, cmd, nCmdShow);
  40590a:	50                   	push   %eax
  40590b:	8b 45 10             	mov    0x10(%ebp),%eax
  40590e:	50                   	push   %eax
  40590f:	53                   	push   %ebx
  405910:	57                   	push   %edi
  405911:	e8 2a ff ff ff       	call   405840 <_launch_file>
}
  405916:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  405919:	5b                   	pop    %ebx
  40591a:	5e                   	pop    %esi
  40591b:	5f                   	pop    %edi
  40591c:	5d                   	pop    %ebp
  40591d:	c3                   	ret    
  40591e:	89 f6                	mov    %esi,%esi
  405920:	8b 45 10             	mov    0x10(%ebp),%eax
  405923:	89 fa                	mov    %edi,%edx
  405925:	89 85 b4 fd ff ff    	mov    %eax,0xfffffdb4(%ebp)
  40592b:	c7 85 98 fd ff ff 3c 	movl   $0x3c,0xfffffd98(%ebp)
  405932:	00 00 00 
  405935:	c7 85 9c fd ff ff 04 	movl   $0x4,0xfffffd9c(%ebp)
  40593c:	00 00 00 
  40593f:	89 bd a0 fd ff ff    	mov    %edi,0xfffffda0(%ebp)
  405945:	c7 85 a4 fd ff ff 00 	movl   $0x0,0xfffffda4(%ebp)
  40594c:	00 00 00 
  40594f:	c7 85 a8 fd ff ff 00 	movl   $0x0,0xfffffda8(%ebp)
  405956:	00 00 00 
  405959:	c7 85 ac fd ff ff 00 	movl   $0x0,0xfffffdac(%ebp)
  405960:	00 00 00 
  405963:	c7 85 b0 fd ff ff 00 	movl   $0x0,0xfffffdb0(%ebp)
  40596a:	00 00 00 
  40596d:	89 f0                	mov    %esi,%eax
  40596f:	bb 01 00 00 00       	mov    $0x1,%ebx
  405974:	e8 d7 cb ff ff       	call   402550 <_get_to_absolute_pidl>
  405979:	83 ec 0c             	sub    $0xc,%esp
  40597c:	89 85 bc fd ff ff    	mov    %eax,0xfffffdbc(%ebp)
  405982:	8d 85 98 fd ff ff    	lea    0xfffffd98(%ebp),%eax
  405988:	50                   	push   %eax
  405989:	e8 72 22 00 00       	call   407c00 <_ShellExecuteExW@4>
  40598e:	83 c4 0c             	add    $0xc,%esp
  405991:	85 c0                	test   %eax,%eax
  405993:	74 28                	je     4059bd <_launch_entry+0xdd>
  405995:	8b 8d bc fd ff ff    	mov    0xfffffdbc(%ebp),%ecx
  40599b:	3b 8e a4 02 00 00    	cmp    0x2a4(%esi),%ecx
  4059a1:	74 10                	je     4059b3 <_launch_entry+0xd3>
  4059a3:	56                   	push   %esi
  4059a4:	56                   	push   %esi
  4059a5:	a1 d4 ca 40 00       	mov    0x40cad4,%eax
  4059aa:	8b 10                	mov    (%eax),%edx
  4059ac:	51                   	push   %ecx
  4059ad:	50                   	push   %eax
  4059ae:	ff 52 14             	call   *0x14(%edx)
  4059b1:	58                   	pop    %eax
  4059b2:	5a                   	pop    %edx
  4059b3:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4059b6:	89 d8                	mov    %ebx,%eax
  4059b8:	5b                   	pop    %ebx
  4059b9:	5e                   	pop    %esi
  4059ba:	5f                   	pop    %edi
  4059bb:	5d                   	pop    %ebp
  4059bc:	c3                   	ret    
  4059bd:	e8 ce 1a 00 00       	call   407490 <_GetLastError@0>
  4059c2:	30 db                	xor    %bl,%bl
  4059c4:	89 c2                	mov    %eax,%edx
  4059c6:	89 f8                	mov    %edi,%eax
  4059c8:	e8 23 b9 ff ff       	call   4012f0 <_display_error>
  4059cd:	eb c6                	jmp    405995 <_launch_entry+0xb5>
  4059cf:	90                   	nop    

004059d0 <_activate_entry>:


static void activate_entry(ChildWnd* child, Pane* pane, HWND hwnd)
{
  4059d0:	55                   	push   %ebp
  4059d1:	89 e5                	mov    %esp,%ebp
  4059d3:	57                   	push   %edi
  4059d4:	56                   	push   %esi
  4059d5:	53                   	push   %ebx
  4059d6:	83 ec 1c             	sub    $0x1c,%esp
  4059d9:	89 c6                	mov    %eax,%esi
	Entry* entry = pane->cur;
  4059db:	8b 5a 68             	mov    0x68(%edx),%ebx
  4059de:	8b 45 08             	mov    0x8(%ebp),%eax
  4059e1:	89 55 f0             	mov    %edx,0xfffffff0(%ebp)
  4059e4:	89 45 ec             	mov    %eax,0xffffffec(%ebp)

	if (!entry)
  4059e7:	85 db                	test   %ebx,%ebx
  4059e9:	0f 84 d1 00 00 00    	je     405ac0 <_activate_entry+0xf0>
		return;

	if (entry->data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
  4059ef:	f6 43 18 10          	testb  $0x10,0x18(%ebx)
  4059f3:	0f 84 b8 00 00 00    	je     405ab1 <_activate_entry+0xe1>
		int scanned_old = entry->scanned;
  4059f9:	8b 43 10             	mov    0x10(%ebx),%eax
  4059fc:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)

		if (!scanned_old)
  4059ff:	85 c0                	test   %eax,%eax
  405a01:	0f 84 c1 00 00 00    	je     405ac8 <_activate_entry+0xf8>
			scan_entry(child, entry, hwnd);

#ifndef _NO_EXTENSIONS
		if (entry->data.cFileName[0]=='.' && entry->data.cFileName[1]=='\0')
  405a07:	8b 43 44             	mov    0x44(%ebx),%eax
  405a0a:	83 f8 2e             	cmp    $0x2e,%eax
  405a0d:	0f 84 ad 00 00 00    	je     405ac0 <_activate_entry+0xf0>
			return;
#endif

		if (entry->data.cFileName[0]=='.' && entry->data.cFileName[1]=='.' && entry->data.cFileName[2]=='\0') {
  405a13:	3d 2e 00 2e 00       	cmp    $0x2e002e,%eax
  405a18:	0f 84 48 01 00 00    	je     405b66 <_activate_entry+0x196>
			entry = child->left.cur->up;
			collapse_entry(&child->left, entry);
			goto focus_entry;
		} else if (entry->expanded)
  405a1e:	8b 43 0c             	mov    0xc(%ebx),%eax
  405a21:	85 c0                	test   %eax,%eax
  405a23:	0f 85 5d 01 00 00    	jne    405b86 <_activate_entry+0x1b6>
  405a29:	8b 7e 6c             	mov    0x6c(%esi),%edi
  405a2c:	85 ff                	test   %edi,%edi
  405a2e:	74 0b                	je     405a3b <_activate_entry+0x6b>
  405a30:	8b 47 0c             	mov    0xc(%edi),%eax
  405a33:	85 c0                	test   %eax,%eax
  405a35:	0f 84 a5 00 00 00    	je     405ae0 <_activate_entry+0x110>
			collapse_entry(pane, child->left.cur);
		else {
			expand_entry(child, child->left.cur);

			if (!pane->treePane) focus_entry: {
  405a3b:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  405a3e:	8b 50 5c             	mov    0x5c(%eax),%edx
  405a41:	85 d2                	test   %edx,%edx
  405a43:	75 4c                	jne    405a91 <_activate_entry+0xc1>
				int idx = ListBox_FindItemData(child->left.hwnd, ListBox_GetCurSel(child->left.hwnd), entry);
  405a45:	53                   	push   %ebx
  405a46:	83 ec 0c             	sub    $0xc,%esp
  405a49:	6a 00                	push   $0x0
  405a4b:	6a 00                	push   $0x0
  405a4d:	68 88 01 00 00       	push   $0x188
  405a52:	8b 46 04             	mov    0x4(%esi),%eax
  405a55:	50                   	push   %eax
  405a56:	e8 f5 1a 00 00       	call   407550 <_SendMessageW@16>
  405a5b:	83 c4 0c             	add    $0xc,%esp
  405a5e:	50                   	push   %eax
  405a5f:	68 8f 01 00 00       	push   $0x18f
  405a64:	8b 46 04             	mov    0x4(%esi),%eax
  405a67:	50                   	push   %eax
  405a68:	e8 e3 1a 00 00       	call   407550 <_SendMessageW@16>
				ListBox_SetCurSel(child->left.hwnd, idx);
  405a6d:	6a 00                	push   $0x0
  405a6f:	50                   	push   %eax
  405a70:	68 86 01 00 00       	push   $0x186
  405a75:	8b 46 04             	mov    0x4(%esi),%eax
  405a78:	50                   	push   %eax
  405a79:	e8 d2 1a 00 00       	call   407550 <_SendMessageW@16>
				set_curdir(child, entry, hwnd);
  405a7e:	83 ec 0c             	sub    $0xc,%esp
  405a81:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  405a84:	89 da                	mov    %ebx,%edx
  405a86:	50                   	push   %eax
  405a87:	89 f0                	mov    %esi,%eax
  405a89:	e8 e2 ec ff ff       	call   404770 <_set_curdir>
  405a8e:	83 c4 10             	add    $0x10,%esp
			}
		}

		if (!scanned_old) {
  405a91:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  405a94:	85 c0                	test   %eax,%eax
  405a96:	75 28                	jne    405ac0 <_activate_entry+0xf0>
			calc_widths(pane, FALSE);
  405a98:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  405a9b:	31 d2                	xor    %edx,%edx
  405a9d:	e8 3e e6 ff ff       	call   4040e0 <_calc_widths>

#ifndef _NO_EXTENSIONS
			set_header(pane);
  405aa2:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
#endif
		}
	} else {
		launch_entry(entry, child->hwnd, SW_SHOWNORMAL);
	}
}
  405aa5:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  405aa8:	5b                   	pop    %ebx
  405aa9:	5e                   	pop    %esi
  405aaa:	5f                   	pop    %edi
  405aab:	5d                   	pop    %ebp
  405aac:	e9 4f ea ff ff       	jmp    404500 <_set_header>
  405ab1:	50                   	push   %eax
  405ab2:	6a 01                	push   $0x1
  405ab4:	8b 3e                	mov    (%esi),%edi
  405ab6:	57                   	push   %edi
  405ab7:	53                   	push   %ebx
  405ab8:	e8 23 fe ff ff       	call   4058e0 <_launch_entry>
  405abd:	83 c4 10             	add    $0x10,%esp
  405ac0:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  405ac3:	5b                   	pop    %ebx
  405ac4:	5e                   	pop    %esi
  405ac5:	5f                   	pop    %edi
  405ac6:	5d                   	pop    %ebp
  405ac7:	c3                   	ret    
  405ac8:	83 ec 0c             	sub    $0xc,%esp
  405acb:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  405ace:	89 da                	mov    %ebx,%edx
  405ad0:	50                   	push   %eax
  405ad1:	89 f0                	mov    %esi,%eax
  405ad3:	e8 e8 ea ff ff       	call   4045c0 <_scan_entry>
  405ad8:	83 c4 10             	add    $0x10,%esp
  405adb:	e9 27 ff ff ff       	jmp    405a07 <_activate_entry+0x37>
  405ae0:	8b 57 04             	mov    0x4(%edi),%edx
  405ae3:	85 d2                	test   %edx,%edx
  405ae5:	0f 84 50 ff ff ff    	je     405a3b <_activate_entry+0x6b>
  405aeb:	89 55 e4             	mov    %edx,0xffffffe4(%ebp)
  405aee:	83 7a 44 2e          	cmpl   $0x2e,0x44(%edx)
  405af2:	0f 84 9e 00 00 00    	je     405b96 <_activate_entry+0x1c6>
  405af8:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
  405afb:	f6 40 18 10          	testb  $0x10,0x18(%eax)
  405aff:	0f 84 36 ff ff ff    	je     405a3b <_activate_entry+0x6b>
  405b05:	57                   	push   %edi
  405b06:	6a 00                	push   $0x0
  405b08:	68 8f 01 00 00       	push   $0x18f
  405b0d:	8b 46 04             	mov    0x4(%esi),%eax
  405b10:	50                   	push   %eax
  405b11:	e8 3a 1a 00 00       	call   407550 <_SendMessageW@16>
  405b16:	83 ec 0c             	sub    $0xc,%esp
  405b19:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
  405b20:	8d 7e 04             	lea    0x4(%esi),%edi
  405b23:	50                   	push   %eax
  405b24:	89 f8                	mov    %edi,%eax
  405b26:	8b 55 e4             	mov    0xffffffe4(%ebp),%edx
  405b29:	e8 92 d5 ff ff       	call   4030c0 <_insert_entries>
  405b2e:	8b 8e 10 01 00 00    	mov    0x110(%esi),%ecx
  405b34:	83 c4 10             	add    $0x10,%esp
  405b37:	85 c9                	test   %ecx,%ecx
  405b39:	0f 85 fc fe ff ff    	jne    405a3b <_activate_entry+0x6b>
  405b3f:	31 d2                	xor    %edx,%edx
  405b41:	89 f8                	mov    %edi,%eax
  405b43:	e8 98 e5 ff ff       	call   4040e0 <_calc_widths>
  405b48:	85 c0                	test   %eax,%eax
  405b4a:	0f 84 eb fe ff ff    	je     405a3b <_activate_entry+0x6b>
  405b50:	89 f8                	mov    %edi,%eax
  405b52:	e8 a9 e9 ff ff       	call   404500 <_set_header>
  405b57:	c7 86 10 01 00 00 01 	movl   $0x1,0x110(%esi)
  405b5e:	00 00 00 
  405b61:	e9 d5 fe ff ff       	jmp    405a3b <_activate_entry+0x6b>
  405b66:	66 83 7b 48 00       	cmpw   $0x0,0x48(%ebx)
  405b6b:	0f 85 ad fe ff ff    	jne    405a1e <_activate_entry+0x4e>
  405b71:	8b 46 6c             	mov    0x6c(%esi),%eax
  405b74:	8b 58 08             	mov    0x8(%eax),%ebx
  405b77:	8d 46 04             	lea    0x4(%esi),%eax
  405b7a:	89 da                	mov    %ebx,%edx
  405b7c:	e8 5f eb ff ff       	call   4046e0 <_collapse_entry>
  405b81:	e9 bf fe ff ff       	jmp    405a45 <_activate_entry+0x75>
  405b86:	8b 56 6c             	mov    0x6c(%esi),%edx
  405b89:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  405b8c:	e8 4f eb ff ff       	call   4046e0 <_collapse_entry>
  405b91:	e9 fb fe ff ff       	jmp    405a91 <_activate_entry+0xc1>
  405b96:	8b 12                	mov    (%edx),%edx
  405b98:	85 d2                	test   %edx,%edx
  405b9a:	0f 84 58 ff ff ff    	je     405af8 <_activate_entry+0x128>
  405ba0:	89 55 e4             	mov    %edx,0xffffffe4(%ebp)
  405ba3:	81 7a 44 2e 00 2e 00 	cmpl   $0x2e002e,0x44(%edx)
  405baa:	0f 85 48 ff ff ff    	jne    405af8 <_activate_entry+0x128>
  405bb0:	66 83 7a 48 00       	cmpw   $0x0,0x48(%edx)
  405bb5:	0f 85 3d ff ff ff    	jne    405af8 <_activate_entry+0x128>
  405bbb:	8b 12                	mov    (%edx),%edx
  405bbd:	85 d2                	test   %edx,%edx
  405bbf:	0f 84 33 ff ff ff    	je     405af8 <_activate_entry+0x128>
  405bc5:	89 55 e4             	mov    %edx,0xffffffe4(%ebp)
  405bc8:	e9 2b ff ff ff       	jmp    405af8 <_activate_entry+0x128>
  405bcd:	8d 76 00             	lea    0x0(%esi),%esi

00405bd0 <_ChildWndProc@16>:


static BOOL pane_command(Pane* pane, UINT cmd)
{
	switch(cmd) {
		case ID_VIEW_NAME:
			if (pane->visible_cols) {
				pane->visible_cols = 0;
				calc_widths(pane, TRUE);
#ifndef _NO_EXTENSIONS
				set_header(pane);
#endif
				InvalidateRect(pane->hwnd, 0, TRUE);
				CheckMenuItem(Globals.hMenuView, ID_VIEW_NAME, MF_BYCOMMAND|MF_CHECKED);
				CheckMenuItem(Globals.hMenuView, ID_VIEW_ALL_ATTRIBUTES, MF_BYCOMMAND);
				CheckMenuItem(Globals.hMenuView, ID_VIEW_SELECTED_ATTRIBUTES, MF_BYCOMMAND);
			}
			break;

		case ID_VIEW_ALL_ATTRIBUTES:
			if (pane->visible_cols != COL_ALL) {
				pane->visible_cols = COL_ALL;
				calc_widths(pane, TRUE);
#ifndef _NO_EXTENSIONS
				set_header(pane);
#endif
				InvalidateRect(pane->hwnd, 0, TRUE);
				CheckMenuItem(Globals.hMenuView, ID_VIEW_NAME, MF_BYCOMMAND);
				CheckMenuItem(Globals.hMenuView, ID_VIEW_ALL_ATTRIBUTES, MF_BYCOMMAND|MF_CHECKED);
				CheckMenuItem(Globals.hMenuView, ID_VIEW_SELECTED_ATTRIBUTES, MF_BYCOMMAND);
			}
			break;

#ifndef _NO_EXTENSIONS
		case ID_PREFERED_SIZES: {
			calc_widths(pane, TRUE);
			set_header(pane);
			InvalidateRect(pane->hwnd, 0, TRUE);
			break;}
#endif

		        /* TODO: more command ids... */

		default:
			return FALSE;
	}

	return TRUE;
}


static HRESULT ShellFolderContextMenu(IShellFolder* shell_folder, HWND hwndParent, int cidl, LPCITEMIDLIST* apidl, int x, int y)
{
	IContextMenu* pcm;

	HRESULT hr = (*shell_folder->lpVtbl->GetUIObjectOf)(shell_folder, hwndParent, cidl, apidl, &IID_IContextMenu, NULL, (LPVOID*)&pcm);
/*	HRESULT hr = CDefFolderMenu_Create2(dir?dir->_pidl:DesktopFolder(), hwndParent, 1, &pidl, shell_folder, NULL, 0, NULL, &pcm); */

	if (SUCCEEDED(hr)) {
		HMENU hmenu = CreatePopupMenu();

		if (hmenu) {
			hr = (*pcm->lpVtbl->QueryContextMenu)(pcm, hmenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, CMF_NORMAL);

			if (SUCCEEDED(hr)) {
				UINT idCmd = TrackPopupMenu(hmenu, TPM_LEFTALIGN|TPM_RETURNCMD|TPM_RIGHTBUTTON, x, y, 0, hwndParent, NULL);

				if (idCmd) {
				  CMINVOKECOMMANDINFO cmi;

				  cmi.cbSize = sizeof(CMINVOKECOMMANDINFO);
				  cmi.fMask = 0;
				  cmi.hwnd = hwndParent;
				  cmi.lpVerb = (LPCSTR)(INT_PTR)(idCmd - FCIDM_SHVIEWFIRST);
				  cmi.lpParameters = NULL;
				  cmi.lpDirectory = NULL;
				  cmi.nShow = SW_SHOWNORMAL;
				  cmi.dwHotKey = 0;
				  cmi.hIcon = 0;

				  hr = (*pcm->lpVtbl->InvokeCommand)(pcm, &cmi);
				}
			}
		}

		(*pcm->lpVtbl->Release)(pcm);
	}

	return hr;
}


LRESULT CALLBACK ChildWndProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam)
{
  405bd0:	55                   	push   %ebp
  405bd1:	b8 8c 11 00 00       	mov    $0x118c,%eax
  405bd6:	89 e5                	mov    %esp,%ebp
  405bd8:	57                   	push   %edi
  405bd9:	56                   	push   %esi
  405bda:	53                   	push   %ebx
  405bdb:	e8 b0 25 00 00       	call   408190 <___chkstk>
  405be0:	8b 5d 08             	mov    0x8(%ebp),%ebx
  405be3:	8b 75 0c             	mov    0xc(%ebp),%esi
	static int last_split;

	ChildWnd* child = (ChildWnd*) GetWindowLong(hwnd, GWL_USERDATA);
  405be6:	51                   	push   %ecx
  405be7:	51                   	push   %ecx
  405be8:	6a eb                	push   $0xffffffeb
  405bea:	53                   	push   %ebx
  405beb:	e8 f0 19 00 00       	call   4075e0 <_GetWindowLongW@8>
	ASSERT(child);

	switch(nmsg) {
  405bf0:	83 fe 4e             	cmp    $0x4e,%esi
  405bf3:	89 c7                	mov    %eax,%edi
  405bf5:	58                   	pop    %eax
  405bf6:	5a                   	pop    %edx
  405bf7:	0f 84 a3 00 00 00    	je     405ca0 <_ChildWndProc@16+0xd0>
  405bfd:	77 52                	ja     405c51 <_ChildWndProc@16+0x81>
  405bff:	83 fe 0f             	cmp    $0xf,%esi
  405c02:	0f 84 dc 06 00 00    	je     4062e4 <_ChildWndProc@16+0x714>
  405c08:	0f 87 79 02 00 00    	ja     405e87 <_ChildWndProc@16+0x2b7>
  405c0e:	83 fe 05             	cmp    $0x5,%esi
  405c11:	0f 84 41 07 00 00    	je     406358 <_ChildWndProc@16+0x788>
  405c17:	0f 87 53 06 00 00    	ja     406270 <_ChildWndProc@16+0x6a0>
  405c1d:	83 fe 01             	cmp    $0x1,%esi
  405c20:	75 5f                	jne    405c81 <_ChildWndProc@16+0xb1>
  405c22:	51                   	push   %ecx
  405c23:	51                   	push   %ecx
  405c24:	6a 02                	push   $0x2
  405c26:	6a 03                	push   $0x3
  405c28:	8d 57 04             	lea    0x4(%edi),%edx
  405c2b:	8b 07                	mov    (%edi),%eax
  405c2d:	e8 ee e6 ff ff       	call   404320 <_create_tree_window>
  405c32:	58                   	pop    %eax
  405c33:	5a                   	pop    %edx
  405c34:	8d 57 70             	lea    0x70(%edi),%edx
  405c37:	6a 05                	push   $0x5
  405c39:	6a 06                	push   $0x6
  405c3b:	8b 07                	mov    (%edi),%eax
  405c3d:	e8 de e6 ff ff       	call   404320 <_create_tree_window>
		case WM_DRAWITEM: {
			LPDRAWITEMSTRUCT dis = (LPDRAWITEMSTRUCT)lparam;
			Entry* entry = (Entry*) dis->itemData;

			if (dis->CtlID == IDW_TREE_LEFT)
				draw_item(&child->left, dis, entry, -1);
			else
				draw_item(&child->right, dis, entry, -1);

			return TRUE;}

		case WM_CREATE:
			InitChildWindow(child);
			break;

		case WM_NCDESTROY:
			free_child_window(child);
			SetWindowLong(hwnd, GWL_USERDATA, 0);
			break;

		case WM_PAINT: {
			PAINTSTRUCT ps;
			HBRUSH lastBrush;
			RECT rt;
			GetClientRect(hwnd, &rt);
			BeginPaint(hwnd, &ps);
			rt.left = child->split_pos-SPLIT_WIDTH/2;
			rt.right = child->split_pos+SPLIT_WIDTH/2+1;
			lastBrush = SelectBrush(ps.hdc, (HBRUSH)GetStockObject(COLOR_SPLITBAR));
			Rectangle(ps.hdc, rt.left, rt.top-1, rt.right, rt.bottom+1);
			SelectObject(ps.hdc, lastBrush);
#ifdef _NO_EXTENSIONS
			rt.top = rt.bottom - GetSystemMetrics(SM_CYHSCROLL);
			FillRect(ps.hdc, &rt, GetStockObject(BLACK_BRUSH));
#endif
			EndPaint(hwnd, &ps);
			break;}

		case WM_SETCURSOR:
			if (LOWORD(lparam) == HTCLIENT) {
				POINT pt;
				GetCursorPos(&pt);
				ScreenToClient(hwnd, &pt);

				if (pt.x>=child->split_pos-SPLIT_WIDTH/2 && pt.x<child->split_pos+SPLIT_WIDTH/2+1) {
					SetCursor(LoadCursor(0, IDC_SIZEWE));
					return TRUE;
				}
			}
			goto def;

		case WM_LBUTTONDOWN: {
			RECT rt;
			int x = GET_X_LPARAM(lparam);

			GetClientRect(hwnd, &rt);

			if (x>=child->split_pos-SPLIT_WIDTH/2 && x<child->split_pos+SPLIT_WIDTH/2+1) {
				last_split = child->split_pos;
#ifdef _NO_EXTENSIONS
				draw_splitbar(hwnd, last_split);
#endif
				SetCapture(hwnd);
			}

			break;}

		case WM_LBUTTONUP:
			if (GetCapture() == hwnd) {
#ifdef _NO_EXTENSIONS
				RECT rt;
				int x = LOWORD(lparam);
				draw_splitbar(hwnd, last_split);
				last_split = -1;
				GetClientRect(hwnd, &rt);
				child->split_pos = x;
				resize_tree(child, rt.right, rt.bottom);
#endif
				ReleaseCapture();
			}
			break;

#ifdef _NO_EXTENSIONS
		case WM_CAPTURECHANGED:
			if (GetCapture()==hwnd && last_split>=0)
				draw_splitbar(hwnd, last_split);
			break;
#endif

		case WM_KEYDOWN:
			if (wparam == VK_ESCAPE)
				if (GetCapture() == hwnd) {
					RECT rt;
#ifdef _NO_EXTENSIONS
					draw_splitbar(hwnd, last_split);
#else
					child->split_pos = last_split;
#endif
					GetClientRect(hwnd, &rt);
					resize_tree(child, rt.right, rt.bottom);
					last_split = -1;
					ReleaseCapture();
					SetCursor(LoadCursor(0, IDC_ARROW));
				}
			break;

		case WM_MOUSEMOVE:
			if (GetCapture() == hwnd) {
				RECT rt;
				int x = LOWORD(lparam);

#ifdef _NO_EXTENSIONS
				HDC hdc = GetDC(hwnd);
				GetClientRect(hwnd, &rt);

				rt.left = last_split-SPLIT_WIDTH/2;
				rt.right = last_split+SPLIT_WIDTH/2+1;
				InvertRect(hdc, &rt);

				last_split = x;
				rt.left = x-SPLIT_WIDTH/2;
				rt.right = x+SPLIT_WIDTH/2+1;
				InvertRect(hdc, &rt);

				ReleaseDC(hwnd, hdc);
#else
				GetClientRect(hwnd, &rt);

				if (x>=0 && x<rt.right) {
					child->split_pos = x;
					resize_tree(child, rt.right, rt.bottom);
					rt.left = x-SPLIT_WIDTH/2;
					rt.right = x+SPLIT_WIDTH/2+1;
					InvalidateRect(hwnd, &rt, FALSE);
					UpdateWindow(child->left.hwnd);
					UpdateWindow(hwnd);
					UpdateWindow(child->right.hwnd);
				}
#endif
			}
			break;

#ifndef _NO_EXTENSIONS
		case WM_GETMINMAXINFO:
			DefMDIChildProc(hwnd, nmsg, wparam, lparam);

			{LPMINMAXINFO lpmmi = (LPMINMAXINFO)lparam;

			lpmmi->ptMaxTrackSize.x <<= 1;/*2*GetSystemMetrics(SM_CXSCREEN) / SM_CXVIRTUALSCREEN */
			lpmmi->ptMaxTrackSize.y <<= 1;/*2*GetSystemMetrics(SM_CYSCREEN) / SM_CYVIRTUALSCREEN */
			break;}
#endif /* _NO_EXTENSIONS */

		case WM_SETFOCUS:
			SetCurrentDirectory(child->path);
			SetFocus(child->focus_pane? child->right.hwnd: child->left.hwnd);
			break;

		case WM_DISPATCH_COMMAND: {
			Pane* pane = GetFocus()==child->left.hwnd? &child->left: &child->right;

			switch(LOWORD(wparam)) {
				case ID_WINDOW_NEW: {
					ChildWnd* new_child = alloc_child_window(child->path, NULL, hwnd);

					if (!create_child_window(new_child))
						free(new_child);

					break;}

				case ID_REFRESH:
					scan_entry(child, pane->cur, hwnd);
					break;

				case ID_ACTIVATE:
					activate_entry(child, pane, hwnd);
					break;

				case ID_FILE_MOVE: {
					TCHAR new_name[BUFFER_LEN], old_name[BUFFER_LEN];
					int len;

					int ret = DialogBoxParam(Globals.hInstance, MAKEINTRESOURCE(IDD_SELECT_DESTINATION), hwnd, DestinationDlgProc, (LPARAM)new_name);
					if (ret != IDOK)
						break;

					if (new_name[0]!='/' && new_name[1]!=':') {
						get_path(pane->cur->up, old_name);
						len = lstrlen(old_name);

						if (old_name[len-1]!='\\' && old_name[len-1]!='/') {
							old_name[len++] = '/';
							old_name[len] = '\n';
						}

						lstrcpy(&old_name[len], new_name);
						lstrcpy(new_name, old_name);
					}

					get_path(pane->cur, old_name);

					if (MoveFileEx(old_name, new_name, MOVEFILE_COPY_ALLOWED)) {
						if (pane->treePane) {
							pane->root->scanned = FALSE;
							pane->cur = pane->root;
							activate_entry(child, pane, hwnd);
						}
						else
							scan_entry(child, pane->root, hwnd);
					}
					else
						display_error(hwnd, GetLastError());
					break;}

				default:
					return pane_command(pane, LOWORD(wparam));
			}

			return TRUE;}

		case WM_COMMAND: {
			Pane* pane = GetFocus()==child->left.hwnd? &child->left: &child->right;

			switch(HIWORD(wparam)) {
				case LBN_SELCHANGE: {
					int idx = ListBox_GetCurSel(pane->hwnd);
					Entry* entry = (Entry*) ListBox_GetItemData(pane->hwnd, idx);

					if (pane == &child->left)
						set_curdir(child, entry, hwnd);
					else
						pane->cur = entry;
					break;}

				case LBN_DBLCLK:
					activate_entry(child, pane, hwnd);
					break;
  405c42:	83 c4 10             	add    $0x10,%esp
			}
			break;}

#ifndef _NO_EXTENSIONS
		case WM_NOTIFY: {
			NMHDR* pnmh = (NMHDR*) lparam;
			return pane_notify(pnmh->idFrom==IDW_HEADER_LEFT? &child->left: &child->right, pnmh);}
#endif

#ifdef _SHELL_FOLDERS
		case WM_CONTEXTMENU: {
			Pane* pane;
			int idx;

			 /* first select the current item in the listbox */
			HWND hpanel = (HWND) wparam;
			POINTS* ppos = &MAKEPOINTS(lparam);
			POINT pt; POINTSTOPOINT(pt, *ppos);
			ScreenToClient(hpanel, &pt);
			SendMessage(hpanel, WM_LBUTTONDOWN, 0, MAKELONG(pt.x, pt.y));
			SendMessage(hpanel, WM_LBUTTONUP, 0, MAKELONG(pt.x, pt.y));

			 /* now create the popup menu using shell namespace and IContextMenu */
			pane = GetFocus()==child->left.hwnd? &child->left: &child->right;
			idx = ListBox_GetCurSel(pane->hwnd);

			if (idx != -1) {
				HRESULT hr;
				Entry* entry = (Entry*) ListBox_GetItemData(pane->hwnd, idx);

				LPITEMIDLIST pidl_abs = get_to_absolute_pidl(entry, hwnd);

				if (pidl_abs) {
					IShellFolder* parentFolder;
					LPCITEMIDLIST pidlLast;

					 /* get and use the parent folder to display correct context menu in all cases */
					if (SUCCEEDED(SHBindToParent(pidl_abs, &IID_IShellFolder, (LPVOID*)&parentFolder, &pidlLast))) {
						hr = ShellFolderContextMenu(parentFolder, hwnd, 1, &pidlLast, ppos->x, ppos->y);

						(*parentFolder->lpVtbl->Release)(parentFolder);
					}

					(*Globals.iMalloc->lpVtbl->Free)(Globals.iMalloc, pidl_abs);
				}
			}
			break;}
#endif

		case WM_SIZE:
			if (wparam != SIZE_MINIMIZED)
				resize_tree(child, LOWORD(lparam), HIWORD(lparam));
			/* fall through */

		default: def:
			return DefMDIChildProc(hwnd, nmsg, wparam, lparam);
	}

	return 0;
  405c45:	31 c0                	xor    %eax,%eax
}
  405c47:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  405c4a:	5b                   	pop    %ebx
  405c4b:	5e                   	pop    %esi
  405c4c:	5f                   	pop    %edi
  405c4d:	5d                   	pop    %ebp
  405c4e:	c2 10 00             	ret    $0x10
  405c51:	81 fe 11 01 00 00    	cmp    $0x111,%esi
  405c57:	0f 84 4a 06 00 00    	je     4062a7 <_ChildWndProc@16+0x6d7>
  405c5d:	0f 86 ad 02 00 00    	jbe    405f10 <_ChildWndProc@16+0x340>
  405c63:	81 fe 01 02 00 00    	cmp    $0x201,%esi
  405c69:	0f 84 f5 08 00 00    	je     406564 <_ChildWndProc@16+0x994>
  405c6f:	0f 87 1b 05 00 00    	ja     406190 <_ChildWndProc@16+0x5c0>
  405c75:	81 fe 00 02 00 00    	cmp    $0x200,%esi
  405c7b:	0f 84 28 09 00 00    	je     4065a9 <_ChildWndProc@16+0x9d9>
  405c81:	8b 45 14             	mov    0x14(%ebp),%eax
  405c84:	50                   	push   %eax
  405c85:	8b 45 10             	mov    0x10(%ebp),%eax
  405c88:	50                   	push   %eax
  405c89:	56                   	push   %esi
  405c8a:	53                   	push   %ebx
  405c8b:	e8 10 1b 00 00       	call   4077a0 <_DefMDIChildProcW@16>
  405c90:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  405c93:	5b                   	pop    %ebx
  405c94:	5e                   	pop    %esi
  405c95:	5f                   	pop    %edi
  405c96:	5d                   	pop    %ebp
  405c97:	c2 10 00             	ret    $0x10
  405c9a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  405ca0:	8b 55 14             	mov    0x14(%ebp),%edx
  405ca3:	8d 77 04             	lea    0x4(%edi),%esi
  405ca6:	89 95 88 ee ff ff    	mov    %edx,0xffffee88(%ebp)
  405cac:	83 7a 04 02          	cmpl   $0x2,0x4(%edx)
  405cb0:	74 03                	je     405cb5 <_ChildWndProc@16+0xe5>
  405cb2:	8d 77 70             	lea    0x70(%edi),%esi
  405cb5:	8b 95 88 ee ff ff    	mov    0xffffee88(%ebp),%edx
  405cbb:	8b 42 08             	mov    0x8(%edx),%eax
  405cbe:	3d b8 fe ff ff       	cmp    $0xfffffeb8,%eax
  405cc3:	72 80                	jb     405c45 <_ChildWndProc@16+0x75>
  405cc5:	3d b9 fe ff ff       	cmp    $0xfffffeb9,%eax
  405cca:	0f 86 b3 06 00 00    	jbe    406383 <_ChildWndProc@16+0x7b3>
  405cd0:	3d bb fe ff ff       	cmp    $0xfffffebb,%eax
  405cd5:	0f 85 6a ff ff ff    	jne    405c45 <_ChildWndProc@16+0x75>
  405cdb:	8b 85 88 ee ff ff    	mov    0xffffee88(%ebp),%eax
  405ce1:	8b 58 0c             	mov    0xc(%eax),%ebx
  405ce4:	6a 00                	push   $0x0
  405ce6:	6a 00                	push   $0x0
  405ce8:	68 8b 01 00 00       	push   $0x18b
  405ced:	8b 06                	mov    (%esi),%eax
  405cef:	50                   	push   %eax
  405cf0:	e8 5b 18 00 00       	call   407550 <_SendMessageW@16>
  405cf5:	83 ec 0c             	sub    $0xc,%esp
  405cf8:	c7 44 9e 08 00 00 00 	movl   $0x0,0x8(%esi,%ebx,4)
  405cff:	00 
  405d00:	89 85 78 ee ff ff    	mov    %eax,0xffffee78(%ebp)
  405d06:	8b 06                	mov    (%esi),%eax
  405d08:	50                   	push   %eax
  405d09:	e8 b2 19 00 00       	call   4076c0 <_GetDC@4>
  405d0e:	8b 0d b8 c2 40 00    	mov    0x40c2b8,%ecx
  405d14:	5f                   	pop    %edi
  405d15:	89 85 74 ee ff ff    	mov    %eax,0xffffee74(%ebp)
  405d1b:	51                   	push   %ecx
  405d1c:	50                   	push   %eax
  405d1d:	e8 5e 1d 00 00       	call   407a80 <_SelectObject@8>
  405d22:	5f                   	pop    %edi
  405d23:	31 ff                	xor    %edi,%edi
  405d25:	5a                   	pop    %edx
  405d26:	89 85 7c ee ff ff    	mov    %eax,0xffffee7c(%ebp)
  405d2c:	e9 93 00 00 00       	jmp    405dc4 <_ChildWndProc@16+0x1f4>
  405d31:	6a 00                	push   $0x0
  405d33:	57                   	push   %edi
  405d34:	68 99 01 00 00       	push   $0x199
  405d39:	47                   	inc    %edi
  405d3a:	8b 0e                	mov    (%esi),%ecx
  405d3c:	51                   	push   %ecx
  405d3d:	e8 0e 18 00 00       	call   407550 <_SendMessageW@16>
  405d42:	8b 16                	mov    (%esi),%edx
  405d44:	c7 85 d8 ee ff ff 00 	movl   $0x0,0xffffeed8(%ebp)
  405d4b:	00 00 00 
  405d4e:	89 95 ec ee ff ff    	mov    %edx,0xffffeeec(%ebp)
  405d54:	8b 95 74 ee ff ff    	mov    0xffffee74(%ebp),%edx
  405d5a:	89 95 f0 ee ff ff    	mov    %edx,0xffffeef0(%ebp)
  405d60:	c7 85 dc ee ff ff 00 	movl   $0x0,0xffffeedc(%ebp)
  405d67:	00 00 00 
  405d6a:	c7 85 e0 ee ff ff 00 	movl   $0x0,0xffffeee0(%ebp)
  405d71:	00 00 00 
  405d74:	c7 85 e4 ee ff ff 00 	movl   $0x0,0xffffeee4(%ebp)
  405d7b:	00 00 00 
  405d7e:	c7 85 e8 ee ff ff 00 	movl   $0x0,0xffffeee8(%ebp)
  405d85:	00 00 00 
  405d88:	c7 85 f4 ee ff ff 00 	movl   $0x0,0xffffeef4(%ebp)
  405d8f:	00 00 00 
  405d92:	c7 85 f8 ee ff ff 00 	movl   $0x0,0xffffeef8(%ebp)
  405d99:	00 00 00 
  405d9c:	c7 85 fc ee ff ff 00 	movl   $0x0,0xffffeefc(%ebp)
  405da3:	00 00 00 
  405da6:	c7 85 00 ef ff ff 00 	movl   $0x0,0xffffef00(%ebp)
  405dad:	00 00 00 
  405db0:	52                   	push   %edx
  405db1:	52                   	push   %edx
  405db2:	8d 95 d8 ee ff ff    	lea    0xffffeed8(%ebp),%edx
  405db8:	53                   	push   %ebx
  405db9:	50                   	push   %eax
  405dba:	89 f0                	mov    %esi,%eax
  405dbc:	e8 3f d5 ff ff       	call   403300 <_draw_item>
  405dc1:	83 c4 10             	add    $0x10,%esp
  405dc4:	3b bd 78 ee ff ff    	cmp    0xffffee78(%ebp),%edi
  405dca:	0f 8c 61 ff ff ff    	jl     405d31 <_ChildWndProc@16+0x161>
  405dd0:	50                   	push   %eax
  405dd1:	50                   	push   %eax
  405dd2:	8b 85 7c ee ff ff    	mov    0xffffee7c(%ebp),%eax
  405dd8:	50                   	push   %eax
  405dd9:	8b 85 74 ee ff ff    	mov    0xffffee74(%ebp),%eax
  405ddf:	50                   	push   %eax
  405de0:	e8 9b 1c 00 00       	call   407a80 <_SelectObject@8>
  405de5:	8b 85 74 ee ff ff    	mov    0xffffee74(%ebp),%eax
  405deb:	50                   	push   %eax
  405dec:	8b 06                	mov    (%esi),%eax
  405dee:	50                   	push   %eax
  405def:	e8 dc 18 00 00       	call   4076d0 <_ReleaseDC@8>
  405df4:	8b 54 9e 08          	mov    0x8(%esi,%ebx,4),%edx
  405df8:	59                   	pop    %ecx
  405df9:	85 d2                	test   %edx,%edx
  405dfb:	5f                   	pop    %edi
  405dfc:	74 14                	je     405e12 <_ChildWndProc@16+0x242>
  405dfe:	a1 c0 c2 40 00       	mov    0x40c2c0,%eax
  405e03:	8d 04 40             	lea    (%eax,%eax,2),%eax
  405e06:	01 c2                	add    %eax,%edx
  405e08:	83 fa 0f             	cmp    $0xf,%edx
  405e0b:	7f 05                	jg     405e12 <_ChildWndProc@16+0x242>
  405e0d:	ba 10 00 00 00       	mov    $0x10,%edx
  405e12:	8b 44 9e 30          	mov    0x30(%esi,%ebx,4),%eax
  405e16:	89 54 9e 08          	mov    %edx,0x8(%esi,%ebx,4)
  405e1a:	eb 09                	jmp    405e25 <_ChildWndProc@16+0x255>
  405e1c:	43                   	inc    %ebx
  405e1d:	89 44 9e 30          	mov    %eax,0x30(%esi,%ebx,4)
  405e21:	8b 54 9e 08          	mov    0x8(%esi,%ebx,4),%edx
  405e25:	01 d0                	add    %edx,%eax
  405e27:	83 fb 09             	cmp    $0x9,%ebx
  405e2a:	7e f0                	jle    405e1c <_ChildWndProc@16+0x24c>
  405e2c:	6a 00                	push   $0x0
  405e2e:	50                   	push   %eax
  405e2f:	68 94 01 00 00       	push   $0x194
  405e34:	8b 06                	mov    (%esi),%eax
  405e36:	50                   	push   %eax
  405e37:	e8 14 17 00 00       	call   407550 <_SendMessageW@16>
  405e3c:	8b 95 88 ee ff ff    	mov    0xffffee88(%ebp),%edx
  405e42:	c7 85 08 ef ff ff 01 	movl   $0x1,0xffffef08(%ebp)
  405e49:	00 00 00 
  405e4c:	8b 42 0c             	mov    0xc(%edx),%eax
  405e4f:	8b 44 86 08          	mov    0x8(%esi,%eax,4),%eax
  405e53:	89 85 0c ef ff ff    	mov    %eax,0xffffef0c(%ebp)
  405e59:	8d 85 08 ef ff ff    	lea    0xffffef08(%ebp),%eax
  405e5f:	50                   	push   %eax
  405e60:	8b 42 0c             	mov    0xc(%edx),%eax
  405e63:	50                   	push   %eax
  405e64:	68 0c 12 00 00       	push   $0x120c
  405e69:	8b 46 04             	mov    0x4(%esi),%eax
  405e6c:	50                   	push   %eax
  405e6d:	e8 de 16 00 00       	call   407550 <_SendMessageW@16>
  405e72:	50                   	push   %eax
  405e73:	6a 01                	push   $0x1
  405e75:	6a 00                	push   $0x0
  405e77:	8b 06                	mov    (%esi),%eax
  405e79:	50                   	push   %eax
  405e7a:	e8 61 18 00 00       	call   4076e0 <_InvalidateRect@12>
  405e7f:	5f                   	pop    %edi
  405e80:	31 c0                	xor    %eax,%eax
  405e82:	e9 c0 fd ff ff       	jmp    405c47 <_ChildWndProc@16+0x77>
  405e87:	83 fe 24             	cmp    $0x24,%esi
  405e8a:	0f 84 83 06 00 00    	je     406513 <_ChildWndProc@16+0x943>
  405e90:	0f 87 4b 02 00 00    	ja     4060e1 <_ChildWndProc@16+0x511>
  405e96:	83 fe 20             	cmp    $0x20,%esi
  405e99:	0f 85 e2 fd ff ff    	jne    405c81 <_ChildWndProc@16+0xb1>
  405e9f:	66 83 7d 14 01       	cmpw   $0x1,0x14(%ebp)
  405ea4:	0f 85 d7 fd ff ff    	jne    405c81 <_ChildWndProc@16+0xb1>
  405eaa:	83 ec 0c             	sub    $0xc,%esp
  405ead:	8d 85 a0 ee ff ff    	lea    0xffffeea0(%ebp),%eax
  405eb3:	50                   	push   %eax
  405eb4:	e8 f7 18 00 00       	call   4077b0 <_GetCursorPos@4>
  405eb9:	8d 95 a0 ee ff ff    	lea    0xffffeea0(%ebp),%edx
  405ebf:	89 14 24             	mov    %edx,(%esp)
  405ec2:	53                   	push   %ebx
  405ec3:	e8 f8 18 00 00       	call   4077c0 <_ScreenToClient@8>
  405ec8:	8b 97 0c 01 00 00    	mov    0x10c(%edi),%edx
  405ece:	8b 8d a0 ee ff ff    	mov    0xffffeea0(%ebp),%ecx
  405ed4:	8d 42 fe             	lea    0xfffffffe(%edx),%eax
  405ed7:	83 c4 08             	add    $0x8,%esp
  405eda:	39 c1                	cmp    %eax,%ecx
  405edc:	0f 8c 9f fd ff ff    	jl     405c81 <_ChildWndProc@16+0xb1>
  405ee2:	8d 42 03             	lea    0x3(%edx),%eax
  405ee5:	39 c1                	cmp    %eax,%ecx
  405ee7:	0f 8d 94 fd ff ff    	jge    405c81 <_ChildWndProc@16+0xb1>
  405eed:	83 ec 18             	sub    $0x18,%esp
  405ef0:	68 84 7f 00 00       	push   $0x7f84
  405ef5:	6a 00                	push   $0x0
  405ef7:	e8 14 18 00 00       	call   407710 <_LoadCursorW@8>
  405efc:	83 c4 0c             	add    $0xc,%esp
  405eff:	50                   	push   %eax
  405f00:	e8 1b 18 00 00       	call   407720 <_SetCursor@4>
  405f05:	b8 01 00 00 00       	mov    $0x1,%eax
  405f0a:	e9 81 fd ff ff       	jmp    405c90 <_ChildWndProc@16+0xc0>
  405f0f:	90                   	nop    
  405f10:	81 fe 82 00 00 00    	cmp    $0x82,%esi
  405f16:	0f 84 21 06 00 00    	je     40653d <_ChildWndProc@16+0x96d>
  405f1c:	0f 87 f2 01 00 00    	ja     406114 <_ChildWndProc@16+0x544>
  405f22:	83 fe 7b             	cmp    $0x7b,%esi
  405f25:	0f 85 56 fd ff ff    	jne    405c81 <_ChildWndProc@16+0xb1>
  405f2b:	8b 45 14             	mov    0x14(%ebp),%eax
  405f2e:	89 c2                	mov    %eax,%edx
  405f30:	c1 e8 10             	shr    $0x10,%eax
  405f33:	81 e2 ff ff 00 00    	and    $0xffff,%edx
  405f39:	89 85 9c ee ff ff    	mov    %eax,0xffffee9c(%ebp)
  405f3f:	8d 85 98 ee ff ff    	lea    0xffffee98(%ebp),%eax
  405f45:	89 95 98 ee ff ff    	mov    %edx,0xffffee98(%ebp)
  405f4b:	56                   	push   %esi
  405f4c:	56                   	push   %esi
  405f4d:	50                   	push   %eax
  405f4e:	8b 4d 10             	mov    0x10(%ebp),%ecx
  405f51:	8d 77 04             	lea    0x4(%edi),%esi
  405f54:	51                   	push   %ecx
  405f55:	e8 66 18 00 00       	call   4077c0 <_ScreenToClient@8>
  405f5a:	58                   	pop    %eax
  405f5b:	8b 85 9c ee ff ff    	mov    0xffffee9c(%ebp),%eax
  405f61:	c1 e0 10             	shl    $0x10,%eax
  405f64:	5a                   	pop    %edx
  405f65:	8b 95 98 ee ff ff    	mov    0xffffee98(%ebp),%edx
  405f6b:	81 e2 ff ff 00 00    	and    $0xffff,%edx
  405f71:	09 c2                	or     %eax,%edx
  405f73:	52                   	push   %edx
  405f74:	6a 00                	push   $0x0
  405f76:	68 01 02 00 00       	push   $0x201
  405f7b:	8b 45 10             	mov    0x10(%ebp),%eax
  405f7e:	50                   	push   %eax
  405f7f:	e8 cc 15 00 00       	call   407550 <_SendMessageW@16>
  405f84:	8b 95 98 ee ff ff    	mov    0xffffee98(%ebp),%edx
  405f8a:	8b 85 9c ee ff ff    	mov    0xffffee9c(%ebp),%eax
  405f90:	c1 e0 10             	shl    $0x10,%eax
  405f93:	81 e2 ff ff 00 00    	and    $0xffff,%edx
  405f99:	09 c2                	or     %eax,%edx
  405f9b:	52                   	push   %edx
  405f9c:	6a 00                	push   $0x0
  405f9e:	68 02 02 00 00       	push   $0x202
  405fa3:	8b 45 10             	mov    0x10(%ebp),%eax
  405fa6:	50                   	push   %eax
  405fa7:	e8 a4 15 00 00       	call   407550 <_SendMessageW@16>
  405fac:	e8 1f 18 00 00       	call   4077d0 <_GetFocus@0>
  405fb1:	3b 47 04             	cmp    0x4(%edi),%eax
  405fb4:	74 03                	je     405fb9 <_ChildWndProc@16+0x3e9>
  405fb6:	8d 77 70             	lea    0x70(%edi),%esi
  405fb9:	6a 00                	push   $0x0
  405fbb:	6a 00                	push   $0x0
  405fbd:	68 88 01 00 00       	push   $0x188
  405fc2:	8b 3e                	mov    (%esi),%edi
  405fc4:	57                   	push   %edi
  405fc5:	e8 86 15 00 00       	call   407550 <_SendMessageW@16>
  405fca:	83 f8 ff             	cmp    $0xffffffff,%eax
  405fcd:	0f 84 72 fc ff ff    	je     405c45 <_ChildWndProc@16+0x75>
  405fd3:	6a 00                	push   $0x0
  405fd5:	50                   	push   %eax
  405fd6:	68 99 01 00 00       	push   $0x199
  405fdb:	8b 36                	mov    (%esi),%esi
  405fdd:	56                   	push   %esi
  405fde:	e8 6d 15 00 00       	call   407550 <_SendMessageW@16>
  405fe3:	89 da                	mov    %ebx,%edx
  405fe5:	e8 66 c5 ff ff       	call   402550 <_get_to_absolute_pidl>
  405fea:	89 c7                	mov    %eax,%edi
  405fec:	85 c0                	test   %eax,%eax
  405fee:	0f 84 51 fc ff ff    	je     405c45 <_ChildWndProc@16+0x75>
  405ff4:	8d 85 94 ee ff ff    	lea    0xffffee94(%ebp),%eax
  405ffa:	50                   	push   %eax
  405ffb:	8d 85 90 ee ff ff    	lea    0xffffee90(%ebp),%eax
  406001:	50                   	push   %eax
  406002:	68 00 be 40 00       	push   $0x40be00
  406007:	57                   	push   %edi
  406008:	e8 03 1c 00 00       	call   407c10 <_SHBindToParent@16>
  40600d:	85 c0                	test   %eax,%eax
  40600f:	0f 88 b5 00 00 00    	js     4060ca <_ChildWndProc@16+0x4fa>
  406015:	0f bf 55 14          	movswl 0x14(%ebp),%edx
  406019:	89 95 70 ee ff ff    	mov    %edx,0xffffee70(%ebp)
  40601f:	8b 85 90 ee ff ff    	mov    0xffffee90(%ebp),%eax
  406025:	0f bf 55 16          	movswl 0x16(%ebp),%edx
  406029:	89 95 6c ee ff ff    	mov    %edx,0xffffee6c(%ebp)
  40602f:	51                   	push   %ecx
  406030:	8b 30                	mov    (%eax),%esi
  406032:	8d 95 8c ee ff ff    	lea    0xffffee8c(%ebp),%edx
  406038:	52                   	push   %edx
  406039:	8d 95 94 ee ff ff    	lea    0xffffee94(%ebp),%edx
  40603f:	6a 00                	push   $0x0
  406041:	68 30 be 40 00       	push   $0x40be30
  406046:	52                   	push   %edx
  406047:	6a 01                	push   $0x1
  406049:	53                   	push   %ebx
  40604a:	50                   	push   %eax
  40604b:	ff 56 28             	call   *0x28(%esi)
  40604e:	5a                   	pop    %edx
  40604f:	85 c0                	test   %eax,%eax
  406051:	78 65                	js     4060b8 <_ChildWndProc@16+0x4e8>
  406053:	e8 88 17 00 00       	call   4077e0 <_CreatePopupMenu@0>
  406058:	89 c6                	mov    %eax,%esi
  40605a:	85 c0                	test   %eax,%eax
  40605c:	74 48                	je     4060a6 <_ChildWndProc@16+0x4d6>
  40605e:	50                   	push   %eax
  40605f:	50                   	push   %eax
  406060:	8b 85 8c ee ff ff    	mov    0xffffee8c(%ebp),%eax
  406066:	8b 10                	mov    (%eax),%edx
  406068:	6a 00                	push   $0x0
  40606a:	68 ff 7f 00 00       	push   $0x7fff
  40606f:	6a 00                	push   $0x0
  406071:	6a 00                	push   $0x0
  406073:	56                   	push   %esi
  406074:	50                   	push   %eax
  406075:	ff 52 0c             	call   *0xc(%edx)
  406078:	5a                   	pop    %edx
  406079:	85 c0                	test   %eax,%eax
  40607b:	59                   	pop    %ecx
  40607c:	78 28                	js     4060a6 <_ChildWndProc@16+0x4d6>
  40607e:	50                   	push   %eax
  40607f:	6a 00                	push   $0x0
  406081:	53                   	push   %ebx
  406082:	6a 00                	push   $0x0
  406084:	8b 85 6c ee ff ff    	mov    0xffffee6c(%ebp),%eax
  40608a:	50                   	push   %eax
  40608b:	8b 8d 70 ee ff ff    	mov    0xffffee70(%ebp),%ecx
  406091:	51                   	push   %ecx
  406092:	68 02 01 00 00       	push   $0x102
  406097:	56                   	push   %esi
  406098:	e8 53 17 00 00       	call   4077f0 <_TrackPopupMenu@28>
  40609d:	5a                   	pop    %edx
  40609e:	85 c0                	test   %eax,%eax
  4060a0:	0f 85 aa 07 00 00    	jne    406850 <_ChildWndProc@16+0xc80>
  4060a6:	8b 85 8c ee ff ff    	mov    0xffffee8c(%ebp),%eax
  4060ac:	83 ec 0c             	sub    $0xc,%esp
  4060af:	8b 10                	mov    (%eax),%edx
  4060b1:	50                   	push   %eax
  4060b2:	ff 52 08             	call   *0x8(%edx)
  4060b5:	83 c4 0c             	add    $0xc,%esp
  4060b8:	8b 85 90 ee ff ff    	mov    0xffffee90(%ebp),%eax
  4060be:	83 ec 0c             	sub    $0xc,%esp
  4060c1:	8b 10                	mov    (%eax),%edx
  4060c3:	50                   	push   %eax
  4060c4:	ff 52 08             	call   *0x8(%edx)
  4060c7:	83 c4 0c             	add    $0xc,%esp
  4060ca:	53                   	push   %ebx
  4060cb:	53                   	push   %ebx
  4060cc:	a1 d4 ca 40 00       	mov    0x40cad4,%eax
  4060d1:	8b 10                	mov    (%eax),%edx
  4060d3:	57                   	push   %edi
  4060d4:	50                   	push   %eax
  4060d5:	ff 52 14             	call   *0x14(%edx)
  4060d8:	5a                   	pop    %edx
  4060d9:	59                   	pop    %ecx
  4060da:	31 c0                	xor    %eax,%eax
  4060dc:	e9 66 fb ff ff       	jmp    405c47 <_ChildWndProc@16+0x77>
  4060e1:	83 fe 2b             	cmp    $0x2b,%esi
  4060e4:	0f 85 97 fb ff ff    	jne    405c81 <_ChildWndProc@16+0xb1>
  4060ea:	8b 55 14             	mov    0x14(%ebp),%edx
  4060ed:	8b 4a 2c             	mov    0x2c(%edx),%ecx
  4060f0:	83 7a 04 03          	cmpl   $0x3,0x4(%edx)
  4060f4:	0f 84 bc 05 00 00    	je     4066b6 <_ChildWndProc@16+0xae6>
  4060fa:	8d 47 70             	lea    0x70(%edi),%eax
  4060fd:	53                   	push   %ebx
  4060fe:	53                   	push   %ebx
  4060ff:	6a ff                	push   $0xffffffff
  406101:	51                   	push   %ecx
  406102:	e8 f9 d1 ff ff       	call   403300 <_draw_item>
  406107:	83 c4 10             	add    $0x10,%esp
  40610a:	b8 01 00 00 00       	mov    $0x1,%eax
  40610f:	e9 7c fb ff ff       	jmp    405c90 <_ChildWndProc@16+0xc0>
  406114:	81 fe 00 01 00 00    	cmp    $0x100,%esi
  40611a:	0f 85 61 fb ff ff    	jne    405c81 <_ChildWndProc@16+0xb1>
  406120:	83 7d 10 1b          	cmpl   $0x1b,0x10(%ebp)
  406124:	0f 85 1b fb ff ff    	jne    405c45 <_ChildWndProc@16+0x75>
  40612a:	e8 d1 16 00 00       	call   407800 <_GetCapture@0>
  40612f:	39 d8                	cmp    %ebx,%eax
  406131:	0f 85 0e fb ff ff    	jne    405c45 <_ChildWndProc@16+0x75>
  406137:	a1 00 c2 40 00       	mov    0x40c200,%eax
  40613c:	89 87 0c 01 00 00    	mov    %eax,0x10c(%edi)
  406142:	50                   	push   %eax
  406143:	50                   	push   %eax
  406144:	8d 85 78 ff ff ff    	lea    0xffffff78(%ebp),%eax
  40614a:	50                   	push   %eax
  40614b:	53                   	push   %ebx
  40614c:	e8 0f 14 00 00       	call   407560 <_GetClientRect@8>
  406151:	50                   	push   %eax
  406152:	89 f8                	mov    %edi,%eax
  406154:	8b 55 80             	mov    0xffffff80(%ebp),%edx
  406157:	8b 75 84             	mov    0xffffff84(%ebp),%esi
  40615a:	56                   	push   %esi
  40615b:	e8 50 ce ff ff       	call   402fb0 <_resize_tree>
  406160:	c7 05 00 c2 40 00 ff 	movl   $0xffffffff,0x40c200
  406167:	ff ff ff 
  40616a:	e8 a1 16 00 00       	call   407810 <_ReleaseCapture@0>
  40616f:	53                   	push   %ebx
  406170:	53                   	push   %ebx
  406171:	68 00 7f 00 00       	push   $0x7f00
  406176:	6a 00                	push   $0x0
  406178:	e8 93 15 00 00       	call   407710 <_LoadCursorW@8>
  40617d:	83 c4 0c             	add    $0xc,%esp
  406180:	50                   	push   %eax
  406181:	e8 9a 15 00 00       	call   407720 <_SetCursor@4>
  406186:	83 c4 0c             	add    $0xc,%esp
  406189:	31 c0                	xor    %eax,%eax
  40618b:	e9 b7 fa ff ff       	jmp    405c47 <_ChildWndProc@16+0x77>
  406190:	81 fe 02 02 00 00    	cmp    $0x202,%esi
  406196:	0f 84 a4 04 00 00    	je     406640 <_ChildWndProc@16+0xa70>
  40619c:	81 fe 80 bf 00 00    	cmp    $0xbf80,%esi
  4061a2:	0f 85 d9 fa ff ff    	jne    405c81 <_ChildWndProc@16+0xb1>
  4061a8:	e8 23 16 00 00       	call   4077d0 <_GetFocus@0>
  4061ad:	8d 77 04             	lea    0x4(%edi),%esi
  4061b0:	3b 47 04             	cmp    0x4(%edi),%eax
  4061b3:	74 03                	je     4061b8 <_ChildWndProc@16+0x5e8>
  4061b5:	8d 77 70             	lea    0x70(%edi),%esi
  4061b8:	8b 45 10             	mov    0x10(%ebp),%eax
  4061bb:	25 ff ff 00 00       	and    $0xffff,%eax
  4061c0:	83 f8 6a             	cmp    $0x6a,%eax
  4061c3:	0f 84 c5 05 00 00    	je     40678e <_ChildWndProc@16+0xbbe>
  4061c9:	0f 8f f9 04 00 00    	jg     4066c8 <_ChildWndProc@16+0xaf8>
  4061cf:	83 f8 65             	cmp    $0x65,%eax
  4061d2:	0f 84 3a 06 00 00    	je     406812 <_ChildWndProc@16+0xc42>
  4061d8:	8b 45 10             	mov    0x10(%ebp),%eax
  4061db:	25 ff ff 00 00       	and    $0xffff,%eax
  4061e0:	3d 92 01 00 00       	cmp    $0x192,%eax
  4061e5:	0f 84 58 05 00 00    	je     406743 <_ChildWndProc@16+0xb73>
  4061eb:	0f 87 21 05 00 00    	ja     406712 <_ChildWndProc@16+0xb42>
  4061f1:	3d 91 01 00 00       	cmp    $0x191,%eax
  4061f6:	0f 85 49 fa ff ff    	jne    405c45 <_ChildWndProc@16+0x75>
  4061fc:	8b 46 60             	mov    0x60(%esi),%eax
  4061ff:	85 c0                	test   %eax,%eax
  406201:	0f 84 fe fc ff ff    	je     405f05 <_ChildWndProc@16+0x335>
  406207:	ba 01 00 00 00       	mov    $0x1,%edx
  40620c:	c7 46 60 00 00 00 00 	movl   $0x0,0x60(%esi)
  406213:	89 f0                	mov    %esi,%eax
  406215:	e8 c6 de ff ff       	call   4040e0 <_calc_widths>
  40621a:	89 f0                	mov    %esi,%eax
  40621c:	e8 df e2 ff ff       	call   404500 <_set_header>
  406221:	50                   	push   %eax
  406222:	6a 01                	push   $0x1
  406224:	6a 00                	push   $0x0
  406226:	8b 06                	mov    (%esi),%eax
  406228:	50                   	push   %eax
  406229:	e8 b2 14 00 00       	call   4076e0 <_InvalidateRect@12>
  40622e:	6a 08                	push   $0x8
  406230:	68 91 01 00 00       	push   $0x191
  406235:	a1 a0 c2 40 00       	mov    0x40c2a0,%eax
  40623a:	50                   	push   %eax
  40623b:	e8 d0 13 00 00       	call   407610 <_CheckMenuItem@12>
  406240:	6a 00                	push   $0x0
  406242:	68 92 01 00 00       	push   $0x192
  406247:	8b 15 a0 c2 40 00    	mov    0x40c2a0,%edx
  40624d:	52                   	push   %edx
  40624e:	e8 bd 13 00 00       	call   407610 <_CheckMenuItem@12>
  406253:	6a 00                	push   $0x0
  406255:	68 93 01 00 00       	push   $0x193
  40625a:	a1 a0 c2 40 00       	mov    0x40c2a0,%eax
  40625f:	50                   	push   %eax
  406260:	e8 ab 13 00 00       	call   407610 <_CheckMenuItem@12>
  406265:	58                   	pop    %eax
  406266:	b8 01 00 00 00       	mov    $0x1,%eax
  40626b:	e9 20 fa ff ff       	jmp    405c90 <_ChildWndProc@16+0xc0>
  406270:	83 fe 07             	cmp    $0x7,%esi
  406273:	0f 85 08 fa ff ff    	jne    405c81 <_ChildWndProc@16+0xb1>
  406279:	83 ec 0c             	sub    $0xc,%esp
  40627c:	8d 87 14 01 00 00    	lea    0x114(%edi),%eax
  406282:	50                   	push   %eax
  406283:	e8 b8 11 00 00       	call   407440 <_SetCurrentDirectoryW@4>
  406288:	8b 87 dc 00 00 00    	mov    0xdc(%edi),%eax
  40628e:	85 c0                	test   %eax,%eax
  406290:	0f 84 2a 04 00 00    	je     4066c0 <_ChildWndProc@16+0xaf0>
  406296:	8b 47 70             	mov    0x70(%edi),%eax
  406299:	50                   	push   %eax
  40629a:	e8 81 15 00 00       	call   407820 <_SetFocus@4>
  40629f:	83 c4 0c             	add    $0xc,%esp
  4062a2:	e9 e2 fe ff ff       	jmp    406189 <_ChildWndProc@16+0x5b9>
  4062a7:	e8 24 15 00 00       	call   4077d0 <_GetFocus@0>
  4062ac:	8d 77 04             	lea    0x4(%edi),%esi
  4062af:	3b 47 04             	cmp    0x4(%edi),%eax
  4062b2:	74 03                	je     4062b7 <_ChildWndProc@16+0x6e7>
  4062b4:	8d 77 70             	lea    0x70(%edi),%esi
  4062b7:	8b 45 10             	mov    0x10(%ebp),%eax
  4062ba:	c1 e8 10             	shr    $0x10,%eax
  4062bd:	83 f8 01             	cmp    $0x1,%eax
  4062c0:	0f 84 b8 03 00 00    	je     40667e <_ChildWndProc@16+0xaae>
  4062c6:	83 f8 02             	cmp    $0x2,%eax
  4062c9:	0f 85 76 f9 ff ff    	jne    405c45 <_ChildWndProc@16+0x75>
  4062cf:	83 ec 0c             	sub    $0xc,%esp
  4062d2:	89 f2                	mov    %esi,%edx
  4062d4:	89 f8                	mov    %edi,%eax
  4062d6:	53                   	push   %ebx
  4062d7:	e8 f4 f6 ff ff       	call   4059d0 <_activate_entry>
  4062dc:	83 c4 10             	add    $0x10,%esp
  4062df:	e9 61 f9 ff ff       	jmp    405c45 <_ChildWndProc@16+0x75>
  4062e4:	50                   	push   %eax
  4062e5:	50                   	push   %eax
  4062e6:	8d 45 98             	lea    0xffffff98(%ebp),%eax
  4062e9:	50                   	push   %eax
  4062ea:	53                   	push   %ebx
  4062eb:	e8 70 12 00 00       	call   407560 <_GetClientRect@8>
  4062f0:	8d 75 a8             	lea    0xffffffa8(%ebp),%esi
  4062f3:	56                   	push   %esi
  4062f4:	53                   	push   %ebx
  4062f5:	e8 36 15 00 00       	call   407830 <_BeginPaint@8>
  4062fa:	8b 87 0c 01 00 00    	mov    0x10c(%edi),%eax
  406300:	8d 50 fe             	lea    0xfffffffe(%eax),%edx
  406303:	83 c0 03             	add    $0x3,%eax
  406306:	89 55 98             	mov    %edx,0xffffff98(%ebp)
  406309:	89 45 a0             	mov    %eax,0xffffffa0(%ebp)
  40630c:	50                   	push   %eax
  40630d:	6a 01                	push   $0x1
  40630f:	e8 7c 17 00 00       	call   407a90 <_GetStockObject@4>
  406314:	89 04 24             	mov    %eax,(%esp)
  406317:	8b 45 a8             	mov    0xffffffa8(%ebp),%eax
  40631a:	50                   	push   %eax
  40631b:	e8 60 17 00 00       	call   407a80 <_SelectObject@8>
  406320:	89 c7                	mov    %eax,%edi
  406322:	50                   	push   %eax
  406323:	8b 45 a4             	mov    0xffffffa4(%ebp),%eax
  406326:	40                   	inc    %eax
  406327:	50                   	push   %eax
  406328:	8b 45 a0             	mov    0xffffffa0(%ebp),%eax
  40632b:	50                   	push   %eax
  40632c:	8b 45 9c             	mov    0xffffff9c(%ebp),%eax
  40632f:	48                   	dec    %eax
  406330:	50                   	push   %eax
  406331:	8b 4d 98             	mov    0xffffff98(%ebp),%ecx
  406334:	51                   	push   %ecx
  406335:	8b 55 a8             	mov    0xffffffa8(%ebp),%edx
  406338:	52                   	push   %edx
  406339:	e8 82 17 00 00       	call   407ac0 <_Rectangle@20>
  40633e:	89 3c 24             	mov    %edi,(%esp)
  406341:	8b 45 a8             	mov    0xffffffa8(%ebp),%eax
  406344:	50                   	push   %eax
  406345:	e8 36 17 00 00       	call   407a80 <_SelectObject@8>
  40634a:	56                   	push   %esi
  40634b:	53                   	push   %ebx
  40634c:	e8 ef 14 00 00       	call   407840 <_EndPaint@8>
  406351:	5a                   	pop    %edx
  406352:	59                   	pop    %ecx
  406353:	e9 82 fd ff ff       	jmp    4060da <_ChildWndProc@16+0x50a>
  406358:	83 7d 10 01          	cmpl   $0x1,0x10(%ebp)
  40635c:	0f 84 1f f9 ff ff    	je     405c81 <_ChildWndProc@16+0xb1>
  406362:	8b 45 14             	mov    0x14(%ebp),%eax
  406365:	83 ec 0c             	sub    $0xc,%esp
  406368:	89 c2                	mov    %eax,%edx
  40636a:	c1 e8 10             	shr    $0x10,%eax
  40636d:	81 e2 ff ff 00 00    	and    $0xffff,%edx
  406373:	50                   	push   %eax
  406374:	89 f8                	mov    %edi,%eax
  406376:	e8 35 cc ff ff       	call   402fb0 <_resize_tree>
  40637b:	83 c4 10             	add    $0x10,%esp
  40637e:	e9 fe f8 ff ff       	jmp    405c81 <_ChildWndProc@16+0xb1>
  406383:	8b 85 88 ee ff ff    	mov    0xffffee88(%ebp),%eax
  406389:	8b 78 0c             	mov    0xc(%eax),%edi
  40638c:	8b 40 14             	mov    0x14(%eax),%eax
  40638f:	8b 54 be 08          	mov    0x8(%esi,%edi,4),%edx
  406393:	8b 40 04             	mov    0x4(%eax),%eax
  406396:	29 d0                	sub    %edx,%eax
  406398:	89 85 84 ee ff ff    	mov    %eax,0xffffee84(%ebp)
  40639e:	8d 85 58 ef ff ff    	lea    0xffffef58(%ebp),%eax
  4063a4:	53                   	push   %ebx
  4063a5:	53                   	push   %ebx
  4063a6:	50                   	push   %eax
  4063a7:	8b 0e                	mov    (%esi),%ecx
  4063a9:	51                   	push   %ecx
  4063aa:	e8 b1 11 00 00       	call   407560 <_GetClientRect@8>
  4063af:	58                   	pop    %eax
  4063b0:	8b 85 88 ee ff ff    	mov    0xffffee88(%ebp),%eax
  4063b6:	5a                   	pop    %edx
  4063b7:	8b 40 14             	mov    0x14(%eax),%eax
  4063ba:	50                   	push   %eax
  4063bb:	57                   	push   %edi
  4063bc:	68 0c 12 00 00       	push   $0x120c
  4063c1:	8b 46 04             	mov    0x4(%esi),%eax
  4063c4:	50                   	push   %eax
  4063c5:	e8 86 11 00 00       	call   407550 <_SendMessageW@16>
  4063ca:	8b 5c be 08          	mov    0x8(%esi,%edi,4),%ebx
  4063ce:	8b 95 84 ee ff ff    	mov    0xffffee84(%ebp),%edx
  4063d4:	01 d3                	add    %edx,%ebx
  4063d6:	8d 47 01             	lea    0x1(%edi),%eax
  4063d9:	89 5c be 08          	mov    %ebx,0x8(%esi,%edi,4)
  4063dd:	eb 12                	jmp    4063f1 <_ChildWndProc@16+0x821>
  4063df:	90                   	nop    
  4063e0:	8b 4c 86 30          	mov    0x30(%esi,%eax,4),%ecx
  4063e4:	8b 95 84 ee ff ff    	mov    0xffffee84(%ebp),%edx
  4063ea:	01 d1                	add    %edx,%ecx
  4063ec:	89 4c 86 30          	mov    %ecx,0x30(%esi,%eax,4)
  4063f0:	40                   	inc    %eax
  4063f1:	83 f8 0a             	cmp    $0xa,%eax
  4063f4:	7e ea                	jle    4063e0 <_ChildWndProc@16+0x810>
  4063f6:	50                   	push   %eax
  4063f7:	50                   	push   %eax
  4063f8:	6a 00                	push   $0x0
  4063fa:	8b 1e                	mov    (%esi),%ebx
  4063fc:	53                   	push   %ebx
  4063fd:	e8 fe 12 00 00       	call   407700 <_GetScrollPos@8>
  406402:	5a                   	pop    %edx
  406403:	59                   	pop    %ecx
  406404:	89 85 80 ee ff ff    	mov    %eax,0xffffee80(%ebp)
  40640a:	8b 85 60 ef ff ff    	mov    0xffffef60(%ebp),%eax
  406410:	89 85 50 ef ff ff    	mov    %eax,0xffffef50(%ebp)
  406416:	8b 9d 80 ee ff ff    	mov    0xffffee80(%ebp),%ebx
  40641c:	8b 44 be 30          	mov    0x30(%esi,%edi,4),%eax
  406420:	8b 4c be 34          	mov    0x34(%esi,%edi,4),%ecx
  406424:	29 d8                	sub    %ebx,%eax
  406426:	8b 95 64 ef ff ff    	mov    0xffffef64(%ebp),%edx
  40642c:	89 85 38 ef ff ff    	mov    %eax,0xffffef38(%ebp)
  406432:	8b 85 60 ef ff ff    	mov    0xffffef60(%ebp),%eax
  406438:	89 85 40 ef ff ff    	mov    %eax,0xffffef40(%ebp)
  40643e:	89 c8                	mov    %ecx,%eax
  406440:	2b 85 80 ee ff ff    	sub    0xffffee80(%ebp),%eax
  406446:	c7 85 4c ef ff ff 00 	movl   $0x0,0xffffef4c(%ebp)
  40644d:	00 00 00 
  406450:	89 95 54 ef ff ff    	mov    %edx,0xffffef54(%ebp)
  406456:	c7 85 3c ef ff ff 00 	movl   $0x0,0xffffef3c(%ebp)
  40645d:	00 00 00 
  406460:	89 95 44 ef ff ff    	mov    %edx,0xffffef44(%ebp)
  406466:	0f 88 03 02 00 00    	js     40666f <_ChildWndProc@16+0xa9f>
  40646c:	89 85 48 ef ff ff    	mov    %eax,0xffffef48(%ebp)
  406472:	8b 85 38 ef ff ff    	mov    0xffffef38(%ebp),%eax
  406478:	85 c0                	test   %eax,%eax
  40647a:	0f 88 e0 01 00 00    	js     406660 <_ChildWndProc@16+0xa90>
  406480:	8d 95 38 ef ff ff    	lea    0xffffef38(%ebp),%edx
  406486:	8d 85 48 ef ff ff    	lea    0xffffef48(%ebp),%eax
  40648c:	6a 02                	push   $0x2
  40648e:	6a 00                	push   $0x0
  406490:	6a 00                	push   $0x0
  406492:	52                   	push   %edx
  406493:	50                   	push   %eax
  406494:	6a 00                	push   $0x0
  406496:	8b 85 84 ee ff ff    	mov    0xffffee84(%ebp),%eax
  40649c:	50                   	push   %eax
  40649d:	8b 06                	mov    (%esi),%eax
  40649f:	50                   	push   %eax
  4064a0:	e8 ab 13 00 00       	call   407850 <_ScrollWindowEx@32>
  4064a5:	8b 44 be 34          	mov    0x34(%esi,%edi,4),%eax
  4064a9:	89 85 40 ef ff ff    	mov    %eax,0xffffef40(%ebp)
  4064af:	8d 85 38 ef ff ff    	lea    0xffffef38(%ebp),%eax
  4064b5:	68 01 01 00 00       	push   $0x101
  4064ba:	6a 00                	push   $0x0
  4064bc:	50                   	push   %eax
  4064bd:	8b 06                	mov    (%esi),%eax
  4064bf:	50                   	push   %eax
  4064c0:	e8 9b 13 00 00       	call   407860 <_RedrawWindow@16>
  4064c5:	8b 95 88 ee ff ff    	mov    0xffffee88(%ebp),%edx
  4064cb:	81 7a 08 b9 fe ff ff 	cmpl   $0xfffffeb9,0x8(%edx)
  4064d2:	0f 85 6d f7 ff ff    	jne    405c45 <_ChildWndProc@16+0x75>
  4064d8:	6a 00                	push   $0x0
  4064da:	8b 46 58             	mov    0x58(%esi),%eax
  4064dd:	50                   	push   %eax
  4064de:	68 94 01 00 00       	push   $0x194
  4064e3:	8b 06                	mov    (%esi),%eax
  4064e5:	50                   	push   %eax
  4064e6:	e8 65 10 00 00       	call   407550 <_SendMessageW@16>
  4064eb:	57                   	push   %edi
  4064ec:	57                   	push   %edi
  4064ed:	6a 00                	push   $0x0
  4064ef:	8b 1e                	mov    (%esi),%ebx
  4064f1:	53                   	push   %ebx
  4064f2:	e8 09 12 00 00       	call   407700 <_GetScrollPos@8>
  4064f7:	5a                   	pop    %edx
  4064f8:	59                   	pop    %ecx
  4064f9:	3b 85 80 ee ff ff    	cmp    0xffffee80(%ebp),%eax
  4064ff:	0f 84 40 f7 ff ff    	je     405c45 <_ChildWndProc@16+0x75>
  406505:	89 f0                	mov    %esi,%eax
  406507:	e8 f4 df ff ff       	call   404500 <_set_header>
  40650c:	31 c0                	xor    %eax,%eax
  40650e:	e9 34 f7 ff ff       	jmp    405c47 <_ChildWndProc@16+0x77>
  406513:	8b 7d 14             	mov    0x14(%ebp),%edi
  406516:	57                   	push   %edi
  406517:	8b 75 10             	mov    0x10(%ebp),%esi
  40651a:	56                   	push   %esi
  40651b:	6a 24                	push   $0x24
  40651d:	53                   	push   %ebx
  40651e:	e8 7d 12 00 00       	call   4077a0 <_DefMDIChildProcW@16>
  406523:	8b 45 14             	mov    0x14(%ebp),%eax
  406526:	8b 48 20             	mov    0x20(%eax),%ecx
  406529:	8b 50 24             	mov    0x24(%eax),%edx
  40652c:	01 c9                	add    %ecx,%ecx
  40652e:	01 d2                	add    %edx,%edx
  406530:	89 48 20             	mov    %ecx,0x20(%eax)
  406533:	89 50 24             	mov    %edx,0x24(%eax)
  406536:	31 c0                	xor    %eax,%eax
  406538:	e9 0a f7 ff ff       	jmp    405c47 <_ChildWndProc@16+0x77>
  40653d:	8d 87 1c 03 00 00    	lea    0x31c(%edi),%eax
  406543:	e8 98 ae ff ff       	call   4013e0 <_free_entries>
  406548:	83 ec 0c             	sub    $0xc,%esp
  40654b:	57                   	push   %edi
  40654c:	e8 df 1d 00 00       	call   408330 <_free>
  406551:	83 c4 0c             	add    $0xc,%esp
  406554:	6a 00                	push   $0x0
  406556:	6a eb                	push   $0xffffffeb
  406558:	53                   	push   %ebx
  406559:	e8 22 10 00 00       	call   407580 <_SetWindowLongW@12>
  40655e:	5f                   	pop    %edi
  40655f:	e9 1c f9 ff ff       	jmp    405e80 <_ChildWndProc@16+0x2b0>
  406564:	0f bf 75 14          	movswl 0x14(%ebp),%esi
  406568:	50                   	push   %eax
  406569:	50                   	push   %eax
  40656a:	8d 45 88             	lea    0xffffff88(%ebp),%eax
  40656d:	50                   	push   %eax
  40656e:	53                   	push   %ebx
  40656f:	e8 ec 0f 00 00       	call   407560 <_GetClientRect@8>
  406574:	8b 97 0c 01 00 00    	mov    0x10c(%edi),%edx
  40657a:	8d 42 fe             	lea    0xfffffffe(%edx),%eax
  40657d:	59                   	pop    %ecx
  40657e:	39 f0                	cmp    %esi,%eax
  406580:	5f                   	pop    %edi
  406581:	0f 8f be f6 ff ff    	jg     405c45 <_ChildWndProc@16+0x75>
  406587:	8d 42 03             	lea    0x3(%edx),%eax
  40658a:	39 f0                	cmp    %esi,%eax
  40658c:	0f 8e b3 f6 ff ff    	jle    405c45 <_ChildWndProc@16+0x75>
  406592:	83 ec 0c             	sub    $0xc,%esp
  406595:	89 15 00 c2 40 00    	mov    %edx,0x40c200
  40659b:	53                   	push   %ebx
  40659c:	e8 cf 12 00 00       	call   407870 <_SetCapture@4>
  4065a1:	83 c4 0c             	add    $0xc,%esp
  4065a4:	e9 e0 fb ff ff       	jmp    406189 <_ChildWndProc@16+0x5b9>
  4065a9:	e8 52 12 00 00       	call   407800 <_GetCapture@0>
  4065ae:	39 d8                	cmp    %ebx,%eax
  4065b0:	0f 85 8f f6 ff ff    	jne    405c45 <_ChildWndProc@16+0x75>
  4065b6:	8b 45 14             	mov    0x14(%ebp),%eax
  4065b9:	89 c6                	mov    %eax,%esi
  4065bb:	8d 85 68 ff ff ff    	lea    0xffffff68(%ebp),%eax
  4065c1:	51                   	push   %ecx
  4065c2:	51                   	push   %ecx
  4065c3:	50                   	push   %eax
  4065c4:	53                   	push   %ebx
  4065c5:	e8 96 0f 00 00       	call   407560 <_GetClientRect@8>
  4065ca:	81 e6 ff ff 00 00    	and    $0xffff,%esi
  4065d0:	58                   	pop    %eax
  4065d1:	5a                   	pop    %edx
  4065d2:	8b 95 70 ff ff ff    	mov    0xffffff70(%ebp),%edx
  4065d8:	39 f2                	cmp    %esi,%edx
  4065da:	0f 8e 65 f6 ff ff    	jle    405c45 <_ChildWndProc@16+0x75>
  4065e0:	83 ec 0c             	sub    $0xc,%esp
  4065e3:	8b 85 74 ff ff ff    	mov    0xffffff74(%ebp),%eax
  4065e9:	89 b7 0c 01 00 00    	mov    %esi,0x10c(%edi)
  4065ef:	50                   	push   %eax
  4065f0:	89 f8                	mov    %edi,%eax
  4065f2:	e8 b9 c9 ff ff       	call   402fb0 <_resize_tree>
  4065f7:	8d 46 fe             	lea    0xfffffffe(%esi),%eax
  4065fa:	89 85 68 ff ff ff    	mov    %eax,0xffffff68(%ebp)
  406600:	83 c4 0c             	add    $0xc,%esp
  406603:	8d 46 03             	lea    0x3(%esi),%eax
  406606:	8d 95 68 ff ff ff    	lea    0xffffff68(%ebp),%edx
  40660c:	89 85 70 ff ff ff    	mov    %eax,0xffffff70(%ebp)
  406612:	6a 00                	push   $0x0
  406614:	52                   	push   %edx
  406615:	53                   	push   %ebx
  406616:	e8 c5 10 00 00       	call   4076e0 <_InvalidateRect@12>
  40661b:	50                   	push   %eax
  40661c:	50                   	push   %eax
  40661d:	8b 47 04             	mov    0x4(%edi),%eax
  406620:	50                   	push   %eax
  406621:	e8 5a 12 00 00       	call   407880 <_UpdateWindow@4>
  406626:	53                   	push   %ebx
  406627:	e8 54 12 00 00       	call   407880 <_UpdateWindow@4>
  40662c:	8b 47 70             	mov    0x70(%edi),%eax
  40662f:	50                   	push   %eax
  406630:	e8 4b 12 00 00       	call   407880 <_UpdateWindow@4>
  406635:	83 c4 0c             	add    $0xc,%esp
  406638:	e9 4c fb ff ff       	jmp    406189 <_ChildWndProc@16+0x5b9>
  40663d:	8d 76 00             	lea    0x0(%esi),%esi
  406640:	e8 bb 11 00 00       	call   407800 <_GetCapture@0>
  406645:	39 d8                	cmp    %ebx,%eax
  406647:	0f 85 f8 f5 ff ff    	jne    405c45 <_ChildWndProc@16+0x75>
  40664d:	e8 be 11 00 00       	call   407810 <_ReleaseCapture@0>
  406652:	31 c0                	xor    %eax,%eax
  406654:	e9 ee f5 ff ff       	jmp    405c47 <_ChildWndProc@16+0x77>
  406659:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  406660:	c7 85 38 ef ff ff 00 	movl   $0x0,0xffffef38(%ebp)
  406667:	00 00 00 
  40666a:	e9 11 fe ff ff       	jmp    406480 <_ChildWndProc@16+0x8b0>
  40666f:	c7 85 48 ef ff ff 00 	movl   $0x0,0xffffef48(%ebp)
  406676:	00 00 00 
  406679:	e9 f4 fd ff ff       	jmp    406472 <_ChildWndProc@16+0x8a2>
  40667e:	6a 00                	push   $0x0
  406680:	6a 00                	push   $0x0
  406682:	68 88 01 00 00       	push   $0x188
  406687:	8b 06                	mov    (%esi),%eax
  406689:	50                   	push   %eax
  40668a:	e8 c1 0e 00 00       	call   407550 <_SendMessageW@16>
  40668f:	6a 00                	push   $0x0
  406691:	50                   	push   %eax
  406692:	68 99 01 00 00       	push   $0x199
  406697:	8b 06                	mov    (%esi),%eax
  406699:	50                   	push   %eax
  40669a:	e8 b1 0e 00 00       	call   407550 <_SendMessageW@16>
  40669f:	89 c2                	mov    %eax,%edx
  4066a1:	8d 47 04             	lea    0x4(%edi),%eax
  4066a4:	39 f0                	cmp    %esi,%eax
  4066a6:	0f 84 7b 01 00 00    	je     406827 <_ChildWndProc@16+0xc57>
  4066ac:	31 c0                	xor    %eax,%eax
  4066ae:	89 56 68             	mov    %edx,0x68(%esi)
  4066b1:	e9 91 f5 ff ff       	jmp    405c47 <_ChildWndProc@16+0x77>
  4066b6:	8d 47 04             	lea    0x4(%edi),%eax
  4066b9:	56                   	push   %esi
  4066ba:	56                   	push   %esi
  4066bb:	e9 3f fa ff ff       	jmp    4060ff <_ChildWndProc@16+0x52f>
  4066c0:	8b 47 04             	mov    0x4(%edi),%eax
  4066c3:	e9 d1 fb ff ff       	jmp    406299 <_ChildWndProc@16+0x6c9>
  4066c8:	3d a8 06 00 00       	cmp    $0x6a8,%eax
  4066cd:	0f 84 67 01 00 00    	je     40683a <_ChildWndProc@16+0xc6a>
  4066d3:	3d 30 e1 00 00       	cmp    $0xe130,%eax
  4066d8:	0f 85 fa fa ff ff    	jne    4061d8 <_ChildWndProc@16+0x608>
  4066de:	83 ec 0c             	sub    $0xc,%esp
  4066e1:	31 d2                	xor    %edx,%edx
  4066e3:	8d 87 14 01 00 00    	lea    0x114(%edi),%eax
  4066e9:	53                   	push   %ebx
  4066ea:	e8 71 e1 ff ff       	call   404860 <_alloc_child_window>
  4066ef:	89 c3                	mov    %eax,%ebx
  4066f1:	e8 2a c1 ff ff       	call   402820 <_create_child_window>
  4066f6:	83 c4 10             	add    $0x10,%esp
  4066f9:	85 c0                	test   %eax,%eax
  4066fb:	0f 85 04 f8 ff ff    	jne    405f05 <_ChildWndProc@16+0x335>
  406701:	83 ec 0c             	sub    $0xc,%esp
  406704:	53                   	push   %ebx
  406705:	e8 26 1c 00 00       	call   408330 <_free>
  40670a:	83 c4 10             	add    $0x10,%esp
  40670d:	e9 f8 f9 ff ff       	jmp    40610a <_ChildWndProc@16+0x53a>
  406712:	3d 05 80 00 00       	cmp    $0x8005,%eax
  406717:	0f 85 28 f5 ff ff    	jne    405c45 <_ChildWndProc@16+0x75>
  40671d:	ba 01 00 00 00       	mov    $0x1,%edx
  406722:	89 f0                	mov    %esi,%eax
  406724:	e8 b7 d9 ff ff       	call   4040e0 <_calc_widths>
  406729:	89 f0                	mov    %esi,%eax
  40672b:	e8 d0 dd ff ff       	call   404500 <_set_header>
  406730:	50                   	push   %eax
  406731:	6a 01                	push   $0x1
  406733:	6a 00                	push   $0x0
  406735:	8b 06                	mov    (%esi),%eax
  406737:	50                   	push   %eax
  406738:	e8 a3 0f 00 00       	call   4076e0 <_InvalidateRect@12>
  40673d:	58                   	pop    %eax
  40673e:	e9 23 fb ff ff       	jmp    406266 <_ChildWndProc@16+0x696>
  406743:	83 7e 60 7f          	cmpl   $0x7f,0x60(%esi)
  406747:	0f 84 b8 f7 ff ff    	je     405f05 <_ChildWndProc@16+0x335>
  40674d:	ba 01 00 00 00       	mov    $0x1,%edx
  406752:	c7 46 60 7f 00 00 00 	movl   $0x7f,0x60(%esi)
  406759:	89 f0                	mov    %esi,%eax
  40675b:	e8 80 d9 ff ff       	call   4040e0 <_calc_widths>
  406760:	89 f0                	mov    %esi,%eax
  406762:	e8 99 dd ff ff       	call   404500 <_set_header>
  406767:	57                   	push   %edi
  406768:	6a 01                	push   $0x1
  40676a:	6a 00                	push   $0x0
  40676c:	8b 1e                	mov    (%esi),%ebx
  40676e:	53                   	push   %ebx
  40676f:	e8 6c 0f 00 00       	call   4076e0 <_InvalidateRect@12>
  406774:	6a 00                	push   $0x0
  406776:	68 91 01 00 00       	push   $0x191
  40677b:	8b 0d a0 c2 40 00    	mov    0x40c2a0,%ecx
  406781:	51                   	push   %ecx
  406782:	e8 89 0e 00 00       	call   407610 <_CheckMenuItem@12>
  406787:	6a 08                	push   $0x8
  406789:	e9 b4 fa ff ff       	jmp    406242 <_ChildWndProc@16+0x672>
  40678e:	83 ec 0c             	sub    $0xc,%esp
  406791:	8d 85 68 f7 ff ff    	lea    0xfffff768(%ebp),%eax
  406797:	50                   	push   %eax
  406798:	68 50 2a 40 00       	push   $0x402a50
  40679d:	53                   	push   %ebx
  40679e:	6a 68                	push   $0x68
  4067a0:	a1 80 c2 40 00       	mov    0x40c280,%eax
  4067a5:	50                   	push   %eax
  4067a6:	e8 e5 0f 00 00       	call   407790 <_DialogBoxParamW@20>
  4067ab:	83 c4 0c             	add    $0xc,%esp
  4067ae:	48                   	dec    %eax
  4067af:	0f 85 50 f7 ff ff    	jne    405f05 <_ChildWndProc@16+0x335>
  4067b5:	66 83 bd 68 f7 ff ff 	cmpw   $0x2f,0xfffff768(%ebp)
  4067bc:	2f 
  4067bd:	74 0e                	je     4067cd <_ChildWndProc@16+0xbfd>
  4067bf:	66 83 bd 6a f7 ff ff 	cmpw   $0x3a,0xfffff76a(%ebp)
  4067c6:	3a 
  4067c7:	0f 85 f1 00 00 00    	jne    4068be <_ChildWndProc@16+0xcee>
  4067cd:	8b 46 68             	mov    0x68(%esi),%eax
  4067d0:	8d 95 68 ef ff ff    	lea    0xffffef68(%ebp),%edx
  4067d6:	e8 75 bb ff ff       	call   402350 <_get_path>
  4067db:	8d 95 68 f7 ff ff    	lea    0xfffff768(%ebp),%edx
  4067e1:	8d 85 68 ef ff ff    	lea    0xffffef68(%ebp),%eax
  4067e7:	51                   	push   %ecx
  4067e8:	6a 02                	push   $0x2
  4067ea:	52                   	push   %edx
  4067eb:	50                   	push   %eax
  4067ec:	e8 af 0c 00 00       	call   4074a0 <_MoveFileExW@12>
  4067f1:	5a                   	pop    %edx
  4067f2:	85 c0                	test   %eax,%eax
  4067f4:	0f 84 58 01 00 00    	je     406952 <_ChildWndProc@16+0xd82>
  4067fa:	8b 46 5c             	mov    0x5c(%esi),%eax
  4067fd:	85 c0                	test   %eax,%eax
  4067ff:	0f 84 42 01 00 00    	je     406947 <_ChildWndProc@16+0xd77>
  406805:	8b 46 64             	mov    0x64(%esi),%eax
  406808:	89 46 68             	mov    %eax,0x68(%esi)
  40680b:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
  406812:	83 ec 0c             	sub    $0xc,%esp
  406815:	89 f2                	mov    %esi,%edx
  406817:	89 f8                	mov    %edi,%eax
  406819:	53                   	push   %ebx
  40681a:	e8 b1 f1 ff ff       	call   4059d0 <_activate_entry>
  40681f:	83 c4 10             	add    $0x10,%esp
  406822:	e9 e3 f8 ff ff       	jmp    40610a <_ChildWndProc@16+0x53a>
  406827:	83 ec 0c             	sub    $0xc,%esp
  40682a:	89 f8                	mov    %edi,%eax
  40682c:	53                   	push   %ebx
  40682d:	e8 3e df ff ff       	call   404770 <_set_curdir>
  406832:	83 c4 10             	add    $0x10,%esp
  406835:	e9 0b f4 ff ff       	jmp    405c45 <_ChildWndProc@16+0x75>
  40683a:	83 ec 0c             	sub    $0xc,%esp
  40683d:	8b 56 68             	mov    0x68(%esi),%edx
  406840:	89 f8                	mov    %edi,%eax
  406842:	53                   	push   %ebx
  406843:	e8 78 dd ff ff       	call   4045c0 <_scan_entry>
  406848:	83 c4 10             	add    $0x10,%esp
  40684b:	e9 ba f8 ff ff       	jmp    40610a <_ChildWndProc@16+0x53a>
  406850:	89 85 b4 ee ff ff    	mov    %eax,0xffffeeb4(%ebp)
  406856:	89 9d b0 ee ff ff    	mov    %ebx,0xffffeeb0(%ebp)
  40685c:	c7 85 a8 ee ff ff 24 	movl   $0x24,0xffffeea8(%ebp)
  406863:	00 00 00 
  406866:	c7 85 ac ee ff ff 00 	movl   $0x0,0xffffeeac(%ebp)
  40686d:	00 00 00 
  406870:	c7 85 b8 ee ff ff 00 	movl   $0x0,0xffffeeb8(%ebp)
  406877:	00 00 00 
  40687a:	c7 85 bc ee ff ff 00 	movl   $0x0,0xffffeebc(%ebp)
  406881:	00 00 00 
  406884:	c7 85 c0 ee ff ff 01 	movl   $0x1,0xffffeec0(%ebp)
  40688b:	00 00 00 
  40688e:	c7 85 c4 ee ff ff 00 	movl   $0x0,0xffffeec4(%ebp)
  406895:	00 00 00 
  406898:	c7 85 c8 ee ff ff 00 	movl   $0x0,0xffffeec8(%ebp)
  40689f:	00 00 00 
  4068a2:	50                   	push   %eax
  4068a3:	50                   	push   %eax
  4068a4:	8b 85 8c ee ff ff    	mov    0xffffee8c(%ebp),%eax
  4068aa:	8d 95 a8 ee ff ff    	lea    0xffffeea8(%ebp),%edx
  4068b0:	8b 18                	mov    (%eax),%ebx
  4068b2:	52                   	push   %edx
  4068b3:	50                   	push   %eax
  4068b4:	ff 53 10             	call   *0x10(%ebx)
  4068b7:	5e                   	pop    %esi
  4068b8:	58                   	pop    %eax
  4068b9:	e9 e8 f7 ff ff       	jmp    4060a6 <_ChildWndProc@16+0x4d6>
  4068be:	8b 46 68             	mov    0x68(%esi),%eax
  4068c1:	8d 95 68 ef ff ff    	lea    0xffffef68(%ebp),%edx
  4068c7:	8b 40 08             	mov    0x8(%eax),%eax
  4068ca:	e8 81 ba ff ff       	call   402350 <_get_path>
  4068cf:	83 ec 0c             	sub    $0xc,%esp
  4068d2:	8d 95 68 ef ff ff    	lea    0xffffef68(%ebp),%edx
  4068d8:	52                   	push   %edx
  4068d9:	e8 42 0b 00 00       	call   407420 <_lstrlenW@4>
  4068de:	89 c1                	mov    %eax,%ecx
  4068e0:	83 c4 0c             	add    $0xc,%esp
  4068e3:	66 8b 84 45 66 ef ff 	mov    0xffffef66(%ebp,%eax,2),%ax
  4068ea:	ff 
  4068eb:	66 83 f8 5c          	cmp    $0x5c,%ax
  4068ef:	0f 95 c2             	setne  %dl
  4068f2:	66 83 f8 2f          	cmp    $0x2f,%ax
  4068f6:	0f 95 c0             	setne  %al
  4068f9:	25 ff 00 00 00       	and    $0xff,%eax
  4068fe:	85 c2                	test   %eax,%edx
  406900:	74 15                	je     406917 <_ChildWndProc@16+0xd47>
  406902:	66 c7 84 4d 68 ef ff 	movw   $0x2f,0xffffef68(%ebp,%ecx,2)
  406909:	ff 2f 00 
  40690c:	41                   	inc    %ecx
  40690d:	66 c7 84 4d 68 ef ff 	movw   $0xa,0xffffef68(%ebp,%ecx,2)
  406914:	ff 0a 00 
  406917:	50                   	push   %eax
  406918:	50                   	push   %eax
  406919:	8d 85 68 f7 ff ff    	lea    0xfffff768(%ebp),%eax
  40691f:	50                   	push   %eax
  406920:	8d 84 4d 68 ef ff ff 	lea    0xffffef68(%ebp,%ecx,2),%eax
  406927:	50                   	push   %eax
  406928:	e8 b3 09 00 00       	call   4072e0 <_lstrcpyW@8>
  40692d:	8d 95 68 ef ff ff    	lea    0xffffef68(%ebp),%edx
  406933:	8d 85 68 f7 ff ff    	lea    0xfffff768(%ebp),%eax
  406939:	52                   	push   %edx
  40693a:	50                   	push   %eax
  40693b:	e8 a0 09 00 00       	call   4072e0 <_lstrcpyW@8>
  406940:	58                   	pop    %eax
  406941:	5a                   	pop    %edx
  406942:	e9 86 fe ff ff       	jmp    4067cd <_ChildWndProc@16+0xbfd>
  406947:	83 ec 0c             	sub    $0xc,%esp
  40694a:	8b 56 64             	mov    0x64(%esi),%edx
  40694d:	e9 ee fe ff ff       	jmp    406840 <_ChildWndProc@16+0xc70>
  406952:	e8 39 0b 00 00       	call   407490 <_GetLastError@0>
  406957:	89 c2                	mov    %eax,%edx
  406959:	89 d8                	mov    %ebx,%eax
  40695b:	e8 90 a9 ff ff       	call   4012f0 <_display_error>
  406960:	b8 01 00 00 00       	mov    $0x1,%eax
  406965:	e9 26 f3 ff ff       	jmp    405c90 <_ChildWndProc@16+0xc0>
  40696a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00406970 <_TreeWndProc@16>:


LRESULT CALLBACK TreeWndProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam)
{
  406970:	55                   	push   %ebp
  406971:	89 e5                	mov    %esp,%ebp
  406973:	57                   	push   %edi
  406974:	56                   	push   %esi
  406975:	53                   	push   %ebx
  406976:	83 ec 14             	sub    $0x14,%esp
  406979:	8b 75 08             	mov    0x8(%ebp),%esi
  40697c:	8b 7d 0c             	mov    0xc(%ebp),%edi
	ChildWnd* child = (ChildWnd*) GetWindowLong(GetParent(hwnd), GWL_USERDATA);
  40697f:	6a eb                	push   $0xffffffeb
  406981:	56                   	push   %esi
  406982:	e8 09 0f 00 00       	call   407890 <_GetParent@4>
  406987:	50                   	push   %eax
  406988:	e8 53 0c 00 00       	call   4075e0 <_GetWindowLongW@8>
  40698d:	89 c3                	mov    %eax,%ebx
	Pane* pane = (Pane*) GetWindowLong(hwnd, GWL_USERDATA);
  40698f:	6a eb                	push   $0xffffffeb
  406991:	56                   	push   %esi
  406992:	e8 49 0c 00 00       	call   4075e0 <_GetWindowLongW@8>
	ASSERT(child);

	switch(nmsg) {
  406997:	81 ff 00 01 00 00    	cmp    $0x100,%edi
  40699d:	89 c2                	mov    %eax,%edx
  40699f:	58                   	pop    %eax
  4069a0:	59                   	pop    %ecx
  4069a1:	74 5d                	je     406a00 <_TreeWndProc@16+0x90>
  4069a3:	76 2e                	jbe    4069d3 <_TreeWndProc@16+0x63>
  4069a5:	81 ff 14 01 00 00    	cmp    $0x114,%edi
  4069ab:	74 74                	je     406a21 <_TreeWndProc@16+0xb1>
  4069ad:	8d 76 00             	lea    0x0(%esi),%esi
#ifndef _NO_EXTENSIONS
		case WM_HSCROLL:
			set_header(pane);
			break;
#endif

		case WM_SETFOCUS:
			child->focus_pane = pane==&child->right? 1: 0;
			ListBox_SetSel(hwnd, TRUE, 1);
			/*TODO: check menu items */
			break;

		case WM_KEYDOWN:
			if (wparam == VK_TAB) {
				/*TODO: SetFocus(Globals.hdrivebar) */
				SetFocus(child->focus_pane? child->left.hwnd: child->right.hwnd);
			}
	}

	return CallWindowProc(g_orgTreeWndProc, hwnd, nmsg, wparam, lparam);
  4069b0:	83 ec 0c             	sub    $0xc,%esp
  4069b3:	8b 45 14             	mov    0x14(%ebp),%eax
  4069b6:	8b 1d 20 c2 40 00    	mov    0x40c220,%ebx
  4069bc:	50                   	push   %eax
  4069bd:	8b 45 10             	mov    0x10(%ebp),%eax
  4069c0:	50                   	push   %eax
  4069c1:	57                   	push   %edi
  4069c2:	56                   	push   %esi
  4069c3:	53                   	push   %ebx
  4069c4:	e8 d7 0e 00 00       	call   4078a0 <_CallWindowProcW@20>
}
  4069c9:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4069cc:	5b                   	pop    %ebx
  4069cd:	5e                   	pop    %esi
  4069ce:	5f                   	pop    %edi
  4069cf:	5d                   	pop    %ebp
  4069d0:	c2 10 00             	ret    $0x10
  4069d3:	83 ff 07             	cmp    $0x7,%edi
  4069d6:	75 d8                	jne    4069b0 <_TreeWndProc@16+0x40>
  4069d8:	8d 43 70             	lea    0x70(%ebx),%eax
  4069db:	39 d0                	cmp    %edx,%eax
  4069dd:	0f 94 c0             	sete   %al
  4069e0:	25 ff 00 00 00       	and    $0xff,%eax
  4069e5:	89 83 dc 00 00 00    	mov    %eax,0xdc(%ebx)
  4069eb:	6a 01                	push   $0x1
  4069ed:	6a 01                	push   $0x1
  4069ef:	68 85 01 00 00       	push   $0x185
  4069f4:	56                   	push   %esi
  4069f5:	e8 56 0b 00 00       	call   407550 <_SendMessageW@16>
  4069fa:	eb b4                	jmp    4069b0 <_TreeWndProc@16+0x40>
  4069fc:	8d 74 26 00          	lea    0x0(%esi),%esi
  406a00:	83 7d 10 09          	cmpl   $0x9,0x10(%ebp)
  406a04:	75 aa                	jne    4069b0 <_TreeWndProc@16+0x40>
  406a06:	8b 83 dc 00 00 00    	mov    0xdc(%ebx),%eax
  406a0c:	83 ec 0c             	sub    $0xc,%esp
  406a0f:	85 c0                	test   %eax,%eax
  406a11:	75 17                	jne    406a2a <_TreeWndProc@16+0xba>
  406a13:	8b 43 70             	mov    0x70(%ebx),%eax
  406a16:	50                   	push   %eax
  406a17:	e8 04 0e 00 00       	call   407820 <_SetFocus@4>
  406a1c:	83 c4 0c             	add    $0xc,%esp
  406a1f:	eb 8f                	jmp    4069b0 <_TreeWndProc@16+0x40>
  406a21:	89 d0                	mov    %edx,%eax
  406a23:	e8 d8 da ff ff       	call   404500 <_set_header>
  406a28:	eb 86                	jmp    4069b0 <_TreeWndProc@16+0x40>
  406a2a:	8b 43 04             	mov    0x4(%ebx),%eax
  406a2d:	eb e7                	jmp    406a16 <_TreeWndProc@16+0xa6>
  406a2f:	90                   	nop    

00406a30 <_show_frame>:


static void InitInstance(HINSTANCE hinstance)
{
	const static TCHAR sFont[] = {'M','i','c','r','o','s','o','f','t',' ','S','a','n','s',' ','S','e','r','i','f','\0'};

	WNDCLASSEX wcFrame;
	WNDCLASS wcChild;
	ATOM hChildClass;
	int col;

	INITCOMMONCONTROLSEX icc = {
		sizeof(INITCOMMONCONTROLSEX),
		ICC_BAR_CLASSES
	};

	HDC hdc = GetDC(0);

	setlocale(LC_COLLATE, "");	/* set collating rules to local settings for compareName */

	InitCommonControlsEx(&icc);


	/* register frame window class */

	wcFrame.cbSize        = sizeof(WNDCLASSEX);
	wcFrame.style         = 0;
	wcFrame.lpfnWndProc   = FrameWndProc;
	wcFrame.cbClsExtra    = 0;
	wcFrame.cbWndExtra    = 0;
	wcFrame.hInstance     = hinstance;
	wcFrame.hIcon         = LoadIcon(hinstance, MAKEINTRESOURCE(IDI_WINEFILE));
	wcFrame.hCursor       = LoadCursor(0, IDC_ARROW);
	wcFrame.hbrBackground = 0;
	wcFrame.lpszMenuName  = 0;
	wcFrame.lpszClassName = sWINEFILEFRAME;
	wcFrame.hIconSm       = (HICON)LoadImage(hinstance,
											 MAKEINTRESOURCE(IDI_WINEFILE),
											 IMAGE_ICON,
											 GetSystemMetrics(SM_CXSMICON),
											 GetSystemMetrics(SM_CYSMICON),
											 LR_SHARED);

	Globals.hframeClass = RegisterClassEx(&wcFrame);


	/* register tree windows class */

	wcChild.style         = CS_CLASSDC|CS_DBLCLKS|CS_VREDRAW;
	wcChild.lpfnWndProc   = ChildWndProc;
	wcChild.cbClsExtra    = 0;
	wcChild.cbWndExtra    = 0;
	wcChild.hInstance     = hinstance;
	wcChild.hIcon         = 0;
	wcChild.hCursor       = LoadCursor(0, IDC_ARROW);
	wcChild.hbrBackground = 0;
	wcChild.lpszMenuName  = 0;
	wcChild.lpszClassName = sWINEFILETREE;

	hChildClass = RegisterClass(&wcChild);


	Globals.haccel = LoadAccelerators(hinstance, MAKEINTRESOURCE(IDA_WINEFILE));

	Globals.hfont = CreateFont(-MulDiv(8,GetDeviceCaps(hdc,LOGPIXELSY),72), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, sFont);

	ReleaseDC(0, hdc);

	Globals.hInstance = hinstance;

#ifdef _SHELL_FOLDERS
	CoInitialize(NULL);
	CoGetMalloc(MEMCTX_TASK, &Globals.iMalloc);
	SHGetDesktopFolder(&Globals.iDesktop);
#ifdef __WINE__
	Globals.cfStrFName = RegisterClipboardFormatA(CFSTR_FILENAME);
#else
	Globals.cfStrFName = RegisterClipboardFormat(CFSTR_FILENAME);
#endif
#endif

	/* load column strings */
	col = 0;

	load_string(g_pos_names[col++], IDS_COL_NAME);
	load_string(g_pos_names[col++], IDS_COL_SIZE);
	load_string(g_pos_names[col++], IDS_COL_CDATE);
#ifndef _NO_EXTENSIONS
	load_string(g_pos_names[col++], IDS_COL_ADATE);
	load_string(g_pos_names[col++], IDS_COL_MDATE);
	load_string(g_pos_names[col++], IDS_COL_IDX);
	load_string(g_pos_names[col++], IDS_COL_LINKS);
#endif
	load_string(g_pos_names[col++], IDS_COL_ATTR);
#ifndef _NO_EXTENSIONS
	load_string(g_pos_names[col++], IDS_COL_SEC);
#endif
}


void show_frame(HWND hwndParent, int cmdshow)
{
  406a30:	55                   	push   %ebp
  406a31:	89 e5                	mov    %esp,%ebp
  406a33:	57                   	push   %edi
  406a34:	56                   	push   %esi
  406a35:	53                   	push   %ebx
  406a36:	81 ec bc 0a 00 00    	sub    $0xabc,%esp
	const static TCHAR sMDICLIENT[] = {'M','D','I','C','L','I','E','N','T','\0'};

	TCHAR path[MAX_PATH], b1[BUFFER_LEN];
	ChildWnd* child;
	HMENU hMenuFrame, hMenuWindow;

	CLIENTCREATESTRUCT ccs;

	if (Globals.hMainWnd)
  406a3c:	a1 90 c2 40 00       	mov    0x40c290,%eax
  406a41:	8b 7d 08             	mov    0x8(%ebp),%edi
  406a44:	85 c0                	test   %eax,%eax
  406a46:	74 08                	je     406a50 <_show_frame+0x20>
		return;

	Globals.hwndParent = hwndParent;

	hMenuFrame = LoadMenu(Globals.hInstance, MAKEINTRESOURCE(IDM_WINEFILE));
	hMenuWindow = GetSubMenu(hMenuFrame, GetMenuItemCount(hMenuFrame)-2);

	Globals.hMenuFrame = hMenuFrame;
	Globals.hMenuView = GetSubMenu(hMenuFrame, 3);
	Globals.hMenuOptions = GetSubMenu(hMenuFrame, 4);

	ccs.hWindowMenu  = hMenuWindow;
	ccs.idFirstChild = IDW_FIRST_CHILD;


	/* create main window */
	Globals.hMainWnd = CreateWindowEx(0, (LPCTSTR)(int)Globals.hframeClass, RS(b1,IDS_WINE_FILE), WS_OVERLAPPEDWINDOW,
					CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
					hwndParent, Globals.hMenuFrame, Globals.hInstance, 0/*lpParam*/);


	Globals.hmdiclient = CreateWindowEx(0, sMDICLIENT, NULL,
					WS_CHILD|WS_CLIPCHILDREN|WS_VSCROLL|WS_HSCROLL|WS_VISIBLE|WS_BORDER,
					0, 0, 0, 0,
					Globals.hMainWnd, 0, Globals.hInstance, &ccs);


	{
		TBBUTTON drivebarBtn = {0, 0, TBSTATE_ENABLED, BTNS_SEP, {0, 0}, 0, 0};
		int btn = 1;
		PTSTR p;

		Globals.hdrivebar = CreateToolbarEx(Globals.hMainWnd, WS_CHILD|WS_VISIBLE|CCS_NOMOVEY|TBSTYLE_LIST,
					IDW_DRIVEBAR, 2, Globals.hInstance, IDB_DRIVEBAR, &drivebarBtn,
					1, 16, 13, 16, 13, sizeof(TBBUTTON));
		CheckMenuItem(Globals.hMenuOptions, ID_VIEW_DRIVE_BAR, MF_BYCOMMAND|MF_CHECKED);

		GetLogicalDriveStrings(BUFFER_LEN, Globals.drives);

		drivebarBtn.fsStyle = BTNS_BUTTON;

#ifndef _NO_EXTENSIONS
#ifdef __WINE__
		/* insert unix file system button */
		b1[0] = '/';
		b1[1] = '\0';
		b1[2] = '\0';
		SendMessage(Globals.hdrivebar, TB_ADDSTRING, 0, (LPARAM)b1);

		drivebarBtn.idCommand = ID_DRIVE_UNIX_FS;
		SendMessage(Globals.hdrivebar, TB_INSERTBUTTON, btn++, (LPARAM)&drivebarBtn);
		drivebarBtn.iString++;
#endif
#ifdef _SHELL_FOLDERS
		/* insert shell namespace button */
		load_string(b1, IDS_SHELL);
		b1[lstrlen(b1)+1] = '\0';
		SendMessage(Globals.hdrivebar, TB_ADDSTRING, 0, (LPARAM)b1);

		drivebarBtn.idCommand = ID_DRIVE_SHELL_NS;
		SendMessage(Globals.hdrivebar, TB_INSERTBUTTON, btn++, (LPARAM)&drivebarBtn);
		drivebarBtn.iString++;
#endif

		/* register windows drive root strings */
		SendMessage(Globals.hdrivebar, TB_ADDSTRING, 0, (LPARAM)Globals.drives);
#endif

		drivebarBtn.idCommand = ID_DRIVE_FIRST;

		for(p=Globals.drives; *p; ) {
#ifdef _NO_EXTENSIONS
			/* insert drive letter */
			TCHAR b[3] = {tolower(*p)};
			SendMessage(Globals.hdrivebar, TB_ADDSTRING, 0, (LPARAM)b);
#endif
			switch(GetDriveType(p)) {
				case DRIVE_REMOVABLE:	drivebarBtn.iBitmap = 1;	break;
				case DRIVE_CDROM:		drivebarBtn.iBitmap = 3;	break;
				case DRIVE_REMOTE:		drivebarBtn.iBitmap = 4;	break;
				case DRIVE_RAMDISK:		drivebarBtn.iBitmap = 5;	break;
				default:/*DRIVE_FIXED*/	drivebarBtn.iBitmap = 2;
			}

			SendMessage(Globals.hdrivebar, TB_INSERTBUTTON, btn++, (LPARAM)&drivebarBtn);
			drivebarBtn.idCommand++;
			drivebarBtn.iString++;

			while(*p++);
		}
	}

	{
		TBBUTTON toolbarBtns[] = {
			{0, 0, 0, BTNS_SEP, {0, 0}, 0, 0},
			{0, ID_WINDOW_NEW, TBSTATE_ENABLED, BTNS_BUTTON, {0, 0}, 0, 0},
			{1, ID_WINDOW_CASCADE, TBSTATE_ENABLED, BTNS_BUTTON, {0, 0}, 0, 0},
			{2, ID_WINDOW_TILE_HORZ, TBSTATE_ENABLED, BTNS_BUTTON, {0, 0}, 0, 0},
			{3, ID_WINDOW_TILE_VERT, TBSTATE_ENABLED, BTNS_BUTTON, {0, 0}, 0, 0},
/*TODO
			{4, ID_... , TBSTATE_ENABLED, BTNS_BUTTON, {0, 0}, 0, 0},
			{5, ID_... , TBSTATE_ENABLED, BTNS_BUTTON, {0, 0}, 0, 0},
*/		};

		Globals.htoolbar = CreateToolbarEx(Globals.hMainWnd, WS_CHILD|WS_VISIBLE,
			IDW_TOOLBAR, 2, Globals.hInstance, IDB_TOOLBAR, toolbarBtns,
			sizeof(toolbarBtns)/sizeof(TBBUTTON), 16, 15, 16, 15, sizeof(TBBUTTON));
		CheckMenuItem(Globals.hMenuOptions, ID_VIEW_TOOL_BAR, MF_BYCOMMAND|MF_CHECKED);
	}

	Globals.hstatusbar = CreateStatusWindow(WS_CHILD|WS_VISIBLE, 0, Globals.hMainWnd, IDW_STATUSBAR);
	CheckMenuItem(Globals.hMenuOptions, ID_VIEW_STATUSBAR, MF_BYCOMMAND|MF_CHECKED);

/* CreateStatusWindow does not accept WS_BORDER
	Globals.hstatusbar = CreateWindowEx(WS_EX_NOPARENTNOTIFY, STATUSCLASSNAME, 0,
					WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|WS_BORDER|CCS_NODIVIDER, 0,0,0,0,
					Globals.hMainWnd, (HMENU)IDW_STATUSBAR, hinstance, 0);*/

	/*TODO: read paths and window placements from registry */
	GetCurrentDirectory(MAX_PATH, path);

	ShowWindow(Globals.hMainWnd, cmdshow);

//#if defined(_SHELL_FOLDERS) && !defined(__WINE__)
//	 // Shell Namespace as default:
//	child = alloc_child_window(path, get_path_pidl(path,Globals.hMainWnd), Globals.hMainWnd);
//#else
	child = alloc_child_window(path, NULL, Globals.hMainWnd);
//#endif

	child->pos.showCmd = SW_SHOWMAXIMIZED;
	child->pos.rcNormalPosition.left = 0;
	child->pos.rcNormalPosition.top = 0;
	child->pos.rcNormalPosition.right = 320;
	child->pos.rcNormalPosition.bottom = 280;

	if (!create_child_window(child))
		free(child);

	SetWindowPlacement(child->hwnd, &child->pos);

	Globals.himl = ImageList_LoadBitmap(Globals.hInstance, MAKEINTRESOURCE(IDB_IMAGES), 16, 0, RGB(0,255,0));

	Globals.prescan_node = FALSE;

	UpdateWindow(Globals.hMainWnd);
}
  406a48:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  406a4b:	5b                   	pop    %ebx
  406a4c:	5e                   	pop    %esi
  406a4d:	5f                   	pop    %edi
  406a4e:	5d                   	pop    %ebp
  406a4f:	c3                   	ret    
  406a50:	89 3d 8c c2 40 00    	mov    %edi,0x40c28c
  406a56:	56                   	push   %esi
  406a57:	56                   	push   %esi
  406a58:	6a 66                	push   $0x66
  406a5a:	8b 1d 80 c2 40 00    	mov    0x40c280,%ebx
  406a60:	53                   	push   %ebx
  406a61:	e8 4a 0e 00 00       	call   4078b0 <_LoadMenuW@8>
  406a66:	89 c3                	mov    %eax,%ebx
  406a68:	51                   	push   %ecx
  406a69:	50                   	push   %eax
  406a6a:	e8 51 0e 00 00       	call   4078c0 <_GetMenuItemCount@4>
  406a6f:	83 e8 02             	sub    $0x2,%eax
  406a72:	89 04 24             	mov    %eax,(%esp)
  406a75:	53                   	push   %ebx
  406a76:	e8 55 0e 00 00       	call   4078d0 <_GetSubMenu@8>
  406a7b:	89 1d 94 c2 40 00    	mov    %ebx,0x40c294
  406a81:	89 c6                	mov    %eax,%esi
  406a83:	6a 03                	push   $0x3
  406a85:	53                   	push   %ebx
  406a86:	e8 45 0e 00 00       	call   4078d0 <_GetSubMenu@8>
  406a8b:	a3 a0 c2 40 00       	mov    %eax,0x40c2a0
  406a90:	6a 04                	push   $0x4
  406a92:	53                   	push   %ebx
  406a93:	e8 38 0e 00 00       	call   4078d0 <_GetSubMenu@8>
  406a98:	89 b5 40 f5 ff ff    	mov    %esi,0xfffff540(%ebp)
  406a9e:	a3 a4 c2 40 00       	mov    %eax,0x40c2a4
  406aa3:	c7 85 44 f5 ff ff 00 	movl   $0xc000,0xfffff544(%ebp)
  406aaa:	c0 00 00 
  406aad:	58                   	pop    %eax
  406aae:	5a                   	pop    %edx
  406aaf:	6a 00                	push   $0x0
  406ab1:	8d 9d d8 f5 ff ff    	lea    0xfffff5d8(%ebp),%ebx
  406ab7:	a1 80 c2 40 00       	mov    0x40c280,%eax
  406abc:	ba b9 04 00 00       	mov    $0x4b9,%edx
  406ac1:	50                   	push   %eax
  406ac2:	a1 94 c2 40 00       	mov    0x40c294,%eax
  406ac7:	50                   	push   %eax
  406ac8:	57                   	push   %edi
  406ac9:	68 00 00 00 80       	push   $0x80000000
  406ace:	68 00 00 00 80       	push   $0x80000000
  406ad3:	68 00 00 00 80       	push   $0x80000000
  406ad8:	68 00 00 00 80       	push   $0x80000000
  406add:	68 00 00 cf 00       	push   $0xcf0000
  406ae2:	89 d8                	mov    %ebx,%eax
  406ae4:	83 ec 0c             	sub    $0xc,%esp
  406ae7:	e8 e4 a7 ff ff       	call   4012d0 <_load_string>
  406aec:	83 c4 0c             	add    $0xc,%esp
  406aef:	50                   	push   %eax
  406af0:	66 a1 88 c2 40 00    	mov    0x40c288,%ax
  406af6:	25 ff ff 00 00       	and    $0xffff,%eax
  406afb:	50                   	push   %eax
  406afc:	6a 00                	push   $0x0
  406afe:	e8 ed 0b 00 00       	call   4076f0 <_CreateWindowExW@48>
  406b03:	8d 95 40 f5 ff ff    	lea    0xfffff540(%ebp),%edx
  406b09:	a3 90 c2 40 00       	mov    %eax,0x40c290
  406b0e:	52                   	push   %edx
  406b0f:	8b 3d 80 c2 40 00    	mov    0x40c280,%edi
  406b15:	57                   	push   %edi
  406b16:	6a 00                	push   $0x0
  406b18:	50                   	push   %eax
  406b19:	6a 00                	push   $0x0
  406b1b:	6a 00                	push   $0x0
  406b1d:	6a 00                	push   $0x0
  406b1f:	6a 00                	push   $0x0
  406b21:	68 00 00 b0 52       	push   $0x52b00000
  406b26:	6a 00                	push   $0x0
  406b28:	68 26 a5 40 00       	push   $0x40a526
  406b2d:	6a 00                	push   $0x0
  406b2f:	e8 bc 0b 00 00       	call   4076f0 <_CreateWindowExW@48>
  406b34:	83 ec 0c             	sub    $0xc,%esp
  406b37:	8d bd b8 f5 ff ff    	lea    0xfffff5b8(%ebp),%edi
  406b3d:	a3 a8 c2 40 00       	mov    %eax,0x40c2a8
  406b42:	c7 85 b8 f5 ff ff 00 	movl   $0x0,0xfffff5b8(%ebp)
  406b49:	00 00 00 
  406b4c:	c7 85 bc f5 ff ff 00 	movl   $0x0,0xfffff5bc(%ebp)
  406b53:	00 00 00 
  406b56:	c6 85 c0 f5 ff ff 04 	movb   $0x4,0xfffff5c0(%ebp)
  406b5d:	c6 85 c1 f5 ff ff 01 	movb   $0x1,0xfffff5c1(%ebp)
  406b64:	66 c7 85 c2 f5 ff ff 	movw   $0x0,0xfffff5c2(%ebp)
  406b6b:	00 00 
  406b6d:	c7 85 c4 f5 ff ff 00 	movl   $0x0,0xfffff5c4(%ebp)
  406b74:	00 00 00 
  406b77:	c7 85 c8 f5 ff ff 00 	movl   $0x0,0xfffff5c8(%ebp)
  406b7e:	00 00 00 
  406b81:	6a 14                	push   $0x14
  406b83:	6a 0d                	push   $0xd
  406b85:	6a 10                	push   $0x10
  406b87:	6a 0d                	push   $0xd
  406b89:	6a 10                	push   $0x10
  406b8b:	6a 01                	push   $0x1
  406b8d:	57                   	push   %edi
  406b8e:	6a 65                	push   $0x65
  406b90:	8b 35 80 c2 40 00    	mov    0x40c280,%esi
  406b96:	56                   	push   %esi
  406b97:	6a 02                	push   $0x2
  406b99:	68 02 01 00 00       	push   $0x102
  406b9e:	68 02 10 00 50       	push   $0x50001002
  406ba3:	8b 0d 90 c2 40 00    	mov    0x40c290,%ecx
  406ba9:	51                   	push   %ecx
  406baa:	e8 51 0f 00 00       	call   407b00 <_CreateToolbarEx@52>
  406baf:	a3 b4 c2 40 00       	mov    %eax,0x40c2b4
  406bb4:	58                   	pop    %eax
  406bb5:	5a                   	pop    %edx
  406bb6:	6a 08                	push   $0x8
  406bb8:	68 fb 01 00 00       	push   $0x1fb
  406bbd:	a1 a4 c2 40 00       	mov    0x40c2a4,%eax
  406bc2:	50                   	push   %eax
  406bc3:	e8 48 0a 00 00       	call   407610 <_CheckMenuItem@12>
  406bc8:	50                   	push   %eax
  406bc9:	68 cc c2 40 00       	push   $0x40c2cc
  406bce:	68 00 04 00 00       	push   $0x400
  406bd3:	e8 d8 08 00 00       	call   4074b0 <_GetLogicalDriveStringsW@8>
  406bd8:	c6 85 c1 f5 ff ff 00 	movb   $0x0,0xfffff5c1(%ebp)
  406bdf:	ba b5 04 00 00       	mov    $0x4b5,%edx
  406be4:	59                   	pop    %ecx
  406be5:	89 d8                	mov    %ebx,%eax
  406be7:	5e                   	pop    %esi
  406be8:	e8 e3 a6 ff ff       	call   4012d0 <_load_string>
  406bed:	83 ec 0c             	sub    $0xc,%esp
  406bf0:	be 02 00 00 00       	mov    $0x2,%esi
  406bf5:	53                   	push   %ebx
  406bf6:	e8 25 08 00 00       	call   407420 <_lstrlenW@4>
  406bfb:	83 c4 0c             	add    $0xc,%esp
  406bfe:	66 c7 84 45 da f5 ff 	movw   $0x0,0xfffff5da(%ebp,%eax,2)
  406c05:	ff 00 00 
  406c08:	53                   	push   %ebx
  406c09:	6a 00                	push   $0x0
  406c0b:	68 4d 04 00 00       	push   $0x44d
  406c10:	bb cc c2 40 00       	mov    $0x40c2cc,%ebx
  406c15:	8b 15 b4 c2 40 00    	mov    0x40c2b4,%edx
  406c1b:	52                   	push   %edx
  406c1c:	e8 2f 09 00 00       	call   407550 <_SendMessageW@16>
  406c21:	c7 85 bc f5 ff ff 01 	movl   $0x9001,0xfffff5bc(%ebp)
  406c28:	90 00 00 
  406c2b:	57                   	push   %edi
  406c2c:	6a 01                	push   $0x1
  406c2e:	68 43 04 00 00       	push   $0x443
  406c33:	a1 b4 c2 40 00       	mov    0x40c2b4,%eax
  406c38:	50                   	push   %eax
  406c39:	e8 12 09 00 00       	call   407550 <_SendMessageW@16>
  406c3e:	8b 85 c8 f5 ff ff    	mov    0xfffff5c8(%ebp),%eax
  406c44:	40                   	inc    %eax
  406c45:	89 85 c8 f5 ff ff    	mov    %eax,0xfffff5c8(%ebp)
  406c4b:	68 cc c2 40 00       	push   $0x40c2cc
  406c50:	6a 00                	push   $0x0
  406c52:	68 4d 04 00 00       	push   $0x44d
  406c57:	a1 b4 c2 40 00       	mov    0x40c2b4,%eax
  406c5c:	50                   	push   %eax
  406c5d:	e8 ee 08 00 00       	call   407550 <_SendMessageW@16>
  406c62:	c7 85 bc f5 ff ff 02 	movl   $0x9002,0xfffff5bc(%ebp)
  406c69:	90 00 00 
  406c6c:	66 83 3d cc c2 40 00 	cmpw   $0x0,0x40c2cc
  406c73:	00 
  406c74:	74 6c                	je     406ce2 <_show_frame+0x2b2>
  406c76:	83 ec 0c             	sub    $0xc,%esp
  406c79:	53                   	push   %ebx
  406c7a:	e8 d1 07 00 00       	call   407450 <_GetDriveTypeW@4>
  406c7f:	83 c4 0c             	add    $0xc,%esp
  406c82:	83 f8 04             	cmp    $0x4,%eax
  406c85:	0f 84 d3 01 00 00    	je     406e5e <_show_frame+0x42e>
  406c8b:	0f 87 b0 01 00 00    	ja     406e41 <_show_frame+0x411>
  406c91:	83 f8 02             	cmp    $0x2,%eax
  406c94:	0f 84 e2 01 00 00    	je     406e7c <_show_frame+0x44c>
  406c9a:	c7 85 b8 f5 ff ff 02 	movl   $0x2,0xfffff5b8(%ebp)
  406ca1:	00 00 00 
  406ca4:	57                   	push   %edi
  406ca5:	56                   	push   %esi
  406ca6:	68 43 04 00 00       	push   $0x443
  406cab:	46                   	inc    %esi
  406cac:	a1 b4 c2 40 00       	mov    0x40c2b4,%eax
  406cb1:	50                   	push   %eax
  406cb2:	e8 99 08 00 00       	call   407550 <_SendMessageW@16>
  406cb7:	8b 85 bc f5 ff ff    	mov    0xfffff5bc(%ebp),%eax
  406cbd:	40                   	inc    %eax
  406cbe:	89 85 bc f5 ff ff    	mov    %eax,0xfffff5bc(%ebp)
  406cc4:	8b 85 c8 f5 ff ff    	mov    0xfffff5c8(%ebp),%eax
  406cca:	40                   	inc    %eax
  406ccb:	89 85 c8 f5 ff ff    	mov    %eax,0xfffff5c8(%ebp)
  406cd1:	66 8b 03             	mov    (%ebx),%ax
  406cd4:	83 c3 02             	add    $0x2,%ebx
  406cd7:	66 85 c0             	test   %ax,%ax
  406cda:	75 f5                	jne    406cd1 <_show_frame+0x2a1>
  406cdc:	66 83 3b 00          	cmpw   $0x0,(%ebx)
  406ce0:	75 94                	jne    406c76 <_show_frame+0x246>
  406ce2:	8d 9d 48 f5 ff ff    	lea    0xfffff548(%ebp),%ebx
  406ce8:	56                   	push   %esi
  406ce9:	6a 64                	push   $0x64
  406ceb:	68 10 90 40 00       	push   $0x409010
  406cf0:	53                   	push   %ebx
  406cf1:	e8 9a 15 00 00       	call   408290 <_memcpy>
  406cf6:	c7 04 24 14 00 00 00 	movl   $0x14,(%esp)
  406cfd:	6a 0f                	push   $0xf
  406cff:	6a 10                	push   $0x10
  406d01:	6a 0f                	push   $0xf
  406d03:	6a 10                	push   $0x10
  406d05:	6a 05                	push   $0x5
  406d07:	53                   	push   %ebx
  406d08:	6a 64                	push   $0x64
  406d0a:	8b 1d 80 c2 40 00    	mov    0x40c280,%ebx
  406d10:	53                   	push   %ebx
  406d11:	6a 02                	push   $0x2
  406d13:	68 01 01 00 00       	push   $0x101
  406d18:	68 00 00 00 50       	push   $0x50000000
  406d1d:	8b 0d 90 c2 40 00    	mov    0x40c290,%ecx
  406d23:	51                   	push   %ecx
  406d24:	e8 d7 0d 00 00       	call   407b00 <_CreateToolbarEx@52>
  406d29:	a3 b0 c2 40 00       	mov    %eax,0x40c2b0
  406d2e:	58                   	pop    %eax
  406d2f:	5a                   	pop    %edx
  406d30:	6a 08                	push   $0x8
  406d32:	68 fc 01 00 00       	push   $0x1fc
  406d37:	8b 3d a4 c2 40 00    	mov    0x40c2a4,%edi
  406d3d:	57                   	push   %edi
  406d3e:	e8 cd 08 00 00       	call   407610 <_CheckMenuItem@12>
  406d43:	c7 04 24 00 01 00 00 	movl   $0x100,(%esp)
  406d4a:	8b 35 90 c2 40 00    	mov    0x40c290,%esi
  406d50:	56                   	push   %esi
  406d51:	6a 00                	push   $0x0
  406d53:	68 00 00 00 50       	push   $0x50000000
  406d58:	e8 b3 0d 00 00       	call   407b10 <_CreateStatusWindowW@16>
  406d5d:	a3 ac c2 40 00       	mov    %eax,0x40c2ac
  406d62:	53                   	push   %ebx
  406d63:	6a 08                	push   $0x8
  406d65:	68 f7 01 00 00       	push   $0x1f7
  406d6a:	8d 9d d8 fd ff ff    	lea    0xfffffdd8(%ebp),%ebx
  406d70:	8b 0d a4 c2 40 00    	mov    0x40c2a4,%ecx
  406d76:	51                   	push   %ecx
  406d77:	e8 94 08 00 00       	call   407610 <_CheckMenuItem@12>
  406d7c:	52                   	push   %edx
  406d7d:	53                   	push   %ebx
  406d7e:	68 04 01 00 00       	push   $0x104
  406d83:	e8 f8 06 00 00       	call   407480 <_GetCurrentDirectoryW@8>
  406d88:	8b 45 0c             	mov    0xc(%ebp),%eax
  406d8b:	50                   	push   %eax
  406d8c:	a1 90 c2 40 00       	mov    0x40c290,%eax
  406d91:	50                   	push   %eax
  406d92:	e8 89 08 00 00       	call   407620 <_ShowWindow@8>
  406d97:	31 d2                	xor    %edx,%edx
  406d99:	50                   	push   %eax
  406d9a:	a1 90 c2 40 00       	mov    0x40c290,%eax
  406d9f:	50                   	push   %eax
  406da0:	89 d8                	mov    %ebx,%eax
  406da2:	e8 b9 da ff ff       	call   404860 <_alloc_child_window>
  406da7:	89 c3                	mov    %eax,%ebx
  406da9:	c7 80 e8 00 00 00 03 	movl   $0x3,0xe8(%eax)
  406db0:	00 00 00 
  406db3:	c7 80 fc 00 00 00 00 	movl   $0x0,0xfc(%eax)
  406dba:	00 00 00 
  406dbd:	c7 80 00 01 00 00 00 	movl   $0x0,0x100(%eax)
  406dc4:	00 00 00 
  406dc7:	c7 80 04 01 00 00 40 	movl   $0x140,0x104(%eax)
  406dce:	01 00 00 
  406dd1:	c7 80 08 01 00 00 18 	movl   $0x118,0x108(%eax)
  406dd8:	01 00 00 
  406ddb:	e8 40 ba ff ff       	call   402820 <_create_child_window>
  406de0:	83 c4 10             	add    $0x10,%esp
  406de3:	85 c0                	test   %eax,%eax
  406de5:	0f 84 a0 00 00 00    	je     406e8b <_show_frame+0x45b>
  406deb:	50                   	push   %eax
  406dec:	50                   	push   %eax
  406ded:	8d 83 e0 00 00 00    	lea    0xe0(%ebx),%eax
  406df3:	50                   	push   %eax
  406df4:	8b 03                	mov    (%ebx),%eax
  406df6:	50                   	push   %eax
  406df7:	e8 e4 0a 00 00       	call   4078e0 <_SetWindowPlacement@8>
  406dfc:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  406e03:	6a 00                	push   $0x0
  406e05:	68 00 ff 00 00       	push   $0xff00
  406e0a:	6a 00                	push   $0x0
  406e0c:	6a 10                	push   $0x10
  406e0e:	6a 66                	push   $0x66
  406e10:	8b 3d 80 c2 40 00    	mov    0x40c280,%edi
  406e16:	57                   	push   %edi
  406e17:	e8 04 0d 00 00       	call   407b20 <_ImageList_LoadImageW@28>
  406e1c:	a3 c8 c2 40 00       	mov    %eax,0x40c2c8
  406e21:	c7 05 cc ca 40 00 00 	movl   $0x0,0x40cacc
  406e28:	00 00 00 
  406e2b:	56                   	push   %esi
  406e2c:	56                   	push   %esi
  406e2d:	8b 1d 90 c2 40 00    	mov    0x40c290,%ebx
  406e33:	53                   	push   %ebx
  406e34:	e8 47 0a 00 00       	call   407880 <_UpdateWindow@4>
  406e39:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  406e3c:	5b                   	pop    %ebx
  406e3d:	5e                   	pop    %esi
  406e3e:	5f                   	pop    %edi
  406e3f:	5d                   	pop    %ebp
  406e40:	c3                   	ret    
  406e41:	83 f8 05             	cmp    $0x5,%eax
  406e44:	74 27                	je     406e6d <_show_frame+0x43d>
  406e46:	83 f8 06             	cmp    $0x6,%eax
  406e49:	0f 85 4b fe ff ff    	jne    406c9a <_show_frame+0x26a>
  406e4f:	c7 85 b8 f5 ff ff 05 	movl   $0x5,0xfffff5b8(%ebp)
  406e56:	00 00 00 
  406e59:	e9 46 fe ff ff       	jmp    406ca4 <_show_frame+0x274>
  406e5e:	c7 85 b8 f5 ff ff 04 	movl   $0x4,0xfffff5b8(%ebp)
  406e65:	00 00 00 
  406e68:	e9 37 fe ff ff       	jmp    406ca4 <_show_frame+0x274>
  406e6d:	c7 85 b8 f5 ff ff 03 	movl   $0x3,0xfffff5b8(%ebp)
  406e74:	00 00 00 
  406e77:	e9 28 fe ff ff       	jmp    406ca4 <_show_frame+0x274>
  406e7c:	c7 85 b8 f5 ff ff 01 	movl   $0x1,0xfffff5b8(%ebp)
  406e83:	00 00 00 
  406e86:	e9 19 fe ff ff       	jmp    406ca4 <_show_frame+0x274>
  406e8b:	83 ec 0c             	sub    $0xc,%esp
  406e8e:	53                   	push   %ebx
  406e8f:	e8 9c 14 00 00       	call   408330 <_free>
  406e94:	83 c4 10             	add    $0x10,%esp
  406e97:	e9 4f ff ff ff       	jmp    406deb <_show_frame+0x3bb>
  406e9c:	8d 74 26 00          	lea    0x0(%esi),%esi

00406ea0 <_ExitInstance>:

void ExitInstance()
{
  406ea0:	55                   	push   %ebp
  406ea1:	89 e5                	mov    %esp,%ebp
  406ea3:	83 ec 14             	sub    $0x14,%esp
#ifdef _SHELL_FOLDERS
	(*Globals.iDesktop->lpVtbl->Release)(Globals.iDesktop);
  406ea6:	a1 d0 ca 40 00       	mov    0x40cad0,%eax
  406eab:	8b 10                	mov    (%eax),%edx
  406ead:	50                   	push   %eax
  406eae:	ff 52 08             	call   *0x8(%edx)
	(*Globals.iMalloc->lpVtbl->Release)(Globals.iMalloc);
  406eb1:	a1 d4 ca 40 00       	mov    0x40cad4,%eax
  406eb6:	8b 10                	mov    (%eax),%edx
  406eb8:	50                   	push   %eax
  406eb9:	ff 52 08             	call   *0x8(%edx)
	CoUninitialize();
  406ebc:	83 c4 0c             	add    $0xc,%esp
  406ebf:	e8 ac 0c 00 00       	call   407b70 <_CoUninitialize@0>
#endif

	ImageList_Destroy(Globals.himl);
  406ec4:	83 ec 0c             	sub    $0xc,%esp
  406ec7:	a1 c8 c2 40 00       	mov    0x40c2c8,%eax
  406ecc:	50                   	push   %eax
  406ecd:	e8 5e 0c 00 00       	call   407b30 <_ImageList_Destroy@4>
  406ed2:	c9                   	leave  
  406ed3:	c3                   	ret    
  406ed4:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  406eda:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00406ee0 <_EnumWndProc@8>:
}


/* search for already running win[e]files */

static int g_foundPrevInstance = 0;

static BOOL CALLBACK EnumWndProc(HWND hwnd, LPARAM lparam)
{
  406ee0:	55                   	push   %ebp
  406ee1:	89 e5                	mov    %esp,%ebp
  406ee3:	53                   	push   %ebx
  406ee4:	81 ec 08 01 00 00    	sub    $0x108,%esp
	TCHAR cls[128];

	GetClassName(hwnd, cls, 128);
  406eea:	8d 9d f8 fe ff ff    	lea    0xfffffef8(%ebp),%ebx
  406ef0:	8b 45 08             	mov    0x8(%ebp),%eax
  406ef3:	68 80 00 00 00       	push   $0x80
  406ef8:	53                   	push   %ebx
  406ef9:	50                   	push   %eax
  406efa:	e8 f1 09 00 00       	call   4078f0 <_GetClassNameW@12>

	if (!lstrcmp(cls, (LPCTSTR)lparam)) {
  406eff:	50                   	push   %eax
  406f00:	8b 45 0c             	mov    0xc(%ebp),%eax
  406f03:	50                   	push   %eax
  406f04:	53                   	push   %ebx
  406f05:	e8 b6 05 00 00       	call   4074c0 <_lstrcmpW@8>
  406f0a:	5a                   	pop    %edx
  406f0b:	85 c0                	test   %eax,%eax
  406f0d:	59                   	pop    %ecx
		g_foundPrevInstance++;
		return FALSE;
	}

	return TRUE;
  406f0e:	ba 01 00 00 00       	mov    $0x1,%edx
  406f13:	75 0d                	jne    406f22 <_EnumWndProc@8+0x42>
  406f15:	a1 a0 c1 40 00       	mov    0x40c1a0,%eax
  406f1a:	30 d2                	xor    %dl,%dl
  406f1c:	40                   	inc    %eax
  406f1d:	a3 a0 c1 40 00       	mov    %eax,0x40c1a0
}
  406f22:	89 d0                	mov    %edx,%eax
  406f24:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  406f27:	c9                   	leave  
  406f28:	c2 08 00             	ret    $0x8
  406f2b:	90                   	nop    
  406f2c:	8d 74 26 00          	lea    0x0(%esi),%esi

00406f30 <_find_window_class>:

/* search for window of given class name to allow only one running instance */
int find_window_class(LPCTSTR classname)
{
  406f30:	55                   	push   %ebp
  406f31:	89 e5                	mov    %esp,%ebp
  406f33:	83 ec 10             	sub    $0x10,%esp
	EnumWindows(EnumWndProc, (LPARAM)classname);
  406f36:	8b 4d 08             	mov    0x8(%ebp),%ecx
  406f39:	51                   	push   %ecx
  406f3a:	68 e0 6e 40 00       	push   $0x406ee0
  406f3f:	e8 bc 09 00 00       	call   407900 <_EnumWindows@8>

	if (g_foundPrevInstance)
  406f44:	58                   	pop    %eax
		return 1;
  406f45:	a1 a0 c1 40 00       	mov    0x40c1a0,%eax
  406f4a:	85 c0                	test   %eax,%eax
  406f4c:	5a                   	pop    %edx
  406f4d:	0f 95 c0             	setne  %al
  406f50:	25 ff 00 00 00       	and    $0xff,%eax

	return 0;
}
  406f55:	c9                   	leave  
  406f56:	c3                   	ret    
  406f57:	89 f6                	mov    %esi,%esi
  406f59:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00406f60 <_winefile_main>:


int winefile_main(HINSTANCE hinstance, HWND hwndParent, int cmdshow)
{
  406f60:	55                   	push   %ebp
  406f61:	89 e5                	mov    %esp,%ebp
  406f63:	57                   	push   %edi
  406f64:	56                   	push   %esi
  406f65:	53                   	push   %ebx
  406f66:	81 ec a8 00 00 00    	sub    $0xa8,%esp
  406f6c:	c7 85 60 ff ff ff 08 	movl   $0x8,0xffffff60(%ebp)
  406f73:	00 00 00 
  406f76:	8b 5d 08             	mov    0x8(%ebp),%ebx
  406f79:	8b 7d 10             	mov    0x10(%ebp),%edi
  406f7c:	c7 85 64 ff ff ff 04 	movl   $0x4,0xffffff64(%ebp)
  406f83:	00 00 00 
  406f86:	6a 00                	push   $0x0
  406f88:	e8 33 07 00 00       	call   4076c0 <_GetDC@4>
  406f8d:	89 c6                	mov    %eax,%esi
  406f8f:	c7 04 24 6a a5 40 00 	movl   $0x40a56a,(%esp)
  406f96:	6a 01                	push   $0x1
  406f98:	e8 03 13 00 00       	call   4082a0 <_setlocale>
  406f9d:	8d 85 60 ff ff ff    	lea    0xffffff60(%ebp),%eax
  406fa3:	89 04 24             	mov    %eax,(%esp)
  406fa6:	e8 95 0b 00 00       	call   407b40 <_InitCommonControlsEx@4>
  406fab:	c7 45 98 30 00 00 00 	movl   $0x30,0xffffff98(%ebp)
  406fb2:	c7 45 9c 00 00 00 00 	movl   $0x0,0xffffff9c(%ebp)
  406fb9:	c7 04 24 64 00 00 00 	movl   $0x64,(%esp)
  406fc0:	c7 45 a0 40 4f 40 00 	movl   $0x404f40,0xffffffa0(%ebp)
  406fc7:	c7 45 a4 00 00 00 00 	movl   $0x0,0xffffffa4(%ebp)
  406fce:	c7 45 a8 00 00 00 00 	movl   $0x0,0xffffffa8(%ebp)
  406fd5:	89 5d ac             	mov    %ebx,0xffffffac(%ebp)
  406fd8:	53                   	push   %ebx
  406fd9:	e8 32 09 00 00       	call   407910 <_LoadIconW@8>
  406fde:	68 00 7f 00 00       	push   $0x7f00
  406fe3:	89 45 b0             	mov    %eax,0xffffffb0(%ebp)
  406fe6:	6a 00                	push   $0x0
  406fe8:	e8 23 07 00 00       	call   407710 <_LoadCursorW@8>
  406fed:	c7 45 b8 00 00 00 00 	movl   $0x0,0xffffffb8(%ebp)
  406ff4:	c7 45 bc 00 00 00 00 	movl   $0x0,0xffffffbc(%ebp)
  406ffb:	68 00 80 00 00       	push   $0x8000
  407000:	89 45 b4             	mov    %eax,0xffffffb4(%ebp)
  407003:	c7 45 c0 f2 a3 40 00 	movl   $0x40a3f2,0xffffffc0(%ebp)
  40700a:	6a 32                	push   $0x32
  40700c:	e8 0f 05 00 00       	call   407520 <_GetSystemMetrics@4>
  407011:	50                   	push   %eax
  407012:	83 ec 0c             	sub    $0xc,%esp
  407015:	6a 31                	push   $0x31
  407017:	e8 04 05 00 00       	call   407520 <_GetSystemMetrics@4>
  40701c:	83 c4 0c             	add    $0xc,%esp
  40701f:	50                   	push   %eax
  407020:	6a 01                	push   $0x1
  407022:	6a 64                	push   $0x64
  407024:	53                   	push   %ebx
  407025:	e8 f6 08 00 00       	call   407920 <_LoadImageW@24>
  40702a:	89 45 c4             	mov    %eax,0xffffffc4(%ebp)
  40702d:	8d 45 98             	lea    0xffffff98(%ebp),%eax
  407030:	51                   	push   %ecx
  407031:	50                   	push   %eax
  407032:	e8 f9 08 00 00       	call   407930 <_RegisterClassExW@4>
  407037:	c7 85 68 ff ff ff 49 	movl   $0x49,0xffffff68(%ebp)
  40703e:	00 00 00 
  407041:	66 a3 88 c2 40 00    	mov    %ax,0x40c288
  407047:	c7 85 6c ff ff ff d0 	movl   $0x405bd0,0xffffff6c(%ebp)
  40704e:	5b 40 00 
  407051:	c7 04 24 00 7f 00 00 	movl   $0x7f00,(%esp)
  407058:	c7 85 70 ff ff ff 00 	movl   $0x0,0xffffff70(%ebp)
  40705f:	00 00 00 
  407062:	c7 85 74 ff ff ff 00 	movl   $0x0,0xffffff74(%ebp)
  407069:	00 00 00 
  40706c:	89 9d 78 ff ff ff    	mov    %ebx,0xffffff78(%ebp)
  407072:	c7 85 7c ff ff ff 00 	movl   $0x0,0xffffff7c(%ebp)
  407079:	00 00 00 
  40707c:	6a 00                	push   $0x0
  40707e:	e8 8d 06 00 00       	call   407710 <_LoadCursorW@8>
  407083:	c7 45 84 00 00 00 00 	movl   $0x0,0xffffff84(%ebp)
  40708a:	c7 45 88 00 00 00 00 	movl   $0x0,0xffffff88(%ebp)
  407091:	89 45 80             	mov    %eax,0xffffff80(%ebp)
  407094:	8d 85 68 ff ff ff    	lea    0xffffff68(%ebp),%eax
  40709a:	52                   	push   %edx
  40709b:	c7 45 8c e0 a3 40 00 	movl   $0x40a3e0,0xffffff8c(%ebp)
  4070a2:	50                   	push   %eax
  4070a3:	e8 98 08 00 00       	call   407940 <_RegisterClassW@4>
  4070a8:	c7 04 24 65 00 00 00 	movl   $0x65,(%esp)
  4070af:	53                   	push   %ebx
  4070b0:	e8 9b 08 00 00       	call   407950 <_LoadAcceleratorsW@8>
  4070b5:	a3 84 c2 40 00       	mov    %eax,0x40c284
  4070ba:	68 40 a5 40 00       	push   $0x40a540
  4070bf:	6a 00                	push   $0x0
  4070c1:	6a 00                	push   $0x0
  4070c3:	6a 00                	push   $0x0
  4070c5:	6a 00                	push   $0x0
  4070c7:	6a 00                	push   $0x0
  4070c9:	6a 00                	push   $0x0
  4070cb:	6a 00                	push   $0x0
  4070cd:	6a 00                	push   $0x0
  4070cf:	6a 00                	push   $0x0
  4070d1:	6a 00                	push   $0x0
  4070d3:	6a 00                	push   $0x0
  4070d5:	6a 00                	push   $0x0
  4070d7:	50                   	push   %eax
  4070d8:	50                   	push   %eax
  4070d9:	6a 48                	push   $0x48
  4070db:	6a 5a                	push   $0x5a
  4070dd:	56                   	push   %esi
  4070de:	e8 ed 09 00 00       	call   407ad0 <_GetDeviceCaps@8>
  4070e3:	50                   	push   %eax
  4070e4:	6a 08                	push   $0x8
  4070e6:	e8 e5 03 00 00       	call   4074d0 <_MulDiv@12>
  4070eb:	5a                   	pop    %edx
  4070ec:	59                   	pop    %ecx
  4070ed:	f7 d8                	neg    %eax
  4070ef:	50                   	push   %eax
  4070f0:	e8 eb 09 00 00       	call   407ae0 <_CreateFontW@56>
  4070f5:	a3 b8 c2 40 00       	mov    %eax,0x40c2b8
  4070fa:	56                   	push   %esi
  4070fb:	6a 00                	push   $0x0
  4070fd:	e8 ce 05 00 00       	call   4076d0 <_ReleaseDC@8>
  407102:	89 1d 80 c2 40 00    	mov    %ebx,0x40c280
  407108:	50                   	push   %eax
  407109:	6a 00                	push   $0x0
  40710b:	e8 70 0a 00 00       	call   407b80 <_CoInitialize@4>
  407110:	c7 04 24 d4 ca 40 00 	movl   $0x40cad4,(%esp)
  407117:	6a 01                	push   $0x1
  407119:	e8 72 0a 00 00       	call   407b90 <_CoGetMalloc@8>
  40711e:	50                   	push   %eax
  40711f:	68 d0 ca 40 00       	push   $0x40cad0
  407124:	e8 f7 0a 00 00       	call   407c20 <_SHGetDesktopFolder@4>
  407129:	68 6c a5 40 00       	push   $0x40a56c
  40712e:	e8 2d 08 00 00       	call   407960 <_RegisterClipboardFormatW@4>
  407133:	ba ba 04 00 00       	mov    $0x4ba,%edx
  407138:	83 c4 0c             	add    $0xc,%esp
  40713b:	a3 d8 ca 40 00       	mov    %eax,0x40cad8
  407140:	b8 10 c0 40 00       	mov    $0x40c010,%eax
  407145:	e8 86 a1 ff ff       	call   4012d0 <_load_string>
  40714a:	ba bb 04 00 00       	mov    $0x4bb,%edx
  40714f:	b8 38 c0 40 00       	mov    $0x40c038,%eax
  407154:	e8 77 a1 ff ff       	call   4012d0 <_load_string>
  407159:	ba bc 04 00 00       	mov    $0x4bc,%edx
  40715e:	b8 60 c0 40 00       	mov    $0x40c060,%eax
  407163:	e8 68 a1 ff ff       	call   4012d0 <_load_string>
  407168:	ba bd 04 00 00       	mov    $0x4bd,%edx
  40716d:	b8 88 c0 40 00       	mov    $0x40c088,%eax
  407172:	e8 59 a1 ff ff       	call   4012d0 <_load_string>
  407177:	ba be 04 00 00       	mov    $0x4be,%edx
  40717c:	b8 b0 c0 40 00       	mov    $0x40c0b0,%eax
  407181:	e8 4a a1 ff ff       	call   4012d0 <_load_string>
  407186:	ba bf 04 00 00       	mov    $0x4bf,%edx
  40718b:	b8 d8 c0 40 00       	mov    $0x40c0d8,%eax
  407190:	e8 3b a1 ff ff       	call   4012d0 <_load_string>
  407195:	ba c0 04 00 00       	mov    $0x4c0,%edx
  40719a:	b8 00 c1 40 00       	mov    $0x40c100,%eax
  40719f:	e8 2c a1 ff ff       	call   4012d0 <_load_string>
  4071a4:	ba c1 04 00 00       	mov    $0x4c1,%edx
  4071a9:	b8 28 c1 40 00       	mov    $0x40c128,%eax
  4071ae:	e8 1d a1 ff ff       	call   4012d0 <_load_string>
  4071b3:	ba c2 04 00 00       	mov    $0x4c2,%edx
  4071b8:	b8 50 c1 40 00       	mov    $0x40c150,%eax
  4071bd:	e8 0e a1 ff ff       	call   4012d0 <_load_string>
	MSG msg;

	InitInstance(hinstance);

	if (cmdshow == SW_SHOWNORMAL)
  4071c2:	83 ff 01             	cmp    $0x1,%edi
  4071c5:	0f 84 8e 00 00 00    	je     407259 <_winefile_main+0x2f9>
	        /*TODO: read window placement from registry */
		cmdshow = SW_MAXIMIZE;

	show_frame(hwndParent, cmdshow);
  4071cb:	50                   	push   %eax
  4071cc:	50                   	push   %eax
  4071cd:	8b 45 0c             	mov    0xc(%ebp),%eax
  4071d0:	57                   	push   %edi
  4071d1:	50                   	push   %eax
  4071d2:	8d 5d c8             	lea    0xffffffc8(%ebp),%ebx
  4071d5:	e8 56 f8 ff ff       	call   406a30 <_show_frame>

	while(GetMessage(&msg, 0, 0, 0)) {
  4071da:	83 c4 10             	add    $0x10,%esp
  4071dd:	8d 76 00             	lea    0x0(%esi),%esi
		if (Globals.hmdiclient && TranslateMDISysAccel(Globals.hmdiclient, &msg))
			continue;

		if (Globals.hMainWnd && TranslateAccelerator(Globals.hMainWnd, Globals.haccel, &msg))
			continue;

		TranslateMessage(&msg);
		DispatchMessage(&msg);
  4071e0:	6a 00                	push   $0x0
  4071e2:	6a 00                	push   $0x0
  4071e4:	6a 00                	push   $0x0
  4071e6:	53                   	push   %ebx
  4071e7:	e8 84 07 00 00       	call   407970 <_GetMessageW@16>
  4071ec:	85 c0                	test   %eax,%eax
  4071ee:	74 48                	je     407238 <_winefile_main+0x2d8>
  4071f0:	a1 a8 c2 40 00       	mov    0x40c2a8,%eax
  4071f5:	85 c0                	test   %eax,%eax
  4071f7:	75 4f                	jne    407248 <_winefile_main+0x2e8>
  4071f9:	a1 90 c2 40 00       	mov    0x40c290,%eax
  4071fe:	85 c0                	test   %eax,%eax
  407200:	74 14                	je     407216 <_winefile_main+0x2b6>
  407202:	8b 3d 84 c2 40 00    	mov    0x40c284,%edi
  407208:	52                   	push   %edx
  407209:	53                   	push   %ebx
  40720a:	57                   	push   %edi
  40720b:	50                   	push   %eax
  40720c:	e8 6f 07 00 00       	call   407980 <_TranslateAcceleratorW@12>
  407211:	5e                   	pop    %esi
  407212:	85 c0                	test   %eax,%eax
  407214:	75 ca                	jne    4071e0 <_winefile_main+0x280>
  407216:	83 ec 0c             	sub    $0xc,%esp
  407219:	53                   	push   %ebx
  40721a:	e8 71 07 00 00       	call   407990 <_TranslateMessage@4>
  40721f:	53                   	push   %ebx
  407220:	e8 7b 07 00 00       	call   4079a0 <_DispatchMessageW@4>
  407225:	83 c4 0c             	add    $0xc,%esp
  407228:	6a 00                	push   $0x0
  40722a:	6a 00                	push   $0x0
  40722c:	6a 00                	push   $0x0
  40722e:	53                   	push   %ebx
  40722f:	e8 3c 07 00 00       	call   407970 <_GetMessageW@16>
  407234:	85 c0                	test   %eax,%eax
  407236:	75 b8                	jne    4071f0 <_winefile_main+0x290>
	}

	ExitInstance();
  407238:	e8 63 fc ff ff       	call   406ea0 <_ExitInstance>

	return msg.wParam;
  40723d:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
}
  407240:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  407243:	5b                   	pop    %ebx
  407244:	5e                   	pop    %esi
  407245:	5f                   	pop    %edi
  407246:	5d                   	pop    %ebp
  407247:	c3                   	ret    
  407248:	57                   	push   %edi
  407249:	57                   	push   %edi
  40724a:	53                   	push   %ebx
  40724b:	50                   	push   %eax
  40724c:	e8 5f 07 00 00       	call   4079b0 <_TranslateMDISysAccel@8>
  407251:	59                   	pop    %ecx
  407252:	85 c0                	test   %eax,%eax
  407254:	5e                   	pop    %esi
  407255:	75 89                	jne    4071e0 <_winefile_main+0x280>
  407257:	eb a0                	jmp    4071f9 <_winefile_main+0x299>
  407259:	66 bf 03 00          	mov    $0x3,%di
  40725d:	e9 69 ff ff ff       	jmp    4071cb <_winefile_main+0x26b>
  407262:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  407269:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00407270 <_WinMain@16>:


int APIENTRY WinMain(HINSTANCE hinstance,
					 HINSTANCE previnstance,
					 LPSTR	   cmdline,
					 int	   cmdshow)
{
  407270:	55                   	push   %ebp
  407271:	89 e5                	mov    %esp,%ebp
  407273:	83 ec 0c             	sub    $0xc,%esp
#ifdef _NO_EXTENSIONS
	if (find_window_class(sWINEFILEFRAME))
		return 1;
#endif

	winefile_main(hinstance, 0, cmdshow);
  407276:	8b 45 14             	mov    0x14(%ebp),%eax
  407279:	50                   	push   %eax
  40727a:	8b 45 08             	mov    0x8(%ebp),%eax
  40727d:	6a 00                	push   $0x0
  40727f:	50                   	push   %eax
  407280:	e8 db fc ff ff       	call   406f60 <_winefile_main>

	return 0;
}
  407285:	31 c0                	xor    %eax,%eax
  407287:	c9                   	leave  
  407288:	c2 10 00             	ret    $0x10
  40728b:	90                   	nop    
  40728c:	90                   	nop    
  40728d:	90                   	nop    
  40728e:	90                   	nop    
  40728f:	90                   	nop    

00407290 <_SetUnhandledExceptionFilter@4>:
  407290:	ff 25 f4 d4 40 00    	jmp    *0x40d4f4
  407296:	90                   	nop    
  407297:	90                   	nop    
	...

004072a0 <_ExitProcess@4>:
  4072a0:	ff 25 88 d4 40 00    	jmp    *0x40d488
  4072a6:	90                   	nop    
  4072a7:	90                   	nop    
	...

004072b0 <_FormatMessageW@28>:
  4072b0:	ff 25 a0 d4 40 00    	jmp    *0x40d4a0
  4072b6:	90                   	nop    
  4072b7:	90                   	nop    
	...

004072c0 <_LocalFree@4>:
  4072c0:	ff 25 dc d4 40 00    	jmp    *0x40d4dc
  4072c6:	90                   	nop    
  4072c7:	90                   	nop    
	...

004072d0 <_FindFirstFileW@8>:
  4072d0:	ff 25 98 d4 40 00    	jmp    *0x40d498
  4072d6:	90                   	nop    
  4072d7:	90                   	nop    
	...

004072e0 <_lstrcpyW@8>:
  4072e0:	ff 25 08 d5 40 00    	jmp    *0x40d508
  4072e6:	90                   	nop    
  4072e7:	90                   	nop    
	...

004072f0 <_CreateFileW@28>:
  4072f0:	ff 25 84 d4 40 00    	jmp    *0x40d484
  4072f6:	90                   	nop    
  4072f7:	90                   	nop    
	...

00407300 <_GetFileInformationByHandle@8>:
  407300:	ff 25 b8 d4 40 00    	jmp    *0x40d4b8
  407306:	90                   	nop    
  407307:	90                   	nop    
	...

00407310 <_CloseHandle@4>:
  407310:	ff 25 7c d4 40 00    	jmp    *0x40d47c
  407316:	90                   	nop    
  407317:	90                   	nop    
	...

00407320 <_FindNextFileW@8>:
  407320:	ff 25 9c d4 40 00    	jmp    *0x40d49c
  407326:	90                   	nop    
  407327:	90                   	nop    
	...

00407330 <_FindClose@4>:
  407330:	ff 25 94 d4 40 00    	jmp    *0x40d494
  407336:	90                   	nop    
  407337:	90                   	nop    
	...

00407340 <_MultiByteToWideChar@24>:
  407340:	ff 25 e8 d4 40 00    	jmp    *0x40d4e8
  407346:	90                   	nop    
  407347:	90                   	nop    
	...

00407350 <_WideCharToMultiByte@32>:
  407350:	ff 25 f8 d4 40 00    	jmp    *0x40d4f8
  407356:	90                   	nop    
  407357:	90                   	nop    
	...

00407360 <_GlobalLock@4>:
  407360:	ff 25 d4 d4 40 00    	jmp    *0x40d4d4
  407366:	90                   	nop    
  407367:	90                   	nop    
	...

00407370 <_SetErrorMode@4>:
  407370:	ff 25 f0 d4 40 00    	jmp    *0x40d4f0
  407376:	90                   	nop    
  407377:	90                   	nop    
	...

00407380 <_GetFileAttributesExW@12>:
  407380:	ff 25 b4 d4 40 00    	jmp    *0x40d4b4
  407386:	90                   	nop    
  407387:	90                   	nop    
	...

00407390 <_GlobalUnlock@4>:
  407390:	ff 25 d8 d4 40 00    	jmp    *0x40d4d8
  407396:	90                   	nop    
  407397:	90                   	nop    
	...

004073a0 <_GlobalFree@4>:
  4073a0:	ff 25 d0 d4 40 00    	jmp    *0x40d4d0
  4073a6:	90                   	nop    
  4073a7:	90                   	nop    
	...

004073b0 <_lstrcmpiW@8>:
  4073b0:	ff 25 04 d5 40 00    	jmp    *0x40d504
  4073b6:	90                   	nop    
  4073b7:	90                   	nop    
	...

004073c0 <_CompareFileTime@8>:
  4073c0:	ff 25 80 d4 40 00    	jmp    *0x40d480
  4073c6:	90                   	nop    
  4073c7:	90                   	nop    
	...

004073d0 <_GetCurrentThreadId@0>:
  4073d0:	ff 25 a8 d4 40 00    	jmp    *0x40d4a8
  4073d6:	90                   	nop    
  4073d7:	90                   	nop    
	...

004073e0 <_FileTimeToLocalFileTime@8>:
  4073e0:	ff 25 8c d4 40 00    	jmp    *0x40d48c
  4073e6:	90                   	nop    
  4073e7:	90                   	nop    
	...

004073f0 <_FileTimeToSystemTime@8>:
  4073f0:	ff 25 90 d4 40 00    	jmp    *0x40d490
  4073f6:	90                   	nop    
  4073f7:	90                   	nop    
	...

00407400 <_GetTimeFormatW@24>:
  407400:	ff 25 c8 d4 40 00    	jmp    *0x40d4c8
  407406:	90                   	nop    
  407407:	90                   	nop    
	...

00407410 <_GetDateFormatW@24>:
  407410:	ff 25 ac d4 40 00    	jmp    *0x40d4ac
  407416:	90                   	nop    
  407417:	90                   	nop    
	...

00407420 <_lstrlenW@4>:
  407420:	ff 25 0c d5 40 00    	jmp    *0x40d50c
  407426:	90                   	nop    
  407427:	90                   	nop    
	...

00407430 <_GetNumberFormatW@24>:
  407430:	ff 25 c4 d4 40 00    	jmp    *0x40d4c4
  407436:	90                   	nop    
  407437:	90                   	nop    
	...

00407440 <_SetCurrentDirectoryW@4>:
  407440:	ff 25 ec d4 40 00    	jmp    *0x40d4ec
  407446:	90                   	nop    
  407447:	90                   	nop    
	...

00407450 <_GetDriveTypeW@4>:
  407450:	ff 25 b0 d4 40 00    	jmp    *0x40d4b0
  407456:	90                   	nop    
  407457:	90                   	nop    
	...

00407460 <_lstrcatW@8>:
  407460:	ff 25 fc d4 40 00    	jmp    *0x40d4fc
  407466:	90                   	nop    
  407467:	90                   	nop    
	...

00407470 <_GetVolumeInformationW@32>:
  407470:	ff 25 cc d4 40 00    	jmp    *0x40d4cc
  407476:	90                   	nop    
  407477:	90                   	nop    
	...

00407480 <_GetCurrentDirectoryW@8>:
  407480:	ff 25 a4 d4 40 00    	jmp    *0x40d4a4
  407486:	90                   	nop    
  407487:	90                   	nop    
	...

00407490 <_GetLastError@0>:
  407490:	ff 25 bc d4 40 00    	jmp    *0x40d4bc
  407496:	90                   	nop    
  407497:	90                   	nop    
	...

004074a0 <_MoveFileExW@12>:
  4074a0:	ff 25 e0 d4 40 00    	jmp    *0x40d4e0
  4074a6:	90                   	nop    
  4074a7:	90                   	nop    
	...

004074b0 <_GetLogicalDriveStringsW@8>:
  4074b0:	ff 25 c0 d4 40 00    	jmp    *0x40d4c0
  4074b6:	90                   	nop    
  4074b7:	90                   	nop    
	...

004074c0 <_lstrcmpW@8>:
  4074c0:	ff 25 00 d5 40 00    	jmp    *0x40d500
  4074c6:	90                   	nop    
  4074c7:	90                   	nop    
	...

004074d0 <_MulDiv@12>:
  4074d0:	ff 25 e4 d4 40 00    	jmp    *0x40d4e4
  4074d6:	90                   	nop    
  4074d7:	90                   	nop    
	...

004074e0 <_MessageBoxA@16>:
  4074e0:	ff 25 20 d6 40 00    	jmp    *0x40d620
  4074e6:	90                   	nop    
  4074e7:	90                   	nop    
	...

004074f0 <_LoadStringW@16>:
  4074f0:	ff 25 1c d6 40 00    	jmp    *0x40d61c
  4074f6:	90                   	nop    
  4074f7:	90                   	nop    
	...

00407500 <_MessageBoxW@16>:
  407500:	ff 25 24 d6 40 00    	jmp    *0x40d624
  407506:	90                   	nop    
  407507:	90                   	nop    
	...

00407510 <_DestroyIcon@4>:
  407510:	ff 25 84 d5 40 00    	jmp    *0x40d584
  407516:	90                   	nop    
  407517:	90                   	nop    
	...

00407520 <_GetSystemMetrics@4>:
  407520:	ff 25 e0 d5 40 00    	jmp    *0x40d5e0
  407526:	90                   	nop    
  407527:	90                   	nop    
	...

00407530 <_IsWindowVisible@4>:
  407530:	ff 25 00 d6 40 00    	jmp    *0x40d600
  407536:	90                   	nop    
  407537:	90                   	nop    
	...

00407540 <_MoveWindow@24>:
  407540:	ff 25 28 d6 40 00    	jmp    *0x40d628
  407546:	90                   	nop    
  407547:	90                   	nop    
	...

00407550 <_SendMessageW@16>:
  407550:	ff 25 50 d6 40 00    	jmp    *0x40d650
  407556:	90                   	nop    
  407557:	90                   	nop    
	...

00407560 <_GetClientRect@8>:
  407560:	ff 25 b8 d5 40 00    	jmp    *0x40d5b8
  407566:	90                   	nop    
  407567:	90                   	nop    
	...

00407570 <_CallNextHookEx@16>:
  407570:	ff 25 60 d5 40 00    	jmp    *0x40d560
  407576:	90                   	nop    
  407577:	90                   	nop    
	...

00407580 <_SetWindowLongW@12>:
  407580:	ff 25 60 d6 40 00    	jmp    *0x40d660
  407586:	90                   	nop    
  407587:	90                   	nop    
	...

00407590 <_SetWindowsHookExW@16>:
  407590:	ff 25 6c d6 40 00    	jmp    *0x40d66c
  407596:	90                   	nop    
  407597:	90                   	nop    
	...

004075a0 <_UnhookWindowsHookEx@4>:
  4075a0:	ff 25 84 d6 40 00    	jmp    *0x40d684
  4075a6:	90                   	nop    
  4075a7:	90                   	nop    
	...

004075b0 <_GetDlgItem@8>:
  4075b0:	ff 25 c4 d5 40 00    	jmp    *0x40d5c4
  4075b6:	90                   	nop    
  4075b7:	90                   	nop    
	...

004075c0 <_GetWindowTextW@12>:
  4075c0:	ff 25 f4 d5 40 00    	jmp    *0x40d5f4
  4075c6:	90                   	nop    
  4075c7:	90                   	nop    
	...

004075d0 <_EndDialog@8>:
  4075d0:	ff 25 a0 d5 40 00    	jmp    *0x40d5a0
  4075d6:	90                   	nop    
  4075d7:	90                   	nop    
	...

004075e0 <_GetWindowLongW@8>:
  4075e0:	ff 25 e8 d5 40 00    	jmp    *0x40d5e8
  4075e6:	90                   	nop    
  4075e7:	90                   	nop    
	...

004075f0 <_IsIconic@4>:
  4075f0:	ff 25 fc d5 40 00    	jmp    *0x40d5fc
  4075f6:	90                   	nop    
  4075f7:	90                   	nop    
	...

00407600 <_GetWindowPlacement@8>:
  407600:	ff 25 ec d5 40 00    	jmp    *0x40d5ec
  407606:	90                   	nop    
  407607:	90                   	nop    
	...

00407610 <_CheckMenuItem@12>:
  407610:	ff 25 68 d5 40 00    	jmp    *0x40d568
  407616:	90                   	nop    
  407617:	90                   	nop    
	...

00407620 <_ShowWindow@8>:
  407620:	ff 25 70 d6 40 00    	jmp    *0x40d670
  407626:	90                   	nop    
  407627:	90                   	nop    
	...

00407630 <_GetWindowRect@8>:
  407630:	ff 25 f0 d5 40 00    	jmp    *0x40d5f0
  407636:	90                   	nop    
  407637:	90                   	nop    
	...

00407640 <_ClientToScreen@8>:
  407640:	ff 25 6c d5 40 00    	jmp    *0x40d56c
  407646:	90                   	nop    
  407647:	90                   	nop    
	...

00407650 <_GetWindow@8>:
  407650:	ff 25 e4 d5 40 00    	jmp    *0x40d5e4
  407656:	90                   	nop    
  407657:	90                   	nop    
	...

00407660 <_BeginDeferWindowPos@4>:
  407660:	ff 25 58 d5 40 00    	jmp    *0x40d558
  407666:	90                   	nop    
  407667:	90                   	nop    
	...

00407670 <_DeferWindowPos@32>:
  407670:	ff 25 80 d5 40 00    	jmp    *0x40d580
  407676:	90                   	nop    
  407677:	90                   	nop    
	...

00407680 <_EndDeferWindowPos@4>:
  407680:	ff 25 9c d5 40 00    	jmp    *0x40d59c
  407686:	90                   	nop    
  407687:	90                   	nop    
	...

00407690 <_DrawTextW@20>:
  407690:	ff 25 98 d5 40 00    	jmp    *0x40d598
  407696:	90                   	nop    
  407697:	90                   	nop    
	...

004076a0 <_FillRect@12>:
  4076a0:	ff 25 ac d5 40 00    	jmp    *0x40d5ac
  4076a6:	90                   	nop    
  4076a7:	90                   	nop    
	...

004076b0 <_DrawIconEx@36>:
  4076b0:	ff 25 94 d5 40 00    	jmp    *0x40d594
  4076b6:	90                   	nop    
  4076b7:	90                   	nop    
	...

004076c0 <_GetDC@4>:
  4076c0:	ff 25 c0 d5 40 00    	jmp    *0x40d5c0
  4076c6:	90                   	nop    
  4076c7:	90                   	nop    
	...

004076d0 <_ReleaseDC@8>:
  4076d0:	ff 25 44 d6 40 00    	jmp    *0x40d644
  4076d6:	90                   	nop    
  4076d7:	90                   	nop    
	...

004076e0 <_InvalidateRect@12>:
  4076e0:	ff 25 f8 d5 40 00    	jmp    *0x40d5f8
  4076e6:	90                   	nop    
  4076e7:	90                   	nop    
	...

004076f0 <_CreateWindowExW@48>:
  4076f0:	ff 25 74 d5 40 00    	jmp    *0x40d574
  4076f6:	90                   	nop    
  4076f7:	90                   	nop    
	...

00407700 <_GetScrollPos@8>:
  407700:	ff 25 d8 d5 40 00    	jmp    *0x40d5d8
  407706:	90                   	nop    
  407707:	90                   	nop    
	...

00407710 <_LoadCursorW@8>:
  407710:	ff 25 0c d6 40 00    	jmp    *0x40d60c
  407716:	90                   	nop    
  407717:	90                   	nop    
	...

00407720 <_SetCursor@4>:
  407720:	ff 25 58 d6 40 00    	jmp    *0x40d658
  407726:	90                   	nop    
  407727:	90                   	nop    
	...

00407730 <_SetWindowTextW@8>:
  407730:	ff 25 68 d6 40 00    	jmp    *0x40d668
  407736:	90                   	nop    
  407737:	90                   	nop    
	...

00407740 <_DefFrameProcW@20>:
  407740:	ff 25 78 d5 40 00    	jmp    *0x40d578
  407746:	90                   	nop    
  407747:	90                   	nop    
	...

00407750 <_DestroyWindow@4>:
  407750:	ff 25 88 d5 40 00    	jmp    *0x40d588
  407756:	90                   	nop    
  407757:	90                   	nop    
	...

00407760 <_PostQuitMessage@4>:
  407760:	ff 25 2c d6 40 00    	jmp    *0x40d62c
  407766:	90                   	nop    
  407767:	90                   	nop    
	...

00407770 <_IsZoomed@4>:
  407770:	ff 25 04 d6 40 00    	jmp    *0x40d604
  407776:	90                   	nop    
  407777:	90                   	nop    
	...

00407780 <_WinHelpW@16>:
  407780:	ff 25 8c d6 40 00    	jmp    *0x40d68c
  407786:	90                   	nop    
  407787:	90                   	nop    
	...

00407790 <_DialogBoxParamW@20>:
  407790:	ff 25 8c d5 40 00    	jmp    *0x40d58c
  407796:	90                   	nop    
  407797:	90                   	nop    
	...

004077a0 <_DefMDIChildProcW@16>:
  4077a0:	ff 25 7c d5 40 00    	jmp    *0x40d57c
  4077a6:	90                   	nop    
  4077a7:	90                   	nop    
	...

004077b0 <_GetCursorPos@4>:
  4077b0:	ff 25 bc d5 40 00    	jmp    *0x40d5bc
  4077b6:	90                   	nop    
  4077b7:	90                   	nop    
	...

004077c0 <_ScreenToClient@8>:
  4077c0:	ff 25 48 d6 40 00    	jmp    *0x40d648
  4077c6:	90                   	nop    
  4077c7:	90                   	nop    
	...

004077d0 <_GetFocus@0>:
  4077d0:	ff 25 c8 d5 40 00    	jmp    *0x40d5c8
  4077d6:	90                   	nop    
  4077d7:	90                   	nop    
	...

004077e0 <_CreatePopupMenu@0>:
  4077e0:	ff 25 70 d5 40 00    	jmp    *0x40d570
  4077e6:	90                   	nop    
  4077e7:	90                   	nop    
	...

004077f0 <_TrackPopupMenu@28>:
  4077f0:	ff 25 74 d6 40 00    	jmp    *0x40d674
  4077f6:	90                   	nop    
  4077f7:	90                   	nop    
	...

00407800 <_GetCapture@0>:
  407800:	ff 25 b0 d5 40 00    	jmp    *0x40d5b0
  407806:	90                   	nop    
  407807:	90                   	nop    
	...

00407810 <_ReleaseCapture@0>:
  407810:	ff 25 40 d6 40 00    	jmp    *0x40d640
  407816:	90                   	nop    
  407817:	90                   	nop    
	...

00407820 <_SetFocus@4>:
  407820:	ff 25 5c d6 40 00    	jmp    *0x40d65c
  407826:	90                   	nop    
  407827:	90                   	nop    
	...

00407830 <_BeginPaint@8>:
  407830:	ff 25 5c d5 40 00    	jmp    *0x40d55c
  407836:	90                   	nop    
  407837:	90                   	nop    
	...

00407840 <_EndPaint@8>:
  407840:	ff 25 a4 d5 40 00    	jmp    *0x40d5a4
  407846:	90                   	nop    
  407847:	90                   	nop    
	...

00407850 <_ScrollWindowEx@32>:
  407850:	ff 25 4c d6 40 00    	jmp    *0x40d64c
  407856:	90                   	nop    
  407857:	90                   	nop    
	...

00407860 <_RedrawWindow@16>:
  407860:	ff 25 30 d6 40 00    	jmp    *0x40d630
  407866:	90                   	nop    
  407867:	90                   	nop    
	...

00407870 <_SetCapture@4>:
  407870:	ff 25 54 d6 40 00    	jmp    *0x40d654
  407876:	90                   	nop    
  407877:	90                   	nop    
	...

00407880 <_UpdateWindow@4>:
  407880:	ff 25 88 d6 40 00    	jmp    *0x40d688
  407886:	90                   	nop    
  407887:	90                   	nop    
	...

00407890 <_GetParent@4>:
  407890:	ff 25 d4 d5 40 00    	jmp    *0x40d5d4
  407896:	90                   	nop    
  407897:	90                   	nop    
	...

004078a0 <_CallWindowProcW@20>:
  4078a0:	ff 25 64 d5 40 00    	jmp    *0x40d564
  4078a6:	90                   	nop    
  4078a7:	90                   	nop    
	...

004078b0 <_LoadMenuW@8>:
  4078b0:	ff 25 18 d6 40 00    	jmp    *0x40d618
  4078b6:	90                   	nop    
  4078b7:	90                   	nop    
	...

004078c0 <_GetMenuItemCount@4>:
  4078c0:	ff 25 cc d5 40 00    	jmp    *0x40d5cc
  4078c6:	90                   	nop    
  4078c7:	90                   	nop    
	...

004078d0 <_GetSubMenu@8>:
  4078d0:	ff 25 dc d5 40 00    	jmp    *0x40d5dc
  4078d6:	90                   	nop    
  4078d7:	90                   	nop    
	...

004078e0 <_SetWindowPlacement@8>:
  4078e0:	ff 25 64 d6 40 00    	jmp    *0x40d664
  4078e6:	90                   	nop    
  4078e7:	90                   	nop    
	...

004078f0 <_GetClassNameW@12>:
  4078f0:	ff 25 b4 d5 40 00    	jmp    *0x40d5b4
  4078f6:	90                   	nop    
  4078f7:	90                   	nop    
	...

00407900 <_EnumWindows@8>:
  407900:	ff 25 a8 d5 40 00    	jmp    *0x40d5a8
  407906:	90                   	nop    
  407907:	90                   	nop    
	...

00407910 <_LoadIconW@8>:
  407910:	ff 25 10 d6 40 00    	jmp    *0x40d610
  407916:	90                   	nop    
  407917:	90                   	nop    
	...

00407920 <_LoadImageW@24>:
  407920:	ff 25 14 d6 40 00    	jmp    *0x40d614
  407926:	90                   	nop    
  407927:	90                   	nop    
	...

00407930 <_RegisterClassExW@4>:
  407930:	ff 25 34 d6 40 00    	jmp    *0x40d634
  407936:	90                   	nop    
  407937:	90                   	nop    
	...

00407940 <_RegisterClassW@4>:
  407940:	ff 25 38 d6 40 00    	jmp    *0x40d638
  407946:	90                   	nop    
  407947:	90                   	nop    
	...

00407950 <_LoadAcceleratorsW@8>:
  407950:	ff 25 08 d6 40 00    	jmp    *0x40d608
  407956:	90                   	nop    
  407957:	90                   	nop    
	...

00407960 <_RegisterClipboardFormatW@4>:
  407960:	ff 25 3c d6 40 00    	jmp    *0x40d63c
  407966:	90                   	nop    
  407967:	90                   	nop    
	...

00407970 <_GetMessageW@16>:
  407970:	ff 25 d0 d5 40 00    	jmp    *0x40d5d0
  407976:	90                   	nop    
  407977:	90                   	nop    
	...

00407980 <_TranslateAcceleratorW@12>:
  407980:	ff 25 78 d6 40 00    	jmp    *0x40d678
  407986:	90                   	nop    
  407987:	90                   	nop    
	...

00407990 <_TranslateMessage@4>:
  407990:	ff 25 80 d6 40 00    	jmp    *0x40d680
  407996:	90                   	nop    
  407997:	90                   	nop    
	...

004079a0 <_DispatchMessageW@4>:
  4079a0:	ff 25 90 d5 40 00    	jmp    *0x40d590
  4079a6:	90                   	nop    
  4079a7:	90                   	nop    
	...

004079b0 <_TranslateMDISysAccel@8>:
  4079b0:	ff 25 7c d6 40 00    	jmp    *0x40d67c
  4079b6:	90                   	nop    
  4079b7:	90                   	nop    
	...

004079c0 <_wsprintfW>:
  4079c0:	ff 25 90 d6 40 00    	jmp    *0x40d690
  4079c6:	90                   	nop    
  4079c7:	90                   	nop    
	...

004079d0 <_CreateSolidBrush@4>:
  4079d0:	ff 25 3c d4 40 00    	jmp    *0x40d43c
  4079d6:	90                   	nop    
  4079d7:	90                   	nop    
	...

004079e0 <_DeleteObject@4>:
  4079e0:	ff 25 40 d4 40 00    	jmp    *0x40d440
  4079e6:	90                   	nop    
  4079e7:	90                   	nop    
	...

004079f0 <_SetBkMode@8>:
  4079f0:	ff 25 6c d4 40 00    	jmp    *0x40d46c
  4079f6:	90                   	nop    
  4079f7:	90                   	nop    
	...

00407a00 <_SetTextColor@8>:
  407a00:	ff 25 70 d4 40 00    	jmp    *0x40d470
  407a06:	90                   	nop    
  407a07:	90                   	nop    
	...

00407a10 <_CreateRectRgn@16>:
  407a10:	ff 25 34 d4 40 00    	jmp    *0x40d434
  407a16:	90                   	nop    
  407a17:	90                   	nop    
	...

00407a20 <_CreateRectRgnIndirect@4>:
  407a20:	ff 25 38 d4 40 00    	jmp    *0x40d438
  407a26:	90                   	nop    
  407a27:	90                   	nop    
	...

00407a30 <_GetClipRgn@8>:
  407a30:	ff 25 48 d4 40 00    	jmp    *0x40d448
  407a36:	90                   	nop    
  407a37:	90                   	nop    
	...

00407a40 <_ExtSelectClipRgn@12>:
  407a40:	ff 25 44 d4 40 00    	jmp    *0x40d444
  407a46:	90                   	nop    
  407a47:	90                   	nop    
	...

00407a50 <_MoveToEx@16>:
  407a50:	ff 25 5c d4 40 00    	jmp    *0x40d45c
  407a56:	90                   	nop    
  407a57:	90                   	nop    
	...

00407a60 <_LineTo@12>:
  407a60:	ff 25 58 d4 40 00    	jmp    *0x40d458
  407a66:	90                   	nop    
  407a67:	90                   	nop    
	...

00407a70 <_SelectClipRgn@8>:
  407a70:	ff 25 64 d4 40 00    	jmp    *0x40d464
  407a76:	90                   	nop    
  407a77:	90                   	nop    
	...

00407a80 <_SelectObject@8>:
  407a80:	ff 25 68 d4 40 00    	jmp    *0x40d468
  407a86:	90                   	nop    
  407a87:	90                   	nop    
	...

00407a90 <_GetStockObject@4>:
  407a90:	ff 25 50 d4 40 00    	jmp    *0x40d450
  407a96:	90                   	nop    
  407a97:	90                   	nop    
	...

00407aa0 <_GetTextExtentPoint32W@16>:
  407aa0:	ff 25 54 d4 40 00    	jmp    *0x40d454
  407aa6:	90                   	nop    
  407aa7:	90                   	nop    
	...

00407ab0 <_CreateFontIndirectW@4>:
  407ab0:	ff 25 2c d4 40 00    	jmp    *0x40d42c
  407ab6:	90                   	nop    
  407ab7:	90                   	nop    
	...

00407ac0 <_Rectangle@20>:
  407ac0:	ff 25 60 d4 40 00    	jmp    *0x40d460
  407ac6:	90                   	nop    
  407ac7:	90                   	nop    
	...

00407ad0 <_GetDeviceCaps@8>:
  407ad0:	ff 25 4c d4 40 00    	jmp    *0x40d44c
  407ad6:	90                   	nop    
  407ad7:	90                   	nop    
	...

00407ae0 <_CreateFontW@56>:
  407ae0:	ff 25 30 d4 40 00    	jmp    *0x40d430
  407ae6:	90                   	nop    
  407ae7:	90                   	nop    
	...

00407af0 <_ImageList_DrawEx@40>:
  407af0:	ff 25 08 d4 40 00    	jmp    *0x40d408
  407af6:	90                   	nop    
  407af7:	90                   	nop    
	...

00407b00 <_CreateToolbarEx@52>:
  407b00:	ff 25 00 d4 40 00    	jmp    *0x40d400
  407b06:	90                   	nop    
  407b07:	90                   	nop    
	...

00407b10 <_CreateStatusWindowW@16>:
  407b10:	ff 25 fc d3 40 00    	jmp    *0x40d3fc
  407b16:	90                   	nop    
  407b17:	90                   	nop    
	...

00407b20 <_ImageList_LoadImageW@28>:
  407b20:	ff 25 0c d4 40 00    	jmp    *0x40d40c
  407b26:	90                   	nop    
  407b27:	90                   	nop    
	...

00407b30 <_ImageList_Destroy@4>:
  407b30:	ff 25 04 d4 40 00    	jmp    *0x40d404
  407b36:	90                   	nop    
  407b37:	90                   	nop    
	...

00407b40 <_InitCommonControlsEx@4>:
  407b40:	ff 25 10 d4 40 00    	jmp    *0x40d410
  407b46:	90                   	nop    
  407b47:	90                   	nop    
	...

00407b50 <_ChooseFontW@4>:
  407b50:	ff 25 1c d4 40 00    	jmp    *0x40d41c
  407b56:	90                   	nop    
  407b57:	90                   	nop    
	...

00407b60 <_CommDlgExtendedError@0>:
  407b60:	ff 25 20 d4 40 00    	jmp    *0x40d420
  407b66:	90                   	nop    
  407b67:	90                   	nop    
	...

00407b70 <_CoUninitialize@0>:
  407b70:	ff 25 20 d5 40 00    	jmp    *0x40d520
  407b76:	90                   	nop    
  407b77:	90                   	nop    
	...

00407b80 <_CoInitialize@4>:
  407b80:	ff 25 1c d5 40 00    	jmp    *0x40d51c
  407b86:	90                   	nop    
  407b87:	90                   	nop    
	...

00407b90 <_CoGetMalloc@8>:
  407b90:	ff 25 18 d5 40 00    	jmp    *0x40d518
  407b96:	90                   	nop    
  407b97:	90                   	nop    
	...

00407ba0 <_ExtractIconExW@20>:
  407ba0:	ff 25 2c d5 40 00    	jmp    *0x40d52c
  407ba6:	90                   	nop    
  407ba7:	90                   	nop    
	...

00407bb0 <_SHGetDataFromIDListW@20>:
  407bb0:	ff 25 38 d5 40 00    	jmp    *0x40d538
  407bb6:	90                   	nop    
  407bb7:	90                   	nop    
	...

00407bc0 <_ILClone@4>:
  407bc0:	ff 25 30 d5 40 00    	jmp    *0x40d530
  407bc6:	90                   	nop    
  407bc7:	90                   	nop    
	...

00407bd0 <_ShellAboutW@16>:
  407bd0:	ff 25 40 d5 40 00    	jmp    *0x40d540
  407bd6:	90                   	nop    
  407bd7:	90                   	nop    
	...

00407be0 <_ShellExecuteW@24>:
  407be0:	ff 25 4c d5 40 00    	jmp    *0x40d54c
  407be6:	90                   	nop    
  407be7:	90                   	nop    
	...

00407bf0 <_ShellExecuteA@24>:
  407bf0:	ff 25 44 d5 40 00    	jmp    *0x40d544
  407bf6:	90                   	nop    
  407bf7:	90                   	nop    
	...

00407c00 <_ShellExecuteExW@4>:
  407c00:	ff 25 48 d5 40 00    	jmp    *0x40d548
  407c06:	90                   	nop    
  407c07:	90                   	nop    
	...

00407c10 <_SHBindToParent@16>:
  407c10:	ff 25 34 d5 40 00    	jmp    *0x40d534
  407c16:	90                   	nop    
  407c17:	90                   	nop    
	...

00407c20 <_SHGetDesktopFolder@4>:
  407c20:	ff 25 3c d5 40 00    	jmp    *0x40d53c
  407c26:	90                   	nop    
  407c27:	90                   	nop    
	...

00407c30 <_main>:
  407c30:	55                   	push   %ebp
  407c31:	b8 10 00 00 00       	mov    $0x10,%eax
  407c36:	89 e5                	mov    %esp,%ebp
  407c38:	53                   	push   %ebx
  407c39:	83 ec 64             	sub    $0x64,%esp
  407c3c:	83 e4 f0             	and    $0xfffffff0,%esp
  407c3f:	e8 4c 05 00 00       	call   408190 <___chkstk>
  407c44:	e8 e7 01 00 00       	call   407e30 <___main>
  407c49:	e8 32 07 00 00       	call   408380 <_GetCommandLineA@0>
  407c4e:	89 c3                	mov    %eax,%ebx
  407c50:	8d 45 a8             	lea    0xffffffa8(%ebp),%eax
  407c53:	89 04 24             	mov    %eax,(%esp)
  407c56:	e8 35 07 00 00       	call   408390 <_GetStartupInfoA@4>
  407c5b:	83 ec 04             	sub    $0x4,%esp
  407c5e:	85 db                	test   %ebx,%ebx
  407c60:	75 06                	jne    407c68 <_main+0x38>
  407c62:	e9 9f 00 00 00       	jmp    407d06 <_main+0xd6>
  407c67:	43                   	inc    %ebx
  407c68:	0f b6 0b             	movzbl (%ebx),%ecx
  407c6b:	80 f9 20             	cmp    $0x20,%cl
  407c6e:	0f 94 c0             	sete   %al
  407c71:	80 f9 09             	cmp    $0x9,%cl
  407c74:	0f 94 c2             	sete   %dl
  407c77:	09 d0                	or     %edx,%eax
  407c79:	a8 01                	test   $0x1,%al
  407c7b:	75 ea                	jne    407c67 <_main+0x37>
  407c7d:	80 f9 22             	cmp    $0x22,%cl
  407c80:	74 3e                	je     407cc0 <_main+0x90>
  407c82:	80 f9 20             	cmp    $0x20,%cl
  407c85:	0f 95 c0             	setne  %al
  407c88:	31 d2                	xor    %edx,%edx
  407c8a:	80 f9 09             	cmp    $0x9,%cl
  407c8d:	0f 95 c2             	setne  %dl
  407c90:	85 d0                	test   %edx,%eax
  407c92:	74 4c                	je     407ce0 <_main+0xb0>
  407c94:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  407c9a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi
  407ca0:	84 c9                	test   %cl,%cl
  407ca2:	74 3c                	je     407ce0 <_main+0xb0>
  407ca4:	43                   	inc    %ebx
  407ca5:	0f b6 0b             	movzbl (%ebx),%ecx
  407ca8:	80 f9 20             	cmp    $0x20,%cl
  407cab:	0f 95 c0             	setne  %al
  407cae:	31 d2                	xor    %edx,%edx
  407cb0:	80 f9 09             	cmp    $0x9,%cl
  407cb3:	0f 95 c2             	setne  %dl
  407cb6:	85 d0                	test   %edx,%eax
  407cb8:	75 e6                	jne    407ca0 <_main+0x70>
  407cba:	eb 24                	jmp    407ce0 <_main+0xb0>
  407cbc:	8d 74 26 00          	lea    0x0(%esi),%esi
  407cc0:	43                   	inc    %ebx
  407cc1:	0f b6 0b             	movzbl (%ebx),%ecx
  407cc4:	80 f9 22             	cmp    $0x22,%cl
  407cc7:	0f 95 c0             	setne  %al
  407cca:	31 d2                	xor    %edx,%edx
  407ccc:	84 c9                	test   %cl,%cl
  407cce:	0f 95 c2             	setne  %dl
  407cd1:	85 d0                	test   %edx,%eax
  407cd3:	75 eb                	jne    407cc0 <_main+0x90>
  407cd5:	80 f9 22             	cmp    $0x22,%cl
  407cd8:	74 68                	je     407d42 <_main+0x112>
  407cda:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  407ce0:	80 f9 20             	cmp    $0x20,%cl
  407ce3:	0f 94 c0             	sete   %al
  407ce6:	80 f9 09             	cmp    $0x9,%cl
  407ce9:	0f 94 c2             	sete   %dl
  407cec:	eb 12                	jmp    407d00 <_main+0xd0>
  407cee:	89 f6                	mov    %esi,%esi
  407cf0:	43                   	inc    %ebx
  407cf1:	0f b6 0b             	movzbl (%ebx),%ecx
  407cf4:	80 f9 20             	cmp    $0x20,%cl
  407cf7:	0f 94 c2             	sete   %dl
  407cfa:	80 f9 09             	cmp    $0x9,%cl
  407cfd:	0f 94 c0             	sete   %al
  407d00:	09 d0                	or     %edx,%eax
  407d02:	a8 01                	test   $0x1,%al
  407d04:	75 ea                	jne    407cf0 <_main+0xc0>
  407d06:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  407d0d:	e8 8e 06 00 00       	call   4083a0 <_GetModuleHandleA@4>
  407d12:	83 ec 04             	sub    $0x4,%esp
  407d15:	f6 45 d4 01          	testb  $0x1,0xffffffd4(%ebp)
  407d19:	ba 0a 00 00 00       	mov    $0xa,%edx
  407d1e:	74 04                	je     407d24 <_main+0xf4>
  407d20:	0f b7 55 d8          	movzwl 0xffffffd8(%ebp),%edx
  407d24:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  407d28:	31 db                	xor    %ebx,%ebx
  407d2a:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  407d2e:	89 54 24 0c          	mov    %edx,0xc(%esp)
  407d32:	89 04 24             	mov    %eax,(%esp)
  407d35:	e8 36 f5 ff ff       	call   407270 <_WinMain@16>
  407d3a:	83 ec 10             	sub    $0x10,%esp
  407d3d:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  407d40:	c9                   	leave  
  407d41:	c3                   	ret    
  407d42:	43                   	inc    %ebx
  407d43:	0f b6 0b             	movzbl (%ebx),%ecx
  407d46:	eb 98                	jmp    407ce0 <_main+0xb0>
  407d48:	90                   	nop    
  407d49:	90                   	nop    
  407d4a:	90                   	nop    
  407d4b:	90                   	nop    
  407d4c:	90                   	nop    
  407d4d:	90                   	nop    
  407d4e:	90                   	nop    
  407d4f:	90                   	nop    

00407d50 <__pei386_runtime_relocator>:
  407d50:	55                   	push   %ebp
  407d51:	b9 e0 be 40 00       	mov    $0x40bee0,%ecx
  407d56:	89 e5                	mov    %esp,%ebp
  407d58:	eb 14                	jmp    407d6e <__pei386_runtime_relocator+0x1e>
  407d5a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  407d60:	8b 51 04             	mov    0x4(%ecx),%edx
  407d63:	8b 01                	mov    (%ecx),%eax
  407d65:	83 c1 08             	add    $0x8,%ecx
  407d68:	01 82 00 00 40 00    	add    %eax,0x400000(%edx)
  407d6e:	81 f9 e0 be 40 00    	cmp    $0x40bee0,%ecx
  407d74:	72 ea                	jb     407d60 <__pei386_runtime_relocator+0x10>
  407d76:	5d                   	pop    %ebp
  407d77:	c3                   	ret    
  407d78:	90                   	nop    
  407d79:	90                   	nop    
  407d7a:	90                   	nop    
  407d7b:	90                   	nop    
  407d7c:	90                   	nop    
  407d7d:	90                   	nop    
  407d7e:	90                   	nop    
  407d7f:	90                   	nop    

00407d80 <__fpreset>:
  407d80:	55                   	push   %ebp
  407d81:	89 e5                	mov    %esp,%ebp
  407d83:	db e3                	fninit 
  407d85:	5d                   	pop    %ebp
  407d86:	c3                   	ret    
  407d87:	90                   	nop    
  407d88:	90                   	nop    
  407d89:	90                   	nop    
  407d8a:	90                   	nop    
  407d8b:	90                   	nop    
  407d8c:	90                   	nop    
  407d8d:	90                   	nop    
  407d8e:	90                   	nop    
  407d8f:	90                   	nop    

00407d90 <___do_global_dtors>:
  407d90:	55                   	push   %ebp
  407d91:	89 e5                	mov    %esp,%ebp
  407d93:	83 ec 08             	sub    $0x8,%esp
  407d96:	a1 a0 90 40 00       	mov    0x4090a0,%eax
  407d9b:	8b 08                	mov    (%eax),%ecx
  407d9d:	85 c9                	test   %ecx,%ecx
  407d9f:	74 26                	je     407dc7 <___do_global_dtors+0x37>
  407da1:	eb 0d                	jmp    407db0 <___do_global_dtors+0x20>
  407da3:	90                   	nop    
  407da4:	90                   	nop    
  407da5:	90                   	nop    
  407da6:	90                   	nop    
  407da7:	90                   	nop    
  407da8:	90                   	nop    
  407da9:	90                   	nop    
  407daa:	90                   	nop    
  407dab:	90                   	nop    
  407dac:	90                   	nop    
  407dad:	90                   	nop    
  407dae:	90                   	nop    
  407daf:	90                   	nop    
  407db0:	ff 10                	call   *(%eax)
  407db2:	8b 0d a0 90 40 00    	mov    0x4090a0,%ecx
  407db8:	8b 51 04             	mov    0x4(%ecx),%edx
  407dbb:	8d 41 04             	lea    0x4(%ecx),%eax
  407dbe:	a3 a0 90 40 00       	mov    %eax,0x4090a0
  407dc3:	85 d2                	test   %edx,%edx
  407dc5:	75 e9                	jne    407db0 <___do_global_dtors+0x20>
  407dc7:	c9                   	leave  
  407dc8:	c3                   	ret    
  407dc9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00407dd0 <___do_global_ctors>:
  407dd0:	55                   	push   %ebp
  407dd1:	89 e5                	mov    %esp,%ebp
  407dd3:	53                   	push   %ebx
  407dd4:	83 ec 04             	sub    $0x4,%esp
  407dd7:	a1 f0 83 40 00       	mov    0x4083f0,%eax
  407ddc:	83 f8 ff             	cmp    $0xffffffff,%eax
  407ddf:	74 29                	je     407e0a <___do_global_ctors+0x3a>
  407de1:	85 c0                	test   %eax,%eax
  407de3:	89 c3                	mov    %eax,%ebx
  407de5:	74 13                	je     407dfa <___do_global_ctors+0x2a>
  407de7:	89 f6                	mov    %esi,%esi
  407de9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi
  407df0:	ff 14 9d f0 83 40 00 	call   *0x4083f0(,%ebx,4)
  407df7:	4b                   	dec    %ebx
  407df8:	75 f6                	jne    407df0 <___do_global_ctors+0x20>
  407dfa:	c7 04 24 90 7d 40 00 	movl   $0x407d90,(%esp)
  407e01:	e8 5a 94 ff ff       	call   401260 <_atexit>
  407e06:	5b                   	pop    %ebx
  407e07:	5b                   	pop    %ebx
  407e08:	5d                   	pop    %ebp
  407e09:	c3                   	ret    
  407e0a:	8b 0d f4 83 40 00    	mov    0x4083f4,%ecx
  407e10:	31 c0                	xor    %eax,%eax
  407e12:	85 c9                	test   %ecx,%ecx
  407e14:	eb 0a                	jmp    407e20 <___do_global_ctors+0x50>
  407e16:	40                   	inc    %eax
  407e17:	8b 14 85 f4 83 40 00 	mov    0x4083f4(,%eax,4),%edx
  407e1e:	85 d2                	test   %edx,%edx
  407e20:	75 f4                	jne    407e16 <___do_global_ctors+0x46>
  407e22:	eb bd                	jmp    407de1 <___do_global_ctors+0x11>
  407e24:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  407e2a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00407e30 <___main>:
  407e30:	55                   	push   %ebp
  407e31:	89 e5                	mov    %esp,%ebp
  407e33:	53                   	push   %ebx
  407e34:	83 ec 04             	sub    $0x4,%esp
  407e37:	a1 40 c2 40 00       	mov    0x40c240,%eax
  407e3c:	85 c0                	test   %eax,%eax
  407e3e:	75 36                	jne    407e76 <___main+0x46>
  407e40:	a1 f0 83 40 00       	mov    0x4083f0,%eax
  407e45:	bb 01 00 00 00       	mov    $0x1,%ebx
  407e4a:	89 1d 40 c2 40 00    	mov    %ebx,0x40c240
  407e50:	83 f8 ff             	cmp    $0xffffffff,%eax
  407e53:	74 25                	je     407e7a <___main+0x4a>
  407e55:	85 c0                	test   %eax,%eax
  407e57:	89 c3                	mov    %eax,%ebx
  407e59:	74 0f                	je     407e6a <___main+0x3a>
  407e5b:	90                   	nop    
  407e5c:	8d 74 26 00          	lea    0x0(%esi),%esi
  407e60:	ff 14 9d f0 83 40 00 	call   *0x4083f0(,%ebx,4)
  407e67:	4b                   	dec    %ebx
  407e68:	75 f6                	jne    407e60 <___main+0x30>
  407e6a:	c7 04 24 90 7d 40 00 	movl   $0x407d90,(%esp)
  407e71:	e8 ea 93 ff ff       	call   401260 <_atexit>
  407e76:	5b                   	pop    %ebx
  407e77:	5b                   	pop    %ebx
  407e78:	5d                   	pop    %ebp
  407e79:	c3                   	ret    
  407e7a:	8b 0d f4 83 40 00    	mov    0x4083f4,%ecx
  407e80:	31 c0                	xor    %eax,%eax
  407e82:	85 c9                	test   %ecx,%ecx
  407e84:	eb 0a                	jmp    407e90 <___main+0x60>
  407e86:	40                   	inc    %eax
  407e87:	8b 14 85 f4 83 40 00 	mov    0x4083f4(,%eax,4),%edx
  407e8e:	85 d2                	test   %edx,%edx
  407e90:	75 f4                	jne    407e86 <___main+0x56>
  407e92:	eb c1                	jmp    407e55 <___main+0x25>
  407e94:	90                   	nop    
  407e95:	90                   	nop    
  407e96:	90                   	nop    
  407e97:	90                   	nop    
  407e98:	90                   	nop    
  407e99:	90                   	nop    
  407e9a:	90                   	nop    
  407e9b:	90                   	nop    
  407e9c:	90                   	nop    
  407e9d:	90                   	nop    
  407e9e:	90                   	nop    
  407e9f:	90                   	nop    

00407ea0 <___w32_sharedptr_default_unexpected>:
  407ea0:	55                   	push   %ebp
  407ea1:	a1 f0 ca 40 00       	mov    0x40caf0,%eax
  407ea6:	89 e5                	mov    %esp,%ebp
  407ea8:	5d                   	pop    %ebp
  407ea9:	8b 48 04             	mov    0x4(%eax),%ecx
  407eac:	ff e1                	jmp    *%ecx
  407eae:	89 f6                	mov    %esi,%esi

00407eb0 <___w32_sharedptr_get>:
  407eb0:	55                   	push   %ebp
  407eb1:	ba 42 00 00 00       	mov    $0x42,%edx
  407eb6:	89 e5                	mov    %esp,%ebp
  407eb8:	53                   	push   %ebx
  407eb9:	0f b7 c0             	movzwl %ax,%eax
  407ebc:	83 ec 64             	sub    $0x64,%esp
  407ebf:	89 54 24 08          	mov    %edx,0x8(%esp)
  407ec3:	8d 55 a8             	lea    0xffffffa8(%ebp),%edx
  407ec6:	31 db                	xor    %ebx,%ebx
  407ec8:	89 54 24 04          	mov    %edx,0x4(%esp)
  407ecc:	89 04 24             	mov    %eax,(%esp)
  407ecf:	ff 15 a4 d6 40 00    	call   *0x40d6a4
  407ed5:	ba 1f 00 00 00       	mov    $0x1f,%edx
  407eda:	b9 01 00 00 00       	mov    $0x1,%ecx
  407edf:	83 ec 0c             	sub    $0xc,%esp
  407ee2:	85 c0                	test   %eax,%eax
  407ee4:	75 07                	jne    407eed <___w32_sharedptr_get+0x3d>
  407ee6:	eb 46                	jmp    407f2e <___w32_sharedptr_get+0x7e>
  407ee8:	01 c9                	add    %ecx,%ecx
  407eea:	4a                   	dec    %edx
  407eeb:	78 0e                	js     407efb <___w32_sharedptr_get+0x4b>
  407eed:	80 7c 2a a8 41       	cmpb   $0x41,0xffffffa8(%edx,%ebp,1)
  407ef2:	75 f4                	jne    407ee8 <___w32_sharedptr_get+0x38>
  407ef4:	09 cb                	or     %ecx,%ebx
  407ef6:	01 c9                	add    %ecx,%ecx
  407ef8:	4a                   	dec    %edx
  407ef9:	79 f2                	jns    407eed <___w32_sharedptr_get+0x3d>
  407efb:	83 3b 3c             	cmpl   $0x3c,(%ebx)
  407efe:	75 07                	jne    407f07 <___w32_sharedptr_get+0x57>
  407f00:	89 d8                	mov    %ebx,%eax
  407f02:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  407f05:	c9                   	leave  
  407f06:	c3                   	ret    
  407f07:	b9 14 ba 40 00       	mov    $0x40ba14,%ecx
  407f0c:	ba ea 00 00 00       	mov    $0xea,%edx
  407f11:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
  407f15:	89 54 24 08          	mov    %edx,0x8(%esp)
  407f19:	c7 04 24 41 ba 40 00 	movl   $0x40ba41,(%esp)
  407f20:	b8 60 ba 40 00       	mov    $0x40ba60,%eax
  407f25:	89 44 24 04          	mov    %eax,0x4(%esp)
  407f29:	e8 92 02 00 00       	call   4081c0 <___eprintf>
  407f2e:	b8 8c ba 40 00       	mov    $0x40ba8c,%eax
  407f33:	bb e4 00 00 00       	mov    $0xe4,%ebx
  407f38:	89 44 24 0c          	mov    %eax,0xc(%esp)
  407f3c:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  407f40:	eb d7                	jmp    407f19 <___w32_sharedptr_get+0x69>
  407f42:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  407f49:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00407f50 <___w32_sharedptr_initialize>:
  407f50:	55                   	push   %ebp
  407f51:	89 e5                	mov    %esp,%ebp
  407f53:	57                   	push   %edi
  407f54:	56                   	push   %esi
  407f55:	53                   	push   %ebx
  407f56:	81 ec cc 00 00 00    	sub    $0xcc,%esp
  407f5c:	8b 0d f0 ca 40 00    	mov    0x40caf0,%ecx
  407f62:	85 c9                	test   %ecx,%ecx
  407f64:	74 08                	je     407f6e <___w32_sharedptr_initialize+0x1e>
  407f66:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  407f69:	5b                   	pop    %ebx
  407f6a:	5e                   	pop    %esi
  407f6b:	5f                   	pop    %edi
  407f6c:	5d                   	pop    %ebp
  407f6d:	c3                   	ret    
  407f6e:	c7 45 98 41 41 41 41 	movl   $0x41414141,0xffffff98(%ebp)
  407f75:	a1 f0 b9 40 00       	mov    0x40b9f0,%eax
  407f7a:	8d 75 98             	lea    0xffffff98(%ebp),%esi
  407f7d:	c7 45 9c 41 41 41 41 	movl   $0x41414141,0xffffff9c(%ebp)
  407f84:	c7 45 a0 41 41 41 41 	movl   $0x41414141,0xffffffa0(%ebp)
  407f8b:	89 45 b8             	mov    %eax,0xffffffb8(%ebp)
  407f8e:	a1 f4 b9 40 00       	mov    0x40b9f4,%eax
  407f93:	c7 45 a4 41 41 41 41 	movl   $0x41414141,0xffffffa4(%ebp)
  407f9a:	c7 45 a8 41 41 41 41 	movl   $0x41414141,0xffffffa8(%ebp)
  407fa1:	89 45 bc             	mov    %eax,0xffffffbc(%ebp)
  407fa4:	a1 f8 b9 40 00       	mov    0x40b9f8,%eax
  407fa9:	c7 45 ac 41 41 41 41 	movl   $0x41414141,0xffffffac(%ebp)
  407fb0:	c7 45 b0 41 41 41 41 	movl   $0x41414141,0xffffffb0(%ebp)
  407fb7:	89 45 c0             	mov    %eax,0xffffffc0(%ebp)
  407fba:	a1 fc b9 40 00       	mov    0x40b9fc,%eax
  407fbf:	c7 45 b4 41 41 41 41 	movl   $0x41414141,0xffffffb4(%ebp)
  407fc6:	89 45 c4             	mov    %eax,0xffffffc4(%ebp)
  407fc9:	a1 00 ba 40 00       	mov    0x40ba00,%eax
  407fce:	89 45 c8             	mov    %eax,0xffffffc8(%ebp)
  407fd1:	a1 04 ba 40 00       	mov    0x40ba04,%eax
  407fd6:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
  407fd9:	a1 08 ba 40 00       	mov    0x40ba08,%eax
  407fde:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
  407fe1:	a1 0c ba 40 00       	mov    0x40ba0c,%eax
  407fe6:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
  407fe9:	0f b7 05 10 ba 40 00 	movzwl 0x40ba10,%eax
  407ff0:	66 89 45 d8          	mov    %ax,0xffffffd8(%ebp)
  407ff4:	89 34 24             	mov    %esi,(%esp)
  407ff7:	ff 15 a0 d6 40 00    	call   *0x40d6a0
  407ffd:	0f b7 c0             	movzwl %ax,%eax
  408000:	83 ec 04             	sub    $0x4,%esp
  408003:	85 c0                	test   %eax,%eax
  408005:	89 85 44 ff ff ff    	mov    %eax,0xffffff44(%ebp)
  40800b:	0f 85 3b 01 00 00    	jne    40814c <___w32_sharedptr_initialize+0x1fc>
  408011:	c7 04 24 3c 00 00 00 	movl   $0x3c,(%esp)
  408018:	e8 23 03 00 00       	call   408340 <_malloc>
  40801d:	85 c0                	test   %eax,%eax
  40801f:	89 c3                	mov    %eax,%ebx
  408021:	0f 84 59 01 00 00    	je     408180 <___w32_sharedptr_initialize+0x230>
  408027:	fc                   	cld    
  408028:	89 c7                	mov    %eax,%edi
  40802a:	8b 85 44 ff ff ff    	mov    0xffffff44(%ebp),%eax
  408030:	b9 0f 00 00 00       	mov    $0xf,%ecx
  408035:	f3 ab                	repz stos %eax,%es:(%edi)
  408037:	c7 43 04 50 83 40 00 	movl   $0x408350,0x4(%ebx)
  40803e:	b9 01 00 00 00       	mov    $0x1,%ecx
  408043:	c7 43 08 a0 7e 40 00 	movl   $0x407ea0,0x8(%ebx)
  40804a:	a1 60 c2 40 00       	mov    0x40c260,%eax
  40804f:	c7 03 3c 00 00 00    	movl   $0x3c,(%ebx)
  408055:	8b 15 64 c2 40 00    	mov    0x40c264,%edx
  40805b:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
  408062:	89 43 14             	mov    %eax,0x14(%ebx)
  408065:	a1 b0 90 40 00       	mov    0x4090b0,%eax
  40806a:	89 53 18             	mov    %edx,0x18(%ebx)
  40806d:	8b 15 b4 90 40 00    	mov    0x4090b4,%edx
  408073:	89 43 1c             	mov    %eax,0x1c(%ebx)
  408076:	a1 70 c2 40 00       	mov    0x40c270,%eax
  40807b:	89 53 20             	mov    %edx,0x20(%ebx)
  40807e:	c7 43 30 ff ff ff ff 	movl   $0xffffffff,0x30(%ebx)
  408085:	89 43 2c             	mov    %eax,0x2c(%ebx)
  408088:	8b 15 bc 90 40 00    	mov    0x4090bc,%edx
  40808e:	a1 b8 90 40 00       	mov    0x4090b8,%eax
  408093:	89 53 38             	mov    %edx,0x38(%ebx)
  408096:	ba 1f 00 00 00       	mov    $0x1f,%edx
  40809b:	89 43 34             	mov    %eax,0x34(%ebx)
  40809e:	89 f6                	mov    %esi,%esi
  4080a0:	89 d8                	mov    %ebx,%eax
  4080a2:	21 c8                	and    %ecx,%eax
  4080a4:	83 f8 01             	cmp    $0x1,%eax
  4080a7:	19 c0                	sbb    %eax,%eax
  4080a9:	24 20                	and    $0x20,%al
  4080ab:	01 c9                	add    %ecx,%ecx
  4080ad:	04 41                	add    $0x41,%al
  4080af:	88 84 2a 48 ff ff ff 	mov    %al,0xffffff48(%edx,%ebp,1)
  4080b6:	4a                   	dec    %edx
  4080b7:	79 e7                	jns    4080a0 <___w32_sharedptr_initialize+0x150>
  4080b9:	a1 f0 b9 40 00       	mov    0x40b9f0,%eax
  4080be:	89 85 68 ff ff ff    	mov    %eax,0xffffff68(%ebp)
  4080c4:	a1 f4 b9 40 00       	mov    0x40b9f4,%eax
  4080c9:	89 85 6c ff ff ff    	mov    %eax,0xffffff6c(%ebp)
  4080cf:	a1 f8 b9 40 00       	mov    0x40b9f8,%eax
  4080d4:	89 85 70 ff ff ff    	mov    %eax,0xffffff70(%ebp)
  4080da:	a1 fc b9 40 00       	mov    0x40b9fc,%eax
  4080df:	89 85 74 ff ff ff    	mov    %eax,0xffffff74(%ebp)
  4080e5:	a1 00 ba 40 00       	mov    0x40ba00,%eax
  4080ea:	89 85 78 ff ff ff    	mov    %eax,0xffffff78(%ebp)
  4080f0:	a1 04 ba 40 00       	mov    0x40ba04,%eax
  4080f5:	89 85 7c ff ff ff    	mov    %eax,0xffffff7c(%ebp)
  4080fb:	a1 08 ba 40 00       	mov    0x40ba08,%eax
  408100:	89 45 80             	mov    %eax,0xffffff80(%ebp)
  408103:	a1 0c ba 40 00       	mov    0x40ba0c,%eax
  408108:	89 45 84             	mov    %eax,0xffffff84(%ebp)
  40810b:	0f b7 05 10 ba 40 00 	movzwl 0x40ba10,%eax
  408112:	66 89 45 88          	mov    %ax,0xffffff88(%ebp)
  408116:	8d 85 48 ff ff ff    	lea    0xffffff48(%ebp),%eax
  40811c:	89 04 24             	mov    %eax,(%esp)
  40811f:	ff 15 9c d6 40 00    	call   *0x40d69c
  408125:	0f b7 f8             	movzwl %ax,%edi
  408128:	83 ec 04             	sub    $0x4,%esp
  40812b:	85 ff                	test   %edi,%edi
  40812d:	75 42                	jne    408171 <___w32_sharedptr_initialize+0x221>
  40812f:	31 d2                	xor    %edx,%edx
  408131:	85 d2                	test   %edx,%edx
  408133:	75 1e                	jne    408153 <___w32_sharedptr_initialize+0x203>
  408135:	89 1c 24             	mov    %ebx,(%esp)
  408138:	e8 f3 01 00 00       	call   408330 <_free>
  40813d:	89 34 24             	mov    %esi,(%esp)
  408140:	ff 15 a0 d6 40 00    	call   *0x40d6a0
  408146:	83 ec 04             	sub    $0x4,%esp
  408149:	0f b7 c0             	movzwl %ax,%eax
  40814c:	e8 5f fd ff ff       	call   407eb0 <___w32_sharedptr_get>
  408151:	89 c3                	mov    %eax,%ebx
  408153:	89 1d f0 ca 40 00    	mov    %ebx,0x40caf0
  408159:	8d 43 04             	lea    0x4(%ebx),%eax
  40815c:	a3 e0 ca 40 00       	mov    %eax,0x40cae0
  408161:	8d 43 08             	lea    0x8(%ebx),%eax
  408164:	a3 00 cb 40 00       	mov    %eax,0x40cb00
  408169:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  40816c:	5b                   	pop    %ebx
  40816d:	5e                   	pop    %esi
  40816e:	5f                   	pop    %edi
  40816f:	5d                   	pop    %ebp
  408170:	c3                   	ret    
  408171:	89 f8                	mov    %edi,%eax
  408173:	e8 38 fd ff ff       	call   407eb0 <___w32_sharedptr_get>
  408178:	39 d8                	cmp    %ebx,%eax
  40817a:	89 fa                	mov    %edi,%edx
  40817c:	75 b1                	jne    40812f <___w32_sharedptr_initialize+0x1df>
  40817e:	eb b1                	jmp    408131 <___w32_sharedptr_initialize+0x1e1>
  408180:	e8 cb 01 00 00       	call   408350 <_abort>
  408185:	90                   	nop    
  408186:	90                   	nop    
  408187:	90                   	nop    
  408188:	90                   	nop    
  408189:	90                   	nop    
  40818a:	90                   	nop    
  40818b:	90                   	nop    
  40818c:	90                   	nop    
  40818d:	90                   	nop    
  40818e:	90                   	nop    
  40818f:	90                   	nop    

00408190 <___chkstk>:
  408190:	51                   	push   %ecx
  408191:	89 e1                	mov    %esp,%ecx
  408193:	83 c1 08             	add    $0x8,%ecx

00408196 <probe>:
  408196:	3d 00 10 00 00       	cmp    $0x1000,%eax
  40819b:	72 10                	jb     4081ad <done>
  40819d:	81 e9 00 10 00 00    	sub    $0x1000,%ecx
  4081a3:	83 09 00             	orl    $0x0,(%ecx)
  4081a6:	2d 00 10 00 00       	sub    $0x1000,%eax
  4081ab:	eb e9                	jmp    408196 <probe>

004081ad <done>:
  4081ad:	29 c1                	sub    %eax,%ecx
  4081af:	83 09 00             	orl    $0x0,(%ecx)
  4081b2:	89 e0                	mov    %esp,%eax
  4081b4:	89 cc                	mov    %ecx,%esp
  4081b6:	8b 08                	mov    (%eax),%ecx
  4081b8:	8b 40 04             	mov    0x4(%eax),%eax
  4081bb:	ff e0                	jmp    *%eax
  4081bd:	90                   	nop    
  4081be:	90                   	nop    
  4081bf:	90                   	nop    

004081c0 <___eprintf>:
  4081c0:	55                   	push   %ebp
  4081c1:	89 e5                	mov    %esp,%ebp
  4081c3:	83 ec 18             	sub    $0x18,%esp
  4081c6:	8b 45 14             	mov    0x14(%ebp),%eax
  4081c9:	89 44 24 10          	mov    %eax,0x10(%esp)
  4081cd:	8b 45 10             	mov    0x10(%ebp),%eax
  4081d0:	89 44 24 0c          	mov    %eax,0xc(%esp)
  4081d4:	8b 45 0c             	mov    0xc(%ebp),%eax
  4081d7:	89 44 24 08          	mov    %eax,0x8(%esp)
  4081db:	8b 45 08             	mov    0x8(%ebp),%eax
  4081de:	89 44 24 04          	mov    %eax,0x4(%esp)
  4081e2:	a1 d0 d6 40 00       	mov    0x40d6d0,%eax
  4081e7:	83 c0 40             	add    $0x40,%eax
  4081ea:	89 04 24             	mov    %eax,(%esp)
  4081ed:	e8 7e 01 00 00       	call   408370 <_fprintf>
  4081f2:	a1 d0 d6 40 00       	mov    0x40d6d0,%eax
  4081f7:	83 c0 40             	add    $0x40,%eax
  4081fa:	89 04 24             	mov    %eax,(%esp)
  4081fd:	e8 5e 01 00 00       	call   408360 <_fflush>
  408202:	e8 49 01 00 00       	call   408350 <_abort>
  408207:	90                   	nop    
  408208:	90                   	nop    
  408209:	90                   	nop    
  40820a:	90                   	nop    
  40820b:	90                   	nop    
  40820c:	90                   	nop    
  40820d:	90                   	nop    
  40820e:	90                   	nop    
  40820f:	90                   	nop    

00408210 <___set_app_type>:
  408210:	ff 25 c8 d6 40 00    	jmp    *0x40d6c8
  408216:	90                   	nop    
  408217:	90                   	nop    
	...

00408220 <__cexit>:
  408220:	ff 25 cc d6 40 00    	jmp    *0x40d6cc
  408226:	90                   	nop    
  408227:	90                   	nop    
	...

00408230 <___p__environ>:
  408230:	ff 25 c0 d6 40 00    	jmp    *0x40d6c0
  408236:	90                   	nop    
  408237:	90                   	nop    
	...

00408240 <_signal>:
  408240:	ff 25 0c d7 40 00    	jmp    *0x40d70c
  408246:	90                   	nop    
  408247:	90                   	nop    
	...

00408250 <___p__fmode>:
  408250:	ff 25 c4 d6 40 00    	jmp    *0x40d6c4
  408256:	90                   	nop    
  408257:	90                   	nop    
	...

00408260 <__setmode>:
  408260:	ff 25 d8 d6 40 00    	jmp    *0x40d6d8
  408266:	90                   	nop    
  408267:	90                   	nop    
	...

00408270 <___getmainargs>:
  408270:	ff 25 bc d6 40 00    	jmp    *0x40d6bc
  408276:	90                   	nop    
  408277:	90                   	nop    
	...

00408280 <_memset>:
  408280:	ff 25 00 d7 40 00    	jmp    *0x40d700
  408286:	90                   	nop    
  408287:	90                   	nop    
	...

00408290 <_memcpy>:
  408290:	ff 25 f8 d6 40 00    	jmp    *0x40d6f8
  408296:	90                   	nop    
  408297:	90                   	nop    
	...

004082a0 <_setlocale>:
  4082a0:	ff 25 08 d7 40 00    	jmp    *0x40d708
  4082a6:	90                   	nop    
  4082a7:	90                   	nop    
	...

004082b0 <_swprintf>:
  4082b0:	ff 25 10 d7 40 00    	jmp    *0x40d710
  4082b6:	90                   	nop    
  4082b7:	90                   	nop    
	...

004082c0 <_wcscmp>:
  4082c0:	ff 25 18 d7 40 00    	jmp    *0x40d718
  4082c6:	90                   	nop    
  4082c7:	90                   	nop    
	...

004082d0 <_wcscpy>:
  4082d0:	ff 25 1c d7 40 00    	jmp    *0x40d71c
  4082d6:	90                   	nop    
  4082d7:	90                   	nop    
	...

004082e0 <_memmove>:
  4082e0:	ff 25 fc d6 40 00    	jmp    *0x40d6fc
  4082e6:	90                   	nop    
  4082e7:	90                   	nop    
	...

004082f0 <__wsplitpath>:
  4082f0:	ff 25 dc d6 40 00    	jmp    *0x40d6dc
  4082f6:	90                   	nop    
  4082f7:	90                   	nop    
	...

00408300 <_qsort>:
  408300:	ff 25 04 d7 40 00    	jmp    *0x40d704
  408306:	90                   	nop    
  408307:	90                   	nop    
	...

00408310 <_wcsrchr>:
  408310:	ff 25 20 d7 40 00    	jmp    *0x40d720
  408316:	90                   	nop    
  408317:	90                   	nop    
	...

00408320 <_tolower>:
  408320:	ff 25 14 d7 40 00    	jmp    *0x40d714
  408326:	90                   	nop    
  408327:	90                   	nop    
	...

00408330 <_free>:
  408330:	ff 25 f0 d6 40 00    	jmp    *0x40d6f0
  408336:	90                   	nop    
  408337:	90                   	nop    
	...

00408340 <_malloc>:
  408340:	ff 25 f4 d6 40 00    	jmp    *0x40d6f4
  408346:	90                   	nop    
  408347:	90                   	nop    
	...

00408350 <_abort>:
  408350:	ff 25 e0 d6 40 00    	jmp    *0x40d6e0
  408356:	90                   	nop    
  408357:	90                   	nop    
	...

00408360 <_fflush>:
  408360:	ff 25 e8 d6 40 00    	jmp    *0x40d6e8
  408366:	90                   	nop    
  408367:	90                   	nop    
	...

00408370 <_fprintf>:
  408370:	ff 25 ec d6 40 00    	jmp    *0x40d6ec
  408376:	90                   	nop    
  408377:	90                   	nop    
	...

00408380 <_GetCommandLineA@0>:
  408380:	ff 25 a8 d6 40 00    	jmp    *0x40d6a8
  408386:	90                   	nop    
  408387:	90                   	nop    
	...

00408390 <_GetStartupInfoA@4>:
  408390:	ff 25 b0 d6 40 00    	jmp    *0x40d6b0
  408396:	90                   	nop    
  408397:	90                   	nop    
	...

004083a0 <_GetModuleHandleA@4>:
  4083a0:	ff 25 ac d6 40 00    	jmp    *0x40d6ac
  4083a6:	90                   	nop    
  4083a7:	90                   	nop    
	...

004083b0 <_GetAtomNameA@12>:
  4083b0:	ff 25 a4 d6 40 00    	jmp    *0x40d6a4
  4083b6:	90                   	nop    
  4083b7:	90                   	nop    
	...

004083c0 <_FindAtomA@4>:
  4083c0:	ff 25 a0 d6 40 00    	jmp    *0x40d6a0
  4083c6:	90                   	nop    
  4083c7:	90                   	nop    
	...

004083d0 <_AddAtomA@4>:
  4083d0:	ff 25 9c d6 40 00    	jmp    *0x40d69c
  4083d6:	90                   	nop    
  4083d7:	90                   	nop    
	...

004083e0 <___sjlj_init_ctor>:
  4083e0:	55                   	push   %ebp
  4083e1:	89 e5                	mov    %esp,%ebp
  4083e3:	5d                   	pop    %ebp
  4083e4:	e9 97 8e ff ff       	jmp    401280 <___do_sjlj_init>
  4083e9:	90                   	nop    
  4083ea:	90                   	nop    
  4083eb:	90                   	nop    
  4083ec:	90                   	nop    
  4083ed:	90                   	nop    
  4083ee:	90                   	nop    
  4083ef:	90                   	nop    

004083f0 <__CTOR_LIST__>:
  4083f0:	ff                   	(bad)  
  4083f1:	ff                   	(bad)  
  4083f2:	ff                   	(bad)  
  4083f3:	ff e0                	jmp    *%eax

004083f4 <.ctors>:
  4083f4:	e0 83                	loopne 408379 <_fprintf+0x9>
  4083f6:	40                   	inc    %eax
  4083f7:	00 00                	add    %al,(%eax)
  4083f9:	00 00                	add    %al,(%eax)
	...

004083fc <__DTOR_LIST__>:
  4083fc:	ff                   	(bad)  
  4083fd:	ff                   	(bad)  
  4083fe:	ff                   	(bad)  
  4083ff:	ff 00                	incl   (%eax)
  408401:	00 00                	add    %al,(%eax)
	...
