
vmwinst.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 24 1b 00 00       	call   402b60 <_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 c7 1a 00 00       	call   402b60 <_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 9e 1a 00 00       	call   402b60 <_signal>
  4010c2:	85 f6                	test   %esi,%esi
  4010c4:	74 88                	je     40104e <___crt_xc_end__+0x4e>
  4010c6:	e8 85 1c 00 00       	call   402d50 <__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 74 1a 00 00       	call   402b60 <_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 1a 19 00 00       	call   402a30 <_SetUnhandledExceptionFilter@4>
  401116:	83 ec 04             	sub    $0x4,%esp
  401119:	e8 32 1c 00 00       	call   402d50 <__fpreset>
  40111e:	c7 45 f8 00 00 00 00 	movl   $0x0,0xfffffff8(%ebp)
  401125:	b8 00 60 40 00       	mov    $0x406000,%eax
  40112a:	8d 55 f4             	lea    0xfffffff4(%ebp),%edx
  40112d:	89 5c 24 10          	mov    %ebx,0x10(%esp)
  401131:	8b 0d 00 45 40 00    	mov    0x404500,%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 60 40 00 	movl   $0x406004,(%esp)
  40114a:	e8 41 1a 00 00       	call   402b90 <___getmainargs>
  40114f:	a1 80 68 40 00       	mov    0x406880,%eax
  401154:	85 c0                	test   %eax,%eax
  401156:	74 58                	je     4011b0 <___mingw_CRTStartup+0xb0>
  401158:	a3 10 45 40 00       	mov    %eax,0x404510
  40115d:	8b 15 7c 72 40 00    	mov    0x40727c,%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 80 68 40 00       	mov    0x406880,%eax
  401175:	89 44 24 04          	mov    %eax,0x4(%esp)
  401179:	8b 1d 7c 72 40 00    	mov    0x40727c,%ebx
  40117f:	8b 4b 30             	mov    0x30(%ebx),%ecx
  401182:	89 0c 24             	mov    %ecx,(%esp)
  401185:	e8 f6 19 00 00       	call   402b80 <__setmode>
  40118a:	8b 15 7c 72 40 00    	mov    0x40727c,%edx
  401190:	83 fa c0             	cmp    $0xffffffc0,%edx
  401193:	74 1b                	je     4011b0 <___mingw_CRTStartup+0xb0>
  401195:	8b 1d 80 68 40 00    	mov    0x406880,%ebx
  40119b:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  40119f:	8b 0d 7c 72 40 00    	mov    0x40727c,%ecx
  4011a5:	8b 51 50             	mov    0x50(%ecx),%edx
  4011a8:	89 14 24             	mov    %edx,(%esp)
  4011ab:	e8 d0 19 00 00       	call   402b80 <__setmode>
  4011b0:	e8 bb 19 00 00       	call   402b70 <___p__fmode>
  4011b5:	8b 1d 10 45 40 00    	mov    0x404510,%ebx
  4011bb:	89 18                	mov    %ebx,(%eax)
  4011bd:	e8 5e 1b 00 00       	call   402d20 <__pei386_runtime_relocator>
  4011c2:	83 e4 f0             	and    $0xfffffff0,%esp
  4011c5:	e8 86 19 00 00       	call   402b50 <___p__environ>
  4011ca:	8b 08                	mov    (%eax),%ecx
  4011cc:	89 4c 24 08          	mov    %ecx,0x8(%esp)
  4011d0:	8b 15 00 60 40 00    	mov    0x406000,%edx
  4011d6:	89 54 24 04          	mov    %edx,0x4(%esp)
  4011da:	a1 04 60 40 00       	mov    0x406004,%eax
  4011df:	89 04 24             	mov    %eax,(%esp)
  4011e2:	e8 19 1a 00 00       	call   402c00 <_main>
  4011e7:	89 c3                	mov    %eax,%ebx
  4011e9:	e8 52 19 00 00       	call   402b40 <__cexit>
  4011ee:	89 1c 24             	mov    %ebx,(%esp)
  4011f1:	e8 4a 18 00 00       	call   402a40 <_ExitProcess@4>
  4011f6:	89 44 24 04          	mov    %eax,0x4(%esp)
  4011fa:	8b 15 7c 72 40 00    	mov    0x40727c,%edx
  401200:	8b 42 10             	mov    0x10(%edx),%eax
  401203:	89 04 24             	mov    %eax,(%esp)
  401206:	e8 75 19 00 00       	call   402b80 <__setmode>
  40120b:	8b 15 7c 72 40 00    	mov    0x40727c,%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 6c 72 40 00    	call   *0x40726c
  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 6c 72 40 00    	call   *0x40726c
  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 8c 72 40 00    	mov    0x40728c,%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 80 72 40 00    	mov    0x407280,%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 97 1c 00 00       	jmp    402f20 <___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 <_ExceptionHandler@4>:

/* Helper functions */

LONG WINAPI ExceptionHandler(LPEXCEPTION_POINTERS ExceptionInfo)
{
  401290:	55                   	push   %ebp
  401291:	89 e5                	mov    %esp,%ebp
  401293:	83 ec 14             	sub    $0x14,%esp
  /* This is rude, but i don't know how to continue execution properly, that's why
     we just exit here when we're not running inside of VMware */
  ExitProcess(ExceptionInfo->ExceptionRecord->ExceptionCode == STATUS_PRIVILEGED_INSTRUCTION);
  401296:	8b 45 08             	mov    0x8(%ebp),%eax
  401299:	8b 00                	mov    (%eax),%eax
  40129b:	81 38 96 00 00 c0    	cmpl   $0xc0000096,(%eax)
  4012a1:	0f 94 c0             	sete   %al
  4012a4:	25 ff 00 00 00       	and    $0xff,%eax
  4012a9:	50                   	push   %eax
  4012aa:	e8 91 17 00 00       	call   402a40 <_ExitProcess@4>
  4012af:	90                   	nop    

004012b0 <_DetectVMware>:
  return EXCEPTION_CONTINUE_EXECUTION;
}

BOOL
DetectVMware(int *Version)
{
  4012b0:	55                   	push   %ebp
  int magic, ver;
  
  magic = 0;
  ver = 0;
  
  /* Try using a VMware I/O port. If not running in VMware this'll throw an
     exception! */
  __asm__ __volatile__("inl  %%dx, %%eax"
  4012b1:	b8 68 58 4d 56       	mov    $0x564d5868,%eax
  4012b6:	89 e5                	mov    %esp,%ebp
  4012b8:	ba 58 56 00 00       	mov    $0x5658,%edx
  4012bd:	53                   	push   %ebx
  4012be:	b9 0a 00 00 00       	mov    $0xa,%ecx
  4012c3:	ed                   	in     (%dx),%eax
  4012c4:	89 c2                	mov    %eax,%edx
    : "=a" (ver), "=b" (magic)
    : "0" (0x564d5868), "d" (0x5658), "c" (0xa));

  if(magic == 0x564d5868)
  {
    *Version = ver;
    return TRUE;
  }
  
  return FALSE;
  4012c6:	31 c0                	xor    %eax,%eax
  4012c8:	81 fb 68 58 4d 56    	cmp    $0x564d5868,%ebx
  4012ce:	74 03                	je     4012d3 <_DetectVMware+0x23>
}
  4012d0:	5b                   	pop    %ebx
  4012d1:	5d                   	pop    %ebp
  4012d2:	c3                   	ret    
  4012d3:	8b 45 08             	mov    0x8(%ebp),%eax
  4012d6:	89 10                	mov    %edx,(%eax)
  4012d8:	b8 01 00 00 00       	mov    $0x1,%eax
  4012dd:	5b                   	pop    %ebx
  4012de:	5d                   	pop    %ebp
  4012df:	c3                   	ret    

004012e0 <_ProcessMessage>:

BOOL
ProcessMessage(void)
{
  4012e0:	55                   	push   %ebp
  4012e1:	89 e5                	mov    %esp,%ebp
  4012e3:	53                   	push   %ebx
  4012e4:	83 ec 30             	sub    $0x30,%esp
  MSG msg;
  if(PeekMessage(&msg, 0, 0, 0, PM_REMOVE))
  4012e7:	8d 5d d8             	lea    0xffffffd8(%ebp),%ebx
  4012ea:	6a 01                	push   $0x1
  4012ec:	6a 00                	push   $0x0
  4012ee:	6a 00                	push   $0x0
  4012f0:	6a 00                	push   $0x0
  4012f2:	53                   	push   %ebx
  4012f3:	e8 38 1f 00 00       	call   403230 <_PeekMessageW@20>
  {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
    return TRUE;
  }
  return FALSE;
  4012f8:	31 d2                	xor    %edx,%edx
  4012fa:	83 c4 0c             	add    $0xc,%esp
  4012fd:	85 c0                	test   %eax,%eax
  4012ff:	75 07                	jne    401308 <_ProcessMessage+0x28>
}
  401301:	89 d0                	mov    %edx,%eax
  401303:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  401306:	c9                   	leave  
  401307:	c3                   	ret    
  401308:	83 ec 0c             	sub    $0xc,%esp
  40130b:	53                   	push   %ebx
  40130c:	e8 2f 1f 00 00       	call   403240 <_TranslateMessage@4>
  401311:	53                   	push   %ebx
  401312:	e8 39 1f 00 00       	call   403250 <_DispatchMessageW@4>
  401317:	ba 01 00 00 00       	mov    $0x1,%edx
  40131c:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  40131f:	89 d0                	mov    %edx,%eax
  401321:	c9                   	leave  
  401322:	c3                   	ret    
  401323:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  401329:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00401330 <_ProcessMessages>:

void
ProcessMessages(void)
{
  401330:	55                   	push   %ebp
  401331:	89 e5                	mov    %esp,%ebp
  401333:	50                   	push   %eax
  401334:	50                   	push   %eax
  while(ProcessMessage());
  401335:	e8 a6 ff ff ff       	call   4012e0 <_ProcessMessage>
  40133a:	85 c0                	test   %eax,%eax
  40133c:	75 f7                	jne    401335 <_ProcessMessages+0x5>
  40133e:	c9                   	leave  
  40133f:	c3                   	ret    

00401340 <_FileExists>:
}

/* try to open the file */
BOOL
FileExists(WCHAR *Path, WCHAR *File)
{
  401340:	55                   	push   %ebp
  401341:	89 e5                	mov    %esp,%ebp
  401343:	53                   	push   %ebx
  401344:	81 ec 1c 02 00 00    	sub    $0x21c,%esp
  WCHAR FileName[MAX_PATH + 1];
  HANDLE FileHandle;
  
  FileName[0] = L'\0';
  wcscat(FileName, Path);
  40134a:	8b 4d 08             	mov    0x8(%ebp),%ecx
  40134d:	8d 9d e8 fd ff ff    	lea    0xfffffde8(%ebp),%ebx
  401353:	66 c7 85 e8 fd ff ff 	movw   $0x0,0xfffffde8(%ebp)
  40135a:	00 00 
  40135c:	51                   	push   %ecx
  40135d:	53                   	push   %ebx
  40135e:	e8 bd 17 00 00       	call   402b20 <_wcscat>
  wcscat(FileName, File);
  401363:	58                   	pop    %eax
  401364:	8b 45 0c             	mov    0xc(%ebp),%eax
  401367:	5a                   	pop    %edx
  401368:	50                   	push   %eax
  401369:	53                   	push   %ebx
  40136a:	e8 b1 17 00 00       	call   402b20 <_wcscat>

  FileHandle = CreateFile(FileName, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
  40136f:	83 c4 0c             	add    $0xc,%esp
  401372:	6a 00                	push   $0x0
  401374:	68 80 00 00 00       	push   $0x80
  401379:	6a 03                	push   $0x3
  40137b:	6a 00                	push   $0x0
  40137d:	6a 00                	push   $0x0
  40137f:	68 00 00 00 80       	push   $0x80000000
  401384:	53                   	push   %ebx
  401385:	e8 c6 16 00 00       	call   402a50 <_CreateFileW@28>
  40138a:	89 c3                	mov    %eax,%ebx
  
  if(FileHandle == INVALID_HANDLE_VALUE)
  40138c:	58                   	pop    %eax
  {
    return FALSE;
  40138d:	31 c0                	xor    %eax,%eax
  40138f:	83 fb ff             	cmp    $0xffffffff,%ebx
  401392:	74 1b                	je     4013af <_FileExists+0x6f>
  }

  if(GetFileSize(FileHandle, NULL) <= 0)
  401394:	50                   	push   %eax
  401395:	50                   	push   %eax
  401396:	6a 00                	push   $0x0
  401398:	53                   	push   %ebx
  401399:	e8 c2 16 00 00       	call   402a60 <_GetFileSize@8>
  40139e:	5a                   	pop    %edx
  40139f:	85 c0                	test   %eax,%eax
  4013a1:	59                   	pop    %ecx
  4013a2:	75 10                	jne    4013b4 <_FileExists+0x74>
  {
    CloseHandle(FileHandle);
  4013a4:	83 ec 0c             	sub    $0xc,%esp
  4013a7:	53                   	push   %ebx
  4013a8:	e8 c3 16 00 00       	call   402a70 <_CloseHandle@4>
    return FALSE;
  4013ad:	31 c0                	xor    %eax,%eax
  }
  
  CloseHandle(FileHandle);
  return TRUE;
}
  4013af:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  4013b2:	c9                   	leave  
  4013b3:	c3                   	ret    
  4013b4:	83 ec 0c             	sub    $0xc,%esp
  4013b7:	53                   	push   %ebx
  4013b8:	e8 b3 16 00 00       	call   402a70 <_CloseHandle@4>
  4013bd:	b8 01 00 00 00       	mov    $0x1,%eax
  4013c2:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  4013c5:	c9                   	leave  
  4013c6:	c3                   	ret    
  4013c7:	89 f6                	mov    %esi,%esi
  4013c9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004013d0 <_CenterWindow>:

static VOID
CenterWindow(HWND hWnd)
{
  4013d0:	55                   	push   %ebp
  4013d1:	89 e5                	mov    %esp,%ebp
  4013d3:	53                   	push   %ebx
  4013d4:	83 ec 30             	sub    $0x30,%esp
  4013d7:	89 c3                	mov    %eax,%ebx
  HWND hWndParent;
  RECT rcParent;
  RECT rcWindow;

  hWndParent = GetParent(hWnd);
  4013d9:	50                   	push   %eax
  4013da:	e8 81 1e 00 00       	call   403260 <_GetParent@4>
  if (hWndParent == NULL)
  4013df:	83 c4 0c             	add    $0xc,%esp
  4013e2:	89 c2                	mov    %eax,%edx
  4013e4:	85 c0                	test   %eax,%eax
  4013e6:	74 66                	je     40144e <_CenterWindow+0x7e>
    hWndParent = GetDesktopWindow();

  GetWindowRect(hWndParent, &rcParent);
  4013e8:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
  4013eb:	51                   	push   %ecx
  4013ec:	51                   	push   %ecx
  4013ed:	50                   	push   %eax
  4013ee:	52                   	push   %edx
  4013ef:	e8 7c 1e 00 00       	call   403270 <_GetWindowRect@8>
  GetWindowRect(hWnd, &rcWindow);
  4013f4:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
  4013f7:	50                   	push   %eax
  4013f8:	53                   	push   %ebx
  4013f9:	e8 72 1e 00 00       	call   403270 <_GetWindowRect@8>

  SetWindowPos(hWnd,
  4013fe:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
  401401:	8b 45 f4             	mov    0xfffffff4(%ebp),%eax
  401404:	8b 4d dc             	mov    0xffffffdc(%ebp),%ecx
  401407:	29 d0                	sub    %edx,%eax
  401409:	8b 55 e4             	mov    0xffffffe4(%ebp),%edx
  40140c:	29 ca                	sub    %ecx,%edx
  40140e:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
  401415:	29 d0                	sub    %edx,%eax
  401417:	6a 00                	push   $0x0
  401419:	89 c2                	mov    %eax,%edx
  40141b:	6a 00                	push   $0x0
  40141d:	c1 ea 1f             	shr    $0x1f,%edx
  401420:	8b 4d d8             	mov    0xffffffd8(%ebp),%ecx
  401423:	01 d0                	add    %edx,%eax
  401425:	8b 55 e8             	mov    0xffffffe8(%ebp),%edx
  401428:	d1 f8                	sar    %eax
  40142a:	50                   	push   %eax
  40142b:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  40142e:	29 d0                	sub    %edx,%eax
  401430:	8b 55 e0             	mov    0xffffffe0(%ebp),%edx
  401433:	29 ca                	sub    %ecx,%edx
  401435:	29 d0                	sub    %edx,%eax
  401437:	89 c2                	mov    %eax,%edx
  401439:	c1 ea 1f             	shr    $0x1f,%edx
  40143c:	01 d0                	add    %edx,%eax
  40143e:	d1 f8                	sar    %eax
  401440:	50                   	push   %eax
  401441:	6a 00                	push   $0x0
  401443:	53                   	push   %ebx
  401444:	e8 37 1e 00 00       	call   403280 <_SetWindowPos@28>
  401449:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  40144c:	c9                   	leave  
  40144d:	c3                   	ret    
  40144e:	e8 3d 1e 00 00       	call   403290 <_GetDesktopWindow@0>
  401453:	89 c2                	mov    %eax,%edx
  401455:	eb 91                	jmp    4013e8 <_CenterWindow+0x18>
  401457:	89 f6                	mov    %esi,%esi
  401459:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00401460 <_InstallFile>:
	       HWND_TOP,
	       ((rcParent.right - rcParent.left) - (rcWindow.right - rcWindow.left)) / 2,
	       ((rcParent.bottom - rcParent.top) - (rcWindow.bottom - rcWindow.top)) / 2,
	       0,
	       0,
	       SWP_NOSIZE);
}


/* Copy file */
BOOL
InstallFile(WCHAR *Destination, WCHAR *File)
{
  401460:	55                   	push   %ebp
  401461:	89 e5                	mov    %esp,%ebp
  401463:	57                   	push   %edi
  401464:	56                   	push   %esi
  401465:	53                   	push   %ebx
  401466:	81 ec 44 04 00 00    	sub    $0x444,%esp
  static char Buffer[1024];
  WCHAR SourceFileName[MAX_PATH + 1];
  WCHAR DestFileName[MAX_PATH + 1];
  HANDLE SourceFileHandle, DestFileHandle;
  DWORD DataRead, DataWritten;
  
  SourceFileName[0] = L'\0';
  DestFileName[0] = L'\0';
  wcscat(SourceFileName, SrcPath);
  40146c:	8d 9d d8 fd ff ff    	lea    0xfffffdd8(%ebp),%ebx
  401472:	8b 0d 0c 40 40 00    	mov    0x40400c,%ecx
  401478:	66 c7 85 d8 fd ff ff 	movw   $0x0,0xfffffdd8(%ebp)
  40147f:	00 00 
  401481:	66 c7 85 c8 fb ff ff 	movw   $0x0,0xfffffbc8(%ebp)
  401488:	00 00 
  40148a:	8b 75 0c             	mov    0xc(%ebp),%esi
  40148d:	51                   	push   %ecx
  40148e:	53                   	push   %ebx
  40148f:	e8 8c 16 00 00       	call   402b20 <_wcscat>
  wcscat(SourceFileName, File);
  401494:	58                   	pop    %eax
  401495:	5a                   	pop    %edx
  401496:	56                   	push   %esi
  401497:	53                   	push   %ebx
  401498:	e8 83 16 00 00       	call   402b20 <_wcscat>
  wcscat(DestFileName, Destination);
  40149d:	8b 4d 08             	mov    0x8(%ebp),%ecx
  4014a0:	5f                   	pop    %edi
  4014a1:	58                   	pop    %eax
  4014a2:	8d 85 c8 fb ff ff    	lea    0xfffffbc8(%ebp),%eax
  4014a8:	51                   	push   %ecx
  4014a9:	50                   	push   %eax
  4014aa:	e8 71 16 00 00       	call   402b20 <_wcscat>
  wcscat(DestFileName, File);
  4014af:	58                   	pop    %eax
  4014b0:	8d 85 c8 fb ff ff    	lea    0xfffffbc8(%ebp),%eax
  4014b6:	5a                   	pop    %edx
  4014b7:	56                   	push   %esi
  4014b8:	50                   	push   %eax
  4014b9:	e8 62 16 00 00       	call   402b20 <_wcscat>
  
  SourceFileHandle = CreateFile(SourceFileName, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
  4014be:	83 c4 0c             	add    $0xc,%esp
  4014c1:	6a 00                	push   $0x0
  4014c3:	68 80 00 00 00       	push   $0x80
  4014c8:	6a 03                	push   $0x3
  4014ca:	6a 00                	push   $0x0
  4014cc:	6a 00                	push   $0x0
  4014ce:	68 00 00 00 80       	push   $0x80000000
  4014d3:	53                   	push   %ebx
  4014d4:	e8 77 15 00 00       	call   402a50 <_CreateFileW@28>
  4014d9:	89 c6                	mov    %eax,%esi
  if(SourceFileHandle == INVALID_HANDLE_VALUE)
  4014db:	58                   	pop    %eax
  {
    return FALSE;
  4014dc:	31 c0                	xor    %eax,%eax
  4014de:	83 fe ff             	cmp    $0xffffffff,%esi
  4014e1:	0f 84 a2 00 00 00    	je     401589 <_InstallFile+0x129>
  }
  DestFileHandle = CreateFile(DestFileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
  4014e7:	50                   	push   %eax
  4014e8:	8d 85 c8 fb ff ff    	lea    0xfffffbc8(%ebp),%eax
  4014ee:	6a 00                	push   $0x0
  4014f0:	68 80 00 00 00       	push   $0x80
  4014f5:	6a 02                	push   $0x2
  4014f7:	6a 00                	push   $0x0
  4014f9:	6a 00                	push   $0x0
  4014fb:	68 00 00 00 40       	push   $0x40000000
  401500:	50                   	push   %eax
  401501:	e8 4a 15 00 00       	call   402a50 <_CreateFileW@28>
  if(DestFileHandle == INVALID_HANDLE_VALUE)
  401506:	5f                   	pop    %edi
  401507:	89 c3                	mov    %eax,%ebx
  401509:	8d bd c0 fb ff ff    	lea    0xfffffbc0(%ebp),%edi
  40150f:	83 f8 ff             	cmp    $0xffffffff,%eax
  401512:	0f 84 95 00 00 00    	je     4015ad <_InstallFile+0x14d>
  {
    CloseHandle(SourceFileHandle);
    return FALSE;
  }
  
  while(ReadFile(SourceFileHandle, Buffer, sizeof(Buffer), &DataRead, NULL) && DataRead > 0)
  {
    if(!WriteFile(DestFileHandle, Buffer, DataRead, &DataWritten, NULL) ||
       DataRead != DataWritten)
    {
      CloseHandle(SourceFileHandle);
      CloseHandle(DestFileHandle);
      DeleteFile(DestFileName);
      return FALSE;
  401518:	83 ec 0c             	sub    $0xc,%esp
  40151b:	6a 00                	push   $0x0
  40151d:	57                   	push   %edi
  40151e:	68 00 04 00 00       	push   $0x400
  401523:	68 58 60 40 00       	push   $0x406058
  401528:	56                   	push   %esi
  401529:	e8 52 15 00 00       	call   402a80 <_ReadFile@20>
  40152e:	83 c4 0c             	add    $0xc,%esp
  401531:	85 c0                	test   %eax,%eax
  401533:	74 5c                	je     401591 <_InstallFile+0x131>
  401535:	8b 95 c0 fb ff ff    	mov    0xfffffbc0(%ebp),%edx
  40153b:	85 d2                	test   %edx,%edx
  40153d:	74 52                	je     401591 <_InstallFile+0x131>
  40153f:	83 ec 0c             	sub    $0xc,%esp
  401542:	8d 85 c4 fb ff ff    	lea    0xfffffbc4(%ebp),%eax
  401548:	6a 00                	push   $0x0
  40154a:	50                   	push   %eax
  40154b:	52                   	push   %edx
  40154c:	68 58 60 40 00       	push   $0x406058
  401551:	53                   	push   %ebx
  401552:	e8 39 15 00 00       	call   402a90 <_WriteFile@20>
  401557:	83 c4 0c             	add    $0xc,%esp
  40155a:	85 c0                	test   %eax,%eax
  40155c:	74 0e                	je     40156c <_InstallFile+0x10c>
  40155e:	8b 85 c4 fb ff ff    	mov    0xfffffbc4(%ebp),%eax
  401564:	39 85 c0 fb ff ff    	cmp    %eax,0xfffffbc0(%ebp)
  40156a:	74 ac                	je     401518 <_InstallFile+0xb8>
  40156c:	83 ec 0c             	sub    $0xc,%esp
  40156f:	56                   	push   %esi
  401570:	e8 fb 14 00 00       	call   402a70 <_CloseHandle@4>
  401575:	53                   	push   %ebx
  401576:	e8 f5 14 00 00       	call   402a70 <_CloseHandle@4>
  40157b:	8d 85 c8 fb ff ff    	lea    0xfffffbc8(%ebp),%eax
  401581:	50                   	push   %eax
  401582:	e8 19 15 00 00       	call   402aa0 <_DeleteFileW@4>
  401587:	31 c0                	xor    %eax,%eax
    }
  }
  
  CloseHandle(SourceFileHandle);
  CloseHandle(DestFileHandle);
  return TRUE;
}
  401589:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  40158c:	5b                   	pop    %ebx
  40158d:	5e                   	pop    %esi
  40158e:	5f                   	pop    %edi
  40158f:	5d                   	pop    %ebp
  401590:	c3                   	ret    
  401591:	83 ec 0c             	sub    $0xc,%esp
  401594:	56                   	push   %esi
  401595:	e8 d6 14 00 00       	call   402a70 <_CloseHandle@4>
  40159a:	53                   	push   %ebx
  40159b:	e8 d0 14 00 00       	call   402a70 <_CloseHandle@4>
  4015a0:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4015a3:	b8 01 00 00 00       	mov    $0x1,%eax
  4015a8:	5b                   	pop    %ebx
  4015a9:	5e                   	pop    %esi
  4015aa:	5f                   	pop    %edi
  4015ab:	5d                   	pop    %ebp
  4015ac:	c3                   	ret    
  4015ad:	83 ec 0c             	sub    $0xc,%esp
  4015b0:	56                   	push   %esi
  4015b1:	e8 ba 14 00 00       	call   402a70 <_CloseHandle@4>
  4015b6:	eb cf                	jmp    401587 <_InstallFile+0x127>
  4015b8:	90                   	nop    
  4015b9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

004015c0 <_IsVMwareCDInDrive>:

/* Find the drive with the inserted VMware cd-rom */
BOOL
IsVMwareCDInDrive(WCHAR *Drv)
{
  4015c0:	55                   	push   %ebp
  4015c1:	89 e5                	mov    %esp,%ebp
  4015c3:	56                   	push   %esi
  4015c4:	53                   	push   %ebx
  static WCHAR Drive[4] = L"X:\\";
  WCHAR Current;
  
  *Drv = L'\0';
  for(Current = 'C'; Current <= 'Z'; Current++)
  4015c5:	bb 43 00 00 00       	mov    $0x43,%ebx
  4015ca:	8b 75 08             	mov    0x8(%ebp),%esi
  4015cd:	66 c7 06 00 00       	movw   $0x0,(%esi)
  4015d2:	eb 31                	jmp    401605 <_IsVMwareCDInDrive+0x45>
  {
    Drive[0] = Current;
#if CHECKDRIVETYPE
    if(GetDriveType(Drive) == DRIVE_CDROM)
    {
#endif
      PathToVideoDrivers40[0] = Current;
      PathToVideoDrivers45[0] = Current;
      if(SetCurrentDirectory(PathToVideoDrivers45))
        SrcPath = PathToVideoDrivers45;
  4015d4:	c7 05 0c 40 40 00 20 	movl   $0x404020,0x40400c
  4015db:	40 40 00 
      else if(SetCurrentDirectory(PathToVideoDrivers40))
        SrcPath = PathToVideoDrivers40;
      else
      {
        SetCurrentDirectory(DestinationPath);
        continue;
      }
      
      if(FileExists(SrcPath, vmx_fb) &&
  4015de:	8b 0d 08 40 40 00    	mov    0x404008,%ecx
  4015e4:	8b 15 0c 40 40 00    	mov    0x40400c,%edx
  4015ea:	50                   	push   %eax
  4015eb:	50                   	push   %eax
  4015ec:	51                   	push   %ecx
  4015ed:	52                   	push   %edx
  4015ee:	e8 4d fd ff ff       	call   401340 <_FileExists>
  4015f3:	83 c4 10             	add    $0x10,%esp
  4015f6:	85 c0                	test   %eax,%eax
  4015f8:	75 6e                	jne    401668 <_IsVMwareCDInDrive+0xa8>
  4015fa:	43                   	inc    %ebx
  4015fb:	66 83 fb 5a          	cmp    $0x5a,%bx
  4015ff:	0f 87 c6 00 00 00    	ja     4016cb <_IsVMwareCDInDrive+0x10b>
  401605:	83 ec 0c             	sub    $0xc,%esp
  401608:	66 89 1d 4a 44 40 00 	mov    %bx,0x40444a
  40160f:	66 89 1d 40 42 40 00 	mov    %bx,0x404240
  401616:	66 89 1d 20 40 40 00 	mov    %bx,0x404020
  40161d:	68 20 40 40 00       	push   $0x404020
  401622:	e8 89 14 00 00       	call   402ab0 <_SetCurrentDirectoryW@4>
  401627:	83 c4 0c             	add    $0xc,%esp
  40162a:	85 c0                	test   %eax,%eax
  40162c:	75 a6                	jne    4015d4 <_IsVMwareCDInDrive+0x14>
  40162e:	83 ec 0c             	sub    $0xc,%esp
  401631:	68 40 42 40 00       	push   $0x404240
  401636:	e8 75 14 00 00       	call   402ab0 <_SetCurrentDirectoryW@4>
  40163b:	83 c4 0c             	add    $0xc,%esp
  40163e:	85 c0                	test   %eax,%eax
  401640:	74 6e                	je     4016b0 <_IsVMwareCDInDrive+0xf0>
  401642:	c7 05 0c 40 40 00 40 	movl   $0x404240,0x40400c
  401649:	42 40 00 
  40164c:	8b 0d 08 40 40 00    	mov    0x404008,%ecx
  401652:	8b 15 0c 40 40 00    	mov    0x40400c,%edx
  401658:	50                   	push   %eax
  401659:	50                   	push   %eax
  40165a:	51                   	push   %ecx
  40165b:	52                   	push   %edx
  40165c:	e8 df fc ff ff       	call   401340 <_FileExists>
  401661:	83 c4 10             	add    $0x10,%esp
  401664:	85 c0                	test   %eax,%eax
  401666:	74 92                	je     4015fa <_IsVMwareCDInDrive+0x3a>
  401668:	50                   	push   %eax
  401669:	50                   	push   %eax
  40166a:	a1 04 40 40 00       	mov    0x404004,%eax
  40166f:	50                   	push   %eax
  401670:	a1 0c 40 40 00       	mov    0x40400c,%eax
  401675:	50                   	push   %eax
  401676:	e8 c5 fc ff ff       	call   401340 <_FileExists>
  40167b:	83 c4 10             	add    $0x10,%esp
  40167e:	85 c0                	test   %eax,%eax
  401680:	0f 84 74 ff ff ff    	je     4015fa <_IsVMwareCDInDrive+0x3a>
  401686:	50                   	push   %eax
  401687:	50                   	push   %eax
  401688:	a1 00 40 40 00       	mov    0x404000,%eax
  40168d:	50                   	push   %eax
  40168e:	a1 0c 40 40 00       	mov    0x40400c,%eax
  401693:	50                   	push   %eax
  401694:	e8 a7 fc ff ff       	call   401340 <_FileExists>
  401699:	83 c4 10             	add    $0x10,%esp
  40169c:	85 c0                	test   %eax,%eax
  40169e:	0f 84 56 ff ff ff    	je     4015fa <_IsVMwareCDInDrive+0x3a>
         FileExists(SrcPath, vmx_mode) &&
         FileExists(SrcPath, vmx_svga))
      {
        *Drv = Current;
        return TRUE;
  4016a4:	b8 01 00 00 00       	mov    $0x1,%eax
  4016a9:	66 89 1e             	mov    %bx,(%esi)
  4016ac:	eb 1f                	jmp    4016cd <_IsVMwareCDInDrive+0x10d>
  4016ae:	89 f6                	mov    %esi,%esi
  4016b0:	83 ec 0c             	sub    $0xc,%esp
  4016b3:	43                   	inc    %ebx
  4016b4:	68 68 66 40 00       	push   $0x406668
  4016b9:	e8 f2 13 00 00       	call   402ab0 <_SetCurrentDirectoryW@4>
  4016be:	83 c4 0c             	add    $0xc,%esp
  4016c1:	66 83 fb 5a          	cmp    $0x5a,%bx
  4016c5:	0f 86 3a ff ff ff    	jbe    401605 <_IsVMwareCDInDrive+0x45>
      }
#if CHECKDRIVETYPE
    }
#endif
  }
  
  return FALSE;
  4016cb:	31 c0                	xor    %eax,%eax
}
  4016cd:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  4016d0:	5b                   	pop    %ebx
  4016d1:	5e                   	pop    %esi
  4016d2:	5d                   	pop    %ebp
  4016d3:	c3                   	ret    
  4016d4:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4016da:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

004016e0 <_LoadResolutionSettings>:

BOOL
LoadResolutionSettings(DWORD *ResX, DWORD *ResY, DWORD *ColDepth)
{
  4016e0:	55                   	push   %ebp
  4016e1:	89 e5                	mov    %esp,%ebp
  4016e3:	56                   	push   %esi
  4016e4:	53                   	push   %ebx
  4016e5:	83 ec 1c             	sub    $0x1c,%esp
  HKEY hReg;
  DWORD Type, Size;
  
  if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, 
  4016e8:	8d 45 f4             	lea    0xfffffff4(%ebp),%eax
  4016eb:	50                   	push   %eax
  4016ec:	6a 01                	push   $0x1
  4016ee:	6a 00                	push   $0x0
  4016f0:	68 4c 50 40 00       	push   $0x40504c
  4016f5:	68 02 00 00 80       	push   $0x80000002
  4016fa:	e8 a1 14 00 00       	call   402ba0 <_RegOpenKeyExW@20>
                  L"SYSTEM\\CurrentControlSet\\Hardware Profiles\\Current\\System\\CurrentControlSet\\Services\\vmx_svga\\Device0", 
                  0, KEY_QUERY_VALUE, &hReg) != ERROR_SUCCESS)
  {
    return FALSE;
  4016ff:	31 d2                	xor    %edx,%edx
  401701:	83 c4 0c             	add    $0xc,%esp
  401704:	85 c0                	test   %eax,%eax
  401706:	74 09                	je     401711 <_LoadResolutionSettings+0x31>
  }
  if(RegQueryValueEx(hReg, L"DefaultSettings.BitsPerPel", 0, &Type, (BYTE*)ColDepth, &Size) != ERROR_SUCCESS ||
     Type != REG_DWORD)
  {
    RegCloseKey(hReg);
    return FALSE;
  }
  
  if(RegQueryValueEx(hReg, L"DefaultSettings.XResolution", 0, &Type, (BYTE*)ResX, &Size) != ERROR_SUCCESS ||
     Type != REG_DWORD)
  {
    RegCloseKey(hReg);
    return FALSE;
  }
  
  if(RegQueryValueEx(hReg, L"DefaultSettings.YResolution", 0, &Type, (BYTE*)ResY, &Size) != ERROR_SUCCESS ||
     Type != REG_DWORD)
  {
    RegCloseKey(hReg);
    return FALSE;
  }
  
  RegCloseKey(hReg);
  return TRUE;
}
  401708:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  40170b:	89 d0                	mov    %edx,%eax
  40170d:	5b                   	pop    %ebx
  40170e:	5e                   	pop    %esi
  40170f:	5d                   	pop    %ebp
  401710:	c3                   	ret    
  401711:	8d 75 f0             	lea    0xfffffff0(%ebp),%esi
  401714:	50                   	push   %eax
  401715:	50                   	push   %eax
  401716:	56                   	push   %esi
  401717:	8d 5d ec             	lea    0xffffffec(%ebp),%ebx
  40171a:	8b 45 10             	mov    0x10(%ebp),%eax
  40171d:	50                   	push   %eax
  40171e:	53                   	push   %ebx
  40171f:	6a 00                	push   $0x0
  401721:	68 18 51 40 00       	push   $0x405118
  401726:	8b 45 f4             	mov    0xfffffff4(%ebp),%eax
  401729:	50                   	push   %eax
  40172a:	e8 81 14 00 00       	call   402bb0 <_RegQueryValueExW@24>
  40172f:	5a                   	pop    %edx
  401730:	85 c0                	test   %eax,%eax
  401732:	59                   	pop    %ecx
  401733:	75 06                	jne    40173b <_LoadResolutionSettings+0x5b>
  401735:	83 7d ec 04          	cmpl   $0x4,0xffffffec(%ebp)
  401739:	74 17                	je     401752 <_LoadResolutionSettings+0x72>
  40173b:	83 ec 0c             	sub    $0xc,%esp
  40173e:	8b 45 f4             	mov    0xfffffff4(%ebp),%eax
  401741:	50                   	push   %eax
  401742:	e8 79 14 00 00       	call   402bc0 <_RegCloseKey@4>
  401747:	31 d2                	xor    %edx,%edx
  401749:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  40174c:	89 d0                	mov    %edx,%eax
  40174e:	5b                   	pop    %ebx
  40174f:	5e                   	pop    %esi
  401750:	5d                   	pop    %ebp
  401751:	c3                   	ret    
  401752:	50                   	push   %eax
  401753:	50                   	push   %eax
  401754:	56                   	push   %esi
  401755:	8b 45 08             	mov    0x8(%ebp),%eax
  401758:	50                   	push   %eax
  401759:	53                   	push   %ebx
  40175a:	6a 00                	push   $0x0
  40175c:	68 50 51 40 00       	push   $0x405150
  401761:	8b 45 f4             	mov    0xfffffff4(%ebp),%eax
  401764:	50                   	push   %eax
  401765:	e8 46 14 00 00       	call   402bb0 <_RegQueryValueExW@24>
  40176a:	5a                   	pop    %edx
  40176b:	85 c0                	test   %eax,%eax
  40176d:	59                   	pop    %ecx
  40176e:	75 cb                	jne    40173b <_LoadResolutionSettings+0x5b>
  401770:	83 7d ec 04          	cmpl   $0x4,0xffffffec(%ebp)
  401774:	75 c5                	jne    40173b <_LoadResolutionSettings+0x5b>
  401776:	50                   	push   %eax
  401777:	50                   	push   %eax
  401778:	56                   	push   %esi
  401779:	8b 75 0c             	mov    0xc(%ebp),%esi
  40177c:	56                   	push   %esi
  40177d:	53                   	push   %ebx
  40177e:	6a 00                	push   $0x0
  401780:	68 88 51 40 00       	push   $0x405188
  401785:	8b 5d f4             	mov    0xfffffff4(%ebp),%ebx
  401788:	53                   	push   %ebx
  401789:	e8 22 14 00 00       	call   402bb0 <_RegQueryValueExW@24>
  40178e:	5a                   	pop    %edx
  40178f:	85 c0                	test   %eax,%eax
  401791:	59                   	pop    %ecx
  401792:	75 a7                	jne    40173b <_LoadResolutionSettings+0x5b>
  401794:	83 7d ec 04          	cmpl   $0x4,0xffffffec(%ebp)
  401798:	75 a1                	jne    40173b <_LoadResolutionSettings+0x5b>
  40179a:	83 ec 0c             	sub    $0xc,%esp
  40179d:	8b 45 f4             	mov    0xfffffff4(%ebp),%eax
  4017a0:	50                   	push   %eax
  4017a1:	e8 1a 14 00 00       	call   402bc0 <_RegCloseKey@4>
  4017a6:	ba 01 00 00 00       	mov    $0x1,%edx
  4017ab:	e9 58 ff ff ff       	jmp    401708 <_LoadResolutionSettings+0x28>

004017b0 <_IsVmwSVGAEnabled>:

BOOL
IsVmwSVGAEnabled(VOID)
{
  4017b0:	55                   	push   %ebp
  4017b1:	89 e5                	mov    %esp,%ebp
  4017b3:	83 ec 24             	sub    $0x24,%esp
  HKEY hReg;
  DWORD Type, Size, Value;
  
  if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, 
  4017b6:	8d 45 fc             	lea    0xfffffffc(%ebp),%eax
  4017b9:	50                   	push   %eax
  4017ba:	6a 01                	push   $0x1
  4017bc:	6a 00                	push   $0x0
  4017be:	68 c0 51 40 00       	push   $0x4051c0
  4017c3:	68 02 00 00 80       	push   $0x80000002
  4017c8:	e8 d3 13 00 00       	call   402ba0 <_RegOpenKeyExW@20>
                  L"SYSTEM\\CurrentControlSet\\Services\\vmx_svga", 
                  0, KEY_QUERY_VALUE, &hReg) != ERROR_SUCCESS)
  {
    return FALSE;
  4017cd:	31 d2                	xor    %edx,%edx
  4017cf:	83 c4 0c             	add    $0xc,%esp
  4017d2:	85 c0                	test   %eax,%eax
  4017d4:	74 0a                	je     4017e0 <_IsVmwSVGAEnabled+0x30>
  }
  if(RegQueryValueEx(hReg, L"Start", 0, &Type, (BYTE*)&Value, &Size) != ERROR_SUCCESS ||
     Type != REG_DWORD)
  {
    RegCloseKey(hReg);
    return FALSE;
  }
  
  RegCloseKey(hReg);
  return (Value == 1);
}
  4017d6:	89 d0                	mov    %edx,%eax
  4017d8:	c9                   	leave  
  4017d9:	c3                   	ret    
  4017da:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  4017e0:	50                   	push   %eax
  4017e1:	50                   	push   %eax
  4017e2:	8d 45 f8             	lea    0xfffffff8(%ebp),%eax
  4017e5:	50                   	push   %eax
  4017e6:	8d 45 f4             	lea    0xfffffff4(%ebp),%eax
  4017e9:	50                   	push   %eax
  4017ea:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
  4017ed:	50                   	push   %eax
  4017ee:	6a 00                	push   $0x0
  4017f0:	68 16 52 40 00       	push   $0x405216
  4017f5:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  4017f8:	50                   	push   %eax
  4017f9:	e8 b2 13 00 00       	call   402bb0 <_RegQueryValueExW@24>
  4017fe:	5a                   	pop    %edx
  4017ff:	85 c0                	test   %eax,%eax
  401801:	59                   	pop    %ecx
  401802:	75 06                	jne    40180a <_IsVmwSVGAEnabled+0x5a>
  401804:	83 7d f0 04          	cmpl   $0x4,0xfffffff0(%ebp)
  401808:	74 12                	je     40181c <_IsVmwSVGAEnabled+0x6c>
  40180a:	83 ec 0c             	sub    $0xc,%esp
  40180d:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  401810:	50                   	push   %eax
  401811:	e8 aa 13 00 00       	call   402bc0 <_RegCloseKey@4>
  401816:	31 d2                	xor    %edx,%edx
  401818:	c9                   	leave  
  401819:	89 d0                	mov    %edx,%eax
  40181b:	c3                   	ret    
  40181c:	83 ec 0c             	sub    $0xc,%esp
  40181f:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  401822:	50                   	push   %eax
  401823:	e8 98 13 00 00       	call   402bc0 <_RegCloseKey@4>
  401828:	83 c4 0c             	add    $0xc,%esp
  40182b:	83 7d f4 01          	cmpl   $0x1,0xfffffff4(%ebp)
  40182f:	0f 94 c0             	sete   %al
  401832:	31 d2                	xor    %edx,%edx
  401834:	c9                   	leave  
  401835:	88 c2                	mov    %al,%dl
  401837:	89 d0                	mov    %edx,%eax
  401839:	c3                   	ret    
  40183a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

00401840 <_SaveResolutionSettings>:



BOOL
SaveResolutionSettings(DWORD ResX, DWORD ResY, DWORD ColDepth)
{
  401840:	55                   	push   %ebp
  401841:	89 e5                	mov    %esp,%ebp
  401843:	83 ec 14             	sub    $0x14,%esp
  HKEY hReg;
  
  if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, 
  401846:	8d 45 fc             	lea    0xfffffffc(%ebp),%eax
  401849:	50                   	push   %eax
  40184a:	6a 01                	push   $0x1
  40184c:	6a 00                	push   $0x0
  40184e:	68 4c 50 40 00       	push   $0x40504c
  401853:	68 02 00 00 80       	push   $0x80000002
  401858:	e8 43 13 00 00       	call   402ba0 <_RegOpenKeyExW@20>
                  L"SYSTEM\\CurrentControlSet\\Hardware Profiles\\Current\\System\\CurrentControlSet\\Services\\vmx_svga\\Device0", 
                  0, KEY_QUERY_VALUE, &hReg) != ERROR_SUCCESS)
  {
    return FALSE;
  40185d:	31 d2                	xor    %edx,%edx
  40185f:	83 c4 0c             	add    $0xc,%esp
  401862:	85 c0                	test   %eax,%eax
  401864:	74 0a                	je     401870 <_SaveResolutionSettings+0x30>
  }
  if(RegSetValueEx(hReg, L"DefaultSettings.BitsPerPel", 0, REG_DWORD, (BYTE*)&ColDepth, sizeof(DWORD)) != ERROR_SUCCESS)
  {
    RegCloseKey(hReg);
    return FALSE;
  }
  
  if(RegSetValueEx(hReg, L"DefaultSettings.XResolution", 0, REG_DWORD, (BYTE*)&ResX, sizeof(DWORD)) != ERROR_SUCCESS)
  {
    RegCloseKey(hReg);
    return FALSE;
  }
  
  if(RegSetValueEx(hReg, L"DefaultSettings.YResolution", 0, REG_DWORD, (BYTE*)&ResY, sizeof(DWORD)) != ERROR_SUCCESS)
  {
    RegCloseKey(hReg);
    return FALSE;
  }
  
  RegCloseKey(hReg);
  return TRUE;
}
  401866:	89 d0                	mov    %edx,%eax
  401868:	c9                   	leave  
  401869:	c3                   	ret    
  40186a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  401870:	50                   	push   %eax
  401871:	50                   	push   %eax
  401872:	8d 45 10             	lea    0x10(%ebp),%eax
  401875:	6a 04                	push   $0x4
  401877:	50                   	push   %eax
  401878:	6a 04                	push   $0x4
  40187a:	6a 00                	push   $0x0
  40187c:	68 18 51 40 00       	push   $0x405118
  401881:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  401884:	50                   	push   %eax
  401885:	e8 46 13 00 00       	call   402bd0 <_RegSetValueExW@24>
  40188a:	5a                   	pop    %edx
  40188b:	85 c0                	test   %eax,%eax
  40188d:	59                   	pop    %ecx
  40188e:	75 40                	jne    4018d0 <_SaveResolutionSettings+0x90>
  401890:	50                   	push   %eax
  401891:	50                   	push   %eax
  401892:	8d 45 08             	lea    0x8(%ebp),%eax
  401895:	6a 04                	push   $0x4
  401897:	50                   	push   %eax
  401898:	6a 04                	push   $0x4
  40189a:	6a 00                	push   $0x0
  40189c:	68 50 51 40 00       	push   $0x405150
  4018a1:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  4018a4:	50                   	push   %eax
  4018a5:	e8 26 13 00 00       	call   402bd0 <_RegSetValueExW@24>
  4018aa:	5a                   	pop    %edx
  4018ab:	85 c0                	test   %eax,%eax
  4018ad:	59                   	pop    %ecx
  4018ae:	75 20                	jne    4018d0 <_SaveResolutionSettings+0x90>
  4018b0:	50                   	push   %eax
  4018b1:	50                   	push   %eax
  4018b2:	8d 45 0c             	lea    0xc(%ebp),%eax
  4018b5:	6a 04                	push   $0x4
  4018b7:	50                   	push   %eax
  4018b8:	6a 04                	push   $0x4
  4018ba:	6a 00                	push   $0x0
  4018bc:	68 88 51 40 00       	push   $0x405188
  4018c1:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  4018c4:	50                   	push   %eax
  4018c5:	e8 06 13 00 00       	call   402bd0 <_RegSetValueExW@24>
  4018ca:	5a                   	pop    %edx
  4018cb:	85 c0                	test   %eax,%eax
  4018cd:	59                   	pop    %ecx
  4018ce:	74 12                	je     4018e2 <_SaveResolutionSettings+0xa2>
  4018d0:	83 ec 0c             	sub    $0xc,%esp
  4018d3:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  4018d6:	50                   	push   %eax
  4018d7:	e8 e4 12 00 00       	call   402bc0 <_RegCloseKey@4>
  4018dc:	31 d2                	xor    %edx,%edx
  4018de:	c9                   	leave  
  4018df:	89 d0                	mov    %edx,%eax
  4018e1:	c3                   	ret    
  4018e2:	83 ec 0c             	sub    $0xc,%esp
  4018e5:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  4018e8:	50                   	push   %eax
  4018e9:	e8 d2 12 00 00       	call   402bc0 <_RegCloseKey@4>
  4018ee:	ba 01 00 00 00       	mov    $0x1,%edx
  4018f3:	c9                   	leave  
  4018f4:	89 d0                	mov    %edx,%eax
  4018f6:	c3                   	ret    
  4018f7:	89 f6                	mov    %esi,%esi
  4018f9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00401900 <_EnableDriver>:

BOOL
EnableDriver(WCHAR *Key, BOOL Enable)
{
  401900:	55                   	push   %ebp
  401901:	89 e5                	mov    %esp,%ebp
  401903:	83 ec 14             	sub    $0x14,%esp
  DWORD Value;
  HKEY hReg;
  
  Value = (Enable ? 1 : 4);
  401906:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
  40190a:	19 c0                	sbb    %eax,%eax
  40190c:	83 e0 03             	and    $0x3,%eax
  40190f:	40                   	inc    %eax
  401910:	89 45 f8             	mov    %eax,0xfffffff8(%ebp)
  
  if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, Key, 0, KEY_SET_VALUE, &hReg) != ERROR_SUCCESS)
  401913:	8d 45 fc             	lea    0xfffffffc(%ebp),%eax
  401916:	50                   	push   %eax
  401917:	6a 02                	push   $0x2
  401919:	6a 00                	push   $0x0
  40191b:	8b 45 08             	mov    0x8(%ebp),%eax
  40191e:	50                   	push   %eax
  40191f:	68 02 00 00 80       	push   $0x80000002
  401924:	e8 77 12 00 00       	call   402ba0 <_RegOpenKeyExW@20>
  {
    return FALSE;
  401929:	31 d2                	xor    %edx,%edx
  40192b:	83 c4 0c             	add    $0xc,%esp
  40192e:	85 c0                	test   %eax,%eax
  401930:	74 04                	je     401936 <_EnableDriver+0x36>
  }
  if(RegSetValueEx(hReg, L"Start", 0, REG_DWORD, (BYTE*)&Value, sizeof(DWORD)) != ERROR_SUCCESS)
  {
    RegCloseKey(hReg);
    return FALSE;
  }
  
  RegCloseKey(hReg);
  return TRUE;
}
  401932:	89 d0                	mov    %edx,%eax
  401934:	c9                   	leave  
  401935:	c3                   	ret    
  401936:	50                   	push   %eax
  401937:	50                   	push   %eax
  401938:	8d 45 f8             	lea    0xfffffff8(%ebp),%eax
  40193b:	6a 04                	push   $0x4
  40193d:	50                   	push   %eax
  40193e:	6a 04                	push   $0x4
  401940:	6a 00                	push   $0x0
  401942:	68 16 52 40 00       	push   $0x405216
  401947:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  40194a:	50                   	push   %eax
  40194b:	e8 80 12 00 00       	call   402bd0 <_RegSetValueExW@24>
  401950:	5a                   	pop    %edx
  401951:	85 c0                	test   %eax,%eax
  401953:	59                   	pop    %ecx
  401954:	74 12                	je     401968 <_EnableDriver+0x68>
  401956:	83 ec 0c             	sub    $0xc,%esp
  401959:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  40195c:	50                   	push   %eax
  40195d:	e8 5e 12 00 00       	call   402bc0 <_RegCloseKey@4>
  401962:	31 d2                	xor    %edx,%edx
  401964:	c9                   	leave  
  401965:	89 d0                	mov    %edx,%eax
  401967:	c3                   	ret    
  401968:	83 ec 0c             	sub    $0xc,%esp
  40196b:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  40196e:	50                   	push   %eax
  40196f:	e8 4c 12 00 00       	call   402bc0 <_RegCloseKey@4>
  401974:	ba 01 00 00 00       	mov    $0x1,%edx
  401979:	c9                   	leave  
  40197a:	89 d0                	mov    %edx,%eax
  40197c:	c3                   	ret    
  40197d:	8d 76 00             	lea    0x0(%esi),%esi

00401980 <_EnableVmwareDriver>:

/* Activate the vmware driver and deactivate the others */
BOOL
EnableVmwareDriver(BOOL VBE, BOOL VGA, BOOL VMX)
{
  401980:	55                   	push   %ebp
  401981:	89 e5                	mov    %esp,%ebp
  401983:	83 ec 10             	sub    $0x10,%esp
  if(!EnableDriver(L"SYSTEM\\CurrentControlSet\\Services\\VBE", VBE))
  401986:	8b 4d 08             	mov    0x8(%ebp),%ecx
  401989:	51                   	push   %ecx
  40198a:	68 24 52 40 00       	push   $0x405224
  40198f:	e8 6c ff ff ff       	call   401900 <_EnableDriver>
  401994:	83 c4 10             	add    $0x10,%esp
  {
    return FALSE;
  401997:	31 d2                	xor    %edx,%edx
  401999:	85 c0                	test   %eax,%eax
  40199b:	75 04                	jne    4019a1 <_EnableVmwareDriver+0x21>
  }
  if(!EnableDriver(L"SYSTEM\\CurrentControlSet\\Services\\vga", VGA))
  {
    return FALSE;
  }
  if(!EnableDriver(L"SYSTEM\\CurrentControlSet\\Services\\vmx_svga", VMX))
  {
    return FALSE;
  }
  
  return TRUE;
}
  40199d:	89 d0                	mov    %edx,%eax
  40199f:	c9                   	leave  
  4019a0:	c3                   	ret    
  4019a1:	52                   	push   %edx
  4019a2:	52                   	push   %edx
  4019a3:	8b 45 0c             	mov    0xc(%ebp),%eax
  4019a6:	50                   	push   %eax
  4019a7:	68 70 52 40 00       	push   $0x405270
  4019ac:	e8 4f ff ff ff       	call   401900 <_EnableDriver>
  4019b1:	83 c4 10             	add    $0x10,%esp
  4019b4:	31 d2                	xor    %edx,%edx
  4019b6:	85 c0                	test   %eax,%eax
  4019b8:	74 e3                	je     40199d <_EnableVmwareDriver+0x1d>
  4019ba:	50                   	push   %eax
  4019bb:	50                   	push   %eax
  4019bc:	8b 45 10             	mov    0x10(%ebp),%eax
  4019bf:	50                   	push   %eax
  4019c0:	68 c0 51 40 00       	push   $0x4051c0
  4019c5:	e8 36 ff ff ff       	call   401900 <_EnableDriver>
  4019ca:	83 c4 10             	add    $0x10,%esp
  4019cd:	85 c0                	test   %eax,%eax
  4019cf:	c9                   	leave  
  4019d0:	0f 95 c0             	setne  %al
  4019d3:	31 d2                	xor    %edx,%edx
  4019d5:	88 c2                	mov    %al,%dl
  4019d7:	89 d0                	mov    %edx,%eax
  4019d9:	c3                   	ret    
  4019da:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

004019e0 <_InitPropSheetPage>:

/* GUI */

void
InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DWORD Flags, DLGPROC DlgProc)
{
  4019e0:	55                   	push   %ebp
  ZeroMemory(psp, sizeof(PROPSHEETPAGE));
  4019e1:	31 c0                	xor    %eax,%eax
  4019e3:	89 e5                	mov    %esp,%ebp
  4019e5:	b9 0c 00 00 00       	mov    $0xc,%ecx
  4019ea:	fc                   	cld    
  4019eb:	57                   	push   %edi
  4019ec:	8b 7d 08             	mov    0x8(%ebp),%edi
  4019ef:	f3 ab                	repz stos %eax,%es:(%edi)
  psp->dwSize = sizeof(PROPSHEETPAGE);
  4019f1:	8b 45 08             	mov    0x8(%ebp),%eax
  psp->dwFlags = PSP_DEFAULT | Flags;
  4019f4:	8b 55 08             	mov    0x8(%ebp),%edx
  4019f7:	c7 00 30 00 00 00    	movl   $0x30,(%eax)
  4019fd:	8b 45 10             	mov    0x10(%ebp),%eax
  401a00:	89 42 04             	mov    %eax,0x4(%edx)
  psp->hInstance = hAppInstance;
  401a03:	a1 e0 68 40 00       	mov    0x4068e0,%eax
  401a08:	89 42 08             	mov    %eax,0x8(%edx)
  psp->pszTemplate = MAKEINTRESOURCE(idDlg);
  401a0b:	8b 45 0c             	mov    0xc(%ebp),%eax
  401a0e:	25 ff ff 00 00       	and    $0xffff,%eax
  401a13:	89 42 0c             	mov    %eax,0xc(%edx)
  psp->pfnDlgProc = DlgProc;
  401a16:	8b 45 14             	mov    0x14(%ebp),%eax
  401a19:	89 42 18             	mov    %eax,0x18(%edx)
  401a1c:	5f                   	pop    %edi
  401a1d:	5d                   	pop    %ebp
  401a1e:	c3                   	ret    
  401a1f:	90                   	nop    

00401a20 <_PageWelcomeProc@16>:
}

/* Property page dialog callback */
INT_PTR CALLBACK
PageWelcomeProc(
  HWND hwndDlg,
  UINT uMsg,
  WPARAM wParam,
  LPARAM lParam
)
{
  401a20:	55                   	push   %ebp
  401a21:	89 e5                	mov    %esp,%ebp
  401a23:	56                   	push   %esi
  401a24:	53                   	push   %ebx
  401a25:	81 ec 00 08 00 00    	sub    $0x800,%esp
  401a2b:	8b 75 08             	mov    0x8(%ebp),%esi
  switch(uMsg)
  401a2e:	83 7d 0c 4e          	cmpl   $0x4e,0xc(%ebp)
  401a32:	74 0c                	je     401a40 <_PageWelcomeProc@16+0x20>
  {
    case WM_NOTIFY:
    {
      HWND hwndControl;

      /* Center the wizard window */
      hwndControl = GetParent(hwndDlg);     
      CenterWindow (hwndControl);

      LPNMHDR pnmh = (LPNMHDR)lParam;
      switch(pnmh->code)
      {
        case PSN_SETACTIVE:
        {
          PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_NEXT);
          break;
        }
        case PSN_WIZNEXT:
        {
          if(DriverFilesFound)
          {
            if(!EnableVmwareDriver(FALSE, FALSE, TRUE))
            {

              WCHAR Msg[1024];
              LoadString(hAppInstance, IDS_FAILEDTOACTIVATEDRIVER, Msg, sizeof(Msg) / sizeof(WCHAR));
              MessageBox(GetParent(hwndDlg), Msg, NULL, MB_ICONWARNING);
              SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_WELCOMEPAGE);
              return TRUE;
            }
            SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_CONFIG);
            return TRUE;
          }
          break;
        }
      }
      break;
    }
  }
  return FALSE;
  401a34:	31 c0                	xor    %eax,%eax
}
  401a36:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  401a39:	5b                   	pop    %ebx
  401a3a:	5e                   	pop    %esi
  401a3b:	5d                   	pop    %ebp
  401a3c:	c2 10 00             	ret    $0x10
  401a3f:	90                   	nop    
  401a40:	83 ec 0c             	sub    $0xc,%esp
  401a43:	56                   	push   %esi
  401a44:	e8 17 18 00 00       	call   403260 <_GetParent@4>
  401a49:	83 c4 0c             	add    $0xc,%esp
  401a4c:	e8 7f f9 ff ff       	call   4013d0 <_CenterWindow>
  401a51:	8b 45 14             	mov    0x14(%ebp),%eax
  401a54:	8b 40 08             	mov    0x8(%eax),%eax
  401a57:	3d 31 ff ff ff       	cmp    $0xffffff31,%eax
  401a5c:	74 1e                	je     401a7c <_PageWelcomeProc@16+0x5c>
  401a5e:	3d 38 ff ff ff       	cmp    $0xffffff38,%eax
  401a63:	75 cf                	jne    401a34 <_PageWelcomeProc@16+0x14>
  401a65:	6a 02                	push   $0x2
  401a67:	6a 00                	push   $0x0
  401a69:	68 70 04 00 00       	push   $0x470
  401a6e:	56                   	push   %esi
  401a6f:	e8 ec 17 00 00       	call   403260 <_GetParent@4>
  401a74:	50                   	push   %eax
  401a75:	e8 26 18 00 00       	call   4032a0 <_PostMessageW@16>
  401a7a:	eb b8                	jmp    401a34 <_PageWelcomeProc@16+0x14>
  401a7c:	a1 f0 68 40 00       	mov    0x4068f0,%eax
  401a81:	85 c0                	test   %eax,%eax
  401a83:	74 af                	je     401a34 <_PageWelcomeProc@16+0x14>
  401a85:	50                   	push   %eax
  401a86:	6a 01                	push   $0x1
  401a88:	6a 00                	push   $0x0
  401a8a:	6a 00                	push   $0x0
  401a8c:	e8 ef fe ff ff       	call   401980 <_EnableVmwareDriver>
  401a91:	83 c4 10             	add    $0x10,%esp
  401a94:	85 c0                	test   %eax,%eax
  401a96:	75 3f                	jne    401ad7 <_PageWelcomeProc@16+0xb7>
  401a98:	8d 9d f8 f7 ff ff    	lea    0xfffff7f8(%ebp),%ebx
  401a9e:	a1 e0 68 40 00       	mov    0x4068e0,%eax
  401aa3:	68 00 04 00 00       	push   $0x400
  401aa8:	53                   	push   %ebx
  401aa9:	6a 67                	push   $0x67
  401aab:	50                   	push   %eax
  401aac:	e8 ff 17 00 00       	call   4032b0 <_LoadStringW@16>
  401ab1:	6a 30                	push   $0x30
  401ab3:	6a 00                	push   $0x0
  401ab5:	53                   	push   %ebx
  401ab6:	56                   	push   %esi
  401ab7:	e8 a4 17 00 00       	call   403260 <_GetParent@4>
  401abc:	50                   	push   %eax
  401abd:	e8 fe 17 00 00       	call   4032c0 <_MessageBoxW@16>
  401ac2:	50                   	push   %eax
  401ac3:	6a 64                	push   $0x64
  401ac5:	6a 00                	push   $0x0
  401ac7:	56                   	push   %esi
  401ac8:	e8 03 18 00 00       	call   4032d0 <_SetWindowLongW@12>
  401acd:	b8 01 00 00 00       	mov    $0x1,%eax
  401ad2:	e9 5f ff ff ff       	jmp    401a36 <_PageWelcomeProc@16+0x16>
  401ad7:	53                   	push   %ebx
  401ad8:	6a 67                	push   $0x67
  401ada:	eb e9                	jmp    401ac5 <_PageWelcomeProc@16+0xa5>
  401adc:	8d 74 26 00          	lea    0x0(%esi),%esi

00401ae0 <_PageInsertDiscProc@16>:

/* Property page dialog callback */
INT_PTR CALLBACK
PageInsertDiscProc(
  HWND hwndDlg,
  UINT uMsg,
  WPARAM wParam,
  LPARAM lParam
)
{
  401ae0:	55                   	push   %ebp
  401ae1:	89 e5                	mov    %esp,%ebp
  401ae3:	52                   	push   %edx
  401ae4:	52                   	push   %edx
  401ae5:	8b 55 08             	mov    0x8(%ebp),%edx
  switch(uMsg)
  401ae8:	83 7d 0c 4e          	cmpl   $0x4e,0xc(%ebp)
  401aec:	74 06                	je     401af4 <_PageInsertDiscProc@16+0x14>
  {
    case WM_NOTIFY:
    {
      LPNMHDR pnmh = (LPNMHDR)lParam;
      switch(pnmh->code)
      {
        case PSN_SETACTIVE:
          PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | PSWIZB_NEXT);
          break;
        case PSN_WIZNEXT:
          SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_INSTALLING_VMWARE_TOOLS);
          break;
      }
      break;
    }
  }
  return FALSE;
}
  401aee:	31 c0                	xor    %eax,%eax
  401af0:	c9                   	leave  
  401af1:	c2 10 00             	ret    $0x10
  401af4:	8b 45 14             	mov    0x14(%ebp),%eax
  401af7:	8b 40 08             	mov    0x8(%eax),%eax
  401afa:	3d 31 ff ff ff       	cmp    $0xffffff31,%eax
  401aff:	74 1e                	je     401b1f <_PageInsertDiscProc@16+0x3f>
  401b01:	3d 38 ff ff ff       	cmp    $0xffffff38,%eax
  401b06:	75 e6                	jne    401aee <_PageInsertDiscProc@16+0xe>
  401b08:	6a 03                	push   $0x3
  401b0a:	6a 00                	push   $0x0
  401b0c:	68 70 04 00 00       	push   $0x470
  401b11:	52                   	push   %edx
  401b12:	e8 49 17 00 00       	call   403260 <_GetParent@4>
  401b17:	50                   	push   %eax
  401b18:	e8 83 17 00 00       	call   4032a0 <_PostMessageW@16>
  401b1d:	eb cf                	jmp    401aee <_PageInsertDiscProc@16+0xe>
  401b1f:	50                   	push   %eax
  401b20:	6a 66                	push   $0x66
  401b22:	6a 00                	push   $0x0
  401b24:	52                   	push   %edx
  401b25:	e8 a6 17 00 00       	call   4032d0 <_SetWindowLongW@12>
  401b2a:	58                   	pop    %eax
  401b2b:	eb c1                	jmp    401aee <_PageInsertDiscProc@16+0xe>
  401b2d:	8d 76 00             	lea    0x0(%esi),%esi

00401b30 <_InstTerminateInstaller>:

VOID
InstTerminateInstaller(BOOL Wait)
{
  401b30:	55                   	push   %ebp
  401b31:	89 e5                	mov    %esp,%ebp
  401b33:	52                   	push   %edx
  401b34:	52                   	push   %edx
  if(hInstallationThread != NULL)
  401b35:	a1 18 60 40 00       	mov    0x406018,%eax
  401b3a:	85 c0                	test   %eax,%eax
  401b3c:	74 24                	je     401b62 <_InstTerminateInstaller+0x32>
  {
    if(Wait)
  401b3e:	8b 45 08             	mov    0x8(%ebp),%eax
  401b41:	85 c0                	test   %eax,%eax
  401b43:	74 1f                	je     401b64 <_InstTerminateInstaller+0x34>
    {
      InterlockedExchange((LONG*)&AbortInstall, 2);
  401b45:	50                   	push   %eax
  401b46:	50                   	push   %eax
  401b47:	6a 02                	push   $0x2
  401b49:	68 28 60 40 00       	push   $0x406028
  401b4e:	e8 6d 0f 00 00       	call   402ac0 <_InterlockedExchange@8>
      WaitForSingleObject(hInstallationThread, INFINITE);
  401b53:	a1 18 60 40 00       	mov    0x406018,%eax
  401b58:	6a ff                	push   $0xffffffff
  401b5a:	50                   	push   %eax
  401b5b:	e8 70 0f 00 00       	call   402ad0 <_WaitForSingleObject@8>
    }
    else
    {
      InterlockedExchange((LONG*)&AbortInstall, 1);
  401b60:	59                   	pop    %ecx
  401b61:	58                   	pop    %eax
    }
  }
}
  401b62:	c9                   	leave  
  401b63:	c3                   	ret    
  401b64:	50                   	push   %eax
  401b65:	50                   	push   %eax
  401b66:	6a 01                	push   $0x1
  401b68:	68 28 60 40 00       	push   $0x406028
  401b6d:	e8 4e 0f 00 00       	call   402ac0 <_InterlockedExchange@8>
  401b72:	59                   	pop    %ecx
  401b73:	58                   	pop    %eax
  401b74:	eb ec                	jmp    401b62 <_InstTerminateInstaller+0x32>
  401b76:	8d 76 00             	lea    0x0(%esi),%esi
  401b79:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00401b80 <_InstInstallationThread@4>:

DWORD STDCALL
InstInstallationThread(LPVOID lpParameter)
{
  401b80:	55                   	push   %ebp
  401b81:	89 e5                	mov    %esp,%ebp
  401b83:	53                   	push   %ebx
  401b84:	50                   	push   %eax
  HANDLE hThread;
  BOOL DriveAvailable;
  int DrivesTested = 0;
  401b85:	31 db                	xor    %ebx,%ebx
  
  if(AbortInstall != 0) goto done;
  401b87:	a1 28 60 40 00       	mov    0x406028,%eax
  401b8c:	85 c0                	test   %eax,%eax
  401b8e:	75 60                	jne    401bf0 <_InstInstallationThread@4+0x70>
  PostMessage(hInstallationNotifyWnd, WM_INSTSTATUSUPDATE, IDS_SEARCHINGFORCDROM, 0);
  401b90:	a1 38 60 40 00       	mov    0x406038,%eax
  401b95:	6a 00                	push   $0x0
  401b97:	68 c9 00 00 00       	push   $0xc9
  401b9c:	68 04 04 00 00       	push   $0x404
  401ba1:	50                   	push   %eax
  401ba2:	e8 f9 16 00 00       	call   4032a0 <_PostMessageW@16>
  
  while(AbortInstall == 0)
  {
    Sleep(500);
    DriveAvailable = IsVMwareCDInDrive(&CDDrive);
    if(DriveAvailable)
      break;
    if(DrivesTested++ > 20)
    {
      PostMessage(hInstallationNotifyWnd, WM_INSTABORT, IDS_FAILEDTOLOCATEDRIVERS, 0);
      goto cleanup;
  401ba7:	a1 28 60 40 00       	mov    0x406028,%eax
  401bac:	85 c0                	test   %eax,%eax
  401bae:	75 40                	jne    401bf0 <_InstInstallationThread@4+0x70>
  401bb0:	83 ec 0c             	sub    $0xc,%esp
  401bb3:	68 f4 01 00 00       	push   $0x1f4
  401bb8:	e8 23 0f 00 00       	call   402ae0 <_Sleep@4>
  401bbd:	68 48 60 40 00       	push   $0x406048
  401bc2:	e8 f9 f9 ff ff       	call   4015c0 <_IsVMwareCDInDrive>
  401bc7:	83 c4 10             	add    $0x10,%esp
  401bca:	85 c0                	test   %eax,%eax
  401bcc:	75 68                	jne    401c36 <_InstInstallationThread@4+0xb6>
  401bce:	89 d8                	mov    %ebx,%eax
  401bd0:	43                   	inc    %ebx
  401bd1:	83 f8 14             	cmp    $0x14,%eax
  401bd4:	7e d1                	jle    401ba7 <_InstInstallationThread@4+0x27>
  401bd6:	6a 00                	push   $0x0
  401bd8:	6a 65                	push   $0x65
  401bda:	a1 38 60 40 00       	mov    0x406038,%eax
  401bdf:	68 02 04 00 00       	push   $0x402
  401be4:	50                   	push   %eax
  401be5:	e8 b6 16 00 00       	call   4032a0 <_PostMessageW@16>
  401bea:	eb 07                	jmp    401bf3 <_InstInstallationThread@4+0x73>
  401bec:	8d 74 26 00          	lea    0x0(%esi),%esi
    }
  }

  if(AbortInstall != 0) goto done;
  PostMessage(hInstallationNotifyWnd, WM_INSTSTATUSUPDATE, IDS_COPYINGFILES, 0);
  
  if(AbortInstall != 0) goto done;
  if(!InstallFile(DestinationPath, vmx_fb))
  {
    PostMessage(hInstallationNotifyWnd, WM_INSTABORT, IDS_FAILEDTOCOPYFILES, 0);
    goto cleanup;
  }
  
  Sleep(250);
  
  if(AbortInstall != 0) goto done;
  if(!InstallFile(DestinationPath, vmx_mode))
  {
    PostMessage(hInstallationNotifyWnd, WM_INSTABORT, IDS_FAILEDTOCOPYFILES, 0);
    goto cleanup;
  }
  
  Sleep(250);
  
  if(AbortInstall != 0) goto done;
  if(!InstallFile(DestinationDriversPath, vmx_svga))
  {
    PostMessage(hInstallationNotifyWnd, WM_INSTABORT, IDS_FAILEDTOCOPYFILES, 0);
    goto cleanup;
  }
  
  Sleep(250);

  if(AbortInstall != 0) goto done;
  PostMessage(hInstallationNotifyWnd, WM_INSTSTATUSUPDATE, IDS_ENABLINGDRIVER, 0);
  if(!EnableVmwareDriver(FALSE, FALSE, TRUE))
  {
    PostMessage(hInstallationNotifyWnd, WM_INSTABORT, IDS_FAILEDTOACTIVATEDRIVER, 0);
    goto cleanup;
  }

  Sleep(500);

done:
  switch(AbortInstall)
  401bf0:	48                   	dec    %eax
  401bf1:	74 2d                	je     401c20 <_InstInstallationThread@4+0xa0>
  {
    case 0:
      SendMessage(hInstallationNotifyWnd, WM_INSTCOMPLETE, 0, 0);
      break;
    case 1:
      SendMessage(hInstallationNotifyWnd, WM_INSTABORT, 0, 0);
      break;
  }
  
cleanup:
  hThread = (HANDLE)InterlockedExchange((LONG*)&hInstallationThread, 0);
  401bf3:	50                   	push   %eax
  401bf4:	50                   	push   %eax
  401bf5:	6a 00                	push   $0x0
  401bf7:	68 18 60 40 00       	push   $0x406018
  401bfc:	e8 bf 0e 00 00       	call   402ac0 <_InterlockedExchange@8>
  if(hThread != NULL)
  401c01:	59                   	pop    %ecx
  401c02:	85 c0                	test   %eax,%eax
  401c04:	5b                   	pop    %ebx
  401c05:	74 0c                	je     401c13 <_InstInstallationThread@4+0x93>
  {
    CloseHandle(hThread);
  401c07:	83 ec 0c             	sub    $0xc,%esp
  401c0a:	50                   	push   %eax
  401c0b:	e8 60 0e 00 00       	call   402a70 <_CloseHandle@4>
  401c10:	83 c4 0c             	add    $0xc,%esp
  }
  return 0;
}
  401c13:	31 c0                	xor    %eax,%eax
  401c15:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  401c18:	c9                   	leave  
  401c19:	c2 04 00             	ret    $0x4
  401c1c:	8d 74 26 00          	lea    0x0(%esi),%esi
  401c20:	6a 00                	push   $0x0
  401c22:	6a 00                	push   $0x0
  401c24:	68 02 04 00 00       	push   $0x402
  401c29:	a1 38 60 40 00       	mov    0x406038,%eax
  401c2e:	50                   	push   %eax
  401c2f:	e8 ac 16 00 00       	call   4032e0 <_SendMessageW@16>
  401c34:	eb bd                	jmp    401bf3 <_InstInstallationThread@4+0x73>
  401c36:	a1 28 60 40 00       	mov    0x406028,%eax
  401c3b:	85 c0                	test   %eax,%eax
  401c3d:	75 b1                	jne    401bf0 <_InstInstallationThread@4+0x70>
  401c3f:	a1 38 60 40 00       	mov    0x406038,%eax
  401c44:	6a 00                	push   $0x0
  401c46:	68 ca 00 00 00       	push   $0xca
  401c4b:	68 04 04 00 00       	push   $0x404
  401c50:	50                   	push   %eax
  401c51:	e8 4a 16 00 00       	call   4032a0 <_PostMessageW@16>
  401c56:	a1 28 60 40 00       	mov    0x406028,%eax
  401c5b:	85 c0                	test   %eax,%eax
  401c5d:	75 91                	jne    401bf0 <_InstInstallationThread@4+0x70>
  401c5f:	50                   	push   %eax
  401c60:	50                   	push   %eax
  401c61:	a1 08 40 40 00       	mov    0x404008,%eax
  401c66:	50                   	push   %eax
  401c67:	68 68 66 40 00       	push   $0x406668
  401c6c:	e8 ef f7 ff ff       	call   401460 <_InstallFile>
  401c71:	83 c4 10             	add    $0x10,%esp
  401c74:	85 c0                	test   %eax,%eax
  401c76:	0f 84 e4 00 00 00    	je     401d60 <_InstInstallationThread@4+0x1e0>
  401c7c:	83 ec 0c             	sub    $0xc,%esp
  401c7f:	68 fa 00 00 00       	push   $0xfa
  401c84:	e8 57 0e 00 00       	call   402ae0 <_Sleep@4>
  401c89:	a1 28 60 40 00       	mov    0x406028,%eax
  401c8e:	83 c4 0c             	add    $0xc,%esp
  401c91:	85 c0                	test   %eax,%eax
  401c93:	0f 85 57 ff ff ff    	jne    401bf0 <_InstInstallationThread@4+0x70>
  401c99:	8b 0d 04 40 40 00    	mov    0x404004,%ecx
  401c9f:	53                   	push   %ebx
  401ca0:	53                   	push   %ebx
  401ca1:	51                   	push   %ecx
  401ca2:	68 68 66 40 00       	push   $0x406668
  401ca7:	e8 b4 f7 ff ff       	call   401460 <_InstallFile>
  401cac:	83 c4 10             	add    $0x10,%esp
  401caf:	85 c0                	test   %eax,%eax
  401cb1:	0f 84 a9 00 00 00    	je     401d60 <_InstInstallationThread@4+0x1e0>
  401cb7:	83 ec 0c             	sub    $0xc,%esp
  401cba:	68 fa 00 00 00       	push   $0xfa
  401cbf:	e8 1c 0e 00 00       	call   402ae0 <_Sleep@4>
  401cc4:	a1 28 60 40 00       	mov    0x406028,%eax
  401cc9:	83 c4 0c             	add    $0xc,%esp
  401ccc:	85 c0                	test   %eax,%eax
  401cce:	0f 85 1c ff ff ff    	jne    401bf0 <_InstInstallationThread@4+0x70>
  401cd4:	a1 00 40 40 00       	mov    0x404000,%eax
  401cd9:	52                   	push   %edx
  401cda:	52                   	push   %edx
  401cdb:	50                   	push   %eax
  401cdc:	68 58 64 40 00       	push   $0x406458
  401ce1:	e8 7a f7 ff ff       	call   401460 <_InstallFile>
  401ce6:	83 c4 10             	add    $0x10,%esp
  401ce9:	85 c0                	test   %eax,%eax
  401ceb:	74 73                	je     401d60 <_InstInstallationThread@4+0x1e0>
  401ced:	83 ec 0c             	sub    $0xc,%esp
  401cf0:	68 fa 00 00 00       	push   $0xfa
  401cf5:	e8 e6 0d 00 00       	call   402ae0 <_Sleep@4>
  401cfa:	a1 28 60 40 00       	mov    0x406028,%eax
  401cff:	83 c4 0c             	add    $0xc,%esp
  401d02:	85 c0                	test   %eax,%eax
  401d04:	0f 85 e6 fe ff ff    	jne    401bf0 <_InstInstallationThread@4+0x70>
  401d0a:	a1 38 60 40 00       	mov    0x406038,%eax
  401d0f:	6a 00                	push   $0x0
  401d11:	68 cb 00 00 00       	push   $0xcb
  401d16:	68 04 04 00 00       	push   $0x404
  401d1b:	50                   	push   %eax
  401d1c:	e8 7f 15 00 00       	call   4032a0 <_PostMessageW@16>
  401d21:	50                   	push   %eax
  401d22:	6a 01                	push   $0x1
  401d24:	6a 00                	push   $0x0
  401d26:	6a 00                	push   $0x0
  401d28:	e8 53 fc ff ff       	call   401980 <_EnableVmwareDriver>
  401d2d:	83 c4 10             	add    $0x10,%esp
  401d30:	85 c0                	test   %eax,%eax
  401d32:	74 35                	je     401d69 <_InstInstallationThread@4+0x1e9>
  401d34:	83 ec 0c             	sub    $0xc,%esp
  401d37:	68 f4 01 00 00       	push   $0x1f4
  401d3c:	e8 9f 0d 00 00       	call   402ae0 <_Sleep@4>
  401d41:	a1 28 60 40 00       	mov    0x406028,%eax
  401d46:	83 c4 0c             	add    $0xc,%esp
  401d49:	85 c0                	test   %eax,%eax
  401d4b:	0f 85 9f fe ff ff    	jne    401bf0 <_InstInstallationThread@4+0x70>
  401d51:	6a 00                	push   $0x0
  401d53:	6a 00                	push   $0x0
  401d55:	68 03 04 00 00       	push   $0x403
  401d5a:	e9 ca fe ff ff       	jmp    401c29 <_InstInstallationThread@4+0xa9>
  401d5f:	90                   	nop    
  401d60:	6a 00                	push   $0x0
  401d62:	6a 66                	push   $0x66
  401d64:	e9 71 fe ff ff       	jmp    401bda <_InstInstallationThread@4+0x5a>
  401d69:	6a 00                	push   $0x0
  401d6b:	6a 67                	push   $0x67
  401d6d:	e9 68 fe ff ff       	jmp    401bda <_InstInstallationThread@4+0x5a>
  401d72:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  401d79:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00401d80 <_InstStartInstallationThread>:

BOOL
InstStartInstallationThread(HWND hwndNotify)
{
  401d80:	55                   	push   %ebp
  401d81:	89 e5                	mov    %esp,%ebp
  401d83:	50                   	push   %eax
  401d84:	50                   	push   %eax
  if(hInstallationThread == NULL)
  {
    DWORD ThreadId;
    hInstallationNotifyWnd = hwndNotify;
    AbortInstall = 0;
    hInstallationThread = CreateThread(NULL,
                                       0,
                                       InstInstallationThread,
                                       NULL,
                                       CREATE_SUSPENDED,
                                       &ThreadId);
    if(hInstallationThread == NULL)
    {
      return FALSE;
    }

    ResumeThread(hInstallationThread);
    return TRUE;
  }

  return FALSE;
  401d85:	31 d2                	xor    %edx,%edx
  401d87:	a1 18 60 40 00       	mov    0x406018,%eax
  401d8c:	85 c0                	test   %eax,%eax
  401d8e:	74 04                	je     401d94 <_InstStartInstallationThread+0x14>
}
  401d90:	89 d0                	mov    %edx,%eax
  401d92:	c9                   	leave  
  401d93:	c3                   	ret    
  401d94:	8b 45 08             	mov    0x8(%ebp),%eax
  401d97:	c7 05 28 60 40 00 00 	movl   $0x0,0x406028
  401d9e:	00 00 00 
  401da1:	a3 38 60 40 00       	mov    %eax,0x406038
  401da6:	50                   	push   %eax
  401da7:	50                   	push   %eax
  401da8:	8d 45 fc             	lea    0xfffffffc(%ebp),%eax
  401dab:	50                   	push   %eax
  401dac:	6a 04                	push   $0x4
  401dae:	6a 00                	push   $0x0
  401db0:	68 80 1b 40 00       	push   $0x401b80
  401db5:	6a 00                	push   $0x0
  401db7:	6a 00                	push   $0x0
  401db9:	e8 32 0d 00 00       	call   402af0 <_CreateThread@24>
  401dbe:	a3 18 60 40 00       	mov    %eax,0x406018
  401dc3:	5a                   	pop    %edx
  401dc4:	31 d2                	xor    %edx,%edx
  401dc6:	59                   	pop    %ecx
  401dc7:	85 c0                	test   %eax,%eax
  401dc9:	74 c5                	je     401d90 <_InstStartInstallationThread+0x10>
  401dcb:	83 ec 0c             	sub    $0xc,%esp
  401dce:	50                   	push   %eax
  401dcf:	e8 2c 0d 00 00       	call   402b00 <_ResumeThread@4>
  401dd4:	ba 01 00 00 00       	mov    $0x1,%edx
  401dd9:	c9                   	leave  
  401dda:	89 d0                	mov    %edx,%eax
  401ddc:	c3                   	ret    
  401ddd:	8d 76 00             	lea    0x0(%esi),%esi

00401de0 <_PageInstallingProc@16>:

/* Property page dialog callback */
INT_PTR CALLBACK
PageInstallingProc(
  HWND hwndDlg,
  UINT uMsg,
  WPARAM wParam,
  LPARAM lParam
)
{
  401de0:	55                   	push   %ebp
  401de1:	b8 0c 10 00 00       	mov    $0x100c,%eax
  401de6:	89 e5                	mov    %esp,%ebp
  401de8:	57                   	push   %edi
  401de9:	56                   	push   %esi
  401dea:	53                   	push   %ebx
  401deb:	e8 70 13 00 00       	call   403160 <___chkstk>
  401df0:	8b 45 0c             	mov    0xc(%ebp),%eax
  401df3:	8b 7d 08             	mov    0x8(%ebp),%edi
  401df6:	8b 75 10             	mov    0x10(%ebp),%esi
  switch(uMsg)
  401df9:	3d 02 04 00 00       	cmp    $0x402,%eax
  401dfe:	0f 84 a2 00 00 00    	je     401ea6 <_PageInstallingProc@16+0xc6>
  401e04:	76 1e                	jbe    401e24 <_PageInstallingProc@16+0x44>
  401e06:	3d 03 04 00 00       	cmp    $0x403,%eax
  401e0b:	0f 84 fb 00 00 00    	je     401f0c <_PageInstallingProc@16+0x12c>
  401e11:	3d 04 04 00 00       	cmp    $0x404,%eax
  401e16:	74 63                	je     401e7b <_PageInstallingProc@16+0x9b>
  {
    case WM_NOTIFY:
    {
      LPNMHDR pnmh = (LPNMHDR)lParam;
      switch(pnmh->code)
      {
        case PSN_SETACTIVE:
          SetDlgItemText(hwndDlg, IDC_INSTALLINGSTATUS, NULL);
          SendDlgItemMessage(hwndDlg, IDC_INSTALLINGPROGRESS, PBM_SETMARQUEE, TRUE, 50);
          PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK);
          InstStartInstallationThread(hwndDlg);
          break;
        case PSN_RESET:
          InstTerminateInstaller(TRUE);
          break;
        case PSN_WIZBACK:
          if(hInstallationThread != NULL)
          {
            PropSheet_SetWizButtons(GetParent(hwndDlg), 0);
            InstTerminateInstaller(FALSE);
            SetWindowLong(hwndDlg, DWL_MSGRESULT, -1);
            return -1;
          }
          else
          {
            SendDlgItemMessage(hwndDlg, IDC_INSTALLINGPROGRESS, PBM_SETMARQUEE, FALSE, 0);
            SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_INSERT_VMWARE_TOOLS);
          }
          break;
      }
      break;
    }
    case WM_INSTABORT:
      /* go back in case we aborted the installation thread */
      SendDlgItemMessage(hwndDlg, IDC_INSTALLINGPROGRESS, PBM_SETMARQUEE, FALSE, 0);
      PropSheet_SetCurSelByID(GetParent(hwndDlg), IDD_INSERT_VMWARE_TOOLS);
      if(wParam != 0)
      {
        WCHAR Msg[1024];
        LoadString(hAppInstance, wParam, Msg, sizeof(Msg) / sizeof(WCHAR));
        MessageBox(GetParent(hwndDlg), Msg, NULL, MB_ICONWARNING);
      }
      break;
    case WM_INSTCOMPLETE:
      SendDlgItemMessage(hwndDlg, IDC_INSTALLINGPROGRESS, PBM_SETMARQUEE, FALSE, 0);
      PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | PSWIZB_NEXT);
      PropSheet_SetCurSelByID(GetParent(hwndDlg), IDD_CONFIG);
      break;
    case WM_INSTSTATUSUPDATE:
    {
      WCHAR Msg[1024];
      LoadString(hAppInstance, wParam, Msg, sizeof(Msg) / sizeof(WCHAR));
      SetDlgItemText(hwndDlg, IDC_INSTALLINGSTATUS, Msg);
      break;
    }
  }
  return FALSE;
  401e18:	31 c0                	xor    %eax,%eax
}
  401e1a:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  401e1d:	5b                   	pop    %ebx
  401e1e:	5e                   	pop    %esi
  401e1f:	5f                   	pop    %edi
  401e20:	5d                   	pop    %ebp
  401e21:	c2 10 00             	ret    $0x10
  401e24:	83 f8 4e             	cmp    $0x4e,%eax
  401e27:	75 ef                	jne    401e18 <_PageInstallingProc@16+0x38>
  401e29:	8b 45 14             	mov    0x14(%ebp),%eax
  401e2c:	8b 40 08             	mov    0x8(%eax),%eax
  401e2f:	3d 35 ff ff ff       	cmp    $0xffffff35,%eax
  401e34:	0f 84 73 01 00 00    	je     401fad <_PageInstallingProc@16+0x1cd>
  401e3a:	0f 87 15 01 00 00    	ja     401f55 <_PageInstallingProc@16+0x175>
  401e40:	3d 32 ff ff ff       	cmp    $0xffffff32,%eax
  401e45:	75 d1                	jne    401e18 <_PageInstallingProc@16+0x38>
  401e47:	8b 35 18 60 40 00    	mov    0x406018,%esi
  401e4d:	85 f6                	test   %esi,%esi
  401e4f:	0f 85 6a 01 00 00    	jne    401fbf <_PageInstallingProc@16+0x1df>
  401e55:	83 ec 0c             	sub    $0xc,%esp
  401e58:	6a 00                	push   $0x0
  401e5a:	6a 00                	push   $0x0
  401e5c:	68 0a 04 00 00       	push   $0x40a
  401e61:	68 cf 00 00 00       	push   $0xcf
  401e66:	57                   	push   %edi
  401e67:	e8 84 14 00 00       	call   4032f0 <_SendDlgItemMessageW@20>
  401e6c:	59                   	pop    %ecx
  401e6d:	5b                   	pop    %ebx
  401e6e:	6a 65                	push   $0x65
  401e70:	6a 00                	push   $0x0
  401e72:	57                   	push   %edi
  401e73:	e8 58 14 00 00       	call   4032d0 <_SetWindowLongW@12>
  401e78:	58                   	pop    %eax
  401e79:	eb 9d                	jmp    401e18 <_PageInstallingProc@16+0x38>
  401e7b:	8d 9d e8 ef ff ff    	lea    0xffffefe8(%ebp),%ebx
  401e81:	a1 e0 68 40 00       	mov    0x4068e0,%eax
  401e86:	68 00 04 00 00       	push   $0x400
  401e8b:	53                   	push   %ebx
  401e8c:	56                   	push   %esi
  401e8d:	50                   	push   %eax
  401e8e:	e8 1d 14 00 00       	call   4032b0 <_LoadStringW@16>
  401e93:	50                   	push   %eax
  401e94:	53                   	push   %ebx
  401e95:	68 ce 00 00 00       	push   $0xce
  401e9a:	57                   	push   %edi
  401e9b:	e8 60 14 00 00       	call   403300 <_SetDlgItemTextW@12>
  401ea0:	58                   	pop    %eax
  401ea1:	e9 72 ff ff ff       	jmp    401e18 <_PageInstallingProc@16+0x38>
  401ea6:	83 ec 0c             	sub    $0xc,%esp
  401ea9:	6a 00                	push   $0x0
  401eab:	6a 00                	push   $0x0
  401ead:	68 0a 04 00 00       	push   $0x40a
  401eb2:	68 cf 00 00 00       	push   $0xcf
  401eb7:	57                   	push   %edi
  401eb8:	e8 33 14 00 00       	call   4032f0 <_SendDlgItemMessageW@20>
  401ebd:	83 c4 0c             	add    $0xc,%esp
  401ec0:	6a 65                	push   $0x65
  401ec2:	6a 00                	push   $0x0
  401ec4:	68 72 04 00 00       	push   $0x472
  401ec9:	57                   	push   %edi
  401eca:	e8 91 13 00 00       	call   403260 <_GetParent@4>
  401ecf:	50                   	push   %eax
  401ed0:	e8 0b 14 00 00       	call   4032e0 <_SendMessageW@16>
  401ed5:	85 f6                	test   %esi,%esi
  401ed7:	0f 84 3b ff ff ff    	je     401e18 <_PageInstallingProc@16+0x38>
  401edd:	8b 15 e0 68 40 00    	mov    0x4068e0,%edx
  401ee3:	8d 9d e8 f7 ff ff    	lea    0xfffff7e8(%ebp),%ebx
  401ee9:	68 00 04 00 00       	push   $0x400
  401eee:	53                   	push   %ebx
  401eef:	56                   	push   %esi
  401ef0:	52                   	push   %edx
  401ef1:	e8 ba 13 00 00       	call   4032b0 <_LoadStringW@16>
  401ef6:	6a 30                	push   $0x30
  401ef8:	6a 00                	push   $0x0
  401efa:	53                   	push   %ebx
  401efb:	57                   	push   %edi
  401efc:	e8 5f 13 00 00       	call   403260 <_GetParent@4>
  401f01:	50                   	push   %eax
  401f02:	e8 b9 13 00 00       	call   4032c0 <_MessageBoxW@16>
  401f07:	e9 0c ff ff ff       	jmp    401e18 <_PageInstallingProc@16+0x38>
  401f0c:	83 ec 0c             	sub    $0xc,%esp
  401f0f:	6a 00                	push   $0x0
  401f11:	6a 00                	push   $0x0
  401f13:	68 0a 04 00 00       	push   $0x40a
  401f18:	68 cf 00 00 00       	push   $0xcf
  401f1d:	57                   	push   %edi
  401f1e:	e8 cd 13 00 00       	call   4032f0 <_SendDlgItemMessageW@20>
  401f23:	83 c4 0c             	add    $0xc,%esp
  401f26:	6a 03                	push   $0x3
  401f28:	6a 00                	push   $0x0
  401f2a:	68 70 04 00 00       	push   $0x470
  401f2f:	57                   	push   %edi
  401f30:	e8 2b 13 00 00       	call   403260 <_GetParent@4>
  401f35:	50                   	push   %eax
  401f36:	e8 65 13 00 00       	call   4032a0 <_PostMessageW@16>
  401f3b:	6a 67                	push   $0x67
  401f3d:	6a 00                	push   $0x0
  401f3f:	68 72 04 00 00       	push   $0x472
  401f44:	57                   	push   %edi
  401f45:	e8 16 13 00 00       	call   403260 <_GetParent@4>
  401f4a:	50                   	push   %eax
  401f4b:	e8 90 13 00 00       	call   4032e0 <_SendMessageW@16>
  401f50:	e9 c3 fe ff ff       	jmp    401e18 <_PageInstallingProc@16+0x38>
  401f55:	3d 38 ff ff ff       	cmp    $0xffffff38,%eax
  401f5a:	0f 85 b8 fe ff ff    	jne    401e18 <_PageInstallingProc@16+0x38>
  401f60:	50                   	push   %eax
  401f61:	6a 00                	push   $0x0
  401f63:	68 ce 00 00 00       	push   $0xce
  401f68:	57                   	push   %edi
  401f69:	e8 92 13 00 00       	call   403300 <_SetDlgItemTextW@12>
  401f6e:	50                   	push   %eax
  401f6f:	50                   	push   %eax
  401f70:	6a 32                	push   $0x32
  401f72:	6a 01                	push   $0x1
  401f74:	68 0a 04 00 00       	push   $0x40a
  401f79:	68 cf 00 00 00       	push   $0xcf
  401f7e:	57                   	push   %edi
  401f7f:	e8 6c 13 00 00       	call   4032f0 <_SendDlgItemMessageW@20>
  401f84:	83 c4 0c             	add    $0xc,%esp
  401f87:	6a 01                	push   $0x1
  401f89:	6a 00                	push   $0x0
  401f8b:	68 70 04 00 00       	push   $0x470
  401f90:	57                   	push   %edi
  401f91:	e8 ca 12 00 00       	call   403260 <_GetParent@4>
  401f96:	50                   	push   %eax
  401f97:	e8 04 13 00 00       	call   4032a0 <_PostMessageW@16>
  401f9c:	83 ec 0c             	sub    $0xc,%esp
  401f9f:	57                   	push   %edi
  401fa0:	e8 db fd ff ff       	call   401d80 <_InstStartInstallationThread>
  401fa5:	83 c4 10             	add    $0x10,%esp
  401fa8:	e9 6b fe ff ff       	jmp    401e18 <_PageInstallingProc@16+0x38>
  401fad:	83 ec 0c             	sub    $0xc,%esp
  401fb0:	6a 01                	push   $0x1
  401fb2:	e8 79 fb ff ff       	call   401b30 <_InstTerminateInstaller>
  401fb7:	83 c4 10             	add    $0x10,%esp
  401fba:	e9 59 fe ff ff       	jmp    401e18 <_PageInstallingProc@16+0x38>
  401fbf:	6a 00                	push   $0x0
  401fc1:	6a 00                	push   $0x0
  401fc3:	68 70 04 00 00       	push   $0x470
  401fc8:	57                   	push   %edi
  401fc9:	e8 92 12 00 00       	call   403260 <_GetParent@4>
  401fce:	50                   	push   %eax
  401fcf:	e8 cc 12 00 00       	call   4032a0 <_PostMessageW@16>
  401fd4:	83 ec 0c             	sub    $0xc,%esp
  401fd7:	6a 00                	push   $0x0
  401fd9:	e8 52 fb ff ff       	call   401b30 <_InstTerminateInstaller>
  401fde:	83 c4 0c             	add    $0xc,%esp
  401fe1:	6a ff                	push   $0xffffffff
  401fe3:	6a 00                	push   $0x0
  401fe5:	57                   	push   %edi
  401fe6:	e8 e5 12 00 00       	call   4032d0 <_SetWindowLongW@12>
  401feb:	83 c8 ff             	or     $0xffffffff,%eax
  401fee:	e9 27 fe ff ff       	jmp    401e1a <_PageInstallingProc@16+0x3a>
  401ff3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  401ff9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00402000 <_PageInstallFailedProc@16>:

/* Property page dialog callback */
INT_PTR CALLBACK
PageInstallFailedProc(
  HWND hwndDlg,
  UINT uMsg,
  WPARAM wParam,
  LPARAM lParam
)
{
  402000:	55                   	push   %ebp
  402001:	89 e5                	mov    %esp,%ebp
  402003:	50                   	push   %eax
  402004:	50                   	push   %eax
  switch(uMsg)
  402005:	83 7d 0c 4e          	cmpl   $0x4e,0xc(%ebp)
  402009:	74 06                	je     402011 <_PageInstallFailedProc@16+0x11>
  {
    case WM_NOTIFY:
    {
      LPNMHDR pnmh = (LPNMHDR)lParam;
      switch(pnmh->code)
      {
        case PSN_SETACTIVE:
          PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_FINISH);
          break;
      }
      break;
    }
  }
  return FALSE;
}
  40200b:	31 c0                	xor    %eax,%eax
  40200d:	c9                   	leave  
  40200e:	c2 10 00             	ret    $0x10
  402011:	8b 45 14             	mov    0x14(%ebp),%eax
  402014:	81 78 08 38 ff ff ff 	cmpl   $0xffffff38,0x8(%eax)
  40201b:	75 ee                	jne    40200b <_PageInstallFailedProc@16+0xb>
  40201d:	8b 45 08             	mov    0x8(%ebp),%eax
  402020:	6a 04                	push   $0x4
  402022:	6a 00                	push   $0x0
  402024:	68 70 04 00 00       	push   $0x470
  402029:	50                   	push   %eax
  40202a:	e8 31 12 00 00       	call   403260 <_GetParent@4>
  40202f:	50                   	push   %eax
  402030:	e8 6b 12 00 00       	call   4032a0 <_PostMessageW@16>
  402035:	eb d4                	jmp    40200b <_PageInstallFailedProc@16+0xb>
  402037:	89 f6                	mov    %esi,%esi
  402039:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00402040 <_FillComboBox>:

void
FillComboBox(HWND Dlg, int idComboBox, int From, int To)
{
  402040:	55                   	push   %ebp
  402041:	89 e5                	mov    %esp,%ebp
  402043:	57                   	push   %edi
  402044:	56                   	push   %esi
  402045:	53                   	push   %ebx
  402046:	81 ec 0c 02 00 00    	sub    $0x20c,%esp
  40204c:	8b 7d 14             	mov    0x14(%ebp),%edi
  int i;
  WCHAR Text[256];
  
  for(i = From; i <= To; i++)
  40204f:	8b 5d 10             	mov    0x10(%ebp),%ebx
  402052:	39 fb                	cmp    %edi,%ebx
  402054:	7f 41                	jg     402097 <_FillComboBox+0x57>
  402056:	8d b5 e8 fd ff ff    	lea    0xfffffde8(%ebp),%esi
  40205c:	8d 74 26 00          	lea    0x0(%esi),%esi
  {
    if(LoadString(hAppInstance, i, Text, 255) > 0)
  402060:	8b 15 e0 68 40 00    	mov    0x4068e0,%edx
  402066:	68 ff 00 00 00       	push   $0xff
  40206b:	56                   	push   %esi
  40206c:	53                   	push   %ebx
  40206d:	52                   	push   %edx
  40206e:	e8 3d 12 00 00       	call   4032b0 <_LoadStringW@16>
  402073:	85 c0                	test   %eax,%eax
  402075:	7e 1b                	jle    402092 <_FillComboBox+0x52>
    {
      SendDlgItemMessage(Dlg, idComboBox, CB_ADDSTRING, 0, (LPARAM)Text);
  402077:	83 ec 0c             	sub    $0xc,%esp
  40207a:	8b 45 0c             	mov    0xc(%ebp),%eax
  40207d:	56                   	push   %esi
  40207e:	6a 00                	push   $0x0
  402080:	68 43 01 00 00       	push   $0x143
  402085:	50                   	push   %eax
  402086:	8b 45 08             	mov    0x8(%ebp),%eax
  402089:	50                   	push   %eax
  40208a:	e8 61 12 00 00       	call   4032f0 <_SendDlgItemMessageW@20>
  40208f:	83 c4 0c             	add    $0xc,%esp
  402092:	43                   	inc    %ebx
  402093:	39 fb                	cmp    %edi,%ebx
  402095:	7e c9                	jle    402060 <_FillComboBox+0x20>
  402097:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  40209a:	5b                   	pop    %ebx
  40209b:	5e                   	pop    %esi
  40209c:	5f                   	pop    %edi
  40209d:	5d                   	pop    %ebp
  40209e:	c3                   	ret    
  40209f:	90                   	nop    

004020a0 <_PageConfigProc@16>:
    }
  }
}

typedef struct
{
  int ControlID;
  int ResX;
  int ResY;
} MAPCTLRES;

/* Property page dialog callback */
INT_PTR CALLBACK
PageConfigProc(
  HWND hwndDlg,
  UINT uMsg,
  WPARAM wParam,
  LPARAM lParam
)
{
  4020a0:	55                   	push   %ebp
  4020a1:	89 e5                	mov    %esp,%ebp
  4020a3:	57                   	push   %edi
  4020a4:	56                   	push   %esi
  4020a5:	53                   	push   %ebx
  4020a6:	83 ec 1c             	sub    $0x1c,%esp
  4020a9:	8b 45 0c             	mov    0xc(%ebp),%eax
  4020ac:	8b 5d 08             	mov    0x8(%ebp),%ebx
  switch(uMsg)
  4020af:	83 f8 4e             	cmp    $0x4e,%eax
  4020b2:	0f 84 b8 00 00 00    	je     402170 <_PageConfigProc@16+0xd0>
  4020b8:	3d 10 01 00 00       	cmp    $0x110,%eax
  4020bd:	74 11                	je     4020d0 <_PageConfigProc@16+0x30>
  {
    case WM_INITDIALOG:
    {
      DWORD ResX = 0, ResY = 0, ColDepth = 0;
      int cbSel;
      
      FillComboBox(hwndDlg, IDC_COLORQUALITY, 10001, 10003);
      if(LoadResolutionSettings(&ResX, &ResY, &ColDepth))
      {
        SendDlgItemMessage(hwndDlg, ResX + ResY, BM_SETCHECK, BST_CHECKED, 0);
        switch(ColDepth)
        {
          case 8:
            cbSel = 0;
            break;
          case 16:
            cbSel = 1;
            break;
          case 32:
            cbSel = 2;
            break;
          default:
            cbSel = -1;
            break;
        }
        SendDlgItemMessage(hwndDlg, IDC_COLORQUALITY, CB_SETCURSEL, cbSel, 0);
      }
      break;
    }
    case WM_NOTIFY:
    {
      HWND hwndControl;

      /* Center the wizard window */
      hwndControl = GetParent(hwndDlg);     
      CenterWindow (hwndControl);

      LPNMHDR pnmh = (LPNMHDR)lParam;
      switch(pnmh->code)
      {
        case PSN_SETACTIVE:
        {
          PropSheet_SetWizButtons(GetParent(hwndDlg), ((StartVMwConfigWizard || DriverFilesFound) ? PSWIZB_FINISH | PSWIZB_BACK : PSWIZB_FINISH));
          break;
        }
        case PSN_WIZBACK:
        {
          if(StartVMwConfigWizard)
          {
            SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_CHOOSEACTION);
            return TRUE;
          }
          if(DriverFilesFound)
          {
            SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_WELCOMEPAGE);
            return TRUE;
          }
          break;
        }
        case PSN_WIZFINISH:
        {
          DWORD rx = 800, ry = 600, cd = 32;
          int i;
          static MAPCTLRES Resolutions[11] = {
            {540, 640, 480},
            {1400, 800, 600},
            {1792, 1024, 768},
            {2016, 1152, 864},
            {2240, 1280, 960},
            {2304, 1280, 1024},
            {2450, 1400, 1050},
            {2800, 1600, 1200},
            {3136, 1792, 1344},
            {3248, 1856, 1392},
            {3360, 1920, 1440}
          };
          for(i = 0; i < 11; i++)
          {
            if(SendDlgItemMessage(hwndDlg, Resolutions[i].ControlID, BM_GETCHECK, 0, 0) == BST_CHECKED)
            {
              rx = Resolutions[i].ResX;
              ry = Resolutions[i].ResY;
              break;
            }
          }
          
          switch(SendDlgItemMessage(hwndDlg, IDC_COLORQUALITY, CB_GETCURSEL, 0, 0))
          {
            case 0:
              cd = 8;
              break;
            case 1:
              cd = 16;
              break;
            case 2:
              cd = 32;
              break;
          }
          
          SaveResolutionSettings(rx, ry, cd);
          break;
        }
      }
      break;
    }
  }
  return FALSE;
  4020bf:	31 c0                	xor    %eax,%eax
}
  4020c1:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  4020c4:	5b                   	pop    %ebx
  4020c5:	5e                   	pop    %esi
  4020c6:	5f                   	pop    %edi
  4020c7:	5d                   	pop    %ebp
  4020c8:	c2 10 00             	ret    $0x10
  4020cb:	90                   	nop    
  4020cc:	8d 74 26 00          	lea    0x0(%esi),%esi
  4020d0:	68 13 27 00 00       	push   $0x2713
  4020d5:	68 11 27 00 00       	push   $0x2711
  4020da:	68 c8 00 00 00       	push   $0xc8
  4020df:	53                   	push   %ebx
  4020e0:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
  4020e7:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
  4020ee:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
  4020f5:	e8 46 ff ff ff       	call   402040 <_FillComboBox>
  4020fa:	83 c4 0c             	add    $0xc,%esp
  4020fd:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
  402100:	50                   	push   %eax
  402101:	8d 45 ec             	lea    0xffffffec(%ebp),%eax
  402104:	50                   	push   %eax
  402105:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
  402108:	50                   	push   %eax
  402109:	e8 d2 f5 ff ff       	call   4016e0 <_LoadResolutionSettings>
  40210e:	83 c4 10             	add    $0x10,%esp
  402111:	85 c0                	test   %eax,%eax
  402113:	74 aa                	je     4020bf <_PageConfigProc@16+0x1f>
  402115:	83 ec 0c             	sub    $0xc,%esp
  402118:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  40211b:	8b 75 e8             	mov    0xffffffe8(%ebp),%esi
  40211e:	01 f0                	add    %esi,%eax
  402120:	6a 00                	push   $0x0
  402122:	6a 01                	push   $0x1
  402124:	68 f1 00 00 00       	push   $0xf1
  402129:	50                   	push   %eax
  40212a:	53                   	push   %ebx
  40212b:	e8 c0 11 00 00       	call   4032f0 <_SendDlgItemMessageW@20>
  402130:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  402133:	83 c4 0c             	add    $0xc,%esp
  402136:	ba 01 00 00 00       	mov    $0x1,%edx
  40213b:	83 f8 10             	cmp    $0x10,%eax
  40213e:	74 10                	je     402150 <_PageConfigProc@16+0xb0>
  402140:	0f 87 6a 01 00 00    	ja     4022b0 <_PageConfigProc@16+0x210>
  402146:	30 d2                	xor    %dl,%dl
  402148:	83 f8 08             	cmp    $0x8,%eax
  40214b:	74 03                	je     402150 <_PageConfigProc@16+0xb0>
  40214d:	83 ca ff             	or     $0xffffffff,%edx
  402150:	83 ec 0c             	sub    $0xc,%esp
  402153:	6a 00                	push   $0x0
  402155:	52                   	push   %edx
  402156:	68 4e 01 00 00       	push   $0x14e
  40215b:	68 c8 00 00 00       	push   $0xc8
  402160:	53                   	push   %ebx
  402161:	e8 8a 11 00 00       	call   4032f0 <_SendDlgItemMessageW@20>
  402166:	83 c4 0c             	add    $0xc,%esp
  402169:	e9 51 ff ff ff       	jmp    4020bf <_PageConfigProc@16+0x1f>
  40216e:	89 f6                	mov    %esi,%esi
  402170:	83 ec 0c             	sub    $0xc,%esp
  402173:	53                   	push   %ebx
  402174:	e8 e7 10 00 00       	call   403260 <_GetParent@4>
  402179:	83 c4 0c             	add    $0xc,%esp
  40217c:	e8 4f f2 ff ff       	call   4013d0 <_CenterWindow>
  402181:	8b 45 14             	mov    0x14(%ebp),%eax
  402184:	8b 40 08             	mov    0x8(%eax),%eax
  402187:	3d 32 ff ff ff       	cmp    $0xffffff32,%eax
  40218c:	0f 84 f3 00 00 00    	je     402285 <_PageConfigProc@16+0x1e5>
  402192:	0f 87 ab 00 00 00    	ja     402243 <_PageConfigProc@16+0x1a3>
  402198:	3d 30 ff ff ff       	cmp    $0xffffff30,%eax
  40219d:	0f 85 1c ff ff ff    	jne    4020bf <_PageConfigProc@16+0x1f>
  4021a3:	c7 45 e4 20 03 00 00 	movl   $0x320,0xffffffe4(%ebp)
  4021aa:	c7 45 e0 58 02 00 00 	movl   $0x258,0xffffffe0(%ebp)
  4021b1:	c7 45 dc 20 00 00 00 	movl   $0x20,0xffffffdc(%ebp)
  4021b8:	31 ff                	xor    %edi,%edi
  4021ba:	be 60 44 40 00       	mov    $0x404460,%esi
  4021bf:	c7 45 d8 00 00 00 00 	movl   $0x0,0xffffffd8(%ebp)
  4021c6:	83 ec 0c             	sub    $0xc,%esp
  4021c9:	6a 00                	push   $0x0
  4021cb:	6a 00                	push   $0x0
  4021cd:	68 f0 00 00 00       	push   $0xf0
  4021d2:	8b 06                	mov    (%esi),%eax
  4021d4:	50                   	push   %eax
  4021d5:	53                   	push   %ebx
  4021d6:	e8 15 11 00 00       	call   4032f0 <_SendDlgItemMessageW@20>
  4021db:	83 c4 0c             	add    $0xc,%esp
  4021de:	48                   	dec    %eax
  4021df:	0f 84 dd 00 00 00    	je     4022c2 <_PageConfigProc@16+0x222>
  4021e5:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
  4021e8:	47                   	inc    %edi
  4021e9:	83 c0 0c             	add    $0xc,%eax
  4021ec:	83 c6 0c             	add    $0xc,%esi
  4021ef:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
  4021f2:	83 ff 0a             	cmp    $0xa,%edi
  4021f5:	7e cf                	jle    4021c6 <_PageConfigProc@16+0x126>
  4021f7:	83 ec 0c             	sub    $0xc,%esp
  4021fa:	6a 00                	push   $0x0
  4021fc:	6a 00                	push   $0x0
  4021fe:	68 47 01 00 00       	push   $0x147
  402203:	68 c8 00 00 00       	push   $0xc8
  402208:	53                   	push   %ebx
  402209:	e8 e2 10 00 00       	call   4032f0 <_SendDlgItemMessageW@20>
  40220e:	83 c4 0c             	add    $0xc,%esp
  402211:	83 f8 01             	cmp    $0x1,%eax
  402214:	0f 84 c5 00 00 00    	je     4022df <_PageConfigProc@16+0x23f>
  40221a:	0f 8e d7 00 00 00    	jle    4022f7 <_PageConfigProc@16+0x257>
  402220:	83 f8 02             	cmp    $0x2,%eax
  402223:	0f 84 c2 00 00 00    	je     4022eb <_PageConfigProc@16+0x24b>
  402229:	8b 75 dc             	mov    0xffffffdc(%ebp),%esi
  40222c:	8b 5d e0             	mov    0xffffffe0(%ebp),%ebx
  40222f:	8b 4d e4             	mov    0xffffffe4(%ebp),%ecx
  402232:	57                   	push   %edi
  402233:	56                   	push   %esi
  402234:	53                   	push   %ebx
  402235:	51                   	push   %ecx
  402236:	e8 05 f6 ff ff       	call   401840 <_SaveResolutionSettings>
  40223b:	83 c4 10             	add    $0x10,%esp
  40223e:	e9 7c fe ff ff       	jmp    4020bf <_PageConfigProc@16+0x1f>
  402243:	3d 38 ff ff ff       	cmp    $0xffffff38,%eax
  402248:	0f 85 71 fe ff ff    	jne    4020bf <_PageConfigProc@16+0x1f>
  40224e:	8b 0d d0 68 40 00    	mov    0x4068d0,%ecx
  402254:	85 c9                	test   %ecx,%ecx
  402256:	75 0f                	jne    402267 <_PageConfigProc@16+0x1c7>
  402258:	8b 15 f0 68 40 00    	mov    0x4068f0,%edx
  40225e:	b8 04 00 00 00       	mov    $0x4,%eax
  402263:	85 d2                	test   %edx,%edx
  402265:	74 05                	je     40226c <_PageConfigProc@16+0x1cc>
  402267:	b8 05 00 00 00       	mov    $0x5,%eax
  40226c:	50                   	push   %eax
  40226d:	6a 00                	push   $0x0
  40226f:	68 70 04 00 00       	push   $0x470
  402274:	53                   	push   %ebx
  402275:	e8 e6 0f 00 00       	call   403260 <_GetParent@4>
  40227a:	50                   	push   %eax
  40227b:	e8 20 10 00 00       	call   4032a0 <_PostMessageW@16>
  402280:	e9 3a fe ff ff       	jmp    4020bf <_PageConfigProc@16+0x1f>
  402285:	a1 d0 68 40 00       	mov    0x4068d0,%eax
  40228a:	85 c0                	test   %eax,%eax
  40228c:	75 2f                	jne    4022bd <_PageConfigProc@16+0x21d>
  40228e:	a1 f0 68 40 00       	mov    0x4068f0,%eax
  402293:	85 c0                	test   %eax,%eax
  402295:	0f 84 24 fe ff ff    	je     4020bf <_PageConfigProc@16+0x1f>
  40229b:	50                   	push   %eax
  40229c:	6a 64                	push   $0x64
  40229e:	6a 00                	push   $0x0
  4022a0:	53                   	push   %ebx
  4022a1:	e8 2a 10 00 00       	call   4032d0 <_SetWindowLongW@12>
  4022a6:	b8 01 00 00 00       	mov    $0x1,%eax
  4022ab:	e9 11 fe ff ff       	jmp    4020c1 <_PageConfigProc@16+0x21>
  4022b0:	ba 02 00 00 00       	mov    $0x2,%edx
  4022b5:	83 f8 20             	cmp    $0x20,%eax
  4022b8:	e9 8e fe ff ff       	jmp    40214b <_PageConfigProc@16+0xab>
  4022bd:	50                   	push   %eax
  4022be:	6a 68                	push   $0x68
  4022c0:	eb dc                	jmp    40229e <_PageConfigProc@16+0x1fe>
  4022c2:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
  4022c5:	8b 80 64 44 40 00    	mov    0x404464(%eax),%eax
  4022cb:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
  4022ce:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
  4022d1:	8b 80 68 44 40 00    	mov    0x404468(%eax),%eax
  4022d7:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
  4022da:	e9 18 ff ff ff       	jmp    4021f7 <_PageConfigProc@16+0x157>
  4022df:	c7 45 dc 10 00 00 00 	movl   $0x10,0xffffffdc(%ebp)
  4022e6:	e9 3e ff ff ff       	jmp    402229 <_PageConfigProc@16+0x189>
  4022eb:	c7 45 dc 20 00 00 00 	movl   $0x20,0xffffffdc(%ebp)
  4022f2:	e9 32 ff ff ff       	jmp    402229 <_PageConfigProc@16+0x189>
  4022f7:	85 c0                	test   %eax,%eax
  4022f9:	0f 85 2a ff ff ff    	jne    402229 <_PageConfigProc@16+0x189>
  4022ff:	c7 45 dc 08 00 00 00 	movl   $0x8,0xffffffdc(%ebp)
  402306:	e9 1e ff ff ff       	jmp    402229 <_PageConfigProc@16+0x189>
  40230b:	90                   	nop    
  40230c:	8d 74 26 00          	lea    0x0(%esi),%esi

00402310 <_PageChooseActionProc@16>:

/* Property page dialog callback */
INT_PTR CALLBACK
PageChooseActionProc(
  HWND hwndDlg,
  UINT uMsg,
  WPARAM wParam,
  LPARAM lParam
)
{
  402310:	55                   	push   %ebp
  402311:	89 e5                	mov    %esp,%ebp
  402313:	56                   	push   %esi
  402314:	53                   	push   %ebx
  402315:	8b 45 0c             	mov    0xc(%ebp),%eax
  402318:	8b 5d 08             	mov    0x8(%ebp),%ebx
  switch(uMsg)
  40231b:	83 f8 4e             	cmp    $0x4e,%eax
  40231e:	74 16                	je     402336 <_PageChooseActionProc@16+0x26>
  402320:	3d 10 01 00 00       	cmp    $0x110,%eax
  402325:	0f 84 98 00 00 00    	je     4023c3 <_PageChooseActionProc@16+0xb3>
  {
    case WM_INITDIALOG:
      SendDlgItemMessage(hwndDlg, IDC_CONFIGSETTINGS, BM_SETCHECK, BST_CHECKED, 0);
      break;
    case WM_NOTIFY:
    {
      LPNMHDR pnmh = (LPNMHDR)lParam;
      switch(pnmh->code)
      {
        case PSN_SETACTIVE:
          PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_NEXT);
          break;
        case PSN_WIZBACK:
        {
          SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_CHOOSEACTION);
          return TRUE;
        }
        case PSN_WIZNEXT:
        {
          static ULONG SelPage[4] = {IDD_CONFIG, IDD_SELECTDRIVER, IDD_SELECTDRIVER, IDD_CHOOSEACTION};
          int i;
          
          for(i = IDC_CONFIGSETTINGS; i <= IDC_UNINSTALL; i++)
          {
            if(SendDlgItemMessage(hwndDlg, i, BM_GETCHECK, 0, 0) == BST_CHECKED)
            {
              break;
            }
          }
          
          UninstallDriver = (i == IDC_UNINSTALL);
          
          SetWindowLong(hwndDlg, DWL_MSGRESULT, SelPage[i - IDC_CONFIGSETTINGS]);
          return TRUE;
        }
      }
      break;
    }
  }
  return FALSE;
  40232b:	31 c0                	xor    %eax,%eax
}
  40232d:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  402330:	5b                   	pop    %ebx
  402331:	5e                   	pop    %esi
  402332:	5d                   	pop    %ebp
  402333:	c2 10 00             	ret    $0x10
  402336:	8b 45 14             	mov    0x14(%ebp),%eax
  402339:	8b 40 08             	mov    0x8(%eax),%eax
  40233c:	3d 32 ff ff ff       	cmp    $0xffffff32,%eax
  402341:	0f 84 9b 00 00 00    	je     4023e2 <_PageChooseActionProc@16+0xd2>
  402347:	77 59                	ja     4023a2 <_PageChooseActionProc@16+0x92>
  402349:	3d 31 ff ff ff       	cmp    $0xffffff31,%eax
  40234e:	75 db                	jne    40232b <_PageChooseActionProc@16+0x1b>
  402350:	be c9 00 00 00       	mov    $0xc9,%esi
  402355:	83 ec 0c             	sub    $0xc,%esp
  402358:	6a 00                	push   $0x0
  40235a:	6a 00                	push   $0x0
  40235c:	68 f0 00 00 00       	push   $0xf0
  402361:	56                   	push   %esi
  402362:	53                   	push   %ebx
  402363:	e8 88 0f 00 00       	call   4032f0 <_SendDlgItemMessageW@20>
  402368:	83 c4 0c             	add    $0xc,%esp
  40236b:	48                   	dec    %eax
  40236c:	74 09                	je     402377 <_PageChooseActionProc@16+0x67>
  40236e:	46                   	inc    %esi
  40236f:	81 fe cb 00 00 00    	cmp    $0xcb,%esi
  402375:	7e de                	jle    402355 <_PageChooseActionProc@16+0x45>
  402377:	81 fe cb 00 00 00    	cmp    $0xcb,%esi
  40237d:	0f 94 c0             	sete   %al
  402380:	25 ff 00 00 00       	and    $0xff,%eax
  402385:	a3 10 60 40 00       	mov    %eax,0x406010
  40238a:	50                   	push   %eax
  40238b:	8b 04 b5 c0 41 40 00 	mov    0x4041c0(,%esi,4),%eax
  402392:	50                   	push   %eax
  402393:	6a 00                	push   $0x0
  402395:	53                   	push   %ebx
  402396:	e8 35 0f 00 00       	call   4032d0 <_SetWindowLongW@12>
  40239b:	b8 01 00 00 00       	mov    $0x1,%eax
  4023a0:	eb 8b                	jmp    40232d <_PageChooseActionProc@16+0x1d>
  4023a2:	3d 38 ff ff ff       	cmp    $0xffffff38,%eax
  4023a7:	75 82                	jne    40232b <_PageChooseActionProc@16+0x1b>
  4023a9:	6a 02                	push   $0x2
  4023ab:	6a 00                	push   $0x0
  4023ad:	68 70 04 00 00       	push   $0x470
  4023b2:	53                   	push   %ebx
  4023b3:	e8 a8 0e 00 00       	call   403260 <_GetParent@4>
  4023b8:	50                   	push   %eax
  4023b9:	e8 e2 0e 00 00       	call   4032a0 <_PostMessageW@16>
  4023be:	e9 68 ff ff ff       	jmp    40232b <_PageChooseActionProc@16+0x1b>
  4023c3:	83 ec 0c             	sub    $0xc,%esp
  4023c6:	6a 00                	push   $0x0
  4023c8:	6a 01                	push   $0x1
  4023ca:	68 f1 00 00 00       	push   $0xf1
  4023cf:	68 c9 00 00 00       	push   $0xc9
  4023d4:	53                   	push   %ebx
  4023d5:	e8 16 0f 00 00       	call   4032f0 <_SendDlgItemMessageW@20>
  4023da:	83 c4 0c             	add    $0xc,%esp
  4023dd:	e9 49 ff ff ff       	jmp    40232b <_PageChooseActionProc@16+0x1b>
  4023e2:	50                   	push   %eax
  4023e3:	6a 68                	push   $0x68
  4023e5:	eb ac                	jmp    402393 <_PageChooseActionProc@16+0x83>
  4023e7:	89 f6                	mov    %esi,%esi
  4023e9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004023f0 <_PageSelectDriverProc@16>:

/* Property page dialog callback */
INT_PTR CALLBACK
PageSelectDriverProc(
  HWND hwndDlg,
  UINT uMsg,
  WPARAM wParam,
  LPARAM lParam
)
{
  4023f0:	55                   	push   %ebp
  4023f1:	89 e5                	mov    %esp,%ebp
  4023f3:	56                   	push   %esi
  4023f4:	53                   	push   %ebx
  4023f5:	81 ec 00 08 00 00    	sub    $0x800,%esp
  4023fb:	8b 45 0c             	mov    0xc(%ebp),%eax
  4023fe:	8b 75 08             	mov    0x8(%ebp),%esi
  switch(uMsg)
  402401:	83 f8 4e             	cmp    $0x4e,%eax
  402404:	74 1a                	je     402420 <_PageSelectDriverProc@16+0x30>
  402406:	3d 10 01 00 00       	cmp    $0x110,%eax
  40240b:	0f 84 03 01 00 00    	je     402514 <_PageSelectDriverProc@16+0x124>
  {
    case WM_INITDIALOG:
      SendDlgItemMessage(hwndDlg, IDC_VBE, BM_SETCHECK, BST_CHECKED, 0);
      break;
    case WM_NOTIFY:
    {
      LPNMHDR pnmh = (LPNMHDR)lParam;
      switch(pnmh->code)
      {
        case PSN_SETACTIVE:
          PropSheet_SetWizButtons(GetParent(hwndDlg), (UninstallDriver ? PSWIZB_NEXT | PSWIZB_BACK : PSWIZB_BACK | PSWIZB_FINISH));
          break;
        case PSN_WIZBACK:
        {
          SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_CHOOSEACTION);
          return TRUE;
        }
        case PSN_WIZNEXT:
        {
          ActivateVBE = (SendDlgItemMessage(hwndDlg, IDC_VBE, BM_GETCHECK, 0, 0) == BST_CHECKED);

          if(UninstallDriver)
          {
            return FALSE;
          }
          return TRUE;
        }
        case PSN_WIZFINISH:
        {
          if(UninstallDriver)
          {
            return FALSE;
          }
          ActivateVBE = (SendDlgItemMessage(hwndDlg, IDC_VBE, BM_GETCHECK, 0, 0) == BST_CHECKED);
          if(!EnableVmwareDriver(ActivateVBE,
                                 !ActivateVBE,
                                 FALSE))
          {
            WCHAR Msg[1024];
            LoadString(hAppInstance, (ActivateVBE ? IDS_FAILEDTOSELVBEDRIVER : IDS_FAILEDTOSELVGADRIVER), Msg, sizeof(Msg) / sizeof(WCHAR));
            MessageBox(GetParent(hwndDlg), Msg, NULL, MB_ICONWARNING);
            SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_SELECTDRIVER);
            return TRUE;
          }
          break;
        }
      }
      break;
    }
  }
  return FALSE;
  402411:	31 c0                	xor    %eax,%eax
}
  402413:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  402416:	5b                   	pop    %ebx
  402417:	5e                   	pop    %esi
  402418:	5d                   	pop    %ebp
  402419:	c2 10 00             	ret    $0x10
  40241c:	8d 74 26 00          	lea    0x0(%esi),%esi
  402420:	8b 45 14             	mov    0x14(%ebp),%eax
  402423:	8b 40 08             	mov    0x8(%eax),%eax
  402426:	3d 31 ff ff ff       	cmp    $0xffffff31,%eax
  40242b:	0f 84 02 01 00 00    	je     402533 <_PageSelectDriverProc@16+0x143>
  402431:	76 3d                	jbe    402470 <_PageSelectDriverProc@16+0x80>
  402433:	3d 32 ff ff ff       	cmp    $0xffffff32,%eax
  402438:	0f 84 32 01 00 00    	je     402570 <_PageSelectDriverProc@16+0x180>
  40243e:	3d 38 ff ff ff       	cmp    $0xffffff38,%eax
  402443:	75 cc                	jne    402411 <_PageSelectDriverProc@16+0x21>
  402445:	83 3d 10 60 40 00 01 	cmpl   $0x1,0x406010
  40244c:	19 c0                	sbb    %eax,%eax
  40244e:	83 e0 02             	and    $0x2,%eax
  402451:	83 c0 03             	add    $0x3,%eax
  402454:	50                   	push   %eax
  402455:	6a 00                	push   $0x0
  402457:	68 70 04 00 00       	push   $0x470
  40245c:	56                   	push   %esi
  40245d:	e8 fe 0d 00 00       	call   403260 <_GetParent@4>
  402462:	50                   	push   %eax
  402463:	e8 38 0e 00 00       	call   4032a0 <_PostMessageW@16>
  402468:	eb a7                	jmp    402411 <_PageSelectDriverProc@16+0x21>
  40246a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  402470:	3d 30 ff ff ff       	cmp    $0xffffff30,%eax
  402475:	75 9a                	jne    402411 <_PageSelectDriverProc@16+0x21>
  402477:	8b 1d 10 60 40 00    	mov    0x406010,%ebx
  40247d:	31 c0                	xor    %eax,%eax
  40247f:	85 db                	test   %ebx,%ebx
  402481:	75 90                	jne    402413 <_PageSelectDriverProc@16+0x23>
  402483:	83 ec 0c             	sub    $0xc,%esp
  402486:	6a 00                	push   $0x0
  402488:	6a 00                	push   $0x0
  40248a:	68 f0 00 00 00       	push   $0xf0
  40248f:	68 cd 00 00 00       	push   $0xcd
  402494:	56                   	push   %esi
  402495:	e8 56 0e 00 00       	call   4032f0 <_SendDlgItemMessageW@20>
  40249a:	48                   	dec    %eax
  40249b:	5a                   	pop    %edx
  40249c:	0f 94 c2             	sete   %dl
  40249f:	81 e2 ff 00 00 00    	and    $0xff,%edx
  4024a5:	59                   	pop    %ecx
  4024a6:	85 d2                	test   %edx,%edx
  4024a8:	6a 00                	push   $0x0
  4024aa:	0f 94 c0             	sete   %al
  4024ad:	25 ff 00 00 00       	and    $0xff,%eax
  4024b2:	89 15 14 60 40 00    	mov    %edx,0x406014
  4024b8:	50                   	push   %eax
  4024b9:	52                   	push   %edx
  4024ba:	e8 c1 f4 ff ff       	call   401980 <_EnableVmwareDriver>
  4024bf:	83 c4 10             	add    $0x10,%esp
  4024c2:	85 c0                	test   %eax,%eax
  4024c4:	0f 85 47 ff ff ff    	jne    402411 <_PageSelectDriverProc@16+0x21>
  4024ca:	83 3d 14 60 40 00 01 	cmpl   $0x1,0x406014
  4024d1:	19 c0                	sbb    %eax,%eax
  4024d3:	8d 9d f8 f7 ff ff    	lea    0xfffff7f8(%ebp),%ebx
  4024d9:	83 c0 69             	add    $0x69,%eax
  4024dc:	68 00 04 00 00       	push   $0x400
  4024e1:	53                   	push   %ebx
  4024e2:	50                   	push   %eax
  4024e3:	a1 e0 68 40 00       	mov    0x4068e0,%eax
  4024e8:	50                   	push   %eax
  4024e9:	e8 c2 0d 00 00       	call   4032b0 <_LoadStringW@16>
  4024ee:	6a 30                	push   $0x30
  4024f0:	6a 00                	push   $0x0
  4024f2:	53                   	push   %ebx
  4024f3:	56                   	push   %esi
  4024f4:	e8 67 0d 00 00       	call   403260 <_GetParent@4>
  4024f9:	50                   	push   %eax
  4024fa:	e8 c1 0d 00 00       	call   4032c0 <_MessageBoxW@16>
  4024ff:	50                   	push   %eax
  402500:	6a 69                	push   $0x69
  402502:	6a 00                	push   $0x0
  402504:	56                   	push   %esi
  402505:	e8 c6 0d 00 00       	call   4032d0 <_SetWindowLongW@12>
  40250a:	b8 01 00 00 00       	mov    $0x1,%eax
  40250f:	e9 ff fe ff ff       	jmp    402413 <_PageSelectDriverProc@16+0x23>
  402514:	83 ec 0c             	sub    $0xc,%esp
  402517:	6a 00                	push   $0x0
  402519:	6a 01                	push   $0x1
  40251b:	68 f1 00 00 00       	push   $0xf1
  402520:	68 cd 00 00 00       	push   $0xcd
  402525:	56                   	push   %esi
  402526:	e8 c5 0d 00 00       	call   4032f0 <_SendDlgItemMessageW@20>
  40252b:	83 c4 0c             	add    $0xc,%esp
  40252e:	e9 de fe ff ff       	jmp    402411 <_PageSelectDriverProc@16+0x21>
  402533:	83 ec 0c             	sub    $0xc,%esp
  402536:	6a 00                	push   $0x0
  402538:	6a 00                	push   $0x0
  40253a:	68 f0 00 00 00       	push   $0xf0
  40253f:	68 cd 00 00 00       	push   $0xcd
  402544:	56                   	push   %esi
  402545:	e8 a6 0d 00 00       	call   4032f0 <_SendDlgItemMessageW@20>
  40254a:	83 c4 0c             	add    $0xc,%esp
  40254d:	48                   	dec    %eax
  40254e:	0f 94 c0             	sete   %al
  402551:	25 ff 00 00 00       	and    $0xff,%eax
  402556:	8b 35 10 60 40 00    	mov    0x406010,%esi
  40255c:	85 f6                	test   %esi,%esi
  40255e:	a3 14 60 40 00       	mov    %eax,0x406014
  402563:	0f 94 c0             	sete   %al
  402566:	25 ff 00 00 00       	and    $0xff,%eax
  40256b:	e9 a3 fe ff ff       	jmp    402413 <_PageSelectDriverProc@16+0x23>
  402570:	50                   	push   %eax
  402571:	6a 68                	push   $0x68
  402573:	eb 8d                	jmp    402502 <_PageSelectDriverProc@16+0x112>
  402575:	8d 74 26 00          	lea    0x0(%esi),%esi
  402579:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00402580 <_ShowUninstNotice>:

VOID
ShowUninstNotice(HWND Owner)
{
  402580:	55                   	push   %ebp
  402581:	89 e5                	mov    %esp,%ebp
  402583:	53                   	push   %ebx
  402584:	81 ec 04 08 00 00    	sub    $0x804,%esp
  WCHAR Msg[1024];
  LoadString(hAppInstance, IDS_UNINSTNOTICE, Msg, sizeof(Msg) / sizeof(WCHAR));
  40258a:	8d 9d f8 f7 ff ff    	lea    0xfffff7f8(%ebp),%ebx
  402590:	a1 e0 68 40 00       	mov    0x4068e0,%eax
  402595:	68 00 04 00 00       	push   $0x400
  40259a:	53                   	push   %ebx
  40259b:	6a 6a                	push   $0x6a
  40259d:	50                   	push   %eax
  40259e:	e8 0d 0d 00 00       	call   4032b0 <_LoadStringW@16>
  MessageBox(Owner, Msg, NULL, MB_ICONINFORMATION);
  4025a3:	8b 45 08             	mov    0x8(%ebp),%eax
  4025a6:	6a 40                	push   $0x40
  4025a8:	6a 00                	push   $0x0
  4025aa:	53                   	push   %ebx
  4025ab:	50                   	push   %eax
  4025ac:	e8 0f 0d 00 00       	call   4032c0 <_MessageBoxW@16>
  4025b1:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  4025b4:	c9                   	leave  
  4025b5:	c3                   	ret    
  4025b6:	8d 76 00             	lea    0x0(%esi),%esi
  4025b9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004025c0 <_PageDoUninstallProc@16>:
}

INT_PTR CALLBACK
PageDoUninstallProc(
  HWND hwndDlg,
  UINT uMsg,
  WPARAM wParam,
  LPARAM lParam
)
{
  4025c0:	55                   	push   %ebp
  4025c1:	89 e5                	mov    %esp,%ebp
  4025c3:	56                   	push   %esi
  4025c4:	53                   	push   %ebx
  4025c5:	81 ec 00 08 00 00    	sub    $0x800,%esp
  4025cb:	8b 75 08             	mov    0x8(%ebp),%esi
  switch(uMsg)
  4025ce:	83 7d 0c 4e          	cmpl   $0x4e,0xc(%ebp)
  4025d2:	74 0c                	je     4025e0 <_PageDoUninstallProc@16+0x20>
  {
    case WM_NOTIFY:
    {
      LPNMHDR pnmh = (LPNMHDR)lParam;
      switch(pnmh->code)
      {
        case PSN_SETACTIVE:
          PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | PSWIZB_FINISH);
          break;
        case PSN_WIZFINISH:
        {
          if(UninstallDriver)
          {
            if(!EnableVmwareDriver(ActivateVBE,
                                   !ActivateVBE,
                                   FALSE))
            {
              WCHAR Msg[1024];
              LoadString(hAppInstance, (ActivateVBE ? IDS_FAILEDTOSELVBEDRIVER : IDS_FAILEDTOSELVGADRIVER), Msg, sizeof(Msg) / sizeof(WCHAR));
              MessageBox(GetParent(hwndDlg), Msg, NULL, MB_ICONWARNING);
              SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_SELECTDRIVER);
              return TRUE;
            }
            ShowUninstNotice(GetParent(hwndDlg));
          }
          return FALSE;
        }
      }
      break;
    }
  }
  return FALSE;
  4025d4:	31 c0                	xor    %eax,%eax
}
  4025d6:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  4025d9:	5b                   	pop    %ebx
  4025da:	5e                   	pop    %esi
  4025db:	5d                   	pop    %ebp
  4025dc:	c2 10 00             	ret    $0x10
  4025df:	90                   	nop    
  4025e0:	8b 45 14             	mov    0x14(%ebp),%eax
  4025e3:	8b 40 08             	mov    0x8(%eax),%eax
  4025e6:	3d 30 ff ff ff       	cmp    $0xffffff30,%eax
  4025eb:	74 1e                	je     40260b <_PageDoUninstallProc@16+0x4b>
  4025ed:	3d 38 ff ff ff       	cmp    $0xffffff38,%eax
  4025f2:	75 e0                	jne    4025d4 <_PageDoUninstallProc@16+0x14>
  4025f4:	6a 05                	push   $0x5
  4025f6:	6a 00                	push   $0x0
  4025f8:	68 70 04 00 00       	push   $0x470
  4025fd:	56                   	push   %esi
  4025fe:	e8 5d 0c 00 00       	call   403260 <_GetParent@4>
  402603:	50                   	push   %eax
  402604:	e8 97 0c 00 00       	call   4032a0 <_PostMessageW@16>
  402609:	eb c9                	jmp    4025d4 <_PageDoUninstallProc@16+0x14>
  40260b:	8b 15 10 60 40 00    	mov    0x406010,%edx
  402611:	85 d2                	test   %edx,%edx
  402613:	74 bf                	je     4025d4 <_PageDoUninstallProc@16+0x14>
  402615:	50                   	push   %eax
  402616:	a1 14 60 40 00       	mov    0x406014,%eax
  40261b:	6a 00                	push   $0x0
  40261d:	85 c0                	test   %eax,%eax
  40261f:	0f 94 c2             	sete   %dl
  402622:	81 e2 ff 00 00 00    	and    $0xff,%edx
  402628:	52                   	push   %edx
  402629:	50                   	push   %eax
  40262a:	e8 51 f3 ff ff       	call   401980 <_EnableVmwareDriver>
  40262f:	83 c4 10             	add    $0x10,%esp
  402632:	85 c0                	test   %eax,%eax
  402634:	75 4a                	jne    402680 <_PageDoUninstallProc@16+0xc0>
  402636:	83 3d 14 60 40 00 01 	cmpl   $0x1,0x406014
  40263d:	19 c0                	sbb    %eax,%eax
  40263f:	8d 9d f8 f7 ff ff    	lea    0xfffff7f8(%ebp),%ebx
  402645:	83 c0 69             	add    $0x69,%eax
  402648:	68 00 04 00 00       	push   $0x400
  40264d:	53                   	push   %ebx
  40264e:	50                   	push   %eax
  40264f:	a1 e0 68 40 00       	mov    0x4068e0,%eax
  402654:	50                   	push   %eax
  402655:	e8 56 0c 00 00       	call   4032b0 <_LoadStringW@16>
  40265a:	6a 30                	push   $0x30
  40265c:	6a 00                	push   $0x0
  40265e:	53                   	push   %ebx
  40265f:	56                   	push   %esi
  402660:	e8 fb 0b 00 00       	call   403260 <_GetParent@4>
  402665:	50                   	push   %eax
  402666:	e8 55 0c 00 00       	call   4032c0 <_MessageBoxW@16>
  40266b:	50                   	push   %eax
  40266c:	6a 69                	push   $0x69
  40266e:	6a 00                	push   $0x0
  402670:	56                   	push   %esi
  402671:	e8 5a 0c 00 00       	call   4032d0 <_SetWindowLongW@12>
  402676:	b8 01 00 00 00       	mov    $0x1,%eax
  40267b:	e9 56 ff ff ff       	jmp    4025d6 <_PageDoUninstallProc@16+0x16>
  402680:	83 ec 0c             	sub    $0xc,%esp
  402683:	56                   	push   %esi
  402684:	e8 d7 0b 00 00       	call   403260 <_GetParent@4>
  402689:	50                   	push   %eax
  40268a:	e8 f1 fe ff ff       	call   402580 <_ShowUninstNotice>
  40268f:	83 c4 10             	add    $0x10,%esp
  402692:	e9 3d ff ff ff       	jmp    4025d4 <_PageDoUninstallProc@16+0x14>
  402697:	89 f6                	mov    %esi,%esi
  402699:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

004026a0 <_WinMain@16>:

static LONG
CreateWizard(VOID)
{
  PROPSHEETHEADER psh;
  HPROPSHEETPAGE ahpsp[8];
  PROPSHEETPAGE psp;
  WCHAR Caption[1024];
  
  LoadString(hAppInstance, IDS_WIZARD_NAME, Caption, sizeof(Caption) / sizeof(TCHAR));

  /* Create the Welcome page */
  ZeroMemory (&psp, sizeof(PROPSHEETPAGE));
  psp.dwSize = sizeof(PROPSHEETPAGE);
  psp.dwFlags = PSP_DEFAULT | PSP_HIDEHEADER;
  psp.hInstance = hAppInstance;
  psp.pfnDlgProc = PageWelcomeProc;
  psp.pszTemplate = MAKEINTRESOURCE(IDD_WELCOMEPAGE);
  ahpsp[0] = CreatePropertySheetPage(&psp);

  /* Create the INSERT_VMWARE_TOOLS page */
  psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
  psp.pszHeaderTitle = MAKEINTRESOURCE(IDD_INSERT_VMWARE_TOOLSTITLE);
  psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDD_INSERT_VMWARE_TOOLSSUBTITLE);
  psp.pszTemplate = MAKEINTRESOURCE(IDD_INSERT_VMWARE_TOOLS);
  psp.pfnDlgProc = PageInsertDiscProc;
  ahpsp[1] = CreatePropertySheetPage(&psp);

  /* Create the INSTALLING_VMWARE_TOOLS page */
  psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
  psp.pszHeaderTitle = MAKEINTRESOURCE(IDD_INSTALLING_VMWARE_TOOLSTITLE);
  psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDD_INSTALLING_VMWARE_TOOLSSUBTITLE);
  psp.pszTemplate = MAKEINTRESOURCE(IDD_INSTALLING_VMWARE_TOOLS);
  psp.pfnDlgProc = PageInstallingProc;
  ahpsp[2] = CreatePropertySheetPage(&psp);

  /* Create the CONFIG page */
  psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
  psp.pszHeaderTitle = MAKEINTRESOURCE(IDD_CONFIGTITLE);
  psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDD_CONFIGSUBTITLE);
  psp.pfnDlgProc = PageConfigProc;
  psp.pszTemplate = MAKEINTRESOURCE(IDD_CONFIG);
  ahpsp[3] = CreatePropertySheetPage(&psp);

  /* Create the INSTALLATION_FAILED page */
  psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
  psp.pszHeaderTitle = MAKEINTRESOURCE(IDD_INSTALLATION_FAILEDTITLE);
  psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDD_INSTALLATION_FAILEDSUBTITLE);
  psp.pfnDlgProc = PageInstallFailedProc;
  psp.pszTemplate = MAKEINTRESOURCE(IDD_INSTALLATION_FAILED);
  ahpsp[4] = CreatePropertySheetPage(&psp);

  /* Create the CHOOSEACTION page */
  psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
  psp.pszHeaderTitle = MAKEINTRESOURCE(IDD_CHOOSEACTIONTITLE);
  psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDD_CHOOSEACTIONSUBTITLE);
  psp.pfnDlgProc = PageChooseActionProc;
  psp.pszTemplate = MAKEINTRESOURCE(IDD_CHOOSEACTION);
  ahpsp[5] = CreatePropertySheetPage(&psp);

  /* Create the SELECTDRIVER page */
  psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
  psp.pszHeaderTitle = MAKEINTRESOURCE(IDD_SELECTDRIVERTITLE);
  psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDD_SELECTDRIVERSUBTITLE);
  psp.pfnDlgProc = PageSelectDriverProc;
  psp.pszTemplate = MAKEINTRESOURCE(IDD_SELECTDRIVER);
  ahpsp[6] = CreatePropertySheetPage(&psp); 

  /* Create the DOUNINSTALL page */
  psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
  psp.pszHeaderTitle = MAKEINTRESOURCE(IDD_DOUNINSTALLTITLE);
  psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDD_DOUNINSTALLSUBTITLE);
  psp.pfnDlgProc = PageDoUninstallProc;
  psp.pszTemplate = MAKEINTRESOURCE(IDD_DOUNINSTALL);
  ahpsp[7] = CreatePropertySheetPage(&psp); 

  /* Create the property sheet */
  psh.dwSize = sizeof(PROPSHEETHEADER);
  psh.dwFlags = PSH_WIZARD97 | PSH_WATERMARK | PSH_HEADER;
  psh.hInstance = hAppInstance;
  psh.hwndParent = NULL;
  psh.nPages = 7;
  psh.nStartPage = (StartVMwConfigWizard ? 5 : 0);
  psh.phpage = ahpsp;
  psh.pszbmWatermark = MAKEINTRESOURCE(IDB_WATERMARK);
  psh.pszbmHeader = MAKEINTRESOURCE(IDB_HEADER);

  /* Display the wizard */
  return (LONG)(PropertySheet(&psh) != -1);
}

int WINAPI 
WinMain(HINSTANCE hInstance,
	HINSTANCE hPrevInstance,
	LPSTR lpszCmdLine,
	int nCmdShow)
{
  4026a0:	55                   	push   %ebp
  4026a1:	89 e5                	mov    %esp,%ebp
  4026a3:	57                   	push   %edi
  4026a4:	53                   	push   %ebx
  4026a5:	81 ec ac 08 00 00    	sub    $0x8ac,%esp
  
  LPTOP_LEVEL_EXCEPTION_FILTER OldHandler;
  int Version;
  WCHAR *lc;
  
  hAppInstance = hInstance;
  4026ab:	8b 45 08             	mov    0x8(%ebp),%eax
  4026ae:	a3 e0 68 40 00       	mov    %eax,0x4068e0

  /* Setup our exception "handler" ;-) */
  OldHandler = SetUnhandledExceptionFilter(ExceptionHandler);
  4026b3:	68 90 12 40 00       	push   $0x401290
  4026b8:	e8 73 03 00 00       	call   402a30 <_SetUnhandledExceptionFilter@4>
  4026bd:	89 c3                	mov    %eax,%ebx

  if(!DetectVMware(&Version))
  4026bf:	8d 85 64 f7 ff ff    	lea    0xfffff764(%ebp),%eax
  4026c5:	50                   	push   %eax
  4026c6:	e8 e5 eb ff ff       	call   4012b0 <_DetectVMware>
  4026cb:	83 c4 10             	add    $0x10,%esp
  4026ce:	85 c0                	test   %eax,%eax
  4026d0:	0f 84 46 03 00 00    	je     402a1c <_WinMain@16+0x37c>
  {
    ExitProcess(1);
    return 1;
  }

  /* restore the exception handler */
  SetUnhandledExceptionFilter(OldHandler);
  4026d6:	83 ec 0c             	sub    $0xc,%esp
  4026d9:	53                   	push   %ebx
  4026da:	e8 51 03 00 00       	call   402a30 <_SetUnhandledExceptionFilter@4>
  
  lc = DestinationPath;
  lc += GetSystemDirectory(DestinationPath, MAX_PATH) - 1;
  4026df:	c7 04 24 04 01 00 00 	movl   $0x104,(%esp)
  4026e6:	68 68 66 40 00       	push   $0x406668
  4026eb:	e8 20 04 00 00       	call   402b10 <_GetSystemDirectoryW@8>
  if(lc >= DestinationPath && *lc != L'\\')
  4026f0:	5f                   	pop    %edi
  4026f1:	59                   	pop    %ecx
  4026f2:	8d 94 00 68 66 40 00 	lea    0x406668(%eax,%eax,1),%edx
  4026f9:	8d 42 fe             	lea    0xfffffffe(%edx),%eax
  4026fc:	3d 68 66 40 00       	cmp    $0x406668,%eax
  402701:	0f 83 99 02 00 00    	jae    4029a0 <_WinMain@16+0x300>
  {
    wcscat(DestinationPath, L"\\");
  }
  DestinationDriversPath[0] = L'\0';
  402707:	66 c7 05 58 64 40 00 	movw   $0x0,0x406458
  40270e:	00 00 
  wcscat(DestinationDriversPath, DestinationPath);
  402710:	51                   	push   %ecx
  402711:	51                   	push   %ecx
  402712:	68 68 66 40 00       	push   $0x406668
  402717:	68 58 64 40 00       	push   $0x406458
  40271c:	e8 ff 03 00 00       	call   402b20 <_wcscat>
  wcscat(DestinationDriversPath, L"drivers\\");
  402721:	58                   	pop    %eax
  402722:	5a                   	pop    %edx
  
  SetCurrentDirectory(DestinationPath);
  
  DriverFilesFound = FileExists(DestinationPath, vmx_fb) &&
  402723:	31 ff                	xor    %edi,%edi
  402725:	68 bc 52 40 00       	push   $0x4052bc
  40272a:	68 58 64 40 00       	push   $0x406458
  40272f:	e8 ec 03 00 00       	call   402b20 <_wcscat>
  402734:	c7 04 24 68 66 40 00 	movl   $0x406668,(%esp)
  40273b:	e8 70 03 00 00       	call   402ab0 <_SetCurrentDirectoryW@4>
  402740:	58                   	pop    %eax
  402741:	a1 08 40 40 00       	mov    0x404008,%eax
  402746:	50                   	push   %eax
  402747:	68 68 66 40 00       	push   $0x406668
  40274c:	e8 ef eb ff ff       	call   401340 <_FileExists>
  402751:	83 c4 10             	add    $0x10,%esp
  402754:	85 c0                	test   %eax,%eax
  402756:	0f 85 7c 02 00 00    	jne    4029d8 <_WinMain@16+0x338>
                     FileExists(DestinationPath, vmx_mode) &&
                     FileExists(DestinationDriversPath, vmx_svga);
  
  StartVMwConfigWizard = DriverFilesFound && IsVmwSVGAEnabled();
  40275c:	31 db                	xor    %ebx,%ebx
  40275e:	89 3d f0 68 40 00    	mov    %edi,0x4068f0
  402764:	85 ff                	test   %edi,%edi
  402766:	0f 85 58 02 00 00    	jne    4029c4 <_WinMain@16+0x324>
  40276c:	8d 85 68 f7 ff ff    	lea    0xfffff768(%ebp),%eax
  402772:	8b 0d e0 68 40 00    	mov    0x4068e0,%ecx
  402778:	68 00 04 00 00       	push   $0x400
  40277d:	89 1d d0 68 40 00    	mov    %ebx,0x4068d0
  402783:	50                   	push   %eax
  402784:	6a 64                	push   $0x64
  402786:	51                   	push   %ecx
  402787:	e8 24 0b 00 00       	call   4032b0 <_LoadStringW@16>
  40278c:	fc                   	cld    
  40278d:	31 c0                	xor    %eax,%eax
  40278f:	8d bd 68 ff ff ff    	lea    0xffffff68(%ebp),%edi
  402795:	b9 0c 00 00 00       	mov    $0xc,%ecx
  40279a:	83 ec 0c             	sub    $0xc,%esp
  40279d:	f3 ab                	repz stos %eax,%es:(%edi)
  40279f:	8d 9d 68 ff ff ff    	lea    0xffffff68(%ebp),%ebx
  4027a5:	a1 e0 68 40 00       	mov    0x4068e0,%eax
  4027aa:	c7 85 68 ff ff ff 30 	movl   $0x30,0xffffff68(%ebp)
  4027b1:	00 00 00 
  4027b4:	c7 85 6c ff ff ff 00 	movl   $0x800,0xffffff6c(%ebp)
  4027bb:	08 00 00 
  4027be:	89 85 70 ff ff ff    	mov    %eax,0xffffff70(%ebp)
  4027c4:	c7 45 80 20 1a 40 00 	movl   $0x401a20,0xffffff80(%ebp)
  4027cb:	c7 85 74 ff ff ff 64 	movl   $0x64,0xffffff74(%ebp)
  4027d2:	00 00 00 
  4027d5:	53                   	push   %ebx
  4027d6:	e8 05 04 00 00       	call   402be0 <_CreatePropertySheetPageW@4>
  4027db:	c7 85 6c ff ff ff 00 	movl   $0x3000,0xffffff6c(%ebp)
  4027e2:	30 00 00 
  4027e5:	c7 45 90 2d 01 00 00 	movl   $0x12d,0xffffff90(%ebp)
  4027ec:	c7 45 94 2e 01 00 00 	movl   $0x12e,0xffffff94(%ebp)
  4027f3:	89 45 98             	mov    %eax,0xffffff98(%ebp)
  4027f6:	c7 85 74 ff ff ff 65 	movl   $0x65,0xffffff74(%ebp)
  4027fd:	00 00 00 
  402800:	c7 45 80 e0 1a 40 00 	movl   $0x401ae0,0xffffff80(%ebp)
  402807:	53                   	push   %ebx
  402808:	e8 d3 03 00 00       	call   402be0 <_CreatePropertySheetPageW@4>
  40280d:	c7 85 6c ff ff ff 00 	movl   $0x3000,0xffffff6c(%ebp)
  402814:	30 00 00 
  402817:	c7 45 90 37 01 00 00 	movl   $0x137,0xffffff90(%ebp)
  40281e:	c7 45 94 38 01 00 00 	movl   $0x138,0xffffff94(%ebp)
  402825:	89 45 9c             	mov    %eax,0xffffff9c(%ebp)
  402828:	c7 85 74 ff ff ff 66 	movl   $0x66,0xffffff74(%ebp)
  40282f:	00 00 00 
  402832:	c7 45 80 e0 1d 40 00 	movl   $0x401de0,0xffffff80(%ebp)
  402839:	53                   	push   %ebx
  40283a:	e8 a1 03 00 00       	call   402be0 <_CreatePropertySheetPageW@4>
  40283f:	c7 85 6c ff ff ff 00 	movl   $0x3000,0xffffff6c(%ebp)
  402846:	30 00 00 
  402849:	c7 45 90 41 01 00 00 	movl   $0x141,0xffffff90(%ebp)
  402850:	c7 45 94 42 01 00 00 	movl   $0x142,0xffffff94(%ebp)
  402857:	89 45 a0             	mov    %eax,0xffffffa0(%ebp)
  40285a:	c7 45 80 a0 20 40 00 	movl   $0x4020a0,0xffffff80(%ebp)
  402861:	c7 85 74 ff ff ff 67 	movl   $0x67,0xffffff74(%ebp)
  402868:	00 00 00 
  40286b:	53                   	push   %ebx
  40286c:	e8 6f 03 00 00       	call   402be0 <_CreatePropertySheetPageW@4>
  402871:	c7 85 6c ff ff ff 00 	movl   $0x3000,0xffffff6c(%ebp)
  402878:	30 00 00 
  40287b:	c7 45 90 4b 01 00 00 	movl   $0x14b,0xffffff90(%ebp)
  402882:	c7 45 94 4c 01 00 00 	movl   $0x14c,0xffffff94(%ebp)
  402889:	89 45 a4             	mov    %eax,0xffffffa4(%ebp)
  40288c:	c7 45 80 00 20 40 00 	movl   $0x402000,0xffffff80(%ebp)
  402893:	c7 85 74 ff ff ff 6a 	movl   $0x6a,0xffffff74(%ebp)
  40289a:	00 00 00 
  40289d:	53                   	push   %ebx
  40289e:	e8 3d 03 00 00       	call   402be0 <_CreatePropertySheetPageW@4>
  4028a3:	c7 85 6c ff ff ff 00 	movl   $0x3000,0xffffff6c(%ebp)
  4028aa:	30 00 00 
  4028ad:	c7 45 90 55 01 00 00 	movl   $0x155,0xffffff90(%ebp)
  4028b4:	c7 45 94 56 01 00 00 	movl   $0x156,0xffffff94(%ebp)
  4028bb:	89 45 a8             	mov    %eax,0xffffffa8(%ebp)
  4028be:	c7 45 80 10 23 40 00 	movl   $0x402310,0xffffff80(%ebp)
  4028c5:	c7 85 74 ff ff ff 68 	movl   $0x68,0xffffff74(%ebp)
  4028cc:	00 00 00 
  4028cf:	53                   	push   %ebx
  4028d0:	e8 0b 03 00 00       	call   402be0 <_CreatePropertySheetPageW@4>
  4028d5:	c7 85 6c ff ff ff 00 	movl   $0x3000,0xffffff6c(%ebp)
  4028dc:	30 00 00 
  4028df:	c7 45 90 5f 01 00 00 	movl   $0x15f,0xffffff90(%ebp)
  4028e6:	c7 45 94 60 01 00 00 	movl   $0x160,0xffffff94(%ebp)
  4028ed:	89 45 ac             	mov    %eax,0xffffffac(%ebp)
  4028f0:	c7 45 80 f0 23 40 00 	movl   $0x4023f0,0xffffff80(%ebp)
  4028f7:	c7 85 74 ff ff ff 69 	movl   $0x69,0xffffff74(%ebp)
  4028fe:	00 00 00 
  402901:	53                   	push   %ebx
  402902:	e8 d9 02 00 00       	call   402be0 <_CreatePropertySheetPageW@4>
  402907:	c7 85 6c ff ff ff 00 	movl   $0x3000,0xffffff6c(%ebp)
  40290e:	30 00 00 
  402911:	c7 45 90 69 01 00 00 	movl   $0x169,0xffffff90(%ebp)
  402918:	c7 45 94 6a 01 00 00 	movl   $0x16a,0xffffff94(%ebp)
  40291f:	89 45 b0             	mov    %eax,0xffffffb0(%ebp)
  402922:	c7 45 80 c0 25 40 00 	movl   $0x4025c0,0xffffff80(%ebp)
  402929:	c7 85 74 ff ff ff 6b 	movl   $0x6b,0xffffff74(%ebp)
  402930:	00 00 00 
  402933:	53                   	push   %ebx
  402934:	e8 a7 02 00 00       	call   402be0 <_CreatePropertySheetPageW@4>
  402939:	c7 45 b8 34 00 00 00 	movl   $0x34,0xffffffb8(%ebp)
  402940:	83 3d d0 68 40 00 01 	cmpl   $0x1,0x4068d0
  402947:	89 45 b4             	mov    %eax,0xffffffb4(%ebp)
  40294a:	a1 e0 68 40 00       	mov    0x4068e0,%eax
  40294f:	89 45 c4             	mov    %eax,0xffffffc4(%ebp)
  402952:	c7 45 bc 00 80 08 01 	movl   $0x1088000,0xffffffbc(%ebp)
  402959:	19 c0                	sbb    %eax,%eax
  40295b:	c7 45 c0 00 00 00 00 	movl   $0x0,0xffffffc0(%ebp)
  402962:	83 f0 ff             	xor    $0xffffffff,%eax
  402965:	c7 45 d0 07 00 00 00 	movl   $0x7,0xffffffd0(%ebp)
  40296c:	83 e0 05             	and    $0x5,%eax
  40296f:	c7 45 e0 64 00 00 00 	movl   $0x64,0xffffffe0(%ebp)
  402976:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
  402979:	8d 45 98             	lea    0xffffff98(%ebp),%eax
  40297c:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
  40297f:	8d 45 b8             	lea    0xffffffb8(%ebp),%eax
  402982:	c7 45 e8 65 00 00 00 	movl   $0x65,0xffffffe8(%ebp)
  402989:	50                   	push   %eax
  40298a:	e8 61 02 00 00       	call   402bf0 <_PropertySheetW@4>
  
  /* Show the wizard */
  CreateWizard();
 
  return 2;
}
  40298f:	b8 02 00 00 00       	mov    $0x2,%eax
  402994:	83 c4 0c             	add    $0xc,%esp
  402997:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  40299a:	5b                   	pop    %ebx
  40299b:	5f                   	pop    %edi
  40299c:	5d                   	pop    %ebp
  40299d:	c2 10 00             	ret    $0x10
  4029a0:	66 83 7a fe 5c       	cmpw   $0x5c,0xfffffffe(%edx)
  4029a5:	0f 84 5c fd ff ff    	je     402707 <_WinMain@16+0x67>
  4029ab:	53                   	push   %ebx
  4029ac:	53                   	push   %ebx
  4029ad:	68 ce 52 40 00       	push   $0x4052ce
  4029b2:	68 68 66 40 00       	push   $0x406668
  4029b7:	e8 64 01 00 00       	call   402b20 <_wcscat>
  4029bc:	83 c4 10             	add    $0x10,%esp
  4029bf:	e9 43 fd ff ff       	jmp    402707 <_WinMain@16+0x67>
  4029c4:	e8 e7 ed ff ff       	call   4017b0 <_IsVmwSVGAEnabled>
  4029c9:	85 c0                	test   %eax,%eax
  4029cb:	0f 84 9b fd ff ff    	je     40276c <_WinMain@16+0xcc>
  4029d1:	b3 01                	mov    $0x1,%bl
  4029d3:	e9 94 fd ff ff       	jmp    40276c <_WinMain@16+0xcc>
  4029d8:	50                   	push   %eax
  4029d9:	50                   	push   %eax
  4029da:	a1 04 40 40 00       	mov    0x404004,%eax
  4029df:	50                   	push   %eax
  4029e0:	68 68 66 40 00       	push   $0x406668
  4029e5:	e8 56 e9 ff ff       	call   401340 <_FileExists>
  4029ea:	83 c4 10             	add    $0x10,%esp
  4029ed:	85 c0                	test   %eax,%eax
  4029ef:	0f 84 67 fd ff ff    	je     40275c <_WinMain@16+0xbc>
  4029f5:	8b 1d 00 40 40 00    	mov    0x404000,%ebx
  4029fb:	50                   	push   %eax
  4029fc:	50                   	push   %eax
  4029fd:	53                   	push   %ebx
  4029fe:	68 58 64 40 00       	push   $0x406458
  402a03:	e8 38 e9 ff ff       	call   401340 <_FileExists>
  402a08:	83 c4 10             	add    $0x10,%esp
  402a0b:	85 c0                	test   %eax,%eax
  402a0d:	0f 84 49 fd ff ff    	je     40275c <_WinMain@16+0xbc>
  402a13:	66 bf 01 00          	mov    $0x1,%di
  402a17:	e9 40 fd ff ff       	jmp    40275c <_WinMain@16+0xbc>
  402a1c:	83 ec 0c             	sub    $0xc,%esp
  402a1f:	6a 01                	push   $0x1
  402a21:	e8 1a 00 00 00       	call   402a40 <_ExitProcess@4>
  402a26:	90                   	nop    
  402a27:	90                   	nop    
  402a28:	90                   	nop    
  402a29:	90                   	nop    
  402a2a:	90                   	nop    
  402a2b:	90                   	nop    
  402a2c:	90                   	nop    
  402a2d:	90                   	nop    
  402a2e:	90                   	nop    
  402a2f:	90                   	nop    

00402a30 <_SetUnhandledExceptionFilter@4>:
  402a30:	ff 25 f4 71 40 00    	jmp    *0x4071f4
  402a36:	90                   	nop    
  402a37:	90                   	nop    
	...

00402a40 <_ExitProcess@4>:
  402a40:	ff 25 d8 71 40 00    	jmp    *0x4071d8
  402a46:	90                   	nop    
  402a47:	90                   	nop    
	...

00402a50 <_CreateFileW@28>:
  402a50:	ff 25 cc 71 40 00    	jmp    *0x4071cc
  402a56:	90                   	nop    
  402a57:	90                   	nop    
	...

00402a60 <_GetFileSize@8>:
  402a60:	ff 25 dc 71 40 00    	jmp    *0x4071dc
  402a66:	90                   	nop    
  402a67:	90                   	nop    
	...

00402a70 <_CloseHandle@4>:
  402a70:	ff 25 c8 71 40 00    	jmp    *0x4071c8
  402a76:	90                   	nop    
  402a77:	90                   	nop    
	...

00402a80 <_ReadFile@20>:
  402a80:	ff 25 e8 71 40 00    	jmp    *0x4071e8
  402a86:	90                   	nop    
  402a87:	90                   	nop    
	...

00402a90 <_WriteFile@20>:
  402a90:	ff 25 00 72 40 00    	jmp    *0x407200
  402a96:	90                   	nop    
  402a97:	90                   	nop    
	...

00402aa0 <_DeleteFileW@4>:
  402aa0:	ff 25 d4 71 40 00    	jmp    *0x4071d4
  402aa6:	90                   	nop    
  402aa7:	90                   	nop    
	...

00402ab0 <_SetCurrentDirectoryW@4>:
  402ab0:	ff 25 f0 71 40 00    	jmp    *0x4071f0
  402ab6:	90                   	nop    
  402ab7:	90                   	nop    
	...

00402ac0 <_InterlockedExchange@8>:
  402ac0:	ff 25 e4 71 40 00    	jmp    *0x4071e4
  402ac6:	90                   	nop    
  402ac7:	90                   	nop    
	...

00402ad0 <_WaitForSingleObject@8>:
  402ad0:	ff 25 fc 71 40 00    	jmp    *0x4071fc
  402ad6:	90                   	nop    
  402ad7:	90                   	nop    
	...

00402ae0 <_Sleep@4>:
  402ae0:	ff 25 f8 71 40 00    	jmp    *0x4071f8
  402ae6:	90                   	nop    
  402ae7:	90                   	nop    
	...

00402af0 <_CreateThread@24>:
  402af0:	ff 25 d0 71 40 00    	jmp    *0x4071d0
  402af6:	90                   	nop    
  402af7:	90                   	nop    
	...

00402b00 <_ResumeThread@4>:
  402b00:	ff 25 ec 71 40 00    	jmp    *0x4071ec
  402b06:	90                   	nop    
  402b07:	90                   	nop    
	...

00402b10 <_GetSystemDirectoryW@8>:
  402b10:	ff 25 e0 71 40 00    	jmp    *0x4071e0
  402b16:	90                   	nop    
  402b17:	90                   	nop    
	...

00402b20 <_wcscat>:
  402b20:	ff 25 0c 72 40 00    	jmp    *0x40720c
  402b26:	90                   	nop    
  402b27:	90                   	nop    
	...

00402b30 <___set_app_type>:
  402b30:	ff 25 6c 72 40 00    	jmp    *0x40726c
  402b36:	90                   	nop    
  402b37:	90                   	nop    
	...

00402b40 <__cexit>:
  402b40:	ff 25 70 72 40 00    	jmp    *0x407270
  402b46:	90                   	nop    
  402b47:	90                   	nop    
	...

00402b50 <___p__environ>:
  402b50:	ff 25 64 72 40 00    	jmp    *0x407264
  402b56:	90                   	nop    
  402b57:	90                   	nop    
	...

00402b60 <_signal>:
  402b60:	ff 25 a0 72 40 00    	jmp    *0x4072a0
  402b66:	90                   	nop    
  402b67:	90                   	nop    
	...

00402b70 <___p__fmode>:
  402b70:	ff 25 68 72 40 00    	jmp    *0x407268
  402b76:	90                   	nop    
  402b77:	90                   	nop    
	...

00402b80 <__setmode>:
  402b80:	ff 25 84 72 40 00    	jmp    *0x407284
  402b86:	90                   	nop    
  402b87:	90                   	nop    
	...

00402b90 <___getmainargs>:
  402b90:	ff 25 60 72 40 00    	jmp    *0x407260
  402b96:	90                   	nop    
  402b97:	90                   	nop    
	...

00402ba0 <_RegOpenKeyExW@20>:
  402ba0:	ff 25 1c 72 40 00    	jmp    *0x40721c
  402ba6:	90                   	nop    
  402ba7:	90                   	nop    
	...

00402bb0 <_RegQueryValueExW@24>:
  402bb0:	ff 25 20 72 40 00    	jmp    *0x407220
  402bb6:	90                   	nop    
  402bb7:	90                   	nop    
	...

00402bc0 <_RegCloseKey@4>:
  402bc0:	ff 25 18 72 40 00    	jmp    *0x407218
  402bc6:	90                   	nop    
  402bc7:	90                   	nop    
	...

00402bd0 <_RegSetValueExW@24>:
  402bd0:	ff 25 24 72 40 00    	jmp    *0x407224
  402bd6:	90                   	nop    
  402bd7:	90                   	nop    
	...

00402be0 <_CreatePropertySheetPageW@4>:
  402be0:	ff 25 30 72 40 00    	jmp    *0x407230
  402be6:	90                   	nop    
  402be7:	90                   	nop    
	...

00402bf0 <_PropertySheetW@4>:
  402bf0:	ff 25 34 72 40 00    	jmp    *0x407234
  402bf6:	90                   	nop    
  402bf7:	90                   	nop    
	...

00402c00 <_main>:
  402c00:	55                   	push   %ebp
  402c01:	b8 10 00 00 00       	mov    $0x10,%eax
  402c06:	89 e5                	mov    %esp,%ebp
  402c08:	53                   	push   %ebx
  402c09:	83 ec 64             	sub    $0x64,%esp
  402c0c:	83 e4 f0             	and    $0xfffffff0,%esp
  402c0f:	e8 4c 05 00 00       	call   403160 <___chkstk>
  402c14:	e8 e7 01 00 00       	call   402e00 <___main>
  402c19:	e8 f2 06 00 00       	call   403310 <_GetCommandLineA@0>
  402c1e:	89 c3                	mov    %eax,%ebx
  402c20:	8d 45 a8             	lea    0xffffffa8(%ebp),%eax
  402c23:	89 04 24             	mov    %eax,(%esp)
  402c26:	e8 f5 06 00 00       	call   403320 <_GetStartupInfoA@4>
  402c2b:	83 ec 04             	sub    $0x4,%esp
  402c2e:	85 db                	test   %ebx,%ebx
  402c30:	75 06                	jne    402c38 <_main+0x38>
  402c32:	e9 9f 00 00 00       	jmp    402cd6 <_main+0xd6>
  402c37:	43                   	inc    %ebx
  402c38:	0f b6 0b             	movzbl (%ebx),%ecx
  402c3b:	80 f9 20             	cmp    $0x20,%cl
  402c3e:	0f 94 c0             	sete   %al
  402c41:	80 f9 09             	cmp    $0x9,%cl
  402c44:	0f 94 c2             	sete   %dl
  402c47:	09 d0                	or     %edx,%eax
  402c49:	a8 01                	test   $0x1,%al
  402c4b:	75 ea                	jne    402c37 <_main+0x37>
  402c4d:	80 f9 22             	cmp    $0x22,%cl
  402c50:	74 3e                	je     402c90 <_main+0x90>
  402c52:	80 f9 20             	cmp    $0x20,%cl
  402c55:	0f 95 c0             	setne  %al
  402c58:	31 d2                	xor    %edx,%edx
  402c5a:	80 f9 09             	cmp    $0x9,%cl
  402c5d:	0f 95 c2             	setne  %dl
  402c60:	85 d0                	test   %edx,%eax
  402c62:	74 4c                	je     402cb0 <_main+0xb0>
  402c64:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  402c6a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi
  402c70:	84 c9                	test   %cl,%cl
  402c72:	74 3c                	je     402cb0 <_main+0xb0>
  402c74:	43                   	inc    %ebx
  402c75:	0f b6 0b             	movzbl (%ebx),%ecx
  402c78:	80 f9 20             	cmp    $0x20,%cl
  402c7b:	0f 95 c0             	setne  %al
  402c7e:	31 d2                	xor    %edx,%edx
  402c80:	80 f9 09             	cmp    $0x9,%cl
  402c83:	0f 95 c2             	setne  %dl
  402c86:	85 d0                	test   %edx,%eax
  402c88:	75 e6                	jne    402c70 <_main+0x70>
  402c8a:	eb 24                	jmp    402cb0 <_main+0xb0>
  402c8c:	8d 74 26 00          	lea    0x0(%esi),%esi
  402c90:	43                   	inc    %ebx
  402c91:	0f b6 0b             	movzbl (%ebx),%ecx
  402c94:	80 f9 22             	cmp    $0x22,%cl
  402c97:	0f 95 c0             	setne  %al
  402c9a:	31 d2                	xor    %edx,%edx
  402c9c:	84 c9                	test   %cl,%cl
  402c9e:	0f 95 c2             	setne  %dl
  402ca1:	85 d0                	test   %edx,%eax
  402ca3:	75 eb                	jne    402c90 <_main+0x90>
  402ca5:	80 f9 22             	cmp    $0x22,%cl
  402ca8:	74 68                	je     402d12 <_main+0x112>
  402caa:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  402cb0:	80 f9 20             	cmp    $0x20,%cl
  402cb3:	0f 94 c0             	sete   %al
  402cb6:	80 f9 09             	cmp    $0x9,%cl
  402cb9:	0f 94 c2             	sete   %dl
  402cbc:	eb 12                	jmp    402cd0 <_main+0xd0>
  402cbe:	89 f6                	mov    %esi,%esi
  402cc0:	43                   	inc    %ebx
  402cc1:	0f b6 0b             	movzbl (%ebx),%ecx
  402cc4:	80 f9 20             	cmp    $0x20,%cl
  402cc7:	0f 94 c2             	sete   %dl
  402cca:	80 f9 09             	cmp    $0x9,%cl
  402ccd:	0f 94 c0             	sete   %al
  402cd0:	09 d0                	or     %edx,%eax
  402cd2:	a8 01                	test   $0x1,%al
  402cd4:	75 ea                	jne    402cc0 <_main+0xc0>
  402cd6:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
  402cdd:	e8 4e 06 00 00       	call   403330 <_GetModuleHandleA@4>
  402ce2:	83 ec 04             	sub    $0x4,%esp
  402ce5:	f6 45 d4 01          	testb  $0x1,0xffffffd4(%ebp)
  402ce9:	ba 0a 00 00 00       	mov    $0xa,%edx
  402cee:	74 04                	je     402cf4 <_main+0xf4>
  402cf0:	0f b7 55 d8          	movzwl 0xffffffd8(%ebp),%edx
  402cf4:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  402cf8:	31 db                	xor    %ebx,%ebx
  402cfa:	89 5c 24 04          	mov    %ebx,0x4(%esp)
  402cfe:	89 54 24 0c          	mov    %edx,0xc(%esp)
  402d02:	89 04 24             	mov    %eax,(%esp)
  402d05:	e8 96 f9 ff ff       	call   4026a0 <_WinMain@16>
  402d0a:	83 ec 10             	sub    $0x10,%esp
  402d0d:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  402d10:	c9                   	leave  
  402d11:	c3                   	ret    
  402d12:	43                   	inc    %ebx
  402d13:	0f b6 0b             	movzbl (%ebx),%ecx
  402d16:	eb 98                	jmp    402cb0 <_main+0xb0>
  402d18:	90                   	nop    
  402d19:	90                   	nop    
  402d1a:	90                   	nop    
  402d1b:	90                   	nop    
  402d1c:	90                   	nop    
  402d1d:	90                   	nop    
  402d1e:	90                   	nop    
  402d1f:	90                   	nop    

00402d20 <__pei386_runtime_relocator>:
  402d20:	55                   	push   %ebp
  402d21:	b9 c0 53 40 00       	mov    $0x4053c0,%ecx
  402d26:	89 e5                	mov    %esp,%ebp
  402d28:	eb 14                	jmp    402d3e <__pei386_runtime_relocator+0x1e>
  402d2a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  402d30:	8b 51 04             	mov    0x4(%ecx),%edx
  402d33:	8b 01                	mov    (%ecx),%eax
  402d35:	83 c1 08             	add    $0x8,%ecx
  402d38:	01 82 00 00 40 00    	add    %eax,0x400000(%edx)
  402d3e:	81 f9 c0 53 40 00    	cmp    $0x4053c0,%ecx
  402d44:	72 ea                	jb     402d30 <__pei386_runtime_relocator+0x10>
  402d46:	5d                   	pop    %ebp
  402d47:	c3                   	ret    
  402d48:	90                   	nop    
  402d49:	90                   	nop    
  402d4a:	90                   	nop    
  402d4b:	90                   	nop    
  402d4c:	90                   	nop    
  402d4d:	90                   	nop    
  402d4e:	90                   	nop    
  402d4f:	90                   	nop    

00402d50 <__fpreset>:
  402d50:	55                   	push   %ebp
  402d51:	89 e5                	mov    %esp,%ebp
  402d53:	db e3                	fninit 
  402d55:	5d                   	pop    %ebp
  402d56:	c3                   	ret    
  402d57:	90                   	nop    
  402d58:	90                   	nop    
  402d59:	90                   	nop    
  402d5a:	90                   	nop    
  402d5b:	90                   	nop    
  402d5c:	90                   	nop    
  402d5d:	90                   	nop    
  402d5e:	90                   	nop    
  402d5f:	90                   	nop    

00402d60 <___do_global_dtors>:
  402d60:	55                   	push   %ebp
  402d61:	89 e5                	mov    %esp,%ebp
  402d63:	83 ec 08             	sub    $0x8,%esp
  402d66:	a1 20 45 40 00       	mov    0x404520,%eax
  402d6b:	8b 08                	mov    (%eax),%ecx
  402d6d:	85 c9                	test   %ecx,%ecx
  402d6f:	74 26                	je     402d97 <___do_global_dtors+0x37>
  402d71:	eb 0d                	jmp    402d80 <___do_global_dtors+0x20>
  402d73:	90                   	nop    
  402d74:	90                   	nop    
  402d75:	90                   	nop    
  402d76:	90                   	nop    
  402d77:	90                   	nop    
  402d78:	90                   	nop    
  402d79:	90                   	nop    
  402d7a:	90                   	nop    
  402d7b:	90                   	nop    
  402d7c:	90                   	nop    
  402d7d:	90                   	nop    
  402d7e:	90                   	nop    
  402d7f:	90                   	nop    
  402d80:	ff 10                	call   *(%eax)
  402d82:	8b 0d 20 45 40 00    	mov    0x404520,%ecx
  402d88:	8b 51 04             	mov    0x4(%ecx),%edx
  402d8b:	8d 41 04             	lea    0x4(%ecx),%eax
  402d8e:	a3 20 45 40 00       	mov    %eax,0x404520
  402d93:	85 d2                	test   %edx,%edx
  402d95:	75 e9                	jne    402d80 <___do_global_dtors+0x20>
  402d97:	c9                   	leave  
  402d98:	c3                   	ret    
  402d99:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

00402da0 <___do_global_ctors>:
  402da0:	55                   	push   %ebp
  402da1:	89 e5                	mov    %esp,%ebp
  402da3:	53                   	push   %ebx
  402da4:	83 ec 04             	sub    $0x4,%esp
  402da7:	a1 80 33 40 00       	mov    0x403380,%eax
  402dac:	83 f8 ff             	cmp    $0xffffffff,%eax
  402daf:	74 29                	je     402dda <___do_global_ctors+0x3a>
  402db1:	85 c0                	test   %eax,%eax
  402db3:	89 c3                	mov    %eax,%ebx
  402db5:	74 13                	je     402dca <___do_global_ctors+0x2a>
  402db7:	89 f6                	mov    %esi,%esi
  402db9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi
  402dc0:	ff 14 9d 80 33 40 00 	call   *0x403380(,%ebx,4)
  402dc7:	4b                   	dec    %ebx
  402dc8:	75 f6                	jne    402dc0 <___do_global_ctors+0x20>
  402dca:	c7 04 24 60 2d 40 00 	movl   $0x402d60,(%esp)
  402dd1:	e8 8a e4 ff ff       	call   401260 <_atexit>
  402dd6:	5b                   	pop    %ebx
  402dd7:	5b                   	pop    %ebx
  402dd8:	5d                   	pop    %ebp
  402dd9:	c3                   	ret    
  402dda:	8b 0d 84 33 40 00    	mov    0x403384,%ecx
  402de0:	31 c0                	xor    %eax,%eax
  402de2:	85 c9                	test   %ecx,%ecx
  402de4:	eb 0a                	jmp    402df0 <___do_global_ctors+0x50>
  402de6:	40                   	inc    %eax
  402de7:	8b 14 85 84 33 40 00 	mov    0x403384(,%eax,4),%edx
  402dee:	85 d2                	test   %edx,%edx
  402df0:	75 f4                	jne    402de6 <___do_global_ctors+0x46>
  402df2:	eb bd                	jmp    402db1 <___do_global_ctors+0x11>
  402df4:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  402dfa:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

00402e00 <___main>:
  402e00:	55                   	push   %ebp
  402e01:	89 e5                	mov    %esp,%ebp
  402e03:	53                   	push   %ebx
  402e04:	83 ec 04             	sub    $0x4,%esp
  402e07:	a1 90 68 40 00       	mov    0x406890,%eax
  402e0c:	85 c0                	test   %eax,%eax
  402e0e:	75 36                	jne    402e46 <___main+0x46>
  402e10:	a1 80 33 40 00       	mov    0x403380,%eax
  402e15:	bb 01 00 00 00       	mov    $0x1,%ebx
  402e1a:	89 1d 90 68 40 00    	mov    %ebx,0x406890
  402e20:	83 f8 ff             	cmp    $0xffffffff,%eax
  402e23:	74 25                	je     402e4a <___main+0x4a>
  402e25:	85 c0                	test   %eax,%eax
  402e27:	89 c3                	mov    %eax,%ebx
  402e29:	74 0f                	je     402e3a <___main+0x3a>
  402e2b:	90                   	nop    
  402e2c:	8d 74 26 00          	lea    0x0(%esi),%esi
  402e30:	ff 14 9d 80 33 40 00 	call   *0x403380(,%ebx,4)
  402e37:	4b                   	dec    %ebx
  402e38:	75 f6                	jne    402e30 <___main+0x30>
  402e3a:	c7 04 24 60 2d 40 00 	movl   $0x402d60,(%esp)
  402e41:	e8 1a e4 ff ff       	call   401260 <_atexit>
  402e46:	5b                   	pop    %ebx
  402e47:	5b                   	pop    %ebx
  402e48:	5d                   	pop    %ebp
  402e49:	c3                   	ret    
  402e4a:	8b 0d 84 33 40 00    	mov    0x403384,%ecx
  402e50:	31 c0                	xor    %eax,%eax
  402e52:	85 c9                	test   %ecx,%ecx
  402e54:	eb 0a                	jmp    402e60 <___main+0x60>
  402e56:	40                   	inc    %eax
  402e57:	8b 14 85 84 33 40 00 	mov    0x403384(,%eax,4),%edx
  402e5e:	85 d2                	test   %edx,%edx
  402e60:	75 f4                	jne    402e56 <___main+0x56>
  402e62:	eb c1                	jmp    402e25 <___main+0x25>
  402e64:	90                   	nop    
  402e65:	90                   	nop    
  402e66:	90                   	nop    
  402e67:	90                   	nop    
  402e68:	90                   	nop    
  402e69:	90                   	nop    
  402e6a:	90                   	nop    
  402e6b:	90                   	nop    
  402e6c:	90                   	nop    
  402e6d:	90                   	nop    
  402e6e:	90                   	nop    
  402e6f:	90                   	nop    

00402e70 <___w32_sharedptr_default_unexpected>:
  402e70:	55                   	push   %ebp
  402e71:	a1 10 69 40 00       	mov    0x406910,%eax
  402e76:	89 e5                	mov    %esp,%ebp
  402e78:	5d                   	pop    %ebp
  402e79:	8b 48 04             	mov    0x4(%eax),%ecx
  402e7c:	ff e1                	jmp    *%ecx
  402e7e:	89 f6                	mov    %esi,%esi

00402e80 <___w32_sharedptr_get>:
  402e80:	55                   	push   %ebp
  402e81:	ba 42 00 00 00       	mov    $0x42,%edx
  402e86:	89 e5                	mov    %esp,%ebp
  402e88:	53                   	push   %ebx
  402e89:	0f b7 c0             	movzwl %ax,%eax
  402e8c:	83 ec 64             	sub    $0x64,%esp
  402e8f:	89 54 24 08          	mov    %edx,0x8(%esp)
  402e93:	8d 55 a8             	lea    0xffffffa8(%ebp),%edx
  402e96:	31 db                	xor    %ebx,%ebx
  402e98:	89 54 24 04          	mov    %edx,0x4(%esp)
  402e9c:	89 04 24             	mov    %eax,(%esp)
  402e9f:	ff 15 48 72 40 00    	call   *0x407248
  402ea5:	ba 1f 00 00 00       	mov    $0x1f,%edx
  402eaa:	b9 01 00 00 00       	mov    $0x1,%ecx
  402eaf:	83 ec 0c             	sub    $0xc,%esp
  402eb2:	85 c0                	test   %eax,%eax
  402eb4:	75 07                	jne    402ebd <___w32_sharedptr_get+0x3d>
  402eb6:	eb 46                	jmp    402efe <___w32_sharedptr_get+0x7e>
  402eb8:	01 c9                	add    %ecx,%ecx
  402eba:	4a                   	dec    %edx
  402ebb:	78 0e                	js     402ecb <___w32_sharedptr_get+0x4b>
  402ebd:	80 7c 2a a8 41       	cmpb   $0x41,0xffffffa8(%edx,%ebp,1)
  402ec2:	75 f4                	jne    402eb8 <___w32_sharedptr_get+0x38>
  402ec4:	09 cb                	or     %ecx,%ebx
  402ec6:	01 c9                	add    %ecx,%ecx
  402ec8:	4a                   	dec    %edx
  402ec9:	79 f2                	jns    402ebd <___w32_sharedptr_get+0x3d>
  402ecb:	83 3b 3c             	cmpl   $0x3c,(%ebx)
  402ece:	75 07                	jne    402ed7 <___w32_sharedptr_get+0x57>
  402ed0:	89 d8                	mov    %ebx,%eax
  402ed2:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  402ed5:	c9                   	leave  
  402ed6:	c3                   	ret    
  402ed7:	b9 04 53 40 00       	mov    $0x405304,%ecx
  402edc:	ba ea 00 00 00       	mov    $0xea,%edx
  402ee1:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
  402ee5:	89 54 24 08          	mov    %edx,0x8(%esp)
  402ee9:	c7 04 24 31 53 40 00 	movl   $0x405331,(%esp)
  402ef0:	b8 50 53 40 00       	mov    $0x405350,%eax
  402ef5:	89 44 24 04          	mov    %eax,0x4(%esp)
  402ef9:	e8 92 02 00 00       	call   403190 <___eprintf>
  402efe:	b8 7c 53 40 00       	mov    $0x40537c,%eax
  402f03:	bb e4 00 00 00       	mov    $0xe4,%ebx
  402f08:	89 44 24 0c          	mov    %eax,0xc(%esp)
  402f0c:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  402f10:	eb d7                	jmp    402ee9 <___w32_sharedptr_get+0x69>
  402f12:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
  402f19:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

00402f20 <___w32_sharedptr_initialize>:
  402f20:	55                   	push   %ebp
  402f21:	89 e5                	mov    %esp,%ebp
  402f23:	57                   	push   %edi
  402f24:	56                   	push   %esi
  402f25:	53                   	push   %ebx
  402f26:	81 ec cc 00 00 00    	sub    $0xcc,%esp
  402f2c:	8b 0d 10 69 40 00    	mov    0x406910,%ecx
  402f32:	85 c9                	test   %ecx,%ecx
  402f34:	74 08                	je     402f3e <___w32_sharedptr_initialize+0x1e>
  402f36:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  402f39:	5b                   	pop    %ebx
  402f3a:	5e                   	pop    %esi
  402f3b:	5f                   	pop    %edi
  402f3c:	5d                   	pop    %ebp
  402f3d:	c3                   	ret    
  402f3e:	c7 45 98 41 41 41 41 	movl   $0x41414141,0xffffff98(%ebp)
  402f45:	a1 e0 52 40 00       	mov    0x4052e0,%eax
  402f4a:	8d 75 98             	lea    0xffffff98(%ebp),%esi
  402f4d:	c7 45 9c 41 41 41 41 	movl   $0x41414141,0xffffff9c(%ebp)
  402f54:	c7 45 a0 41 41 41 41 	movl   $0x41414141,0xffffffa0(%ebp)
  402f5b:	89 45 b8             	mov    %eax,0xffffffb8(%ebp)
  402f5e:	a1 e4 52 40 00       	mov    0x4052e4,%eax
  402f63:	c7 45 a4 41 41 41 41 	movl   $0x41414141,0xffffffa4(%ebp)
  402f6a:	c7 45 a8 41 41 41 41 	movl   $0x41414141,0xffffffa8(%ebp)
  402f71:	89 45 bc             	mov    %eax,0xffffffbc(%ebp)
  402f74:	a1 e8 52 40 00       	mov    0x4052e8,%eax
  402f79:	c7 45 ac 41 41 41 41 	movl   $0x41414141,0xffffffac(%ebp)
  402f80:	c7 45 b0 41 41 41 41 	movl   $0x41414141,0xffffffb0(%ebp)
  402f87:	89 45 c0             	mov    %eax,0xffffffc0(%ebp)
  402f8a:	a1 ec 52 40 00       	mov    0x4052ec,%eax
  402f8f:	c7 45 b4 41 41 41 41 	movl   $0x41414141,0xffffffb4(%ebp)
  402f96:	89 45 c4             	mov    %eax,0xffffffc4(%ebp)
  402f99:	a1 f0 52 40 00       	mov    0x4052f0,%eax
  402f9e:	89 45 c8             	mov    %eax,0xffffffc8(%ebp)
  402fa1:	a1 f4 52 40 00       	mov    0x4052f4,%eax
  402fa6:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
  402fa9:	a1 f8 52 40 00       	mov    0x4052f8,%eax
  402fae:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
  402fb1:	a1 fc 52 40 00       	mov    0x4052fc,%eax
  402fb6:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
  402fb9:	0f b7 05 00 53 40 00 	movzwl 0x405300,%eax
  402fc0:	66 89 45 d8          	mov    %ax,0xffffffd8(%ebp)
  402fc4:	89 34 24             	mov    %esi,(%esp)
  402fc7:	ff 15 44 72 40 00    	call   *0x407244
  402fcd:	0f b7 c0             	movzwl %ax,%eax
  402fd0:	83 ec 04             	sub    $0x4,%esp
  402fd3:	85 c0                	test   %eax,%eax
  402fd5:	89 85 44 ff ff ff    	mov    %eax,0xffffff44(%ebp)
  402fdb:	0f 85 3b 01 00 00    	jne    40311c <___w32_sharedptr_initialize+0x1fc>
  402fe1:	c7 04 24 3c 00 00 00 	movl   $0x3c,(%esp)
  402fe8:	e8 03 02 00 00       	call   4031f0 <_malloc>
  402fed:	85 c0                	test   %eax,%eax
  402fef:	89 c3                	mov    %eax,%ebx
  402ff1:	0f 84 59 01 00 00    	je     403150 <___w32_sharedptr_initialize+0x230>
  402ff7:	fc                   	cld    
  402ff8:	89 c7                	mov    %eax,%edi
  402ffa:	8b 85 44 ff ff ff    	mov    0xffffff44(%ebp),%eax
  403000:	b9 0f 00 00 00       	mov    $0xf,%ecx
  403005:	f3 ab                	repz stos %eax,%es:(%edi)
  403007:	c7 43 04 00 32 40 00 	movl   $0x403200,0x4(%ebx)
  40300e:	b9 01 00 00 00       	mov    $0x1,%ecx
  403013:	c7 43 08 70 2e 40 00 	movl   $0x402e70,0x8(%ebx)
  40301a:	a1 b0 68 40 00       	mov    0x4068b0,%eax
  40301f:	c7 03 3c 00 00 00    	movl   $0x3c,(%ebx)
  403025:	8b 15 b4 68 40 00    	mov    0x4068b4,%edx
  40302b:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
  403032:	89 43 14             	mov    %eax,0x14(%ebx)
  403035:	a1 30 45 40 00       	mov    0x404530,%eax
  40303a:	89 53 18             	mov    %edx,0x18(%ebx)
  40303d:	8b 15 34 45 40 00    	mov    0x404534,%edx
  403043:	89 43 1c             	mov    %eax,0x1c(%ebx)
  403046:	a1 c0 68 40 00       	mov    0x4068c0,%eax
  40304b:	89 53 20             	mov    %edx,0x20(%ebx)
  40304e:	c7 43 30 ff ff ff ff 	movl   $0xffffffff,0x30(%ebx)
  403055:	89 43 2c             	mov    %eax,0x2c(%ebx)
  403058:	8b 15 3c 45 40 00    	mov    0x40453c,%edx
  40305e:	a1 38 45 40 00       	mov    0x404538,%eax
  403063:	89 53 38             	mov    %edx,0x38(%ebx)
  403066:	ba 1f 00 00 00       	mov    $0x1f,%edx
  40306b:	89 43 34             	mov    %eax,0x34(%ebx)
  40306e:	89 f6                	mov    %esi,%esi
  403070:	89 d8                	mov    %ebx,%eax
  403072:	21 c8                	and    %ecx,%eax
  403074:	83 f8 01             	cmp    $0x1,%eax
  403077:	19 c0                	sbb    %eax,%eax
  403079:	24 20                	and    $0x20,%al
  40307b:	01 c9                	add    %ecx,%ecx
  40307d:	04 41                	add    $0x41,%al
  40307f:	88 84 2a 48 ff ff ff 	mov    %al,0xffffff48(%edx,%ebp,1)
  403086:	4a                   	dec    %edx
  403087:	79 e7                	jns    403070 <___w32_sharedptr_initialize+0x150>
  403089:	a1 e0 52 40 00       	mov    0x4052e0,%eax
  40308e:	89 85 68 ff ff ff    	mov    %eax,0xffffff68(%ebp)
  403094:	a1 e4 52 40 00       	mov    0x4052e4,%eax
  403099:	89 85 6c ff ff ff    	mov    %eax,0xffffff6c(%ebp)
  40309f:	a1 e8 52 40 00       	mov    0x4052e8,%eax
  4030a4:	89 85 70 ff ff ff    	mov    %eax,0xffffff70(%ebp)
  4030aa:	a1 ec 52 40 00       	mov    0x4052ec,%eax
  4030af:	89 85 74 ff ff ff    	mov    %eax,0xffffff74(%ebp)
  4030b5:	a1 f0 52 40 00       	mov    0x4052f0,%eax
  4030ba:	89 85 78 ff ff ff    	mov    %eax,0xffffff78(%ebp)
  4030c0:	a1 f4 52 40 00       	mov    0x4052f4,%eax
  4030c5:	89 85 7c ff ff ff    	mov    %eax,0xffffff7c(%ebp)
  4030cb:	a1 f8 52 40 00       	mov    0x4052f8,%eax
  4030d0:	89 45 80             	mov    %eax,0xffffff80(%ebp)
  4030d3:	a1 fc 52 40 00       	mov    0x4052fc,%eax
  4030d8:	89 45 84             	mov    %eax,0xffffff84(%ebp)
  4030db:	0f b7 05 00 53 40 00 	movzwl 0x405300,%eax
  4030e2:	66 89 45 88          	mov    %ax,0xffffff88(%ebp)
  4030e6:	8d 85 48 ff ff ff    	lea    0xffffff48(%ebp),%eax
  4030ec:	89 04 24             	mov    %eax,(%esp)
  4030ef:	ff 15 40 72 40 00    	call   *0x407240
  4030f5:	0f b7 f8             	movzwl %ax,%edi
  4030f8:	83 ec 04             	sub    $0x4,%esp
  4030fb:	85 ff                	test   %edi,%edi
  4030fd:	75 42                	jne    403141 <___w32_sharedptr_initialize+0x221>
  4030ff:	31 d2                	xor    %edx,%edx
  403101:	85 d2                	test   %edx,%edx
  403103:	75 1e                	jne    403123 <___w32_sharedptr_initialize+0x203>
  403105:	89 1c 24             	mov    %ebx,(%esp)
  403108:	e8 d3 00 00 00       	call   4031e0 <_free>
  40310d:	89 34 24             	mov    %esi,(%esp)
  403110:	ff 15 44 72 40 00    	call   *0x407244
  403116:	83 ec 04             	sub    $0x4,%esp
  403119:	0f b7 c0             	movzwl %ax,%eax
  40311c:	e8 5f fd ff ff       	call   402e80 <___w32_sharedptr_get>
  403121:	89 c3                	mov    %eax,%ebx
  403123:	89 1d 10 69 40 00    	mov    %ebx,0x406910
  403129:	8d 43 04             	lea    0x4(%ebx),%eax
  40312c:	a3 00 69 40 00       	mov    %eax,0x406900
  403131:	8d 43 08             	lea    0x8(%ebx),%eax
  403134:	a3 20 69 40 00       	mov    %eax,0x406920
  403139:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  40313c:	5b                   	pop    %ebx
  40313d:	5e                   	pop    %esi
  40313e:	5f                   	pop    %edi
  40313f:	5d                   	pop    %ebp
  403140:	c3                   	ret    
  403141:	89 f8                	mov    %edi,%eax
  403143:	e8 38 fd ff ff       	call   402e80 <___w32_sharedptr_get>
  403148:	39 d8                	cmp    %ebx,%eax
  40314a:	89 fa                	mov    %edi,%edx
  40314c:	75 b1                	jne    4030ff <___w32_sharedptr_initialize+0x1df>
  40314e:	eb b1                	jmp    403101 <___w32_sharedptr_initialize+0x1e1>
  403150:	e8 ab 00 00 00       	call   403200 <_abort>
  403155:	90                   	nop    
  403156:	90                   	nop    
  403157:	90                   	nop    
  403158:	90                   	nop    
  403159:	90                   	nop    
  40315a:	90                   	nop    
  40315b:	90                   	nop    
  40315c:	90                   	nop    
  40315d:	90                   	nop    
  40315e:	90                   	nop    
  40315f:	90                   	nop    

00403160 <___chkstk>:
  403160:	51                   	push   %ecx
  403161:	89 e1                	mov    %esp,%ecx
  403163:	83 c1 08             	add    $0x8,%ecx

00403166 <probe>:
  403166:	3d 00 10 00 00       	cmp    $0x1000,%eax
  40316b:	72 10                	jb     40317d <done>
  40316d:	81 e9 00 10 00 00    	sub    $0x1000,%ecx
  403173:	83 09 00             	orl    $0x0,(%ecx)
  403176:	2d 00 10 00 00       	sub    $0x1000,%eax
  40317b:	eb e9                	jmp    403166 <probe>

0040317d <done>:
  40317d:	29 c1                	sub    %eax,%ecx
  40317f:	83 09 00             	orl    $0x0,(%ecx)
  403182:	89 e0                	mov    %esp,%eax
  403184:	89 cc                	mov    %ecx,%esp
  403186:	8b 08                	mov    (%eax),%ecx
  403188:	8b 40 04             	mov    0x4(%eax),%eax
  40318b:	ff e0                	jmp    *%eax
  40318d:	90                   	nop    
  40318e:	90                   	nop    
  40318f:	90                   	nop    

00403190 <___eprintf>:
  403190:	55                   	push   %ebp
  403191:	89 e5                	mov    %esp,%ebp
  403193:	83 ec 18             	sub    $0x18,%esp
  403196:	8b 45 14             	mov    0x14(%ebp),%eax
  403199:	89 44 24 10          	mov    %eax,0x10(%esp)
  40319d:	8b 45 10             	mov    0x10(%ebp),%eax
  4031a0:	89 44 24 0c          	mov    %eax,0xc(%esp)
  4031a4:	8b 45 0c             	mov    0xc(%ebp),%eax
  4031a7:	89 44 24 08          	mov    %eax,0x8(%esp)
  4031ab:	8b 45 08             	mov    0x8(%ebp),%eax
  4031ae:	89 44 24 04          	mov    %eax,0x4(%esp)
  4031b2:	a1 7c 72 40 00       	mov    0x40727c,%eax
  4031b7:	83 c0 40             	add    $0x40,%eax
  4031ba:	89 04 24             	mov    %eax,(%esp)
  4031bd:	e8 5e 00 00 00       	call   403220 <_fprintf>
  4031c2:	a1 7c 72 40 00       	mov    0x40727c,%eax
  4031c7:	83 c0 40             	add    $0x40,%eax
  4031ca:	89 04 24             	mov    %eax,(%esp)
  4031cd:	e8 3e 00 00 00       	call   403210 <_fflush>
  4031d2:	e8 29 00 00 00       	call   403200 <_abort>
  4031d7:	90                   	nop    
  4031d8:	90                   	nop    
  4031d9:	90                   	nop    
  4031da:	90                   	nop    
  4031db:	90                   	nop    
  4031dc:	90                   	nop    
  4031dd:	90                   	nop    
  4031de:	90                   	nop    
  4031df:	90                   	nop    

004031e0 <_free>:
  4031e0:	ff 25 98 72 40 00    	jmp    *0x407298
  4031e6:	90                   	nop    
  4031e7:	90                   	nop    
	...

004031f0 <_malloc>:
  4031f0:	ff 25 9c 72 40 00    	jmp    *0x40729c
  4031f6:	90                   	nop    
  4031f7:	90                   	nop    
	...

00403200 <_abort>:
  403200:	ff 25 88 72 40 00    	jmp    *0x407288
  403206:	90                   	nop    
  403207:	90                   	nop    
	...

00403210 <_fflush>:
  403210:	ff 25 90 72 40 00    	jmp    *0x407290
  403216:	90                   	nop    
  403217:	90                   	nop    
	...

00403220 <_fprintf>:
  403220:	ff 25 94 72 40 00    	jmp    *0x407294
  403226:	90                   	nop    
  403227:	90                   	nop    
	...

00403230 <_PeekMessageW@20>:
  403230:	ff 25 c4 72 40 00    	jmp    *0x4072c4
  403236:	90                   	nop    
  403237:	90                   	nop    
	...

00403240 <_TranslateMessage@4>:
  403240:	ff 25 e0 72 40 00    	jmp    *0x4072e0
  403246:	90                   	nop    
  403247:	90                   	nop    
	...

00403250 <_DispatchMessageW@4>:
  403250:	ff 25 ac 72 40 00    	jmp    *0x4072ac
  403256:	90                   	nop    
  403257:	90                   	nop    
	...

00403260 <_GetParent@4>:
  403260:	ff 25 b4 72 40 00    	jmp    *0x4072b4
  403266:	90                   	nop    
  403267:	90                   	nop    
	...

00403270 <_GetWindowRect@8>:
  403270:	ff 25 b8 72 40 00    	jmp    *0x4072b8
  403276:	90                   	nop    
  403277:	90                   	nop    
	...

00403280 <_SetWindowPos@28>:
  403280:	ff 25 dc 72 40 00    	jmp    *0x4072dc
  403286:	90                   	nop    
  403287:	90                   	nop    
	...

00403290 <_GetDesktopWindow@0>:
  403290:	ff 25 b0 72 40 00    	jmp    *0x4072b0
  403296:	90                   	nop    
  403297:	90                   	nop    
	...

004032a0 <_PostMessageW@16>:
  4032a0:	ff 25 c8 72 40 00    	jmp    *0x4072c8
  4032a6:	90                   	nop    
  4032a7:	90                   	nop    
	...

004032b0 <_LoadStringW@16>:
  4032b0:	ff 25 bc 72 40 00    	jmp    *0x4072bc
  4032b6:	90                   	nop    
  4032b7:	90                   	nop    
	...

004032c0 <_MessageBoxW@16>:
  4032c0:	ff 25 c0 72 40 00    	jmp    *0x4072c0
  4032c6:	90                   	nop    
  4032c7:	90                   	nop    
	...

004032d0 <_SetWindowLongW@12>:
  4032d0:	ff 25 d8 72 40 00    	jmp    *0x4072d8
  4032d6:	90                   	nop    
  4032d7:	90                   	nop    
	...

004032e0 <_SendMessageW@16>:
  4032e0:	ff 25 d0 72 40 00    	jmp    *0x4072d0
  4032e6:	90                   	nop    
  4032e7:	90                   	nop    
	...

004032f0 <_SendDlgItemMessageW@20>:
  4032f0:	ff 25 cc 72 40 00    	jmp    *0x4072cc
  4032f6:	90                   	nop    
  4032f7:	90                   	nop    
	...

00403300 <_SetDlgItemTextW@12>:
  403300:	ff 25 d4 72 40 00    	jmp    *0x4072d4
  403306:	90                   	nop    
  403307:	90                   	nop    
	...

00403310 <_GetCommandLineA@0>:
  403310:	ff 25 4c 72 40 00    	jmp    *0x40724c
  403316:	90                   	nop    
  403317:	90                   	nop    
	...

00403320 <_GetStartupInfoA@4>:
  403320:	ff 25 54 72 40 00    	jmp    *0x407254
  403326:	90                   	nop    
  403327:	90                   	nop    
	...

00403330 <_GetModuleHandleA@4>:
  403330:	ff 25 50 72 40 00    	jmp    *0x407250
  403336:	90                   	nop    
  403337:	90                   	nop    
	...

00403340 <_GetAtomNameA@12>:
  403340:	ff 25 48 72 40 00    	jmp    *0x407248
  403346:	90                   	nop    
  403347:	90                   	nop    
	...

00403350 <_FindAtomA@4>:
  403350:	ff 25 44 72 40 00    	jmp    *0x407244
  403356:	90                   	nop    
  403357:	90                   	nop    
	...

00403360 <_AddAtomA@4>:
  403360:	ff 25 40 72 40 00    	jmp    *0x407240
  403366:	90                   	nop    
  403367:	90                   	nop    
	...

00403370 <___sjlj_init_ctor>:
  403370:	55                   	push   %ebp
  403371:	89 e5                	mov    %esp,%ebp
  403373:	5d                   	pop    %ebp
  403374:	e9 07 df ff ff       	jmp    401280 <___do_sjlj_init>
  403379:	90                   	nop    
  40337a:	90                   	nop    
  40337b:	90                   	nop    
  40337c:	90                   	nop    
  40337d:	90                   	nop    
  40337e:	90                   	nop    
  40337f:	90                   	nop    

00403380 <__CTOR_LIST__>:
  403380:	ff                   	(bad)  
  403381:	ff                   	(bad)  
  403382:	ff                   	(bad)  
  403383:	ff 70 33             	pushl  0x33(%eax)

00403384 <.ctors>:
  403384:	70 33                	jo     4033b9 <__DTOR_LIST__+0x2d>
  403386:	40                   	inc    %eax
  403387:	00 00                	add    %al,(%eax)
  403389:	00 00                	add    %al,(%eax)
	...

0040338c <__DTOR_LIST__>:
  40338c:	ff                   	(bad)  
  40338d:	ff                   	(bad)  
  40338e:	ff                   	(bad)  
  40338f:	ff 00                	incl   (%eax)
  403391:	00 00                	add    %al,(%eax)
	...
