
msvfw32.nostrip.dll:     file format pei-i386

Disassembly of section .text:

777c1000 <_DllMainCRTStartup@12>:
777c1000:	55                   	push   %ebp
777c1001:	89 e5                	mov    %esp,%ebp
777c1003:	57                   	push   %edi
777c1004:	56                   	push   %esi
777c1005:	53                   	push   %ebx
777c1006:	83 ec 0c             	sub    $0xc,%esp
777c1009:	8b 7d 0c             	mov    0xc(%ebp),%edi
777c100c:	83 ff 01             	cmp    $0x1,%edi
777c100f:	0f 84 ab 00 00 00    	je     777c10c0 <_DllMainCRTStartup@12+0xc0>
777c1015:	89 7c 24 04          	mov    %edi,0x4(%esp)
777c1019:	8b 5d 10             	mov    0x10(%ebp),%ebx
777c101c:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c101f:	89 5c 24 08          	mov    %ebx,0x8(%esp)
777c1023:	89 0c 24             	mov    %ecx,(%esp)
777c1026:	e8 95 22 00 00       	call   777c32c0 <_DllMain@12>
777c102b:	89 c6                	mov    %eax,%esi
777c102d:	83 ec 0c             	sub    $0xc,%esp
777c1030:	83 ff 01             	cmp    $0x1,%edi
777c1033:	0f 94 c2             	sete   %dl
777c1036:	31 c0                	xor    %eax,%eax
777c1038:	85 f6                	test   %esi,%esi
777c103a:	0f 94 c0             	sete   %al
777c103d:	85 c2                	test   %eax,%edx
777c103f:	74 5b                	je     777c109c <_DllMainCRTStartup@12+0x9c>
777c1041:	8b 15 00 90 7c 77    	mov    0x777c9000,%edx
777c1047:	85 d2                	test   %edx,%edx
777c1049:	74 45                	je     777c1090 <_DllMainCRTStartup@12+0x90>
777c104b:	8b 1d 10 90 7c 77    	mov    0x777c9010,%ebx
777c1051:	eb 0d                	jmp    777c1060 <_DllMainCRTStartup@12+0x60>
777c1053:	90                   	nop    
777c1054:	90                   	nop    
777c1055:	90                   	nop    
777c1056:	90                   	nop    
777c1057:	90                   	nop    
777c1058:	90                   	nop    
777c1059:	90                   	nop    
777c105a:	90                   	nop    
777c105b:	90                   	nop    
777c105c:	90                   	nop    
777c105d:	90                   	nop    
777c105e:	90                   	nop    
777c105f:	90                   	nop    
777c1060:	83 eb 04             	sub    $0x4,%ebx
777c1063:	39 d3                	cmp    %edx,%ebx
777c1065:	72 19                	jb     777c1080 <_DllMainCRTStartup@12+0x80>
777c1067:	8b 03                	mov    (%ebx),%eax
777c1069:	85 c0                	test   %eax,%eax
777c106b:	74 f3                	je     777c1060 <_DllMainCRTStartup@12+0x60>
777c106d:	ff d0                	call   *%eax
777c106f:	8b 15 00 90 7c 77    	mov    0x777c9000,%edx
777c1075:	83 eb 04             	sub    $0x4,%ebx
777c1078:	39 d3                	cmp    %edx,%ebx
777c107a:	73 eb                	jae    777c1067 <_DllMainCRTStartup@12+0x67>
777c107c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c1080:	89 14 24             	mov    %edx,(%esp)
777c1083:	e8 08 4f 00 00       	call   777c5f90 <_free>
777c1088:	31 d2                	xor    %edx,%edx
777c108a:	89 15 00 90 7c 77    	mov    %edx,0x777c9000
777c1090:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
777c1097:	e8 e4 4e 00 00       	call   777c5f80 <_fflush>
777c109c:	85 ff                	test   %edi,%edi
777c109e:	75 10                	jne    777c10b0 <_DllMainCRTStartup@12+0xb0>
777c10a0:	8b 15 00 90 7c 77    	mov    0x777c9000,%edx
777c10a6:	85 d2                	test   %edx,%edx
777c10a8:	75 46                	jne    777c10f0 <_DllMainCRTStartup@12+0xf0>
777c10aa:	31 f6                	xor    %esi,%esi
777c10ac:	8d 74 26 00          	lea    0x0(%esi),%esi
777c10b0:	89 f0                	mov    %esi,%eax
777c10b2:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c10b5:	5b                   	pop    %ebx
777c10b6:	5e                   	pop    %esi
777c10b7:	5f                   	pop    %edi
777c10b8:	5d                   	pop    %ebp
777c10b9:	c2 0c 00             	ret    $0xc
777c10bc:	8d 74 26 00          	lea    0x0(%esi),%esi
777c10c0:	c7 04 24 80 00 00 00 	movl   $0x80,(%esp)
777c10c7:	e8 e4 4e 00 00       	call   777c5fb0 <_malloc>
777c10cc:	a3 00 90 7c 77       	mov    %eax,0x777c9000
777c10d1:	85 c0                	test   %eax,%eax
777c10d3:	74 6c                	je     777c1141 <_DllMainCRTStartup@12+0x141>
777c10d5:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
777c10db:	a3 10 90 7c 77       	mov    %eax,0x777c9010
777c10e0:	e8 1b 4b 00 00       	call   777c5c00 <__pei386_runtime_relocator>
777c10e5:	e8 a6 4a 00 00       	call   777c5b90 <___main>
777c10ea:	e9 26 ff ff ff       	jmp    777c1015 <_DllMainCRTStartup@12+0x15>
777c10ef:	90                   	nop    
777c10f0:	8b 1d 10 90 7c 77    	mov    0x777c9010,%ebx
777c10f6:	8d 76 00             	lea    0x0(%esi),%esi
777c10f9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi
777c1100:	83 eb 04             	sub    $0x4,%ebx
777c1103:	39 d3                	cmp    %edx,%ebx
777c1105:	72 19                	jb     777c1120 <_DllMainCRTStartup@12+0x120>
777c1107:	8b 03                	mov    (%ebx),%eax
777c1109:	85 c0                	test   %eax,%eax
777c110b:	74 f3                	je     777c1100 <_DllMainCRTStartup@12+0x100>
777c110d:	ff d0                	call   *%eax
777c110f:	8b 15 00 90 7c 77    	mov    0x777c9000,%edx
777c1115:	83 eb 04             	sub    $0x4,%ebx
777c1118:	39 d3                	cmp    %edx,%ebx
777c111a:	73 eb                	jae    777c1107 <_DllMainCRTStartup@12+0x107>
777c111c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c1120:	89 14 24             	mov    %edx,(%esp)
777c1123:	31 ff                	xor    %edi,%edi
777c1125:	e8 66 4e 00 00       	call   777c5f90 <_free>
777c112a:	89 3d 00 90 7c 77    	mov    %edi,0x777c9000
777c1130:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
777c1137:	e8 44 4e 00 00       	call   777c5f80 <_fflush>
777c113c:	e9 6f ff ff ff       	jmp    777c10b0 <_DllMainCRTStartup@12+0xb0>
777c1141:	e8 5a 4e 00 00       	call   777c5fa0 <__errno>
777c1146:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
777c114c:	31 c0                	xor    %eax,%eax
777c114e:	e9 5f ff ff ff       	jmp    777c10b2 <_DllMainCRTStartup@12+0xb2>
777c1153:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c1159:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c1160 <_atexit>:
777c1160:	55                   	push   %ebp
777c1161:	ba 10 90 7c 77       	mov    $0x777c9010,%edx
777c1166:	89 e5                	mov    %esp,%ebp
777c1168:	83 ec 18             	sub    $0x18,%esp
777c116b:	b9 00 90 7c 77       	mov    $0x777c9000,%ecx
777c1170:	8b 45 08             	mov    0x8(%ebp),%eax
777c1173:	89 54 24 08          	mov    %edx,0x8(%esp)
777c1177:	89 4c 24 04          	mov    %ecx,0x4(%esp)
777c117b:	89 04 24             	mov    %eax,(%esp)
777c117e:	e8 ed 4d 00 00       	call   777c5f70 <___dllonexit>
777c1183:	c9                   	leave  
777c1184:	83 f8 01             	cmp    $0x1,%eax
777c1187:	19 c0                	sbb    %eax,%eax
777c1189:	c3                   	ret    
777c118a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

777c1190 <__onexit>:
777c1190:	55                   	push   %ebp
777c1191:	b9 10 90 7c 77       	mov    $0x777c9010,%ecx
777c1196:	89 e5                	mov    %esp,%ebp
777c1198:	83 ec 18             	sub    $0x18,%esp
777c119b:	ba 00 90 7c 77       	mov    $0x777c9000,%edx
777c11a0:	8b 45 08             	mov    0x8(%ebp),%eax
777c11a3:	89 4c 24 08          	mov    %ecx,0x8(%esp)
777c11a7:	89 54 24 04          	mov    %edx,0x4(%esp)
777c11ab:	89 04 24             	mov    %eax,(%esp)
777c11ae:	e8 bd 4d 00 00       	call   777c5f70 <___dllonexit>
777c11b3:	c9                   	leave  
777c11b4:	c3                   	ret    
777c11b5:	90                   	nop    
777c11b6:	90                   	nop    
777c11b7:	90                   	nop    
777c11b8:	90                   	nop    
777c11b9:	90                   	nop    
777c11ba:	90                   	nop    
777c11bb:	90                   	nop    
777c11bc:	90                   	nop    
777c11bd:	90                   	nop    
777c11be:	90                   	nop    
777c11bf:	90                   	nop    

777c11c0 <___do_sjlj_init>:
777c11c0:	55                   	push   %ebp
777c11c1:	89 e5                	mov    %esp,%ebp
777c11c3:	5d                   	pop    %ebp
777c11c4:	e9 17 4b 00 00       	jmp    777c5ce0 <___w32_sharedptr_initialize>
777c11c9:	90                   	nop    
777c11ca:	90                   	nop    
777c11cb:	90                   	nop    
777c11cc:	90                   	nop    
777c11cd:	90                   	nop    
777c11ce:	90                   	nop    
777c11cf:	90                   	nop    

777c11d0 <_MCIWndRegisterClass>:
 *
 * NOTE: Native always uses its own hInstance
 */
BOOL VFWAPIV MCIWndRegisterClass(void)
{
777c11d0:	55                   	push   %ebp
777c11d1:	89 e5                	mov    %esp,%ebp
777c11d3:	83 ec 40             	sub    $0x40,%esp
    WNDCLASSW wc;

    /* Since we are going to register a class belonging to MSVFW32
     * and later we will create windows with a different hInstance
     * CS_GLOBALCLASS is needed. And because the second attempt
     * to register a global class will fail we need to test whether
     * the class was already registered.
     */
    wc.style = CS_VREDRAW | CS_HREDRAW | CS_DBLCLKS | CS_OWNDC | CS_GLOBALCLASS;
    wc.lpfnWndProc = MCIWndProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = sizeof(MCIWndInfo*);
    wc.hInstance = MSVFW32_hModule;
777c11d6:	a1 d0 90 7c 77       	mov    0x777c90d0,%eax
777c11db:	c7 45 c8 2b 40 00 00 	movl   $0x402b,0xffffffc8(%ebp)
777c11e2:	c7 45 cc 50 16 7c 77 	movl   $0x777c1650,0xffffffcc(%ebp)
777c11e9:	c7 45 d0 00 00 00 00 	movl   $0x0,0xffffffd0(%ebp)
777c11f0:	c7 45 d4 04 00 00 00 	movl   $0x4,0xffffffd4(%ebp)
777c11f7:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
    wc.hIcon = 0;
777c11fa:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
    wc.hCursor = LoadCursorW(0, MAKEINTRESOURCEW(IDC_ARROW));
777c1201:	68 00 7f 00 00       	push   $0x7f00
777c1206:	6a 00                	push   $0x0
777c1208:	e8 03 44 00 00       	call   777c5610 <_LoadCursorW@8>
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
777c120d:	c7 45 e4 06 00 00 00 	movl   $0x6,0xffffffe4(%ebp)
    wc.lpszMenuName = NULL;
777c1214:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
    wc.lpszClassName = mciWndClassW;
777c121b:	c7 45 ec 00 80 7c 77 	movl   $0x777c8000,0xffffffec(%ebp)
777c1222:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)

    if (RegisterClassW(&wc)) return TRUE;
777c1225:	50                   	push   %eax
777c1226:	8d 45 c8             	lea    0xffffffc8(%ebp),%eax
777c1229:	50                   	push   %eax
777c122a:	e8 f1 43 00 00       	call   777c5620 <_RegisterClassW@4>
777c122f:	ba 01 00 00 00       	mov    $0x1,%edx
777c1234:	83 c4 0c             	add    $0xc,%esp
777c1237:	66 85 c0             	test   %ax,%ax
777c123a:	74 04                	je     777c1240 <_MCIWndRegisterClass+0x70>
    if (GetLastError() == ERROR_CLASS_ALREADY_EXISTS) return TRUE;

    return FALSE;
}
777c123c:	89 d0                	mov    %edx,%eax
777c123e:	c9                   	leave  
777c123f:	c3                   	ret    
777c1240:	e8 6b 46 00 00       	call   777c58b0 <_GetLastError@0>
777c1245:	c9                   	leave  
777c1246:	3d 82 05 00 00       	cmp    $0x582,%eax
777c124b:	0f 94 c0             	sete   %al
777c124e:	31 d2                	xor    %edx,%edx
777c1250:	88 c2                	mov    %al,%dl
777c1252:	89 d0                	mov    %edx,%eax
777c1254:	c3                   	ret    
777c1255:	8d 74 26 00          	lea    0x0(%esi),%esi
777c1259:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c1260 <_MCIWndCreateW>:

/***********************************************************************
 *                MCIWndCreateW                                [MSVFW32.@]
 */
HWND VFWAPIV MCIWndCreateW(HWND hwndParent, HINSTANCE hInstance,
                           DWORD dwStyle, LPCWSTR szFile)
{
777c1260:	55                   	push   %ebp
777c1261:	89 e5                	mov    %esp,%ebp
777c1263:	57                   	push   %edi
777c1264:	56                   	push   %esi
777c1265:	53                   	push   %ebx
777c1266:	83 ec 0c             	sub    $0xc,%esp
777c1269:	8b 75 0c             	mov    0xc(%ebp),%esi
777c126c:	8b 7d 08             	mov    0x8(%ebp),%edi
777c126f:	8b 5d 10             	mov    0x10(%ebp),%ebx
    TRACE("%p %p %lx %s\n", hwndParent, hInstance, dwStyle, debugstr_w(szFile));

    MCIWndRegisterClass();
777c1272:	e8 59 ff ff ff       	call   777c11d0 <_MCIWndRegisterClass>

    if (!hInstance) hInstance = GetModuleHandleW(0);
777c1277:	85 f6                	test   %esi,%esi
777c1279:	74 42                	je     777c12bd <_MCIWndCreateW+0x5d>

    if (hwndParent)
777c127b:	85 ff                	test   %edi,%edi
777c127d:	74 36                	je     777c12b5 <_MCIWndCreateW+0x55>
        dwStyle |= WS_VISIBLE | WS_BORDER /*| WS_CHILD*/;
777c127f:	81 cb 00 00 80 10    	or     $0x10800000,%ebx
    else
        dwStyle |= WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX;

    return CreateWindowExW(0, mciWndClassW, NULL,
777c1285:	8b 55 14             	mov    0x14(%ebp),%edx
777c1288:	81 cb 00 00 00 06    	or     $0x6000000,%ebx
777c128e:	52                   	push   %edx
777c128f:	56                   	push   %esi
777c1290:	6a 00                	push   $0x0
777c1292:	57                   	push   %edi
777c1293:	6a 00                	push   $0x0
777c1295:	68 2c 01 00 00       	push   $0x12c
777c129a:	6a 00                	push   $0x0
777c129c:	6a 00                	push   $0x0
777c129e:	53                   	push   %ebx
777c129f:	6a 00                	push   $0x0
777c12a1:	68 00 80 7c 77       	push   $0x777c8000
777c12a6:	6a 00                	push   $0x0
777c12a8:	e8 83 43 00 00       	call   777c5630 <_CreateWindowExW@48>
                           dwStyle | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
                           0, 0, 300, 0,
                           hwndParent, 0, hInstance, (LPVOID)szFile);
}
777c12ad:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c12b0:	5b                   	pop    %ebx
777c12b1:	5e                   	pop    %esi
777c12b2:	5f                   	pop    %edi
777c12b3:	5d                   	pop    %ebp
777c12b4:	c3                   	ret    
777c12b5:	81 cb 00 00 cf 10    	or     $0x10cf0000,%ebx
777c12bb:	eb c8                	jmp    777c1285 <_MCIWndCreateW+0x25>
777c12bd:	83 ec 0c             	sub    $0xc,%esp
777c12c0:	6a 00                	push   $0x0
777c12c2:	e8 f9 45 00 00       	call   777c58c0 <_GetModuleHandleW@4>
777c12c7:	89 c6                	mov    %eax,%esi
777c12c9:	83 c4 0c             	add    $0xc,%esp
777c12cc:	eb ad                	jmp    777c127b <_MCIWndCreateW+0x1b>
777c12ce:	89 f6                	mov    %esi,%esi

777c12d0 <_MCIWndCreateA>:

/***********************************************************************
 *                MCIWndCreate                [MSVFW32.@]
 *                MCIWndCreateA                [MSVFW32.@]
 */
HWND VFWAPIV MCIWndCreateA(HWND hwndParent, HINSTANCE hInstance,
                           DWORD dwStyle, LPCSTR szFile)
{
777c12d0:	55                   	push   %ebp
777c12d1:	89 e5                	mov    %esp,%ebp
777c12d3:	56                   	push   %esi
777c12d4:	53                   	push   %ebx
777c12d5:	83 ec 10             	sub    $0x10,%esp
777c12d8:	8b 45 14             	mov    0x14(%ebp),%eax
    HWND ret;
    UNICODE_STRING fileW;

    if (szFile)
777c12db:	85 c0                	test   %eax,%eax
777c12dd:	74 36                	je     777c1315 <_MCIWndCreateA+0x45>
        RtlCreateUnicodeStringFromAsciiz(&fileW, szFile);
777c12df:	8d 75 f0             	lea    0xfffffff0(%ebp),%esi
777c12e2:	51                   	push   %ecx
777c12e3:	51                   	push   %ecx
777c12e4:	50                   	push   %eax
777c12e5:	56                   	push   %esi
777c12e6:	e8 35 47 00 00       	call   777c5a20 <_RtlCreateUnicodeStringFromAsciiz@8>
777c12eb:	58                   	pop    %eax
    else
        fileW.Buffer = NULL;

    ret = MCIWndCreateW(hwndParent, hInstance, dwStyle, fileW.Buffer);
777c12ec:	8b 46 04             	mov    0x4(%esi),%eax
777c12ef:	5a                   	pop    %edx
777c12f0:	50                   	push   %eax
777c12f1:	8b 45 10             	mov    0x10(%ebp),%eax
777c12f4:	50                   	push   %eax
777c12f5:	8b 5d 0c             	mov    0xc(%ebp),%ebx
777c12f8:	53                   	push   %ebx
777c12f9:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c12fc:	51                   	push   %ecx
777c12fd:	e8 5e ff ff ff       	call   777c1260 <_MCIWndCreateW>

    RtlFreeUnicodeString(&fileW);
777c1302:	89 34 24             	mov    %esi,(%esp)
777c1305:	89 c3                	mov    %eax,%ebx
777c1307:	e8 24 47 00 00       	call   777c5a30 <_RtlFreeUnicodeString@4>
    return ret;
}
777c130c:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
777c130f:	89 d8                	mov    %ebx,%eax
777c1311:	5b                   	pop    %ebx
777c1312:	5e                   	pop    %esi
777c1313:	5d                   	pop    %ebp
777c1314:	c3                   	ret    
777c1315:	8d 75 f0             	lea    0xfffffff0(%ebp),%esi
777c1318:	c7 45 f4 00 00 00 00 	movl   $0x0,0xfffffff4(%ebp)
777c131f:	8b 46 04             	mov    0x4(%esi),%eax
777c1322:	50                   	push   %eax
777c1323:	8b 45 10             	mov    0x10(%ebp),%eax
777c1326:	50                   	push   %eax
777c1327:	8b 5d 0c             	mov    0xc(%ebp),%ebx
777c132a:	53                   	push   %ebx
777c132b:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c132e:	51                   	push   %ecx
777c132f:	e8 2c ff ff ff       	call   777c1260 <_MCIWndCreateW>
777c1334:	89 34 24             	mov    %esi,(%esp)
777c1337:	89 c3                	mov    %eax,%ebx
777c1339:	e8 f2 46 00 00       	call   777c5a30 <_RtlFreeUnicodeString@4>
777c133e:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
777c1341:	89 d8                	mov    %ebx,%eax
777c1343:	5b                   	pop    %ebx
777c1344:	5e                   	pop    %esi
777c1345:	5d                   	pop    %ebp
777c1346:	c3                   	ret    
777c1347:	89 f6                	mov    %esi,%esi
777c1349:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c1350 <_MCIWND_UpdateState>:

static inline void MCIWND_notify_mode(MCIWndInfo *mwi)
{
    if (mwi->dwStyle & MCIWNDF_NOTIFYMODE)
    {
        UINT new_mode = SendMessageW(mwi->hWnd, MCIWNDM_GETMODEW, 0, 0);
        if (new_mode != mwi->mode)
        {
            mwi->mode = new_mode;
            SendMessageW(mwi->hwndOwner, MCIWNDM_NOTIFYMODE, (WPARAM)mwi->hWnd, new_mode);
        }
    }
}

static inline void MCIWND_notify_pos(MCIWndInfo *mwi)
{
    if (mwi->dwStyle & MCIWNDF_NOTIFYPOS)
    {
        long new_pos = SendMessageW(mwi->hWnd, MCIWNDM_GETPOSITIONW, 0, 0);
        if (new_pos != mwi->position)
        {
            mwi->position = new_pos;
            SendMessageW(mwi->hwndOwner, MCIWNDM_NOTIFYPOS, (WPARAM)mwi->hWnd, new_pos);
        }
    }
}

static inline void MCIWND_notify_size(MCIWndInfo *mwi)
{
    if (mwi->dwStyle & MCIWNDF_NOTIFYSIZE)
        SendMessageW(mwi->hwndOwner, MCIWNDM_NOTIFYSIZE, (WPARAM)mwi->hWnd, 0);
}

static inline void MCIWND_notify_error(MCIWndInfo *mwi)
{
    if (mwi->dwStyle & MCIWNDF_NOTIFYERROR)
        SendMessageW(mwi->hwndOwner, MCIWNDM_NOTIFYERROR, (WPARAM)mwi->hWnd, (LPARAM)mwi->lasterror);
}

static void MCIWND_UpdateState(MCIWndInfo *mwi)
{
777c1350:	55                   	push   %ebp
777c1351:	89 e5                	mov    %esp,%ebp
777c1353:	57                   	push   %edi
777c1354:	56                   	push   %esi
777c1355:	53                   	push   %ebx
777c1356:	81 ec 0c 09 00 00    	sub    $0x90c,%esp
777c135c:	89 c6                	mov    %eax,%esi
    WCHAR buffer[1024];

    if (!mwi->mci)
777c135e:	8b 50 04             	mov    0x4(%eax),%edx
777c1361:	85 d2                	test   %edx,%edx
777c1363:	0f 84 f7 00 00 00    	je     777c1460 <_MCIWND_UpdateState+0x110>
777c1369:	8b 10                	mov    (%eax),%edx
777c136b:	f6 c6 02             	test   $0x2,%dh
777c136e:	0f 85 8c 00 00 00    	jne    777c1400 <_MCIWND_UpdateState+0xb0>
    {
        /* FIXME: get this from resources */
        static const WCHAR no_deviceW[] = {'N','o',' ','D','e','v','i','c','e',0};
        SetWindowTextW(mwi->hWnd, no_deviceW);
        return;
    }

    MCIWND_notify_pos(mwi);

    if (!(mwi->dwStyle & MCIWNDF_NOPLAYBAR))
777c1374:	f6 c2 02             	test   $0x2,%dl
777c1377:	0f 84 bb 00 00 00    	je     777c1438 <_MCIWND_UpdateState+0xe8>
        SendDlgItemMessageW(mwi->hWnd, CTL_TRACKBAR, TBM_SETPOS, TRUE, mwi->position);

    if (!(mwi->dwStyle & MCIWNDF_SHOWALL))
777c137d:	f6 c2 70             	test   $0x70,%dl
777c1380:	74 72                	je     777c13f4 <_MCIWND_UpdateState+0xa4>
        return;

    if ((mwi->dwStyle & MCIWNDF_SHOWNAME) && mwi->lpName)
777c1382:	f6 c2 10             	test   $0x10,%dl
777c1385:	0f 85 ed 00 00 00    	jne    777c1478 <_MCIWND_UpdateState+0x128>
        strcpyW(buffer, mwi->lpName);
    else
        *buffer = 0;
777c138b:	66 c7 85 e8 f7 ff ff 	movw   $0x0,0xfffff7e8(%ebp)
777c1392:	00 00 
777c1394:	8d bd e8 f7 ff ff    	lea    0xfffff7e8(%ebp),%edi

    if (mwi->dwStyle & (MCIWNDF_SHOWPOS|MCIWNDF_SHOWMODE))
777c139a:	f6 c2 60             	test   $0x60,%dl
777c139d:	74 20                	je     777c13bf <_MCIWND_UpdateState+0x6f>
    {
        static const WCHAR spaceW[] = {' ',0};
        static const WCHAR l_braceW[] = {'(',0};

        if (*buffer) strcatW(buffer, spaceW);
777c139f:	66 83 bd e8 f7 ff ff 	cmpw   $0x0,0xfffff7e8(%ebp)
777c13a6:	00 
777c13a7:	0f 85 76 01 00 00    	jne    777c1523 <_MCIWND_UpdateState+0x1d3>
        strcatW(buffer, l_braceW);
777c13ad:	51                   	push   %ecx
777c13ae:	51                   	push   %ecx
777c13af:	68 30 80 7c 77       	push   $0x777c8030
777c13b4:	57                   	push   %edi
777c13b5:	e8 c6 46 00 00       	call   777c5a80 <_wcscat>
777c13ba:	83 c4 10             	add    $0x10,%esp
777c13bd:	8b 16                	mov    (%esi),%edx
    }

    if (mwi->dwStyle & MCIWNDF_SHOWPOS)
777c13bf:	f6 c2 20             	test   $0x20,%dl
777c13c2:	0f 85 28 01 00 00    	jne    777c14f0 <_MCIWND_UpdateState+0x1a0>
    {
        WCHAR posW[64];

        posW[0] = 0;
        SendMessageW(mwi->hWnd, MCIWNDM_GETPOSITIONW, 64, (LPARAM)posW);
        strcatW(buffer, posW);
    }

    if ((mwi->dwStyle & (MCIWNDF_SHOWPOS|MCIWNDF_SHOWMODE)) == (MCIWNDF_SHOWPOS|MCIWNDF_SHOWMODE))
777c13c8:	89 d0                	mov    %edx,%eax
777c13ca:	83 e0 60             	and    $0x60,%eax
777c13cd:	83 f8 60             	cmp    $0x60,%eax
777c13d0:	0f 84 62 01 00 00    	je     777c1538 <_MCIWND_UpdateState+0x1e8>
    {
        static const WCHAR dashW[] = {' ','-',' ',0};
        strcatW(buffer, dashW);
    }

    if (mwi->dwStyle & MCIWNDF_SHOWMODE)
777c13d6:	f6 c2 40             	test   $0x40,%dl
777c13d9:	0f 85 d9 00 00 00    	jne    777c14b8 <_MCIWND_UpdateState+0x168>
    {
        WCHAR modeW[64];

        modeW[0] = 0;
        SendMessageW(mwi->hWnd, MCIWNDM_GETMODEW, 64, (LPARAM)modeW);
        strcatW(buffer, modeW);
    }

    if (mwi->dwStyle & (MCIWNDF_SHOWPOS|MCIWNDF_SHOWMODE))
777c13df:	83 e2 60             	and    $0x60,%edx
777c13e2:	0f 85 b8 00 00 00    	jne    777c14a0 <_MCIWND_UpdateState+0x150>
    {
        static const WCHAR r_braceW[] = {')',0};
        strcatW(buffer, r_braceW);
    }

    TRACE("=> '%s'\n", debugstr_w(buffer));
    SetWindowTextW(mwi->hWnd, buffer);
777c13e8:	50                   	push   %eax
777c13e9:	50                   	push   %eax
777c13ea:	57                   	push   %edi
777c13eb:	8b 5e 2c             	mov    0x2c(%esi),%ebx
777c13ee:	53                   	push   %ebx
777c13ef:	e8 4c 42 00 00       	call   777c5640 <_SetWindowTextW@8>
}
777c13f4:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c13f7:	5b                   	pop    %ebx
777c13f8:	5e                   	pop    %esi
777c13f9:	5f                   	pop    %edi
777c13fa:	5d                   	pop    %ebp
777c13fb:	c3                   	ret    
777c13fc:	8d 74 26 00          	lea    0x0(%esi),%esi
777c1400:	6a 00                	push   $0x0
777c1402:	6a 00                	push   $0x0
777c1404:	68 ca 04 00 00       	push   $0x4ca
777c1409:	8b 40 2c             	mov    0x2c(%eax),%eax
777c140c:	50                   	push   %eax
777c140d:	e8 3e 42 00 00       	call   777c5650 <_SendMessageW@16>
777c1412:	39 46 18             	cmp    %eax,0x18(%esi)
777c1415:	74 16                	je     777c142d <_MCIWND_UpdateState+0xdd>
777c1417:	89 46 18             	mov    %eax,0x18(%esi)
777c141a:	50                   	push   %eax
777c141b:	8b 46 2c             	mov    0x2c(%esi),%eax
777c141e:	50                   	push   %eax
777c141f:	68 c9 04 00 00       	push   $0x4c9
777c1424:	8b 46 30             	mov    0x30(%esi),%eax
777c1427:	50                   	push   %eax
777c1428:	e8 23 42 00 00       	call   777c5650 <_SendMessageW@16>
777c142d:	8b 16                	mov    (%esi),%edx
777c142f:	f6 c2 02             	test   $0x2,%dl
777c1432:	0f 85 45 ff ff ff    	jne    777c137d <_MCIWND_UpdateState+0x2d>
777c1438:	83 ec 0c             	sub    $0xc,%esp
777c143b:	8b 46 18             	mov    0x18(%esi),%eax
777c143e:	50                   	push   %eax
777c143f:	6a 01                	push   $0x1
777c1441:	68 05 04 00 00       	push   $0x405
777c1446:	68 02 32 00 00       	push   $0x3202
777c144b:	8b 46 2c             	mov    0x2c(%esi),%eax
777c144e:	50                   	push   %eax
777c144f:	e8 0c 42 00 00       	call   777c5660 <_SendDlgItemMessageW@20>
777c1454:	8b 16                	mov    (%esi),%edx
777c1456:	83 c4 0c             	add    $0xc,%esp
777c1459:	e9 1f ff ff ff       	jmp    777c137d <_MCIWND_UpdateState+0x2d>
777c145e:	89 f6                	mov    %esi,%esi
777c1460:	50                   	push   %eax
777c1461:	50                   	push   %eax
777c1462:	68 18 80 7c 77       	push   $0x777c8018
777c1467:	8b 5e 2c             	mov    0x2c(%esi),%ebx
777c146a:	53                   	push   %ebx
777c146b:	e8 d0 41 00 00       	call   777c5640 <_SetWindowTextW@8>
777c1470:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c1473:	5b                   	pop    %ebx
777c1474:	5e                   	pop    %esi
777c1475:	5f                   	pop    %edi
777c1476:	5d                   	pop    %ebp
777c1477:	c3                   	ret    
777c1478:	8b 46 28             	mov    0x28(%esi),%eax
777c147b:	85 c0                	test   %eax,%eax
777c147d:	0f 84 08 ff ff ff    	je     777c138b <_MCIWND_UpdateState+0x3b>
777c1483:	57                   	push   %edi
777c1484:	57                   	push   %edi
777c1485:	8d bd e8 f7 ff ff    	lea    0xfffff7e8(%ebp),%edi
777c148b:	50                   	push   %eax
777c148c:	57                   	push   %edi
777c148d:	e8 fe 45 00 00       	call   777c5a90 <_wcscpy>
777c1492:	83 c4 10             	add    $0x10,%esp
777c1495:	8b 16                	mov    (%esi),%edx
777c1497:	e9 fe fe ff ff       	jmp    777c139a <_MCIWND_UpdateState+0x4a>
777c149c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c14a0:	50                   	push   %eax
777c14a1:	50                   	push   %eax
777c14a2:	68 3c 80 7c 77       	push   $0x777c803c
777c14a7:	57                   	push   %edi
777c14a8:	e8 d3 45 00 00       	call   777c5a80 <_wcscat>
777c14ad:	83 c4 10             	add    $0x10,%esp
777c14b0:	50                   	push   %eax
777c14b1:	50                   	push   %eax
777c14b2:	57                   	push   %edi
777c14b3:	e9 33 ff ff ff       	jmp    777c13eb <_MCIWND_UpdateState+0x9b>
777c14b8:	8d 9d e8 f6 ff ff    	lea    0xfffff6e8(%ebp),%ebx
777c14be:	66 c7 85 e8 f6 ff ff 	movw   $0x0,0xfffff6e8(%ebp)
777c14c5:	00 00 
777c14c7:	53                   	push   %ebx
777c14c8:	6a 40                	push   $0x40
777c14ca:	68 ce 04 00 00       	push   $0x4ce
777c14cf:	8b 46 2c             	mov    0x2c(%esi),%eax
777c14d2:	50                   	push   %eax
777c14d3:	e8 78 41 00 00       	call   777c5650 <_SendMessageW@16>
777c14d8:	50                   	push   %eax
777c14d9:	50                   	push   %eax
777c14da:	53                   	push   %ebx
777c14db:	57                   	push   %edi
777c14dc:	e8 9f 45 00 00       	call   777c5a80 <_wcscat>
777c14e1:	83 c4 10             	add    $0x10,%esp
777c14e4:	8b 16                	mov    (%esi),%edx
777c14e6:	e9 f4 fe ff ff       	jmp    777c13df <_MCIWND_UpdateState+0x8f>
777c14eb:	90                   	nop    
777c14ec:	8d 74 26 00          	lea    0x0(%esi),%esi
777c14f0:	8d 9d 68 f7 ff ff    	lea    0xfffff768(%ebp),%ebx
777c14f6:	66 c7 85 68 f7 ff ff 	movw   $0x0,0xfffff768(%ebp)
777c14fd:	00 00 
777c14ff:	53                   	push   %ebx
777c1500:	6a 40                	push   $0x40
777c1502:	68 ca 04 00 00       	push   $0x4ca
777c1507:	8b 56 2c             	mov    0x2c(%esi),%edx
777c150a:	52                   	push   %edx
777c150b:	e8 40 41 00 00       	call   777c5650 <_SendMessageW@16>
777c1510:	50                   	push   %eax
777c1511:	50                   	push   %eax
777c1512:	53                   	push   %ebx
777c1513:	57                   	push   %edi
777c1514:	e8 67 45 00 00       	call   777c5a80 <_wcscat>
777c1519:	83 c4 10             	add    $0x10,%esp
777c151c:	8b 16                	mov    (%esi),%edx
777c151e:	e9 a5 fe ff ff       	jmp    777c13c8 <_MCIWND_UpdateState+0x78>
777c1523:	53                   	push   %ebx
777c1524:	53                   	push   %ebx
777c1525:	68 2c 80 7c 77       	push   $0x777c802c
777c152a:	57                   	push   %edi
777c152b:	e8 50 45 00 00       	call   777c5a80 <_wcscat>
777c1530:	83 c4 10             	add    $0x10,%esp
777c1533:	e9 75 fe ff ff       	jmp    777c13ad <_MCIWND_UpdateState+0x5d>
777c1538:	50                   	push   %eax
777c1539:	50                   	push   %eax
777c153a:	68 34 80 7c 77       	push   $0x777c8034
777c153f:	57                   	push   %edi
777c1540:	e8 3b 45 00 00       	call   777c5a80 <_wcscat>
777c1545:	83 c4 10             	add    $0x10,%esp
777c1548:	8b 16                	mov    (%esi),%edx
777c154a:	e9 87 fe ff ff       	jmp    777c13d6 <_MCIWND_UpdateState+0x86>
777c154f:	90                   	nop    

777c1550 <_MCIWND_notify_media>:

static LRESULT MCIWND_Create(HWND hWnd, LPCREATESTRUCTW cs)
{
    HWND hChld;
    MCIWndInfo *mwi;
    static const WCHAR buttonW[] = {'b','u','t','t','o','n',0};

    mwi = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*mwi));
    if (!mwi) return -1;

    SetWindowLongW(hWnd, 0, (LPARAM)mwi);

    mwi->dwStyle = cs->style;
    /* There is no need to show stats if there is no caption */
    if ((mwi->dwStyle & WS_CAPTION) != WS_CAPTION)
        mwi->dwStyle &= ~MCIWNDF_SHOWALL;

    mwi->hWnd = hWnd;
    mwi->hwndOwner = cs->hwndParent;
    mwi->active_timer = 500;
    mwi->inactive_timer = 2000;
    mwi->mode = MCI_MODE_NOT_READY;
    mwi->position = -1;
    mwi->zoom = 100;

    if (!(mwi->dwStyle & MCIWNDF_NOMENU))
    {
        static const WCHAR menuW[] = {'M','e','n','u',0};

        hChld = CreateWindowExW(0, buttonW, menuW, WS_CHILD|WS_VISIBLE, 32, cs->cy, 32, 32,
                                hWnd, (HMENU)CTL_MENU, cs->hInstance, 0L);
        TRACE("Get Button2: %p\n", hChld);
    }

    if (!(mwi->dwStyle & MCIWNDF_NOPLAYBAR))
    {
        INITCOMMONCONTROLSEX init;
        static const WCHAR playW[] = {'P','l','a','y',0};

        /* adding the other elements: play/stop button, menu button, status */
        hChld = CreateWindowExW(0, buttonW, playW, WS_CHILD|WS_VISIBLE, 0, cs->cy, 32, 32,
                                hWnd, (HMENU)CTL_PLAYSTOP, cs->hInstance, 0L);
        TRACE("Get Button1: %p\n", hChld);

        init.dwSize = sizeof(init);
        init.dwICC = ICC_BAR_CLASSES;
        InitCommonControlsEx(&init);

        hChld = CreateWindowExW(0, TRACKBAR_CLASSW, NULL, WS_CHILD|WS_VISIBLE, 64, cs->cy, cs->cx - 64, 32,
                                hWnd, (HMENU)CTL_TRACKBAR, cs->hInstance, 0L);
        TRACE("Get status: %p\n", hChld);
    }

    /* This sets the default window size */
    SendMessageW(hWnd, MCI_CLOSE, 0, 0);

    if (cs->lpCreateParams)
    {
        LPARAM lParam;

        /* MCI wnd class is prepared to be embedded as an MDI child window */
        if (cs->dwExStyle & WS_EX_MDICHILD)
        {
            MDICREATESTRUCTW *mdics = (MDICREATESTRUCTW *)cs->lpCreateParams;
            lParam = mdics->lParam;
        }
        else
            lParam = (LPARAM)cs->lpCreateParams;

        /* If it's our internal class pointer, file name is a unicode string */
        if (cs->lpszClass == mciWndClassW)
            SendMessageW(hWnd, MCIWNDM_OPENW, 0, lParam);
        else
        {
            /* Otherwise let's try to figure out what string format is used */
            HWND parent = cs->hwndParent;
            if (!parent) parent = GetWindow(hWnd, GW_OWNER);

            SendMessageW(hWnd, IsWindowUnicode(parent) ? MCIWNDM_OPENW : MCIWNDM_OPENA, 0, lParam);
        }
    }

    return 0;
}

static void MCIWND_ToggleState(MCIWndInfo *mwi)
{
    switch (SendMessageW(mwi->hWnd, MCIWNDM_GETMODEW, 0, 0))
    {
    case MCI_MODE_NOT_READY:
    case MCI_MODE_RECORD:
    case MCI_MODE_SEEK:
    case MCI_MODE_OPEN:
        TRACE("Cannot do much...\n");
        break;

    case MCI_MODE_PAUSE:
        SendMessageW(mwi->hWnd, MCI_RESUME, 0, 0);
        break;

    case MCI_MODE_PLAY:
        SendMessageW(mwi->hWnd, MCI_PAUSE, 0, 0);
        break;

    case MCI_MODE_STOP:
        SendMessageW(mwi->hWnd, MCI_STOP, 0, 0);
        break;
    }
}

static LRESULT MCIWND_Command(MCIWndInfo *mwi, WPARAM wParam, LPARAM lParam)
{
    switch (LOWORD(wParam))
    {
    case CTL_PLAYSTOP: MCIWND_ToggleState(mwi); break;
    case CTL_MENU:
    case CTL_TRACKBAR:
    default:
        FIXME("support for command %04x not implement yet\n", LOWORD(wParam));
    }
    return 0L;
}

static void MCIWND_notify_media(MCIWndInfo *mwi)
{
777c1550:	55                   	push   %ebp
777c1551:	89 e5                	mov    %esp,%ebp
777c1553:	57                   	push   %edi
777c1554:	56                   	push   %esi
777c1555:	53                   	push   %ebx
777c1556:	83 ec 0c             	sub    $0xc,%esp
777c1559:	89 c7                	mov    %eax,%edi
    if (mwi->dwStyle & (MCIWNDF_NOTIFYMEDIAA | MCIWNDF_NOTIFYMEDIAW))
777c155b:	8b 00                	mov    (%eax),%eax
777c155d:	a9 80 08 00 00       	test   $0x880,%eax
777c1562:	74 25                	je     777c1589 <_MCIWND_notify_media+0x39>
    {
        if (!mwi->lpName)
777c1564:	8b 57 28             	mov    0x28(%edi),%edx
777c1567:	85 d2                	test   %edx,%edx
777c1569:	0f 84 94 00 00 00    	je     777c1603 <_MCIWND_notify_media+0xb3>
        {
            static const WCHAR empty_str[1];
            SendMessageW(mwi->hwndOwner, MCIWNDM_NOTIFYMEDIA, (WPARAM)mwi->hWnd, (LPARAM)empty_str);
        }
        else
        {
            if (mwi->dwStyle & MCIWNDF_NOTIFYANSI)
777c156f:	a9 80 00 00 00       	test   $0x80,%eax
777c1574:	75 1b                	jne    777c1591 <_MCIWND_notify_media+0x41>
            {
                char *ansi_name;
                int len;

                len = WideCharToMultiByte(CP_ACP, 0, mwi->lpName, -1, NULL, 0, NULL, NULL);
                ansi_name = HeapAlloc(GetProcessHeap(), 0, len);
                WideCharToMultiByte(CP_ACP, 0, mwi->lpName, -1, ansi_name, len, NULL, NULL);

                SendMessageW(mwi->hwndOwner, MCIWNDM_NOTIFYMEDIA, (WPARAM)mwi->hWnd, (LPARAM)ansi_name);

                HeapFree(GetProcessHeap(), 0, ansi_name);
            }
            else
                SendMessageW(mwi->hwndOwner, MCIWNDM_NOTIFYMEDIA, (WPARAM)mwi->hWnd, (LPARAM)mwi->lpName);
777c1576:	52                   	push   %edx
777c1577:	8b 5f 2c             	mov    0x2c(%edi),%ebx
777c157a:	53                   	push   %ebx
777c157b:	68 cb 04 00 00       	push   $0x4cb
777c1580:	8b 4f 30             	mov    0x30(%edi),%ecx
777c1583:	51                   	push   %ecx
777c1584:	e8 c7 40 00 00       	call   777c5650 <_SendMessageW@16>
        }
    }
}
777c1589:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c158c:	5b                   	pop    %ebx
777c158d:	5e                   	pop    %esi
777c158e:	5f                   	pop    %edi
777c158f:	5d                   	pop    %ebp
777c1590:	c3                   	ret    
777c1591:	6a 00                	push   $0x0
777c1593:	6a 00                	push   $0x0
777c1595:	6a 00                	push   $0x0
777c1597:	6a 00                	push   $0x0
777c1599:	6a ff                	push   $0xffffffff
777c159b:	52                   	push   %edx
777c159c:	6a 00                	push   $0x0
777c159e:	6a 00                	push   $0x0
777c15a0:	e8 2b 43 00 00       	call   777c58d0 <_WideCharToMultiByte@32>
777c15a5:	89 c6                	mov    %eax,%esi
777c15a7:	50                   	push   %eax
777c15a8:	56                   	push   %esi
777c15a9:	6a 00                	push   $0x0
777c15ab:	50                   	push   %eax
777c15ac:	e8 2f 43 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c15b1:	89 04 24             	mov    %eax,(%esp)
777c15b4:	e8 37 43 00 00       	call   777c58f0 <_HeapAlloc@12>
777c15b9:	89 c3                	mov    %eax,%ebx
777c15bb:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
777c15c2:	6a 00                	push   $0x0
777c15c4:	56                   	push   %esi
777c15c5:	50                   	push   %eax
777c15c6:	6a ff                	push   $0xffffffff
777c15c8:	8b 47 28             	mov    0x28(%edi),%eax
777c15cb:	50                   	push   %eax
777c15cc:	6a 00                	push   $0x0
777c15ce:	6a 00                	push   $0x0
777c15d0:	e8 fb 42 00 00       	call   777c58d0 <_WideCharToMultiByte@32>
777c15d5:	53                   	push   %ebx
777c15d6:	8b 47 2c             	mov    0x2c(%edi),%eax
777c15d9:	50                   	push   %eax
777c15da:	68 cb 04 00 00       	push   $0x4cb
777c15df:	8b 47 30             	mov    0x30(%edi),%eax
777c15e2:	50                   	push   %eax
777c15e3:	e8 68 40 00 00       	call   777c5650 <_SendMessageW@16>
777c15e8:	50                   	push   %eax
777c15e9:	53                   	push   %ebx
777c15ea:	6a 00                	push   $0x0
777c15ec:	57                   	push   %edi
777c15ed:	e8 ee 42 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c15f2:	89 04 24             	mov    %eax,(%esp)
777c15f5:	e8 06 43 00 00       	call   777c5900 <_HeapFree@12>
777c15fa:	5e                   	pop    %esi
777c15fb:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c15fe:	5b                   	pop    %ebx
777c15ff:	5e                   	pop    %esi
777c1600:	5f                   	pop    %edi
777c1601:	5d                   	pop    %ebp
777c1602:	c3                   	ret    
777c1603:	68 20 90 7c 77       	push   $0x777c9020
777c1608:	e9 6a ff ff ff       	jmp    777c1577 <_MCIWND_notify_media+0x27>
777c160d:	8d 76 00             	lea    0x0(%esi),%esi

777c1610 <_mci_get_devcaps>:

static MCIERROR mci_generic_command(MCIWndInfo *mwi, UINT cmd)
{
    MCI_GENERIC_PARMS mci_generic;

    mci_generic.dwCallback = 0;
    mwi->lasterror = mciSendCommandW(mwi->mci, cmd, 0, (DWORD_PTR)&mci_generic);

    if (mwi->lasterror)
        return mwi->lasterror;

    MCIWND_notify_mode(mwi);
    MCIWND_UpdateState(mwi);
    return 0;
}

static LRESULT mci_get_devcaps(MCIWndInfo *mwi, UINT cap)
{
777c1610:	55                   	push   %ebp
777c1611:	89 e5                	mov    %esp,%ebp
777c1613:	53                   	push   %ebx
777c1614:	89 c3                	mov    %eax,%ebx
777c1616:	83 ec 14             	sub    $0x14,%esp
    MCI_GETDEVCAPS_PARMS mci_devcaps;

    mci_devcaps.dwItem = cap;
    mwi->lasterror = mciSendCommandW(mwi->mci, MCI_GETDEVCAPS,
777c1619:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
777c161c:	89 55 f0             	mov    %edx,0xfffffff0(%ebp)
777c161f:	8b 53 04             	mov    0x4(%ebx),%edx
777c1622:	50                   	push   %eax
777c1623:	68 00 01 00 00       	push   $0x100
777c1628:	68 0b 08 00 00       	push   $0x80b
777c162d:	52                   	push   %edx
777c162e:	e8 1d 3f 00 00       	call   777c5550 <_mciSendCommandW@16>
                                   MCI_GETDEVCAPS_ITEM,
                                   (DWORD_PTR)&mci_devcaps);
    if (mwi->lasterror)
        return 0;
777c1633:	31 d2                	xor    %edx,%edx
777c1635:	85 c0                	test   %eax,%eax
777c1637:	89 43 38             	mov    %eax,0x38(%ebx)
777c163a:	75 03                	jne    777c163f <_mci_get_devcaps+0x2f>

    return mci_devcaps.dwReturn;
777c163c:	8b 55 ec             	mov    0xffffffec(%ebp),%edx
}
777c163f:	89 d0                	mov    %edx,%eax
777c1641:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c1644:	c9                   	leave  
777c1645:	c3                   	ret    
777c1646:	8d 76 00             	lea    0x0(%esi),%esi
777c1649:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c1650 <_MCIWndProc@16>:

static LRESULT WINAPI MCIWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam)
{
777c1650:	55                   	push   %ebp
777c1651:	89 e5                	mov    %esp,%ebp
777c1653:	57                   	push   %edi
777c1654:	56                   	push   %esi
777c1655:	53                   	push   %ebx
777c1656:	81 ec f4 07 00 00    	sub    $0x7f4,%esp
777c165c:	8b 7d 0c             	mov    0xc(%ebp),%edi
777c165f:	8b 5d 10             	mov    0x10(%ebp),%ebx
    MCIWndInfo *mwi;

    TRACE("%p %04x %08x %08lx\n", hWnd, wMsg, wParam, lParam);

    mwi = (MCIWndInfo*)GetWindowLongW(hWnd, 0);
777c1662:	6a 00                	push   $0x0
777c1664:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c1667:	51                   	push   %ecx
777c1668:	e8 03 40 00 00       	call   777c5670 <_GetWindowLongW@8>
777c166d:	89 c6                	mov    %eax,%esi
    if (!mwi && wMsg != WM_CREATE)
777c166f:	58                   	pop    %eax
777c1670:	85 f6                	test   %esi,%esi
777c1672:	5a                   	pop    %edx
777c1673:	0f 94 c2             	sete   %dl
777c1676:	83 ff 01             	cmp    $0x1,%edi
777c1679:	0f 95 c0             	setne  %al
777c167c:	25 ff 00 00 00       	and    $0xff,%eax
777c1681:	85 c2                	test   %eax,%edx
777c1683:	0f 85 87 01 00 00    	jne    777c1810 <_MCIWndProc@16+0x1c0>
        return DefWindowProcW(hWnd, wMsg, wParam, lParam);

    switch (wMsg)
777c1689:	81 ff 90 04 00 00    	cmp    $0x490,%edi
777c168f:	0f 84 5b 01 00 00    	je     777c17f0 <_MCIWndProc@16+0x1a0>
777c1695:	0f 87 86 01 00 00    	ja     777c1821 <_MCIWndProc@16+0x1d1>
777c169b:	81 ff 78 04 00 00    	cmp    $0x478,%edi
777c16a1:	0f 84 a9 02 00 00    	je     777c1950 <_MCIWndProc@16+0x300>
777c16a7:	0f 87 34 03 00 00    	ja     777c19e1 <_MCIWndProc@16+0x391>
777c16ad:	81 ff 66 04 00 00    	cmp    $0x466,%edi
777c16b3:	0f 84 cb 06 00 00    	je     777c1d84 <_MCIWndProc@16+0x734>
777c16b9:	0f 87 58 04 00 00    	ja     777c1b17 <_MCIWndProc@16+0x4c7>
777c16bf:	81 ff 86 00 00 00    	cmp    $0x86,%edi
777c16c5:	0f 84 16 0c 00 00    	je     777c22e1 <_MCIWndProc@16+0xc91>
777c16cb:	0f 87 87 0b 00 00    	ja     777c2258 <_MCIWndProc@16+0xc08>
777c16d1:	83 ff 02             	cmp    $0x2,%edi
777c16d4:	0f 84 e6 11 00 00    	je     777c28c0 <_MCIWndProc@16+0x1270>
777c16da:	0f 87 57 0f 00 00    	ja     777c2637 <_MCIWndProc@16+0xfe7>
777c16e0:	83 ff 01             	cmp    $0x1,%edi
777c16e3:	0f 85 98 01 00 00    	jne    777c1881 <_MCIWndProc@16+0x231>
777c16e9:	56                   	push   %esi
777c16ea:	68 40 01 00 00       	push   $0x140
777c16ef:	6a 08                	push   $0x8
777c16f1:	51                   	push   %ecx
777c16f2:	e8 e9 41 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c16f7:	89 04 24             	mov    %eax,(%esp)
777c16fa:	e8 f1 41 00 00       	call   777c58f0 <_HeapAlloc@12>
777c16ff:	5a                   	pop    %edx
777c1700:	89 c6                	mov    %eax,%esi
777c1702:	85 c0                	test   %eax,%eax
777c1704:	0f 84 83 01 00 00    	je     777c188d <_MCIWndProc@16+0x23d>
777c170a:	50                   	push   %eax
777c170b:	56                   	push   %esi
777c170c:	6a 00                	push   $0x0
777c170e:	8b 45 08             	mov    0x8(%ebp),%eax
777c1711:	50                   	push   %eax
777c1712:	e8 69 3f 00 00       	call   777c5680 <_SetWindowLongW@12>
777c1717:	58                   	pop    %eax
777c1718:	8b 45 14             	mov    0x14(%ebp),%eax
777c171b:	8b 50 20             	mov    0x20(%eax),%edx
777c171e:	89 d0                	mov    %edx,%eax
777c1720:	25 00 00 c0 00       	and    $0xc00000,%eax
777c1725:	3d 00 00 c0 00       	cmp    $0xc00000,%eax
777c172a:	74 03                	je     777c172f <_MCIWndProc@16+0xdf>
777c172c:	83 e2 8f             	and    $0xffffff8f,%edx
777c172f:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c1732:	89 16                	mov    %edx,(%esi)
777c1734:	89 4e 2c             	mov    %ecx,0x2c(%esi)
777c1737:	8b 4d 14             	mov    0x14(%ebp),%ecx
777c173a:	66 c7 86 3c 01 00 00 	movw   $0x1f4,0x13c(%esi)
777c1741:	f4 01 
777c1743:	66 c7 86 3e 01 00 00 	movw   $0x7d0,0x13e(%esi)
777c174a:	d0 07 
777c174c:	8b 41 0c             	mov    0xc(%ecx),%eax
777c174f:	c7 46 14 0c 02 00 00 	movl   $0x20c,0x14(%esi)
777c1756:	89 46 30             	mov    %eax,0x30(%esi)
777c1759:	c7 46 18 ff ff ff ff 	movl   $0xffffffff,0x18(%esi)
777c1760:	c7 46 24 64 00 00 00 	movl   $0x64,0x24(%esi)
777c1767:	f6 c2 08             	test   $0x8,%dl
777c176a:	0f 84 ca 1a 00 00    	je     777c323a <_MCIWndProc@16+0x1bea>
777c1770:	83 e2 02             	and    $0x2,%edx
777c1773:	0f 84 30 1a 00 00    	je     777c31a9 <_MCIWndProc@16+0x1b59>
777c1779:	6a 00                	push   $0x0
777c177b:	6a 00                	push   $0x0
777c177d:	68 04 08 00 00       	push   $0x804
777c1782:	8b 45 08             	mov    0x8(%ebp),%eax
777c1785:	50                   	push   %eax
777c1786:	e8 c5 3e 00 00       	call   777c5650 <_SendMessageW@16>
777c178b:	8b 4d 14             	mov    0x14(%ebp),%ecx
777c178e:	8b 01                	mov    (%ecx),%eax
777c1790:	85 c0                	test   %eax,%eax
777c1792:	0f 84 f5 00 00 00    	je     777c188d <_MCIWndProc@16+0x23d>
777c1798:	89 c6                	mov    %eax,%esi
777c179a:	f6 41 2c 40          	testb  $0x40,0x2c(%ecx)
777c179e:	74 03                	je     777c17a3 <_MCIWndProc@16+0x153>
777c17a0:	8b 70 20             	mov    0x20(%eax),%esi
777c17a3:	8b 45 14             	mov    0x14(%ebp),%eax
777c17a6:	81 78 28 00 80 7c 77 	cmpl   $0x777c8000,0x28(%eax)
777c17ad:	0f 84 f8 1a 00 00    	je     777c32ab <_MCIWndProc@16+0x1c5b>
777c17b3:	8b 55 14             	mov    0x14(%ebp),%edx
777c17b6:	8b 42 0c             	mov    0xc(%edx),%eax
777c17b9:	85 c0                	test   %eax,%eax
777c17bb:	0f 84 d6 1a 00 00    	je     777c3297 <_MCIWndProc@16+0x1c47>
777c17c1:	56                   	push   %esi
777c17c2:	6a 00                	push   $0x0
777c17c4:	56                   	push   %esi
777c17c5:	50                   	push   %eax
777c17c6:	e8 c5 3e 00 00       	call   777c5690 <_IsWindowUnicode@4>
777c17cb:	83 f8 01             	cmp    $0x1,%eax
777c17ce:	19 c0                	sbb    %eax,%eax
777c17d0:	83 e0 9d             	and    $0xffffff9d,%eax
777c17d3:	05 fc 04 00 00       	add    $0x4fc,%eax
777c17d8:	89 04 24             	mov    %eax,(%esp)
777c17db:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c17de:	51                   	push   %ecx
777c17df:	e8 6c 3e 00 00       	call   777c5650 <_SendMessageW@16>
777c17e4:	e9 a4 00 00 00       	jmp    777c188d <_MCIWndProc@16+0x23d>
777c17e9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
    {
    case WM_CREATE:
        MCIWND_Create(hWnd, (CREATESTRUCTW *)lParam);
        break;

    case WM_DESTROY:
        if (mwi->uTimer)
            KillTimer(hWnd, mwi->uTimer);

        if (mwi->mci)
            SendMessageW(hWnd, MCI_CLOSE, 0, 0);

        HeapFree(GetProcessHeap(), 0, mwi);

        DestroyWindow(GetDlgItem(hWnd, CTL_MENU));
        DestroyWindow(GetDlgItem(hWnd, CTL_PLAYSTOP));
        DestroyWindow(GetDlgItem(hWnd, CTL_TRACKBAR));
        break;

    case WM_PAINT:
        {
            MCI_DGV_UPDATE_PARMS mci_update;
            PAINTSTRUCT ps;

            mci_update.hDC = (wParam) ? (HDC)wParam : BeginPaint(hWnd, &ps);

            mciSendCommandW(mwi->mci, MCI_UPDATE,
                            MCI_DGV_UPDATE_HDC | MCI_DGV_UPDATE_PAINT,
                            (DWORD_PTR)&mci_update);

            if (!wParam) EndPaint(hWnd, &ps);
            return 1;
        }

    case WM_COMMAND:
        return MCIWND_Command(mwi, wParam, lParam);

    case WM_NCACTIVATE:
        if (mwi->uTimer)
        {
            KillTimer(hWnd, mwi->uTimer);
            mwi->uTimer = SetTimer(hWnd, 1, wParam ? mwi->active_timer : mwi->inactive_timer, NULL);
        }
        break;

    case WM_TIMER:
        MCIWND_UpdateState(mwi);
        return 0;

    case WM_SIZE:
        SetWindowPos(GetDlgItem(hWnd, CTL_PLAYSTOP), 0, 0, HIWORD(lParam) - 32, 0, 0, SWP_NOSIZE | SWP_NOACTIVATE);
        SetWindowPos(GetDlgItem(hWnd, CTL_MENU), 0, 32, HIWORD(lParam) - 32, 0, 0, SWP_NOSIZE | SWP_NOACTIVATE);
        SetWindowPos(GetDlgItem(hWnd, CTL_TRACKBAR), 0, 64, HIWORD(lParam) - 32, LOWORD(lParam) - 64, 32, SWP_NOACTIVATE);

        if (!(mwi->dwStyle & MCIWNDF_NOAUTOSIZEMOVIE))
        {
            RECT rc;

            rc.left = rc.top = 0;
            rc.right = LOWORD(lParam);
            rc.bottom = HIWORD(lParam);
            if (!(mwi->dwStyle & MCIWNDF_NOPLAYBAR))
                rc.bottom -= 32; /* subtract the height of the playbar */
            SendMessageW(hWnd, MCIWNDM_PUT_DEST, 0, (LPARAM)&rc);
        }
        MCIWND_notify_size(mwi);
        break;

    case MM_MCINOTIFY:
        MCIWND_notify_mode(mwi);
        MCIWND_UpdateState(mwi);
        return 0;

    case MCIWNDM_OPENA:
        {
            UNICODE_STRING nameW;
            TRACE("MCIWNDM_OPENA %s\n", debugstr_a((LPSTR)lParam));
            RtlCreateUnicodeStringFromAsciiz(&nameW, (LPCSTR)lParam);
            lParam = (LPARAM)nameW.Buffer;
        }
        /* fall through */
    case MCIWNDM_OPENW:
        {
            RECT rc;
            HCURSOR hCursor;
            MCI_OPEN_PARMSW mci_open;
            MCI_GETDEVCAPS_PARMS mci_devcaps;
            WCHAR aliasW[64];
            WCHAR drv_name[MAX_PATH];
            static const WCHAR formatW[] = {'%','d',0};
            static const WCHAR mci32W[] = {'m','c','i','3','2',0};
            static const WCHAR system_iniW[] = {'s','y','s','t','e','m','.','i','n','i',0};

            TRACE("MCIWNDM_OPENW %s\n", debugstr_w((LPWSTR)lParam));

            if (wParam == MCIWNDOPENF_NEW)
            {
                SendMessageW(hWnd, MCIWNDM_NEWW, 0, lParam);
                goto end_of_mci_open;
            }

            if (mwi->uTimer)
            {
                KillTimer(hWnd, mwi->uTimer);
                mwi->uTimer = 0;
            }

            hCursor = LoadCursorW(0, (LPWSTR)IDC_WAIT);
            hCursor = SetCursor(hCursor);

            mci_open.lpstrElementName = (LPWSTR)lParam;
            wsprintfW(aliasW, formatW, (int)hWnd + 1);
            mci_open.lpstrAlias = aliasW;
            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_OPEN,
                                             MCI_OPEN_ELEMENT | MCI_OPEN_ALIAS | MCI_WAIT,
                                             (DWORD_PTR)&mci_open);
            SetCursor(hCursor);

            if (mwi->lasterror && !(mwi->dwStyle & MCIWNDF_NOERRORDLG))
            {
                /* FIXME: get the caption from resources */
                static const WCHAR caption[] = {'M','C','I',' ','E','r','r','o','r',0};
                WCHAR error_str[MAXERRORLENGTH];

                mciGetErrorStringW(mwi->lasterror, error_str, MAXERRORLENGTH);
                MessageBoxW(hWnd, error_str, caption, MB_ICONEXCLAMATION | MB_OK);
                MCIWND_notify_error(mwi);
                goto end_of_mci_open;
            }

            mwi->mci = mci_open.wDeviceID;
            mwi->alias = (int)hWnd + 1;

            mwi->lpName = HeapAlloc(GetProcessHeap(), 0, (strlenW((LPWSTR)lParam) + 1) * sizeof(WCHAR));
            strcpyW(mwi->lpName, (LPWSTR)lParam);

            MCIWND_UpdateState(mwi);

            mci_devcaps.dwItem = MCI_GETDEVCAPS_DEVICE_TYPE;
            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_GETDEVCAPS,
                                             MCI_GETDEVCAPS_ITEM,
                                             (DWORD_PTR)&mci_devcaps);
            if (mwi->lasterror)
            {
                MCIWND_notify_error(mwi);
                goto end_of_mci_open;
            }

            mwi->dev_type = mci_devcaps.dwReturn;

            drv_name[0] = 0;
            SendMessageW(hWnd, MCIWNDM_GETDEVICEW, 256, (LPARAM)drv_name);
            if (drv_name[0] && GetPrivateProfileStringW(mci32W, drv_name, NULL,
                                            drv_name, MAX_PATH, system_iniW))
                mwi->hdrv = OpenDriver(drv_name, NULL, 0);

            if (mwi->dev_type == MCI_DEVTYPE_DIGITAL_VIDEO)
            {
                MCI_DGV_WINDOW_PARMSW mci_window;

                mci_window.hWnd = hWnd;
                mwi->lasterror = mciSendCommandW(mwi->mci, MCI_WINDOW,
                                                 MCI_DGV_WINDOW_HWND,
                                                 (DWORD_PTR)&mci_window);
                if (mwi->lasterror)
                {
                    MCIWND_notify_error(mwi);
                    goto end_of_mci_open;
                }
            }

            if (SendMessageW(hWnd, MCIWNDM_GET_DEST, 0, (LPARAM)&rc) == 0)
            {
                mwi->size.cx = rc.right - rc.left;
                mwi->size.cy = rc.bottom - rc.top;

                rc.right = MulDiv(mwi->size.cx, mwi->zoom, 100);
                rc.bottom = MulDiv(mwi->size.cy, mwi->zoom, 100);
                SendMessageW(hWnd, MCIWNDM_PUT_DEST, 0, (LPARAM)&rc);
            }
            else
            {
                GetClientRect(hWnd, &rc);
                rc.bottom = rc.top;
            }

            if (!(mwi->dwStyle & MCIWNDF_NOPLAYBAR))
                rc.bottom += 32; /* add the height of the playbar */
            AdjustWindowRect(&rc, GetWindowLongW(hWnd, GWL_STYLE), FALSE);
            SetWindowPos(hWnd, 0, 0, 0, rc.right - rc.left,
                         rc.bottom - rc.top, SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);

            SendDlgItemMessageW(hWnd, CTL_TRACKBAR, TBM_SETRANGEMIN, 0L, 0L);
            SendDlgItemMessageW(hWnd, CTL_TRACKBAR, TBM_SETRANGEMAX, 1,
                                SendMessageW(hWnd, MCIWNDM_GETLENGTH, 0, 0));
            mwi->uTimer = SetTimer(hWnd, 1, mwi->active_timer, NULL);

            MCIWND_notify_media(mwi);

end_of_mci_open:
            if (wMsg == MCIWNDM_OPENA)
                HeapFree(GetProcessHeap(), 0, (void *)lParam);
            return mwi->lasterror;
        }

    case MCIWNDM_GETDEVICEID:
        TRACE("MCIWNDM_GETDEVICEID\n");
        return mwi->mci;

    case MCIWNDM_GETALIAS:
        TRACE("MCIWNDM_GETALIAS\n");
        return mwi->alias;

    case MCIWNDM_GET_SOURCE:
        {
            MCI_DGV_RECT_PARMS mci_rect;

            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_WHERE,
                                             MCI_DGV_WHERE_SOURCE,
                                             (DWORD_PTR)&mci_rect);
            if (mwi->lasterror)
            {
                MCIWND_notify_error(mwi);
                return mwi->lasterror;
            }
            *(RECT *)lParam = mci_rect.rc;
            TRACE("MCIWNDM_GET_SOURCE: %s\n", wine_dbgstr_rect(&mci_rect.rc));
            return 0;
        }

    case MCIWNDM_GET_DEST:
        {
            MCI_DGV_RECT_PARMS mci_rect;

            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_WHERE,
                                             MCI_DGV_WHERE_DESTINATION,
                                             (DWORD_PTR)&mci_rect);
            if (mwi->lasterror)
            {
                MCIWND_notify_error(mwi);
                return mwi->lasterror;
            }
            *(RECT *)lParam = mci_rect.rc;
            TRACE("MCIWNDM_GET_DEST: %s\n", wine_dbgstr_rect(&mci_rect.rc));
            return 0;
        }

    case MCIWNDM_PUT_SOURCE:
        {
            MCI_DGV_PUT_PARMS mci_put;

            mci_put.rc = *(RECT *)lParam;
            TRACE("MCIWNDM_PUT_SOURCE: %s\n", wine_dbgstr_rect(&mci_put.rc));
            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_PUT,
                                             MCI_DGV_PUT_SOURCE,
                                             (DWORD_PTR)&mci_put);
            if (mwi->lasterror)
            {
                MCIWND_notify_error(mwi);
                return mwi->lasterror;
            }
            return 0;
        }

    case MCIWNDM_PUT_DEST:
        {
            MCI_DGV_PUT_PARMS mci_put;

            mci_put.rc = *(RECT *)lParam;
            TRACE("MCIWNDM_PUT_DEST: %s\n", wine_dbgstr_rect(&mci_put.rc));

            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_PUT,
                                             MCI_DGV_PUT_DESTINATION | MCI_DGV_RECT,
                                             (DWORD_PTR)&mci_put);
            if (mwi->lasterror)
            {
                MCIWND_notify_error(mwi);
                return mwi->lasterror;
            }
            return 0;
        }

    case MCIWNDM_GETLENGTH:
        {
            MCI_STATUS_PARMS mci_status;

            mci_status.dwItem = MCI_STATUS_LENGTH;
            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_STATUS,
                                             MCI_STATUS_ITEM,
                                             (DWORD_PTR)&mci_status);
            if (mwi->lasterror)
            {
                MCIWND_notify_error(mwi);
                return 0;
            }
            TRACE("MCIWNDM_GETLENGTH: %ld\n", mci_status.dwReturn);
            return mci_status.dwReturn;
        }

    case MCIWNDM_GETSTART:
        {
            MCI_STATUS_PARMS mci_status;

            mci_status.dwItem = MCI_STATUS_POSITION;
            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_STATUS,
                                             MCI_STATUS_ITEM | MCI_STATUS_START,
                                             (DWORD_PTR)&mci_status);
            if (mwi->lasterror)
            {
                MCIWND_notify_error(mwi);
                return 0;
            }
            TRACE("MCIWNDM_GETSTART: %ld\n", mci_status.dwReturn);
            return mci_status.dwReturn;
        }

    case MCIWNDM_GETEND:
        {
            LRESULT start, length;

            start = SendMessageW(hWnd, MCIWNDM_GETSTART, 0, 0);
            length = SendMessageW(hWnd, MCIWNDM_GETLENGTH, 0, 0);
            TRACE("MCIWNDM_GETEND: %ld\n", start + length);
            return (start + length);
        }

    case MCIWNDM_GETPOSITIONA:
    case MCIWNDM_GETPOSITIONW:
        {
            MCI_STATUS_PARMS mci_status;

            TRACE("MCIWNDM_GETPOSITION\n");

            /* get position string if requested */
            if (wParam && lParam)
            {
                if (wMsg == MCIWNDM_GETPOSITIONA)
                {
                    char cmd[64];

                    wsprintfA(cmd, "status %d position", mwi->alias);
                    mwi->lasterror = mciSendStringA(cmd, (LPSTR)lParam, wParam, 0);
                }
                else
                {

                    WCHAR cmdW[64];
                    static const WCHAR formatW[] = {'s','t','a','t','u','s',' ','%','d',' ','p','o','s','i','t','i','o','n',0};

                    wsprintfW(cmdW, formatW, mwi->alias);
                    mwi->lasterror = mciSendStringW(cmdW, (LPWSTR)lParam, wParam, 0);
                }

                if (mwi->lasterror)
                    return 0;
            }

            mci_status.dwItem = MCI_STATUS_POSITION;
            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_STATUS,
                                             MCI_STATUS_ITEM,
                                             (DWORD_PTR)&mci_status);
            if (mwi->lasterror)
                return 0;

            return mci_status.dwReturn;
        }

    case MCIWNDM_GETMODEA:
    case MCIWNDM_GETMODEW:
        {
            MCI_STATUS_PARMS mci_status;

            TRACE("MCIWNDM_GETMODE\n");

            if (!mwi->mci)
                return MCI_MODE_NOT_READY;

            /* get mode string if requested */
            if (wParam && lParam)
            {
                if (wMsg == MCIWNDM_GETMODEA)
                {
                    char cmd[64];

                    wsprintfA(cmd, "status %d mode", mwi->alias);
                    mwi->lasterror = mciSendStringA(cmd, (LPSTR)lParam, wParam, 0);
                }
                else
                {

                    WCHAR cmdW[64];
                    static const WCHAR formatW[] = {'s','t','a','t','u','s',' ','%','d',' ','m','o','d','e',0};

                    wsprintfW(cmdW, formatW, mwi->alias);
                    mwi->lasterror = mciSendStringW(cmdW, (LPWSTR)lParam, wParam, 0);
                }

                if (mwi->lasterror)
                    return MCI_MODE_NOT_READY;
            }

            mci_status.dwItem = MCI_STATUS_MODE;
            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_STATUS,
                                             MCI_STATUS_ITEM,
                                             (DWORD_PTR)&mci_status);
            if (mwi->lasterror)
                return MCI_MODE_NOT_READY;

            return mci_status.dwReturn;
        }

    case MCIWNDM_PLAYFROM:
        {
            MCI_PLAY_PARMS mci_play;

            TRACE("MCIWNDM_PLAYFROM %08lx\n", lParam);

            mci_play.dwCallback = (DWORD_PTR)hWnd;
            mci_play.dwFrom = lParam;
            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_PLAY,
                                             MCI_FROM | MCI_NOTIFY,
                                             (DWORD_PTR)&mci_play);
            if (mwi->lasterror)
            {
                MCIWND_notify_error(mwi);
                return mwi->lasterror;
            }

            MCIWND_notify_mode(mwi);
            MCIWND_UpdateState(mwi);
            return 0;
        }

    case MCIWNDM_PLAYTO:
        {
            MCI_PLAY_PARMS mci_play;

            TRACE("MCIWNDM_PLAYTO %08lx\n", lParam);

            mci_play.dwCallback = (DWORD_PTR)hWnd;
            mci_play.dwTo = lParam;
            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_PLAY,
                                             MCI_TO | MCI_NOTIFY,
                                             (DWORD_PTR)&mci_play);
            if (mwi->lasterror)
            {
                MCIWND_notify_error(mwi);
                return mwi->lasterror;
            }

            MCIWND_notify_mode(mwi);
            MCIWND_UpdateState(mwi);
            return 0;
        }

    case MCIWNDM_PLAYREVERSE:
        {
            MCI_PLAY_PARMS mci_play;
            DWORD flags = MCI_NOTIFY;

            TRACE("MCIWNDM_PLAYREVERSE %08lx\n", lParam);

            mci_play.dwCallback = (DWORD_PTR)hWnd;
            mci_play.dwFrom = lParam;
            switch (mwi->dev_type)
            {
            default:
            case MCI_DEVTYPE_ANIMATION:
                flags |= MCI_ANIM_PLAY_REVERSE;
                break;

            case MCI_DEVTYPE_DIGITAL_VIDEO:
                flags |= MCI_DGV_PLAY_REVERSE;
                break;

#ifdef MCI_VCR_PLAY_REVERSE
            case MCI_DEVTYPE_VCR:
                flags |= MCI_VCR_PLAY_REVERSE;
                break;
#endif

            case MCI_DEVTYPE_VIDEODISC:
                flags |= MCI_VD_PLAY_REVERSE;
                break;

            }
            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_PLAY,
                                             flags, (DWORD_PTR)&mci_play);
            if (mwi->lasterror)
            {
                MCIWND_notify_error(mwi);
                return mwi->lasterror;
            }

            MCIWND_notify_mode(mwi);
            MCIWND_UpdateState(mwi);
            return 0;
        }

    case MCIWNDM_GETERRORA:
        mciGetErrorStringA(mwi->lasterror, (LPSTR)lParam, wParam);
        TRACE("MCIWNDM_GETERRORA: %s\n", debugstr_an((LPSTR)lParam, wParam));
        return mwi->lasterror;

    case MCIWNDM_GETERRORW:
        mciGetErrorStringW(mwi->lasterror, (LPWSTR)lParam, wParam);
        TRACE("MCIWNDM_GETERRORW: %s\n", debugstr_wn((LPWSTR)lParam, wParam));
        return mwi->lasterror;

    case MCIWNDM_SETOWNER:
        TRACE("MCIWNDM_SETOWNER %p\n", (HWND)wParam);
        mwi->hwndOwner = (HWND)wParam;
        return 0;

    case MCIWNDM_SENDSTRINGA:
        {
            UNICODE_STRING stringW;

            TRACE("MCIWNDM_SENDSTRINGA %s\n", debugstr_a((LPCSTR)lParam));

            RtlCreateUnicodeStringFromAsciiz(&stringW, (LPCSTR)lParam);
            lParam = (LPARAM)stringW.Buffer;
        }
        /* fall through */
    case MCIWNDM_SENDSTRINGW:
        {
            WCHAR *cmdW, *p;

            TRACE("MCIWNDM_SENDSTRINGW %s\n", debugstr_w((LPCWSTR)lParam));

            p = strchrW((LPCWSTR)lParam, ' ');
            if (p)
            {
                static const WCHAR formatW[] = {'%','d',' ',0};
                int len, pos;

                pos = p - (WCHAR *)lParam + 1;
                len = lstrlenW((LPCWSTR)lParam) + 64;

                cmdW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));

                memcpy(cmdW, (void *)lParam, pos * sizeof(WCHAR));
                wsprintfW(cmdW + pos, formatW, mwi->alias);
                strcatW(cmdW, (WCHAR *)lParam + pos);
            }
            else
                cmdW = (LPWSTR)lParam;

            mwi->lasterror = mciSendStringW(cmdW, mwi->return_string,
                                            sizeof(mwi->return_string)/sizeof(mwi->return_string[0]),
                                            0);
            if (mwi->lasterror)
                MCIWND_notify_error(mwi);

            if (cmdW != (LPWSTR)lParam)
                HeapFree(GetProcessHeap(), 0, cmdW);

            if (wMsg == MCIWNDM_SENDSTRINGA)
                HeapFree(GetProcessHeap(), 0, (void *)lParam);

            MCIWND_UpdateState(mwi);
            return mwi->lasterror;
        }

    case MCIWNDM_RETURNSTRINGA:
        WideCharToMultiByte(CP_ACP, 0, mwi->return_string, -1, (LPSTR)lParam, wParam, NULL, NULL);
        TRACE("MCIWNDM_RETURNTRINGA %s\n", debugstr_an((LPSTR)lParam, wParam));
        return mwi->lasterror;

    case MCIWNDM_RETURNSTRINGW:
        strncpyW((LPWSTR)lParam, mwi->return_string, wParam);
        TRACE("MCIWNDM_RETURNTRINGW %s\n", debugstr_wn((LPWSTR)lParam, wParam));
        return mwi->lasterror;

    case MCIWNDM_SETTIMERS:
        TRACE("MCIWNDM_SETTIMERS active %d ms, inactive %d ms\n", (int)wParam, (int)lParam);
        mwi->active_timer = (WORD)wParam;
        mwi->inactive_timer = (WORD)lParam;
        return 0;

    case MCIWNDM_SETACTIVETIMER:
        TRACE("MCIWNDM_SETACTIVETIMER %d ms\n", (int)wParam);
        mwi->active_timer = (WORD)wParam;
        return 0;

    case MCIWNDM_SETINACTIVETIMER:
        TRACE("MCIWNDM_SETINACTIVETIMER %d ms\n", (int)wParam);
        mwi->inactive_timer = (WORD)wParam;
        return 0;

    case MCIWNDM_GETACTIVETIMER:
        TRACE("MCIWNDM_GETACTIVETIMER: %d ms\n", mwi->active_timer);
        return mwi->active_timer;

    case MCIWNDM_GETINACTIVETIMER:
        TRACE("MCIWNDM_GETINACTIVETIMER: %d ms\n", mwi->inactive_timer);
        return mwi->inactive_timer;

    case MCIWNDM_CHANGESTYLES:
        TRACE("MCIWNDM_CHANGESTYLES mask %08x, set %08lx\n", wParam, lParam);
        /* FIXME: update the visual window state as well:
         * add/remove trackbar, autosize, etc.
         */
        mwi->dwStyle &= ~wParam;
        mwi->dwStyle |= lParam & wParam;
        return 0;

    case MCIWNDM_GETSTYLES:
        TRACE("MCIWNDM_GETSTYLES: %08lx\n", mwi->dwStyle & 0xffff);
        return mwi->dwStyle & 0xffff;

    case MCIWNDM_GETDEVICEA:
        {
            MCI_SYSINFO_PARMSA mci_sysinfo;

            mci_sysinfo.lpstrReturn = (LPSTR)lParam;
            mci_sysinfo.dwRetSize = wParam;
            mwi->lasterror = mciSendCommandA(mwi->mci, MCI_SYSINFO,
                                             MCI_SYSINFO_INSTALLNAME,
                                             (DWORD_PTR)&mci_sysinfo);
            TRACE("MCIWNDM_GETDEVICEA: %s\n", debugstr_an((LPSTR)lParam, wParam));
            return 0;
        }

    case MCIWNDM_GETDEVICEW:
        {
            MCI_SYSINFO_PARMSW mci_sysinfo;

            mci_sysinfo.lpstrReturn = (LPWSTR)lParam;
            mci_sysinfo.dwRetSize = wParam;
            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_SYSINFO,
                                             MCI_SYSINFO_INSTALLNAME,
                                             (DWORD_PTR)&mci_sysinfo);
            TRACE("MCIWNDM_GETDEVICEW: %s\n", debugstr_wn((LPWSTR)lParam, wParam));
            return 0;
        }

    case MCIWNDM_VALIDATEMEDIA:
        TRACE("MCIWNDM_VALIDATEMEDIA\n");
        if (mwi->mci)
        {
            SendMessageW(hWnd, MCIWNDM_GETSTART, 0, 0);
            SendMessageW(hWnd, MCIWNDM_GETLENGTH, 0, 0);
        }
        return 0;

    case MCIWNDM_GETFILENAMEA:
        TRACE("MCIWNDM_GETFILENAMEA: %s\n", debugstr_w(mwi->lpName));
        if (mwi->lpName)
            WideCharToMultiByte(CP_ACP, 0, mwi->lpName, -1, (LPSTR)lParam, wParam, NULL, NULL);
        return 0;

    case MCIWNDM_GETFILENAMEW:
        TRACE("MCIWNDM_GETFILENAMEW: %s\n", debugstr_w(mwi->lpName));
        if (mwi->lpName)
            strncpyW((LPWSTR)lParam, mwi->lpName, wParam);
        return 0;

    case MCIWNDM_GETTIMEFORMATA:
    case MCIWNDM_GETTIMEFORMATW:
        {
            MCI_STATUS_PARMS mci_status;

            TRACE("MCIWNDM_GETTIMEFORMAT %08x %08lx\n", wParam, lParam);

            /* get format string if requested */
            if (wParam && lParam)
            {
                if (wMsg == MCIWNDM_GETTIMEFORMATA)
                {
                    char cmd[64];

                    wsprintfA(cmd, "status %d time format", mwi->alias);
                    mwi->lasterror = mciSendStringA(cmd, (LPSTR)lParam, wParam, 0);
                    if (mwi->lasterror)
                        return 0;
                }
                else
                {
                    WCHAR cmdW[64];
                    static const WCHAR formatW[] = {'s','t','a','t','u','s',' ','%','d',' ','t','i','m','e',' ','f','o','r','m','a','t',0};

                    wsprintfW(cmdW, formatW, mwi->alias);
                    mwi->lasterror = mciSendStringW(cmdW, (LPWSTR)lParam, wParam, 0);
                    if (mwi->lasterror)
                        return 0;
                }
            }

            mci_status.dwItem = MCI_STATUS_TIME_FORMAT ;
            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_STATUS,
                                             MCI_STATUS_ITEM,
                                             (DWORD_PTR)&mci_status);
            if (mwi->lasterror)
                return 0;

            return mci_status.dwReturn;
        }

    case MCIWNDM_SETTIMEFORMATA:
        {
            UNICODE_STRING stringW;

            TRACE("MCIWNDM_SETTIMEFORMATA %s\n", debugstr_a((LPSTR)lParam));

            RtlCreateUnicodeStringFromAsciiz(&stringW, (LPCSTR)lParam);
            lParam = (LPARAM)stringW.Buffer;
        }
        /* fall through */
    case MCIWNDM_SETTIMEFORMATW:
        {
            static const WCHAR formatW[] = {'s','e','t',' ','%','d',' ','t','i','m','e',' ','f','o','r','m','a','t',' ',0};
            WCHAR *cmdW;

            TRACE("MCIWNDM_SETTIMEFORMATW %s\n", debugstr_w((LPWSTR)lParam));

            if (mwi->mci)
            {
                cmdW = HeapAlloc(GetProcessHeap(), 0, (lstrlenW((LPCWSTR)lParam) + 64) * sizeof(WCHAR));
                wsprintfW(cmdW, formatW, mwi->alias);
                strcatW(cmdW, (WCHAR *)lParam);

                mwi->lasterror = mciSendStringW(cmdW, NULL, 0, 0);

                /* fix the range tracking according to the new time format */
                if (!mwi->lasterror)
                    SendDlgItemMessageW(hWnd, CTL_TRACKBAR, TBM_SETRANGEMAX, 1,
                                        SendMessageW(hWnd, MCIWNDM_GETLENGTH, 0, 0));
            }

            if (wMsg == MCIWNDM_SETTIMEFORMATA)
                HeapFree(GetProcessHeap(), 0, (void *)lParam);

            return 0;
        }

    case MCIWNDM_CAN_PLAY:
        TRACE("MCIWNDM_CAN_PLAY\n");
        if (mwi->mci)
777c17f0:	8b 46 04             	mov    0x4(%esi),%eax
            return mci_get_devcaps(mwi, MCI_GETDEVCAPS_CAN_PLAY);
        return 0;
777c17f3:	31 d2                	xor    %edx,%edx
777c17f5:	85 c0                	test   %eax,%eax
777c17f7:	74 0b                	je     777c1804 <_MCIWndProc@16+0x1b4>
777c17f9:	b2 08                	mov    $0x8,%dl

    case MCIWNDM_CAN_RECORD:
        TRACE("MCIWNDM_CAN_RECORD\n");
        if (mwi->mci)
            return mci_get_devcaps(mwi, MCI_GETDEVCAPS_CAN_RECORD);
777c17fb:	89 f0                	mov    %esi,%eax
777c17fd:	e8 0e fe ff ff       	call   777c1610 <_mci_get_devcaps>
        return 0;

    case MCIWNDM_CAN_SAVE:
        TRACE("MCIWNDM_CAN_SAVE\n");
        if (mwi->mci)
            return mci_get_devcaps(mwi, MCI_GETDEVCAPS_CAN_SAVE);
        return 0;

    case MCIWNDM_CAN_EJECT:
        TRACE("MCIWNDM_CAN_EJECT\n");
        if (mwi->mci)
            return mci_get_devcaps(mwi, MCI_GETDEVCAPS_CAN_EJECT);
        return 0;

    case MCIWNDM_CAN_WINDOW:
        TRACE("MCIWNDM_CAN_WINDOW\n");
        switch (mwi->dev_type)
        {
        case MCI_DEVTYPE_ANIMATION:
        case MCI_DEVTYPE_DIGITAL_VIDEO:
        case MCI_DEVTYPE_OVERLAY:
            return 1;
        }
        return 0;

    case MCIWNDM_CAN_CONFIG:
        TRACE("MCIWNDM_CAN_CONFIG\n");
        if (mwi->hdrv)
            return SendDriverMessage(mwi->hdrv, DRV_QUERYCONFIGURE, 0, 0);
        return 0;

    case MCIWNDM_SETZOOM:
        TRACE("MCIWNDM_SETZOOM %ld\n", lParam);
        mwi->zoom = lParam;

        if (mwi->mci && !(mwi->dwStyle & MCIWNDF_NOAUTOSIZEWINDOW))
        {
            RECT rc;

            rc.left = rc.top = 0;
            rc.right = MulDiv(mwi->size.cx, mwi->zoom, 100);
            rc.bottom = MulDiv(mwi->size.cy, mwi->zoom, 100);

            if (!(mwi->dwStyle & MCIWNDF_NOPLAYBAR))
                rc.bottom += 32; /* add the height of the playbar */
            AdjustWindowRect(&rc, GetWindowLongW(hWnd, GWL_STYLE), FALSE);
            SetWindowPos(hWnd, 0, 0, 0, rc.right - rc.left, rc.bottom - rc.top,
                         SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
        }
        return 0;

    case MCIWNDM_GETZOOM:
        TRACE("MCIWNDM_GETZOOM: %d\n", mwi->zoom);
        return mwi->zoom;

    case MCIWNDM_EJECT:
        {
            MCI_SET_PARMS mci_set;

            TRACE("MCIWNDM_EJECT\n");

            mci_set.dwCallback = (DWORD_PTR)hWnd;
            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_SET,
                                             MCI_SET_DOOR_OPEN | MCI_NOTIFY,
                                             (DWORD_PTR)&mci_set);
            MCIWND_notify_mode(mwi);
            MCIWND_UpdateState(mwi);
            return mwi->lasterror;
        }

    case MCIWNDM_SETVOLUME:
    case MCIWNDM_GETVOLUME:
    case MCIWNDM_SETSPEED:
    case MCIWNDM_GETSPEED:
    case MCIWNDM_SETREPEAT:
    case MCIWNDM_GETREPEAT:
    case MCIWNDM_REALIZE:
    case MCIWNDM_GETPALETTE:
    case MCIWNDM_SETPALETTE:
    case MCIWNDM_NEWA:
    case MCIWNDM_NEWW:
    case MCIWNDM_PALETTEKICK:
    case MCIWNDM_OPENINTERFACE:
        FIXME("support for MCIWNDM_ message WM_USER+%d not implemented\n", wMsg - WM_USER);
        return 0;

    case MCI_PLAY:
        {
            LRESULT end = SendMessageW(hWnd, MCIWNDM_GETEND, 0, 0);
            return SendMessageW(hWnd, MCIWNDM_PLAYTO, 0, end);
        }

    case MCI_SEEK:
        {
            MCI_SEEK_PARMS mci_seek;

            switch (lParam)
            {
            case MCIWND_START:
                lParam = SendMessageW(hWnd, MCIWNDM_GETSTART, 0, 0);
                break;

            case MCIWND_END:
                lParam = SendMessageW(hWnd, MCIWNDM_GETEND, 0, 0);
                break;
            }

            mci_seek.dwTo = lParam;
            mwi->lasterror = mciSendCommandW(mwi->mci, MCI_SEEK,
                                             MCI_TO, (DWORD_PTR)&mci_seek);
            if (mwi->lasterror)
            {
                MCIWND_notify_error(mwi);
                return mwi->lasterror;
            }
            /* update window to reflect the state */
            InvalidateRect(hWnd, NULL, TRUE);
            return 0;
        }

    case MCI_CLOSE:
        {
            RECT rc;
            MCI_GENERIC_PARMS mci_generic;

            if (mwi->hdrv)
            {
                CloseDriver(mwi->hdrv, 0, 0);
                mwi->hdrv = 0;
            }

            if (mwi->mci)
            {
                mci_generic.dwCallback = 0;
                mwi->lasterror = mciSendCommandW(mwi->mci, MCI_CLOSE,
                                                 0, (DWORD_PTR)&mci_generic);
                mwi->mci = 0;
            }

            mwi->mode = MCI_MODE_NOT_READY;
            mwi->position = -1;

            if (mwi->lpName)
            {
                HeapFree(GetProcessHeap(), 0, mwi->lpName);
                mwi->lpName = NULL;
            }
            MCIWND_UpdateState(mwi);

            GetClientRect(hWnd, &rc);
            rc.bottom = rc.top;
            if (!(mwi->dwStyle & MCIWNDF_NOPLAYBAR))
                rc.bottom += 32; /* add the height of the playbar */
            AdjustWindowRect(&rc, GetWindowLongW(hWnd, GWL_STYLE), FALSE);
            SetWindowPos(hWnd, 0, 0, 0, rc.right - rc.left,
                         rc.bottom - rc.top, SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);

            MCIWND_notify_media(mwi);
            return 0;
        }

    case MCI_PAUSE:
    case MCI_STEP:
    case MCI_STOP:
    case MCI_RESUME:
        mci_generic_command(mwi, wMsg);
        if (wMsg == MCI_STEP && !mwi->lasterror)
        {
            /* update window to reflect the state */
            InvalidateRect(hWnd, NULL, TRUE);
        }
        return mwi->lasterror;

    case MCI_CONFIGURE:
        if (mwi->hdrv)
            SendDriverMessage(mwi->hdrv, DRV_CONFIGURE, (LPARAM)hWnd, 0);
        return 0;

    case MCI_BREAK:
    case MCI_CAPTURE:
    case MCI_COPY:
    case MCI_CUE:
    case MCI_CUT:
    case MCI_DELETE:
    case MCI_ESCAPE:
    case MCI_FREEZE:
    case MCI_GETDEVCAPS:
    /*case MCI_INDEX:*/
    case MCI_INFO:
    case MCI_LIST:
    case MCI_LOAD:
    /*case MCI_MARK:*/
    case MCI_MONITOR:
    case MCI_OPEN:
    case MCI_PASTE:
    case MCI_PUT:
    case MCI_QUALITY:
    case MCI_REALIZE:
    case MCI_RECORD:
    case MCI_RESERVE:
    case MCI_RESTORE:
    case MCI_SAVE:
    case MCI_SET:
    case MCI_SETAUDIO:
    /*case MCI_SETTIMECODE:*/
    /*case MCI_SETTUNER:*/
    case MCI_SETVIDEO:
    case MCI_SIGNAL:
    case MCI_SPIN:
    case MCI_STATUS:
    case MCI_SYSINFO:
    case MCI_UNDO:
    case MCI_UNFREEZE:
    case MCI_UPDATE:
    case MCI_WHERE:
    case MCI_WINDOW:
        FIXME("support for MCI_ command %04x not implemented\n", wMsg);
        return 0;
    }

    if (wMsg >= WM_USER)
    {
        FIXME("support for MCIWNDM_ message WM_USER+%d not implemented\n", wMsg - WM_USER);
        return 0;
    }

    if (GetWindowLongW(hWnd, GWL_EXSTYLE) & WS_EX_MDICHILD)
        return DefMDIChildProcW(hWnd, wMsg, wParam, lParam);

    return DefWindowProcW(hWnd, wMsg, wParam, lParam);
777c1802:	89 c2                	mov    %eax,%edx
}
777c1804:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c1807:	89 d0                	mov    %edx,%eax
777c1809:	5b                   	pop    %ebx
777c180a:	5e                   	pop    %esi
777c180b:	5f                   	pop    %edi
777c180c:	5d                   	pop    %ebp
777c180d:	c2 10 00             	ret    $0x10
777c1810:	8b 75 14             	mov    0x14(%ebp),%esi
777c1813:	56                   	push   %esi
777c1814:	53                   	push   %ebx
777c1815:	57                   	push   %edi
777c1816:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c1819:	51                   	push   %ecx
777c181a:	e8 81 3e 00 00       	call   777c56a0 <_DefWindowProcW@16>
777c181f:	eb e1                	jmp    777c1802 <_MCIWndProc@16+0x1b2>
777c1821:	81 ff 06 08 00 00    	cmp    $0x806,%edi
777c1827:	0f 84 5b 04 00 00    	je     777c1c88 <_MCIWndProc@16+0x638>
777c182d:	0f 87 85 00 00 00    	ja     777c18b8 <_MCIWndProc@16+0x268>
777c1833:	81 ff ce 04 00 00    	cmp    $0x4ce,%edi
777c1839:	0f 84 71 04 00 00    	je     777c1cb0 <_MCIWndProc@16+0x660>
777c183f:	0f 86 7c 02 00 00    	jbe    777c1ac1 <_MCIWndProc@16+0x471>
777c1845:	81 ff ea 04 00 00    	cmp    $0x4ea,%edi
777c184b:	0f 84 7b 03 00 00    	je     777c1bcc <_MCIWndProc@16+0x57c>
777c1851:	0f 87 09 07 00 00    	ja     777c1f60 <_MCIWndProc@16+0x910>
777c1857:	81 ff e0 04 00 00    	cmp    $0x4e0,%edi
777c185d:	0f 84 4c 0e 00 00    	je     777c26af <_MCIWndProc@16+0x105f>
777c1863:	0f 87 87 0d 00 00    	ja     777c25f0 <_MCIWndProc@16+0xfa0>
777c1869:	81 ff db 04 00 00    	cmp    $0x4db,%edi
777c186f:	0f 84 5d 0c 00 00    	je     777c24d2 <_MCIWndProc@16+0xe82>
777c1875:	81 ff dc 04 00 00    	cmp    $0x4dc,%edi
777c187b:	0f 84 cf 00 00 00    	je     777c1950 <_MCIWndProc@16+0x300>
777c1881:	81 ff ff 03 00 00    	cmp    $0x3ff,%edi
777c1887:	0f 87 9f 05 00 00    	ja     777c1e2c <_MCIWndProc@16+0x7dc>
777c188d:	50                   	push   %eax
777c188e:	50                   	push   %eax
777c188f:	6a ec                	push   $0xffffffec
777c1891:	8b 75 08             	mov    0x8(%ebp),%esi
777c1894:	56                   	push   %esi
777c1895:	e8 d6 3d 00 00       	call   777c5670 <_GetWindowLongW@8>
777c189a:	5a                   	pop    %edx
777c189b:	a8 40                	test   $0x40,%al
777c189d:	59                   	pop    %ecx
777c189e:	0f 84 6c ff ff ff    	je     777c1810 <_MCIWndProc@16+0x1c0>
777c18a4:	8b 45 14             	mov    0x14(%ebp),%eax
777c18a7:	50                   	push   %eax
777c18a8:	53                   	push   %ebx
777c18a9:	57                   	push   %edi
777c18aa:	8b 7d 08             	mov    0x8(%ebp),%edi
777c18ad:	57                   	push   %edi
777c18ae:	e8 fd 3d 00 00       	call   777c56b0 <_DefMDIChildProcW@16>
777c18b3:	e9 4a ff ff ff       	jmp    777c1802 <_MCIWndProc@16+0x1b2>
777c18b8:	81 ff 45 08 00 00    	cmp    $0x845,%edi
777c18be:	0f 87 c8 01 00 00    	ja     777c1a8c <_MCIWndProc@16+0x43c>
777c18c4:	81 ff 40 08 00 00    	cmp    $0x840,%edi
777c18ca:	0f 83 4d 03 00 00    	jae    777c1c1d <_MCIWndProc@16+0x5cd>
777c18d0:	81 ff 0e 08 00 00    	cmp    $0x80e,%edi
777c18d6:	0f 84 97 05 00 00    	je     777c1e73 <_MCIWndProc@16+0x823>
777c18dc:	0f 87 d6 09 00 00    	ja     777c22b8 <_MCIWndProc@16+0xc68>
777c18e2:	81 ff 09 08 00 00    	cmp    $0x809,%edi
777c18e8:	0f 87 2f 03 00 00    	ja     777c1c1d <_MCIWndProc@16+0x5cd>
777c18ee:	81 ff 08 08 00 00    	cmp    $0x808,%edi
777c18f4:	0f 83 79 05 00 00    	jae    777c1e73 <_MCIWndProc@16+0x823>
777c18fa:	83 7d 14 fe          	cmpl   $0xfffffffe,0x14(%ebp)
777c18fe:	0f 84 64 18 00 00    	je     777c3168 <_MCIWndProc@16+0x1b18>
777c1904:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
777c1908:	0f 84 40 18 00 00    	je     777c314e <_MCIWndProc@16+0x1afe>
777c190e:	8b 55 14             	mov    0x14(%ebp),%edx
777c1911:	8d 85 40 f8 ff ff    	lea    0xfffff840(%ebp),%eax
777c1917:	89 95 44 f8 ff ff    	mov    %edx,0xfffff844(%ebp)
777c191d:	50                   	push   %eax
777c191e:	6a 08                	push   $0x8
777c1920:	68 07 08 00 00       	push   $0x807
777c1925:	8b 4e 04             	mov    0x4(%esi),%ecx
777c1928:	51                   	push   %ecx
777c1929:	e8 22 3c 00 00       	call   777c5550 <_mciSendCommandW@16>
777c192e:	85 c0                	test   %eax,%eax
777c1930:	89 46 38             	mov    %eax,0x38(%esi)
777c1933:	0f 84 3a 14 00 00    	je     777c2d73 <_MCIWndProc@16+0x1723>
777c1939:	f6 46 01 10          	testb  $0x10,0x1(%esi)
777c193d:	0f 85 2a 03 00 00    	jne    777c1c6d <_MCIWndProc@16+0x61d>
777c1943:	8b 56 38             	mov    0x38(%esi),%edx
777c1946:	e9 b9 fe ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c194b:	90                   	nop    
777c194c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c1950:	8b 4d 14             	mov    0x14(%ebp),%ecx
777c1953:	85 db                	test   %ebx,%ebx
777c1955:	0f 95 c2             	setne  %dl
777c1958:	85 c9                	test   %ecx,%ecx
777c195a:	0f 95 c0             	setne  %al
777c195d:	25 ff 00 00 00       	and    $0xff,%eax
777c1962:	85 c2                	test   %eax,%edx
777c1964:	74 3f                	je     777c19a5 <_MCIWndProc@16+0x355>
777c1966:	81 ff 78 04 00 00    	cmp    $0x478,%edi
777c196c:	0f 84 d3 02 00 00    	je     777c1c45 <_MCIWndProc@16+0x5f5>
777c1972:	50                   	push   %eax
777c1973:	8b 46 0c             	mov    0xc(%esi),%eax
777c1976:	8d bd 28 f9 ff ff    	lea    0xfffff928(%ebp),%edi
777c197c:	50                   	push   %eax
777c197d:	68 20 81 7c 77       	push   $0x777c8120
777c1982:	57                   	push   %edi
777c1983:	e8 18 3e 00 00       	call   777c57a0 <_wsprintfW>
777c1988:	6a 00                	push   $0x0
777c198a:	53                   	push   %ebx
777c198b:	8b 45 14             	mov    0x14(%ebp),%eax
777c198e:	50                   	push   %eax
777c198f:	57                   	push   %edi
777c1990:	e8 cb 3b 00 00       	call   777c5560 <_mciSendStringW@16>
777c1995:	83 c4 10             	add    $0x10,%esp
777c1998:	31 d2                	xor    %edx,%edx
777c199a:	89 46 38             	mov    %eax,0x38(%esi)
777c199d:	85 c0                	test   %eax,%eax
777c199f:	0f 85 5f fe ff ff    	jne    777c1804 <_MCIWndProc@16+0x1b4>
777c19a5:	8d 85 98 f8 ff ff    	lea    0xfffff898(%ebp),%eax
777c19ab:	c7 85 a0 f8 ff ff 06 	movl   $0x6,0xfffff8a0(%ebp)
777c19b2:	00 00 00 
777c19b5:	50                   	push   %eax
777c19b6:	68 00 01 00 00       	push   $0x100
777c19bb:	68 14 08 00 00       	push   $0x814
777c19c0:	8b 7e 04             	mov    0x4(%esi),%edi
777c19c3:	57                   	push   %edi
777c19c4:	e8 87 3b 00 00       	call   777c5550 <_mciSendCommandW@16>
777c19c9:	31 d2                	xor    %edx,%edx
777c19cb:	85 c0                	test   %eax,%eax
777c19cd:	89 46 38             	mov    %eax,0x38(%esi)
777c19d0:	0f 85 2e fe ff ff    	jne    777c1804 <_MCIWndProc@16+0x1b4>
777c19d6:	8b 95 9c f8 ff ff    	mov    0xfffff89c(%ebp),%edx
777c19dc:	e9 23 fe ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c19e1:	81 ff 84 04 00 00    	cmp    $0x484,%edi
777c19e7:	0f 84 2b 04 00 00    	je     777c1e18 <_MCIWndProc@16+0x7c8>
777c19ed:	0f 87 9d 01 00 00    	ja     777c1b90 <_MCIWndProc@16+0x540>
777c19f3:	81 ff 7f 04 00 00    	cmp    $0x47f,%edi
777c19f9:	0f 87 3c 04 00 00    	ja     777c1e3b <_MCIWndProc@16+0x7eb>
777c19ff:	81 ff 7e 04 00 00    	cmp    $0x47e,%edi
777c1a05:	0f 83 c1 01 00 00    	jae    777c1bcc <_MCIWndProc@16+0x57c>
777c1a0b:	81 ff 7b 04 00 00    	cmp    $0x47b,%edi
777c1a11:	0f 84 9f 11 00 00    	je     777c2bb6 <_MCIWndProc@16+0x1566>
777c1a17:	0f 87 1a 0e 00 00    	ja     777c2837 <_MCIWndProc@16+0x11e7>
777c1a1d:	81 ff 79 04 00 00    	cmp    $0x479,%edi
777c1a23:	0f 84 4d 12 00 00    	je     777c2c76 <_MCIWndProc@16+0x1626>
777c1a29:	81 ff 7a 04 00 00    	cmp    $0x47a,%edi
777c1a2f:	0f 85 4c fe ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c1a35:	8b 45 08             	mov    0x8(%ebp),%eax
777c1a38:	8b 55 14             	mov    0x14(%ebp),%edx
777c1a3b:	89 85 08 f9 ff ff    	mov    %eax,0xfffff908(%ebp)
777c1a41:	8d 85 08 f9 ff ff    	lea    0xfffff908(%ebp),%eax
777c1a47:	89 95 0c f9 ff ff    	mov    %edx,0xfffff90c(%ebp)
777c1a4d:	50                   	push   %eax
777c1a4e:	6a 05                	push   $0x5
777c1a50:	68 06 08 00 00       	push   $0x806
777c1a55:	8b 5e 04             	mov    0x4(%esi),%ebx
777c1a58:	53                   	push   %ebx
777c1a59:	e8 f2 3a 00 00       	call   777c5550 <_mciSendCommandW@16>
777c1a5e:	85 c0                	test   %eax,%eax
777c1a60:	89 46 38             	mov    %eax,0x38(%esi)
777c1a63:	0f 85 d0 fe ff ff    	jne    777c1939 <_MCIWndProc@16+0x2e9>
777c1a69:	f6 46 01 01          	testb  $0x1,0x1(%esi)
777c1a6d:	0f 85 34 10 00 00    	jne    777c2aa7 <_MCIWndProc@16+0x1457>
777c1a73:	89 f0                	mov    %esi,%eax
777c1a75:	e8 d6 f8 ff ff       	call   777c1350 <_MCIWND_UpdateState>
777c1a7a:	31 d2                	xor    %edx,%edx
777c1a7c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c1a80:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c1a83:	89 d0                	mov    %edx,%eax
777c1a85:	5b                   	pop    %ebx
777c1a86:	5e                   	pop    %esi
777c1a87:	5f                   	pop    %edi
777c1a88:	5d                   	pop    %ebp
777c1a89:	c2 10 00             	ret    $0x10
777c1a8c:	81 ff 73 08 00 00    	cmp    $0x873,%edi
777c1a92:	0f 87 67 01 00 00    	ja     777c1bff <_MCIWndProc@16+0x5af>
777c1a98:	81 ff 70 08 00 00    	cmp    $0x870,%edi
777c1a9e:	0f 83 79 01 00 00    	jae    777c1c1d <_MCIWndProc@16+0x5cd>
777c1aa4:	81 ff 55 08 00 00    	cmp    $0x855,%edi
777c1aaa:	0f 84 c3 03 00 00    	je     777c1e73 <_MCIWndProc@16+0x823>
777c1ab0:	0f 87 24 0b 00 00    	ja     777c25da <_MCIWndProc@16+0xf8a>
777c1ab6:	81 ff 50 08 00 00    	cmp    $0x850,%edi
777c1abc:	e9 56 01 00 00       	jmp    777c1c17 <_MCIWndProc@16+0x5c7>
777c1ac1:	81 ff 97 04 00 00    	cmp    $0x497,%edi
777c1ac7:	0f 87 8d 02 00 00    	ja     777c1d5a <_MCIWndProc@16+0x70a>
777c1acd:	81 ff 96 04 00 00    	cmp    $0x496,%edi
777c1ad3:	0f 83 f3 00 00 00    	jae    777c1bcc <_MCIWndProc@16+0x57c>
777c1ad9:	81 ff 93 04 00 00    	cmp    $0x493,%edi
777c1adf:	0f 84 7b 0e 00 00    	je     777c2960 <_MCIWndProc@16+0x1310>
777c1ae5:	0f 87 97 0d 00 00    	ja     777c2882 <_MCIWndProc@16+0x1232>
777c1aeb:	81 ff 91 04 00 00    	cmp    $0x491,%edi
777c1af1:	0f 84 df 11 00 00    	je     777c2cd6 <_MCIWndProc@16+0x1686>
777c1af7:	81 ff 92 04 00 00    	cmp    $0x492,%edi
777c1afd:	0f 85 7e fd ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c1b03:	8b 46 04             	mov    0x4(%esi),%eax
777c1b06:	31 d2                	xor    %edx,%edx
777c1b08:	85 c0                	test   %eax,%eax
777c1b0a:	0f 84 f4 fc ff ff    	je     777c1804 <_MCIWndProc@16+0x1b4>
777c1b10:	b2 01                	mov    $0x1,%dl
777c1b12:	e9 e4 fc ff ff       	jmp    777c17fb <_MCIWndProc@16+0x1ab>
777c1b17:	81 ff 6c 04 00 00    	cmp    $0x46c,%edi
777c1b1d:	0f 84 01 08 00 00    	je     777c2324 <_MCIWndProc@16+0xcd4>
777c1b23:	0f 87 5e 07 00 00    	ja     777c2287 <_MCIWndProc@16+0xc37>
777c1b29:	81 ff 69 04 00 00    	cmp    $0x469,%edi
777c1b2f:	0f 84 0a 0f 00 00    	je     777c2a3f <_MCIWndProc@16+0x13ef>
777c1b35:	0f 87 31 0a 00 00    	ja     777c256c <_MCIWndProc@16+0xf1c>
777c1b3b:	81 ff 67 04 00 00    	cmp    $0x467,%edi
777c1b41:	0f 84 a6 12 00 00    	je     777c2ded <_MCIWndProc@16+0x179d>
777c1b47:	81 ff 68 04 00 00    	cmp    $0x468,%edi
777c1b4d:	0f 85 2e fd ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c1b53:	8d 85 08 fa ff ff    	lea    0xfffffa08(%ebp),%eax
777c1b59:	c7 85 10 fa ff ff 01 	movl   $0x1,0xfffffa10(%ebp)
777c1b60:	00 00 00 
777c1b63:	50                   	push   %eax
777c1b64:	68 00 01 00 00       	push   $0x100
777c1b69:	68 14 08 00 00       	push   $0x814
777c1b6e:	8b 56 04             	mov    0x4(%esi),%edx
777c1b71:	52                   	push   %edx
777c1b72:	e8 d9 39 00 00       	call   777c5550 <_mciSendCommandW@16>
777c1b77:	85 c0                	test   %eax,%eax
777c1b79:	89 46 38             	mov    %eax,0x38(%esi)
777c1b7c:	0f 85 4e 12 00 00    	jne    777c2dd0 <_MCIWndProc@16+0x1780>
777c1b82:	8b 95 0c fa ff ff    	mov    0xfffffa0c(%ebp),%edx
777c1b88:	e9 77 fc ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c1b8d:	8d 76 00             	lea    0x0(%esi),%esi
777c1b90:	81 ff 8a 04 00 00    	cmp    $0x48a,%edi
777c1b96:	0f 84 90 09 00 00    	je     777c252c <_MCIWndProc@16+0xedc>
777c1b9c:	0f 87 3e 03 00 00    	ja     777c1ee0 <_MCIWndProc@16+0x890>
777c1ba2:	81 ff 87 04 00 00    	cmp    $0x487,%edi
777c1ba8:	0f 84 e8 0a 00 00    	je     777c2696 <_MCIWndProc@16+0x1046>
777c1bae:	0f 87 98 09 00 00    	ja     777c254c <_MCIWndProc@16+0xefc>
777c1bb4:	81 ff 85 04 00 00    	cmp    $0x485,%edi
777c1bba:	0f 84 1d 0f 00 00    	je     777c2add <_MCIWndProc@16+0x148d>
777c1bc0:	81 ff 86 04 00 00    	cmp    $0x486,%edi
777c1bc6:	0f 85 b5 fc ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c1bcc:	68 40 80 7c 77       	push   $0x777c8040
777c1bd1:	68 f8 04 00 00       	push   $0x4f8
777c1bd6:	68 88 81 7c 77       	push   $0x777c8188
777c1bdb:	68 91 81 7c 77       	push   $0x777c8191
777c1be0:	e8 8b 3e 00 00       	call   777c5a70 <_DbgPrint>
777c1be5:	58                   	pop    %eax
777c1be6:	8d 87 00 fc ff ff    	lea    0xfffffc00(%edi),%eax
777c1bec:	5a                   	pop    %edx
777c1bed:	50                   	push   %eax
777c1bee:	68 a0 81 7c 77       	push   $0x777c81a0
777c1bf3:	e8 78 3e 00 00       	call   777c5a70 <_DbgPrint>
777c1bf8:	31 d2                	xor    %edx,%edx
777c1bfa:	e9 81 fe ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c1bff:	81 ff 7a 08 00 00    	cmp    $0x87a,%edi
777c1c05:	0f 84 dd 07 00 00    	je     777c23e8 <_MCIWndProc@16+0xd98>
777c1c0b:	0f 87 96 06 00 00    	ja     777c22a7 <_MCIWndProc@16+0xc57>
777c1c11:	81 ff 75 08 00 00    	cmp    $0x875,%edi
777c1c17:	0f 82 64 fc ff ff    	jb     777c1881 <_MCIWndProc@16+0x231>
777c1c1d:	68 40 80 7c 77       	push   $0x777c8040
777c1c22:	68 7d 05 00 00       	push   $0x57d
777c1c27:	68 88 81 7c 77       	push   $0x777c8188
777c1c2c:	68 91 81 7c 77       	push   $0x777c8191
777c1c31:	e8 3a 3e 00 00       	call   777c5a70 <_DbgPrint>
777c1c36:	59                   	pop    %ecx
777c1c37:	5b                   	pop    %ebx
777c1c38:	57                   	push   %edi
777c1c39:	68 dc 81 7c 77       	push   $0x777c81dc
777c1c3e:	e8 2d 3e 00 00       	call   777c5a70 <_DbgPrint>
777c1c43:	eb b3                	jmp    777c1bf8 <_MCIWndProc@16+0x5a8>
777c1c45:	50                   	push   %eax
777c1c46:	8b 46 0c             	mov    0xc(%esi),%eax
777c1c49:	8d bd a8 f9 ff ff    	lea    0xfffff9a8(%ebp),%edi
777c1c4f:	50                   	push   %eax
777c1c50:	68 0b 82 7c 77       	push   $0x777c820b
777c1c55:	57                   	push   %edi
777c1c56:	e8 35 3b 00 00       	call   777c5790 <_wsprintfA>
777c1c5b:	6a 00                	push   $0x0
777c1c5d:	53                   	push   %ebx
777c1c5e:	8b 45 14             	mov    0x14(%ebp),%eax
777c1c61:	50                   	push   %eax
777c1c62:	57                   	push   %edi
777c1c63:	e8 08 39 00 00       	call   777c5570 <_mciSendStringA@16>
777c1c68:	e9 28 fd ff ff       	jmp    777c1995 <_MCIWndProc@16+0x345>
777c1c6d:	50                   	push   %eax
777c1c6e:	8b 56 2c             	mov    0x2c(%esi),%edx
777c1c71:	52                   	push   %edx
777c1c72:	68 cd 04 00 00       	push   $0x4cd
777c1c77:	8b 46 30             	mov    0x30(%esi),%eax
777c1c7a:	50                   	push   %eax
777c1c7b:	e8 d0 39 00 00       	call   777c5650 <_SendMessageW@16>
777c1c80:	8b 56 38             	mov    0x38(%esi),%edx
777c1c83:	e9 7c fb ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c1c88:	6a 00                	push   $0x0
777c1c8a:	6a 00                	push   $0x0
777c1c8c:	68 69 04 00 00       	push   $0x469
777c1c91:	8b 7d 08             	mov    0x8(%ebp),%edi
777c1c94:	57                   	push   %edi
777c1c95:	e8 b6 39 00 00       	call   777c5650 <_SendMessageW@16>
777c1c9a:	50                   	push   %eax
777c1c9b:	6a 00                	push   $0x0
777c1c9d:	68 7b 04 00 00       	push   $0x47b
777c1ca2:	8b 75 08             	mov    0x8(%ebp),%esi
777c1ca5:	56                   	push   %esi
777c1ca6:	e8 a5 39 00 00       	call   777c5650 <_SendMessageW@16>
777c1cab:	e9 52 fb ff ff       	jmp    777c1802 <_MCIWndProc@16+0x1b2>
777c1cb0:	8b 46 04             	mov    0x4(%esi),%eax
777c1cb3:	ba 0c 02 00 00       	mov    $0x20c,%edx
777c1cb8:	85 c0                	test   %eax,%eax
777c1cba:	0f 84 44 fb ff ff    	je     777c1804 <_MCIWndProc@16+0x1b4>
777c1cc0:	8b 4d 14             	mov    0x14(%ebp),%ecx
777c1cc3:	85 db                	test   %ebx,%ebx
777c1cc5:	0f 95 c2             	setne  %dl
777c1cc8:	85 c9                	test   %ecx,%ecx
777c1cca:	0f 95 c0             	setne  %al
777c1ccd:	25 ff 00 00 00       	and    $0xff,%eax
777c1cd2:	85 c2                	test   %eax,%edx
777c1cd4:	74 45                	je     777c1d1b <_MCIWndProc@16+0x6cb>
777c1cd6:	81 ff 6a 04 00 00    	cmp    $0x46a,%edi
777c1cdc:	0f 84 29 07 00 00    	je     777c240b <_MCIWndProc@16+0xdbb>
777c1ce2:	50                   	push   %eax
777c1ce3:	8b 46 0c             	mov    0xc(%esi),%eax
777c1ce6:	8d bd 28 f9 ff ff    	lea    0xfffff928(%ebp),%edi
777c1cec:	50                   	push   %eax
777c1ced:	68 e6 80 7c 77       	push   $0x777c80e6
777c1cf2:	57                   	push   %edi
777c1cf3:	e8 a8 3a 00 00       	call   777c57a0 <_wsprintfW>
777c1cf8:	6a 00                	push   $0x0
777c1cfa:	53                   	push   %ebx
777c1cfb:	8b 45 14             	mov    0x14(%ebp),%eax
777c1cfe:	50                   	push   %eax
777c1cff:	57                   	push   %edi
777c1d00:	e8 5b 38 00 00       	call   777c5560 <_mciSendStringW@16>
777c1d05:	89 46 38             	mov    %eax,0x38(%esi)
777c1d08:	83 c4 10             	add    $0x10,%esp
777c1d0b:	8b 46 38             	mov    0x38(%esi),%eax
777c1d0e:	ba 0c 02 00 00       	mov    $0x20c,%edx
777c1d13:	85 c0                	test   %eax,%eax
777c1d15:	0f 85 e9 fa ff ff    	jne    777c1804 <_MCIWndProc@16+0x1b4>
777c1d1b:	8d 85 18 f9 ff ff    	lea    0xfffff918(%ebp),%eax
777c1d21:	c7 85 20 f9 ff ff 04 	movl   $0x4,0xfffff920(%ebp)
777c1d28:	00 00 00 
777c1d2b:	50                   	push   %eax
777c1d2c:	68 00 01 00 00       	push   $0x100
777c1d31:	68 14 08 00 00       	push   $0x814
777c1d36:	8b 7e 04             	mov    0x4(%esi),%edi
777c1d39:	57                   	push   %edi
777c1d3a:	e8 11 38 00 00       	call   777c5550 <_mciSendCommandW@16>
777c1d3f:	ba 0c 02 00 00       	mov    $0x20c,%edx
777c1d44:	85 c0                	test   %eax,%eax
777c1d46:	89 46 38             	mov    %eax,0x38(%esi)
777c1d49:	0f 85 b5 fa ff ff    	jne    777c1804 <_MCIWndProc@16+0x1b4>
777c1d4f:	8b 95 1c f9 ff ff    	mov    0xfffff91c(%ebp),%edx
777c1d55:	e9 aa fa ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c1d5a:	81 ff 99 04 00 00    	cmp    $0x499,%edi
777c1d60:	0f 84 d8 0b 00 00    	je     777c293e <_MCIWndProc@16+0x12ee>
777c1d66:	0f 82 72 06 00 00    	jb     777c23de <_MCIWndProc@16+0xd8e>
777c1d6c:	81 ff c9 04 00 00    	cmp    $0x4c9,%edi
777c1d72:	0f 84 90 09 00 00    	je     777c2708 <_MCIWndProc@16+0x10b8>
777c1d78:	81 ff ca 04 00 00    	cmp    $0x4ca,%edi
777c1d7e:	0f 85 fd fa ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c1d84:	8b 45 14             	mov    0x14(%ebp),%eax
777c1d87:	85 db                	test   %ebx,%ebx
777c1d89:	0f 95 c2             	setne  %dl
777c1d8c:	85 c0                	test   %eax,%eax
777c1d8e:	0f 95 c0             	setne  %al
777c1d91:	25 ff 00 00 00       	and    $0xff,%eax
777c1d96:	85 c2                	test   %eax,%edx
777c1d98:	74 42                	je     777c1ddc <_MCIWndProc@16+0x78c>
777c1d9a:	81 ff 66 04 00 00    	cmp    $0x466,%edi
777c1da0:	0f 84 5e 07 00 00    	je     777c2504 <_MCIWndProc@16+0xeb4>
777c1da6:	50                   	push   %eax
777c1da7:	8b 46 0c             	mov    0xc(%esi),%eax
777c1daa:	8d bd 28 f9 ff ff    	lea    0xfffff928(%ebp),%edi
777c1db0:	50                   	push   %eax
777c1db1:	68 c0 80 7c 77       	push   $0x777c80c0
777c1db6:	57                   	push   %edi
777c1db7:	e8 e4 39 00 00       	call   777c57a0 <_wsprintfW>
777c1dbc:	6a 00                	push   $0x0
777c1dbe:	53                   	push   %ebx
777c1dbf:	8b 45 14             	mov    0x14(%ebp),%eax
777c1dc2:	50                   	push   %eax
777c1dc3:	57                   	push   %edi
777c1dc4:	e8 97 37 00 00       	call   777c5560 <_mciSendStringW@16>
777c1dc9:	89 46 38             	mov    %eax,0x38(%esi)
777c1dcc:	83 c4 10             	add    $0x10,%esp
777c1dcf:	8b 46 38             	mov    0x38(%esi),%eax
777c1dd2:	31 d2                	xor    %edx,%edx
777c1dd4:	85 c0                	test   %eax,%eax
777c1dd6:	0f 85 28 fa ff ff    	jne    777c1804 <_MCIWndProc@16+0x1b4>
777c1ddc:	8d 85 e8 f9 ff ff    	lea    0xfffff9e8(%ebp),%eax
777c1de2:	c7 85 f0 f9 ff ff 02 	movl   $0x2,0xfffff9f0(%ebp)
777c1de9:	00 00 00 
777c1dec:	50                   	push   %eax
777c1ded:	68 00 01 00 00       	push   $0x100
777c1df2:	68 14 08 00 00       	push   $0x814
777c1df7:	8b 46 04             	mov    0x4(%esi),%eax
777c1dfa:	50                   	push   %eax
777c1dfb:	e8 50 37 00 00       	call   777c5550 <_mciSendCommandW@16>
777c1e00:	31 d2                	xor    %edx,%edx
777c1e02:	85 c0                	test   %eax,%eax
777c1e04:	89 46 38             	mov    %eax,0x38(%esi)
777c1e07:	0f 85 f7 f9 ff ff    	jne    777c1804 <_MCIWndProc@16+0x1b4>
777c1e0d:	8b 95 ec f9 ff ff    	mov    0xfffff9ec(%ebp),%edx
777c1e13:	e9 ec f9 ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c1e18:	66 8b 86 3c 01 00 00 	mov    0x13c(%esi),%ax
777c1e1f:	89 c2                	mov    %eax,%edx
777c1e21:	81 e2 ff ff 00 00    	and    $0xffff,%edx
777c1e27:	e9 d8 f9 ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c1e2c:	68 40 80 7c 77       	push   $0x777c8040
777c1e31:	68 83 05 00 00       	push   $0x583
777c1e36:	e9 9b fd ff ff       	jmp    777c1bd6 <_MCIWndProc@16+0x586>
777c1e3b:	81 ff 81 04 00 00    	cmp    $0x481,%edi
777c1e41:	0f 84 d8 07 00 00    	je     777c261f <_MCIWndProc@16+0xfcf>
777c1e47:	0f 82 d3 09 00 00    	jb     777c2820 <_MCIWndProc@16+0x11d0>
777c1e4d:	81 ff 82 04 00 00    	cmp    $0x482,%edi
777c1e53:	0f 84 1b 0b 00 00    	je     777c2974 <_MCIWndProc@16+0x1324>
777c1e59:	81 ff 83 04 00 00    	cmp    $0x483,%edi
777c1e5f:	0f 85 1c fa ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c1e65:	31 d2                	xor    %edx,%edx
777c1e67:	66 89 9e 3e 01 00 00 	mov    %bx,0x13e(%esi)
777c1e6e:	e9 0d fc ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c1e73:	8d 85 38 f8 ff ff    	lea    0xfffff838(%ebp),%eax
777c1e79:	c7 85 38 f8 ff ff 00 	movl   $0x0,0xfffff838(%ebp)
777c1e80:	00 00 00 
777c1e83:	50                   	push   %eax
777c1e84:	6a 00                	push   $0x0
777c1e86:	57                   	push   %edi
777c1e87:	8b 4e 04             	mov    0x4(%esi),%ecx
777c1e8a:	51                   	push   %ecx
777c1e8b:	e8 c0 36 00 00       	call   777c5550 <_mciSendCommandW@16>
777c1e90:	85 c0                	test   %eax,%eax
777c1e92:	89 46 38             	mov    %eax,0x38(%esi)
777c1e95:	75 11                	jne    777c1ea8 <_MCIWndProc@16+0x858>
777c1e97:	f6 46 01 01          	testb  $0x1,0x1(%esi)
777c1e9b:	0f 85 e1 0a 00 00    	jne    777c2982 <_MCIWndProc@16+0x1332>
777c1ea1:	89 f0                	mov    %esi,%eax
777c1ea3:	e8 a8 f4 ff ff       	call   777c1350 <_MCIWND_UpdateState>
777c1ea8:	81 ff 0e 08 00 00    	cmp    $0x80e,%edi
777c1eae:	74 08                	je     777c1eb8 <_MCIWndProc@16+0x868>
777c1eb0:	8b 46 38             	mov    0x38(%esi),%eax
777c1eb3:	e9 4a f9 ff ff       	jmp    777c1802 <_MCIWndProc@16+0x1b2>
777c1eb8:	8b 46 38             	mov    0x38(%esi),%eax
777c1ebb:	85 c0                	test   %eax,%eax
777c1ebd:	0f 85 3f f9 ff ff    	jne    777c1802 <_MCIWndProc@16+0x1b2>
777c1ec3:	50                   	push   %eax
777c1ec4:	6a 01                	push   $0x1
777c1ec6:	6a 00                	push   $0x0
777c1ec8:	8b 45 08             	mov    0x8(%ebp),%eax
777c1ecb:	50                   	push   %eax
777c1ecc:	e8 ef 37 00 00       	call   777c56c0 <_InvalidateRect@12>
777c1ed1:	58                   	pop    %eax
777c1ed2:	8b 46 38             	mov    0x38(%esi),%eax
777c1ed5:	e9 28 f9 ff ff       	jmp    777c1802 <_MCIWndProc@16+0x1b2>
777c1eda:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c1ee0:	81 ff 8d 04 00 00    	cmp    $0x48d,%edi
777c1ee6:	0f 84 cc 0a 00 00    	je     777c29b8 <_MCIWndProc@16+0x1368>
777c1eec:	0f 87 41 05 00 00    	ja     777c2433 <_MCIWndProc@16+0xde3>
777c1ef2:	81 ff 8b 04 00 00    	cmp    $0x48b,%edi
777c1ef8:	0f 84 6f 0b 00 00    	je     777c2a6d <_MCIWndProc@16+0x141d>
777c1efe:	81 ff 8c 04 00 00    	cmp    $0x48c,%edi
777c1f04:	0f 85 77 f9 ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c1f0a:	8d 85 78 fa ff ff    	lea    0xfffffa78(%ebp),%eax
777c1f10:	50                   	push   %eax
777c1f11:	68 00 00 02 00       	push   $0x20000
777c1f16:	68 43 08 00 00       	push   $0x843
777c1f1b:	8b 7e 04             	mov    0x4(%esi),%edi
777c1f1e:	57                   	push   %edi
777c1f1f:	e8 2c 36 00 00       	call   777c5550 <_mciSendCommandW@16>
777c1f24:	85 c0                	test   %eax,%eax
777c1f26:	89 46 38             	mov    %eax,0x38(%esi)
777c1f29:	0f 85 0a fa ff ff    	jne    777c1939 <_MCIWndProc@16+0x2e9>
777c1f2f:	8b 55 14             	mov    0x14(%ebp),%edx
777c1f32:	8b 85 7c fa ff ff    	mov    0xfffffa7c(%ebp),%eax
777c1f38:	89 02                	mov    %eax,(%edx)
777c1f3a:	8b 85 80 fa ff ff    	mov    0xfffffa80(%ebp),%eax
777c1f40:	89 42 04             	mov    %eax,0x4(%edx)
777c1f43:	8b 85 84 fa ff ff    	mov    0xfffffa84(%ebp),%eax
777c1f49:	89 42 08             	mov    %eax,0x8(%edx)
777c1f4c:	8b 85 88 fa ff ff    	mov    0xfffffa88(%ebp),%eax
777c1f52:	89 42 0c             	mov    %eax,0xc(%edx)
777c1f55:	31 d2                	xor    %edx,%edx
777c1f57:	e9 24 fb ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c1f5c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c1f60:	81 ff 03 08 00 00    	cmp    $0x803,%edi
777c1f66:	0f 84 b1 fc ff ff    	je     777c1c1d <_MCIWndProc@16+0x5cd>
777c1f6c:	0f 87 51 06 00 00    	ja     777c25c3 <_MCIWndProc@16+0xf73>
777c1f72:	81 ff ee 04 00 00    	cmp    $0x4ee,%edi
777c1f78:	0f 84 3b 0e 00 00    	je     777c2db9 <_MCIWndProc@16+0x1769>
777c1f7e:	81 ff fc 04 00 00    	cmp    $0x4fc,%edi
777c1f84:	0f 85 f7 f8 ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c1f8a:	4b                   	dec    %ebx
777c1f8b:	0f 84 49 11 00 00    	je     777c30da <_MCIWndProc@16+0x1a8a>
777c1f91:	8b 46 34             	mov    0x34(%esi),%eax
777c1f94:	85 c0                	test   %eax,%eax
777c1f96:	0f 85 82 0c 00 00    	jne    777c2c1e <_MCIWndProc@16+0x15ce>
777c1f9c:	53                   	push   %ebx
777c1f9d:	53                   	push   %ebx
777c1f9e:	68 02 7f 00 00       	push   $0x7f02
777c1fa3:	6a 00                	push   $0x0
777c1fa5:	e8 66 36 00 00       	call   777c5610 <_LoadCursorW@8>
777c1faa:	51                   	push   %ecx
777c1fab:	50                   	push   %eax
777c1fac:	e8 1f 37 00 00       	call   777c56d0 <_SetCursor@4>
777c1fb1:	8b 4d 14             	mov    0x14(%ebp),%ecx
777c1fb4:	89 8d 54 ff ff ff    	mov    %ecx,0xffffff54(%ebp)
777c1fba:	89 85 28 f8 ff ff    	mov    %eax,0xfffff828(%ebp)
777c1fc0:	58                   	pop    %eax
777c1fc1:	8b 45 08             	mov    0x8(%ebp),%eax
777c1fc4:	40                   	inc    %eax
777c1fc5:	5a                   	pop    %edx
777c1fc6:	89 85 14 f8 ff ff    	mov    %eax,0xfffff814(%ebp)
777c1fcc:	8d 95 b8 fe ff ff    	lea    0xfffffeb8(%ebp),%edx
777c1fd2:	50                   	push   %eax
777c1fd3:	68 7e 80 7c 77       	push   $0x777c807e
777c1fd8:	52                   	push   %edx
777c1fd9:	e8 c2 37 00 00       	call   777c57a0 <_wsprintfW>
777c1fde:	8d 8d b8 fe ff ff    	lea    0xfffffeb8(%ebp),%ecx
777c1fe4:	8d 85 48 ff ff ff    	lea    0xffffff48(%ebp),%eax
777c1fea:	89 8d 58 ff ff ff    	mov    %ecx,0xffffff58(%ebp)
777c1ff0:	50                   	push   %eax
777c1ff1:	68 02 06 00 00       	push   $0x602
777c1ff6:	68 03 08 00 00       	push   $0x803
777c1ffb:	8b 5e 04             	mov    0x4(%esi),%ebx
777c1ffe:	53                   	push   %ebx
777c1fff:	e8 4c 35 00 00       	call   777c5550 <_mciSendCommandW@16>
777c2004:	8b 95 28 f8 ff ff    	mov    0xfffff828(%ebp),%edx
777c200a:	89 46 38             	mov    %eax,0x38(%esi)
777c200d:	59                   	pop    %ecx
777c200e:	52                   	push   %edx
777c200f:	e8 bc 36 00 00       	call   777c56d0 <_SetCursor@4>
777c2014:	8b 46 38             	mov    0x38(%esi),%eax
777c2017:	83 c4 0c             	add    $0xc,%esp
777c201a:	85 c0                	test   %eax,%eax
777c201c:	74 0a                	je     777c2028 <_MCIWndProc@16+0x9d8>
777c201e:	f6 46 01 40          	testb  $0x40,0x1(%esi)
777c2022:	0f 84 6e 10 00 00    	je     777c3096 <_MCIWndProc@16+0x1a46>
777c2028:	8b 8d 14 f8 ff ff    	mov    0xfffff814(%ebp),%ecx
777c202e:	8b 85 4c ff ff ff    	mov    0xffffff4c(%ebp),%eax
777c2034:	83 ec 0c             	sub    $0xc,%esp
777c2037:	89 4e 0c             	mov    %ecx,0xc(%esi)
777c203a:	89 46 04             	mov    %eax,0x4(%esi)
777c203d:	8b 45 14             	mov    0x14(%ebp),%eax
777c2040:	50                   	push   %eax
777c2041:	e8 1a 3a 00 00       	call   777c5a60 <_wcslen>
777c2046:	83 c4 0c             	add    $0xc,%esp
777c2049:	8d 44 00 02          	lea    0x2(%eax,%eax,1),%eax
777c204d:	50                   	push   %eax
777c204e:	6a 00                	push   $0x0
777c2050:	53                   	push   %ebx
777c2051:	e8 8a 38 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c2056:	89 04 24             	mov    %eax,(%esp)
777c2059:	e8 92 38 00 00       	call   777c58f0 <_HeapAlloc@12>
777c205e:	89 46 28             	mov    %eax,0x28(%esi)
777c2061:	51                   	push   %ecx
777c2062:	8b 55 14             	mov    0x14(%ebp),%edx
777c2065:	52                   	push   %edx
777c2066:	50                   	push   %eax
777c2067:	e8 24 3a 00 00       	call   777c5a90 <_wcscpy>
777c206c:	89 f0                	mov    %esi,%eax
777c206e:	e8 dd f2 ff ff       	call   777c1350 <_MCIWND_UpdateState>
777c2073:	8d 85 38 ff ff ff    	lea    0xffffff38(%ebp),%eax
777c2079:	c7 85 40 ff ff ff 04 	movl   $0x4,0xffffff40(%ebp)
777c2080:	00 00 00 
777c2083:	50                   	push   %eax
777c2084:	68 00 01 00 00       	push   $0x100
777c2089:	68 0b 08 00 00       	push   $0x80b
777c208e:	8b 46 04             	mov    0x4(%esi),%eax
777c2091:	50                   	push   %eax
777c2092:	e8 b9 34 00 00       	call   777c5550 <_mciSendCommandW@16>
777c2097:	83 c4 10             	add    $0x10,%esp
777c209a:	85 c0                	test   %eax,%eax
777c209c:	89 46 38             	mov    %eax,0x38(%esi)
777c209f:	0f 85 78 09 00 00    	jne    777c2a1d <_MCIWndProc@16+0x13cd>
777c20a5:	8b 85 3c ff ff ff    	mov    0xffffff3c(%ebp),%eax
777c20ab:	8d 9d a8 fc ff ff    	lea    0xfffffca8(%ebp),%ebx
777c20b1:	89 46 10             	mov    %eax,0x10(%esi)
777c20b4:	66 c7 85 a8 fc ff ff 	movw   $0x0,0xfffffca8(%ebp)
777c20bb:	00 00 
777c20bd:	53                   	push   %ebx
777c20be:	68 00 01 00 00       	push   $0x100
777c20c3:	68 e1 04 00 00       	push   $0x4e1
777c20c8:	8b 45 08             	mov    0x8(%ebp),%eax
777c20cb:	50                   	push   %eax
777c20cc:	e8 7f 35 00 00       	call   777c5650 <_SendMessageW@16>
777c20d1:	66 83 bd a8 fc ff ff 	cmpw   $0x0,0xfffffca8(%ebp)
777c20d8:	00 
777c20d9:	0f 85 fd 0e 00 00    	jne    777c2fdc <_MCIWndProc@16+0x198c>
777c20df:	81 7e 10 08 02 00 00 	cmpl   $0x208,0x10(%esi)
777c20e6:	0f 84 03 09 00 00    	je     777c29ef <_MCIWndProc@16+0x139f>
777c20ec:	8d 9d 68 ff ff ff    	lea    0xffffff68(%ebp),%ebx
777c20f2:	53                   	push   %ebx
777c20f3:	6a 00                	push   $0x0
777c20f5:	68 8e 04 00 00       	push   $0x48e
777c20fa:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c20fd:	51                   	push   %ecx
777c20fe:	e8 4d 35 00 00       	call   777c5650 <_SendMessageW@16>
777c2103:	85 c0                	test   %eax,%eax
777c2105:	0f 85 49 0c 00 00    	jne    777c2d54 <_MCIWndProc@16+0x1704>
777c210b:	8b 95 68 ff ff ff    	mov    0xffffff68(%ebp),%edx
777c2111:	8b 85 70 ff ff ff    	mov    0xffffff70(%ebp),%eax
777c2117:	29 d0                	sub    %edx,%eax
777c2119:	89 46 1c             	mov    %eax,0x1c(%esi)
777c211c:	8b 8d 6c ff ff ff    	mov    0xffffff6c(%ebp),%ecx
777c2122:	8b 85 74 ff ff ff    	mov    0xffffff74(%ebp),%eax
777c2128:	29 c8                	sub    %ecx,%eax
777c212a:	89 46 20             	mov    %eax,0x20(%esi)
777c212d:	52                   	push   %edx
777c212e:	6a 64                	push   $0x64
777c2130:	8b 46 24             	mov    0x24(%esi),%eax
777c2133:	50                   	push   %eax
777c2134:	8b 46 1c             	mov    0x1c(%esi),%eax
777c2137:	50                   	push   %eax
777c2138:	e8 d3 37 00 00       	call   777c5910 <_MulDiv@12>
777c213d:	89 85 70 ff ff ff    	mov    %eax,0xffffff70(%ebp)
777c2143:	6a 64                	push   $0x64
777c2145:	8b 46 24             	mov    0x24(%esi),%eax
777c2148:	50                   	push   %eax
777c2149:	8b 46 20             	mov    0x20(%esi),%eax
777c214c:	50                   	push   %eax
777c214d:	e8 be 37 00 00       	call   777c5910 <_MulDiv@12>
777c2152:	89 85 74 ff ff ff    	mov    %eax,0xffffff74(%ebp)
777c2158:	89 1c 24             	mov    %ebx,(%esp)
777c215b:	6a 00                	push   $0x0
777c215d:	68 8f 04 00 00       	push   $0x48f
777c2162:	8b 45 08             	mov    0x8(%ebp),%eax
777c2165:	50                   	push   %eax
777c2166:	e8 e5 34 00 00       	call   777c5650 <_SendMessageW@16>
777c216b:	f6 06 02             	testb  $0x2,(%esi)
777c216e:	75 0f                	jne    777c217f <_MCIWndProc@16+0xb2f>
777c2170:	8b 85 74 ff ff ff    	mov    0xffffff74(%ebp),%eax
777c2176:	83 c0 20             	add    $0x20,%eax
777c2179:	89 85 74 ff ff ff    	mov    %eax,0xffffff74(%ebp)
777c217f:	50                   	push   %eax
777c2180:	6a 00                	push   $0x0
777c2182:	6a f0                	push   $0xfffffff0
777c2184:	8b 45 08             	mov    0x8(%ebp),%eax
777c2187:	50                   	push   %eax
777c2188:	e8 e3 34 00 00       	call   777c5670 <_GetWindowLongW@8>
777c218d:	50                   	push   %eax
777c218e:	53                   	push   %ebx
777c218f:	e8 4c 35 00 00       	call   777c56e0 <_AdjustWindowRect@12>
777c2194:	6a 16                	push   $0x16
777c2196:	8b 8d 6c ff ff ff    	mov    0xffffff6c(%ebp),%ecx
777c219c:	8b 85 74 ff ff ff    	mov    0xffffff74(%ebp),%eax
777c21a2:	29 c8                	sub    %ecx,%eax
777c21a4:	50                   	push   %eax
777c21a5:	8b 95 68 ff ff ff    	mov    0xffffff68(%ebp),%edx
777c21ab:	8b 85 70 ff ff ff    	mov    0xffffff70(%ebp),%eax
777c21b1:	29 d0                	sub    %edx,%eax
777c21b3:	50                   	push   %eax
777c21b4:	6a 00                	push   $0x0
777c21b6:	6a 00                	push   $0x0
777c21b8:	6a 00                	push   $0x0
777c21ba:	8b 45 08             	mov    0x8(%ebp),%eax
777c21bd:	50                   	push   %eax
777c21be:	e8 2d 35 00 00       	call   777c56f0 <_SetWindowPos@28>
777c21c3:	50                   	push   %eax
777c21c4:	50                   	push   %eax
777c21c5:	6a 00                	push   $0x0
777c21c7:	6a 00                	push   $0x0
777c21c9:	68 07 04 00 00       	push   $0x407
777c21ce:	68 02 32 00 00       	push   $0x3202
777c21d3:	8b 5d 08             	mov    0x8(%ebp),%ebx
777c21d6:	53                   	push   %ebx
777c21d7:	e8 84 34 00 00       	call   777c5660 <_SendDlgItemMessageW@20>
777c21dc:	51                   	push   %ecx
777c21dd:	6a 00                	push   $0x0
777c21df:	6a 00                	push   $0x0
777c21e1:	68 68 04 00 00       	push   $0x468
777c21e6:	8b 55 08             	mov    0x8(%ebp),%edx
777c21e9:	52                   	push   %edx
777c21ea:	e8 61 34 00 00       	call   777c5650 <_SendMessageW@16>
777c21ef:	89 04 24             	mov    %eax,(%esp)
777c21f2:	6a 01                	push   $0x1
777c21f4:	68 08 04 00 00       	push   $0x408
777c21f9:	68 02 32 00 00       	push   $0x3202
777c21fe:	8b 45 08             	mov    0x8(%ebp),%eax
777c2201:	50                   	push   %eax
777c2202:	e8 59 34 00 00       	call   777c5660 <_SendDlgItemMessageW@20>
777c2207:	83 c4 0c             	add    $0xc,%esp
777c220a:	6a 00                	push   $0x0
777c220c:	66 8b 86 3c 01 00 00 	mov    0x13c(%esi),%ax
777c2213:	25 ff ff 00 00       	and    $0xffff,%eax
777c2218:	50                   	push   %eax
777c2219:	6a 01                	push   $0x1
777c221b:	8b 45 08             	mov    0x8(%ebp),%eax
777c221e:	50                   	push   %eax
777c221f:	e8 dc 34 00 00       	call   777c5700 <_SetTimer@16>
777c2224:	89 46 34             	mov    %eax,0x34(%esi)
777c2227:	89 f0                	mov    %esi,%eax
777c2229:	e8 22 f3 ff ff       	call   777c1550 <_MCIWND_notify_media>
777c222e:	81 ff 99 04 00 00    	cmp    $0x499,%edi
777c2234:	0f 85 09 f7 ff ff    	jne    777c1943 <_MCIWndProc@16+0x2f3>
777c223a:	50                   	push   %eax
777c223b:	8b 45 14             	mov    0x14(%ebp),%eax
777c223e:	50                   	push   %eax
777c223f:	6a 00                	push   $0x0
777c2241:	50                   	push   %eax
777c2242:	e8 99 36 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c2247:	89 04 24             	mov    %eax,(%esp)
777c224a:	e8 b1 36 00 00       	call   777c5900 <_HeapFree@12>
777c224f:	8b 56 38             	mov    0x38(%esi),%edx
777c2252:	58                   	pop    %eax
777c2253:	e9 ac f5 ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c2258:	81 ff b9 03 00 00    	cmp    $0x3b9,%edi
777c225e:	0f 84 05 f8 ff ff    	je     777c1a69 <_MCIWndProc@16+0x419>
777c2264:	0f 87 69 04 00 00    	ja     777c26d3 <_MCIWndProc@16+0x1083>
777c226a:	81 ff 11 01 00 00    	cmp    $0x111,%edi
777c2270:	0f 84 68 09 00 00    	je     777c2bde <_MCIWndProc@16+0x158e>
777c2276:	81 ff 13 01 00 00    	cmp    $0x113,%edi
777c227c:	0f 85 ff f5 ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c2282:	e9 ec f7 ff ff       	jmp    777c1a73 <_MCIWndProc@16+0x423>
777c2287:	81 ff 73 04 00 00    	cmp    $0x473,%edi
777c228d:	0f 87 0a 02 00 00    	ja     777c249d <_MCIWndProc@16+0xe4d>
777c2293:	81 ff 6e 04 00 00    	cmp    $0x46e,%edi
777c2299:	0f 83 2d f9 ff ff    	jae    777c1bcc <_MCIWndProc@16+0x57c>
777c229f:	8b 56 24             	mov    0x24(%esi),%edx
777c22a2:	e9 5d f5 ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c22a7:	81 ff 7b 08 00 00    	cmp    $0x87b,%edi
777c22ad:	0f 85 ce f5 ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c22b3:	e9 65 f9 ff ff       	jmp    777c1c1d <_MCIWndProc@16+0x5cd>
777c22b8:	81 ff 14 08 00 00    	cmp    $0x814,%edi
777c22be:	0f 87 21 03 00 00    	ja     777c25e5 <_MCIWndProc@16+0xf95>
777c22c4:	81 ff 13 08 00 00    	cmp    $0x813,%edi
777c22ca:	0f 83 4d f9 ff ff    	jae    777c1c1d <_MCIWndProc@16+0x5cd>
777c22d0:	81 ff 11 08 00 00    	cmp    $0x811,%edi
777c22d6:	0f 87 a5 f5 ff ff    	ja     777c1881 <_MCIWndProc@16+0x231>
777c22dc:	e9 3c f9 ff ff       	jmp    777c1c1d <_MCIWndProc@16+0x5cd>
777c22e1:	8b 46 34             	mov    0x34(%esi),%eax
777c22e4:	85 c0                	test   %eax,%eax
777c22e6:	0f 84 a1 f5 ff ff    	je     777c188d <_MCIWndProc@16+0x23d>
777c22ec:	52                   	push   %edx
777c22ed:	52                   	push   %edx
777c22ee:	50                   	push   %eax
777c22ef:	8b 45 08             	mov    0x8(%ebp),%eax
777c22f2:	50                   	push   %eax
777c22f3:	e8 18 34 00 00       	call   777c5710 <_KillTimer@8>
777c22f8:	5a                   	pop    %edx
777c22f9:	59                   	pop    %ecx
777c22fa:	6a 00                	push   $0x0
777c22fc:	85 db                	test   %ebx,%ebx
777c22fe:	0f 84 ef 07 00 00    	je     777c2af3 <_MCIWndProc@16+0x14a3>
777c2304:	66 8b 86 3c 01 00 00 	mov    0x13c(%esi),%ax
777c230b:	25 ff ff 00 00       	and    $0xffff,%eax
777c2310:	50                   	push   %eax
777c2311:	6a 01                	push   $0x1
777c2313:	8b 45 08             	mov    0x8(%ebp),%eax
777c2316:	50                   	push   %eax
777c2317:	e8 e4 33 00 00       	call   777c5700 <_SetTimer@16>
777c231c:	89 46 34             	mov    %eax,0x34(%esi)
777c231f:	e9 69 f5 ff ff       	jmp    777c188d <_MCIWndProc@16+0x23d>
777c2324:	8b 4d 14             	mov    0x14(%ebp),%ecx
777c2327:	8b 46 04             	mov    0x4(%esi),%eax
777c232a:	89 4e 24             	mov    %ecx,0x24(%esi)
777c232d:	85 c0                	test   %eax,%eax
777c232f:	0f 84 45 f7 ff ff    	je     777c1a7a <_MCIWndProc@16+0x42a>
777c2335:	f6 06 01             	testb  $0x1,(%esi)
777c2338:	0f 85 3c f7 ff ff    	jne    777c1a7a <_MCIWndProc@16+0x42a>
777c233e:	c7 85 8c f8 ff ff 00 	movl   $0x0,0xfffff88c(%ebp)
777c2345:	00 00 00 
777c2348:	c7 85 88 f8 ff ff 00 	movl   $0x0,0xfffff888(%ebp)
777c234f:	00 00 00 
777c2352:	50                   	push   %eax
777c2353:	6a 64                	push   $0x64
777c2355:	8b 46 24             	mov    0x24(%esi),%eax
777c2358:	50                   	push   %eax
777c2359:	8b 46 1c             	mov    0x1c(%esi),%eax
777c235c:	50                   	push   %eax
777c235d:	e8 ae 35 00 00       	call   777c5910 <_MulDiv@12>
777c2362:	89 85 90 f8 ff ff    	mov    %eax,0xfffff890(%ebp)
777c2368:	6a 64                	push   $0x64
777c236a:	8b 46 24             	mov    0x24(%esi),%eax
777c236d:	50                   	push   %eax
777c236e:	8b 46 20             	mov    0x20(%esi),%eax
777c2371:	50                   	push   %eax
777c2372:	e8 99 35 00 00       	call   777c5910 <_MulDiv@12>
777c2377:	89 85 94 f8 ff ff    	mov    %eax,0xfffff894(%ebp)
777c237d:	5f                   	pop    %edi
777c237e:	f6 06 02             	testb  $0x2,(%esi)
777c2381:	75 09                	jne    777c238c <_MCIWndProc@16+0xd3c>
777c2383:	83 c0 20             	add    $0x20,%eax
777c2386:	89 85 94 f8 ff ff    	mov    %eax,0xfffff894(%ebp)
777c238c:	56                   	push   %esi
777c238d:	6a 00                	push   $0x0
777c238f:	6a f0                	push   $0xfffffff0
777c2391:	8b 5d 08             	mov    0x8(%ebp),%ebx
777c2394:	53                   	push   %ebx
777c2395:	e8 d6 32 00 00       	call   777c5670 <_GetWindowLongW@8>
777c239a:	50                   	push   %eax
777c239b:	8d 85 88 f8 ff ff    	lea    0xfffff888(%ebp),%eax
777c23a1:	50                   	push   %eax
777c23a2:	e8 39 33 00 00       	call   777c56e0 <_AdjustWindowRect@12>
777c23a7:	6a 16                	push   $0x16
777c23a9:	8b 85 94 f8 ff ff    	mov    0xfffff894(%ebp),%eax
777c23af:	8b 8d 8c f8 ff ff    	mov    0xfffff88c(%ebp),%ecx
777c23b5:	29 c8                	sub    %ecx,%eax
777c23b7:	50                   	push   %eax
777c23b8:	8b 85 90 f8 ff ff    	mov    0xfffff890(%ebp),%eax
777c23be:	8b 95 88 f8 ff ff    	mov    0xfffff888(%ebp),%edx
777c23c4:	29 d0                	sub    %edx,%eax
777c23c6:	50                   	push   %eax
777c23c7:	6a 00                	push   $0x0
777c23c9:	6a 00                	push   $0x0
777c23cb:	6a 00                	push   $0x0
777c23cd:	8b 45 08             	mov    0x8(%ebp),%eax
777c23d0:	50                   	push   %eax
777c23d1:	e8 1a 33 00 00       	call   777c56f0 <_SetWindowPos@28>
777c23d6:	58                   	pop    %eax
777c23d7:	31 d2                	xor    %edx,%edx
777c23d9:	e9 a2 f6 ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c23de:	31 d2                	xor    %edx,%edx
777c23e0:	89 5e 30             	mov    %ebx,0x30(%esi)
777c23e3:	e9 98 f6 ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c23e8:	8b 46 08             	mov    0x8(%esi),%eax
777c23eb:	85 c0                	test   %eax,%eax
777c23ed:	0f 84 87 f6 ff ff    	je     777c1a7a <_MCIWndProc@16+0x42a>
777c23f3:	6a 00                	push   $0x0
777c23f5:	8b 7d 08             	mov    0x8(%ebp),%edi
777c23f8:	57                   	push   %edi
777c23f9:	6a 07                	push   $0x7
777c23fb:	8b 76 08             	mov    0x8(%esi),%esi
777c23fe:	56                   	push   %esi
777c23ff:	e8 7c 31 00 00       	call   777c5580 <_SendDriverMessage@16>
777c2404:	31 d2                	xor    %edx,%edx
777c2406:	e9 75 f6 ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c240b:	52                   	push   %edx
777c240c:	8b 46 0c             	mov    0xc(%esi),%eax
777c240f:	8d bd a8 f9 ff ff    	lea    0xfffff9a8(%ebp),%edi
777c2415:	50                   	push   %eax
777c2416:	68 21 82 7c 77       	push   $0x777c8221
777c241b:	57                   	push   %edi
777c241c:	e8 6f 33 00 00       	call   777c5790 <_wsprintfA>
777c2421:	6a 00                	push   $0x0
777c2423:	53                   	push   %ebx
777c2424:	8b 45 14             	mov    0x14(%ebp),%eax
777c2427:	50                   	push   %eax
777c2428:	57                   	push   %edi
777c2429:	e8 42 31 00 00       	call   777c5570 <_mciSendStringA@16>
777c242e:	e9 d2 f8 ff ff       	jmp    777c1d05 <_MCIWndProc@16+0x6b5>
777c2433:	81 ff 8e 04 00 00    	cmp    $0x48e,%edi
777c2439:	0f 84 c3 08 00 00    	je     777c2d02 <_MCIWndProc@16+0x16b2>
777c243f:	81 ff 8f 04 00 00    	cmp    $0x48f,%edi
777c2445:	0f 85 36 f4 ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c244b:	8b 4d 14             	mov    0x14(%ebp),%ecx
777c244e:	8b 01                	mov    (%ecx),%eax
777c2450:	89 85 1c fa ff ff    	mov    %eax,0xfffffa1c(%ebp)
777c2456:	8b 41 04             	mov    0x4(%ecx),%eax
777c2459:	89 85 20 fa ff ff    	mov    %eax,0xfffffa20(%ebp)
777c245f:	8b 41 08             	mov    0x8(%ecx),%eax
777c2462:	89 85 24 fa ff ff    	mov    %eax,0xfffffa24(%ebp)
777c2468:	8b 41 0c             	mov    0xc(%ecx),%eax
777c246b:	89 85 28 fa ff ff    	mov    %eax,0xfffffa28(%ebp)
777c2471:	8d 85 18 fa ff ff    	lea    0xfffffa18(%ebp),%eax
777c2477:	50                   	push   %eax
777c2478:	68 00 00 05 00       	push   $0x50000
777c247d:	68 42 08 00 00       	push   $0x842
777c2482:	8b 4e 04             	mov    0x4(%esi),%ecx
777c2485:	51                   	push   %ecx
777c2486:	e8 c5 30 00 00       	call   777c5550 <_mciSendCommandW@16>
777c248b:	31 d2                	xor    %edx,%edx
777c248d:	85 c0                	test   %eax,%eax
777c248f:	89 46 38             	mov    %eax,0x38(%esi)
777c2492:	0f 84 6c f3 ff ff    	je     777c1804 <_MCIWndProc@16+0x1b4>
777c2498:	e9 9c f4 ff ff       	jmp    777c1939 <_MCIWndProc@16+0x2e9>
777c249d:	81 ff 76 04 00 00    	cmp    $0x476,%edi
777c24a3:	0f 84 23 f7 ff ff    	je     777c1bcc <_MCIWndProc@16+0x57c>
777c24a9:	81 ff 77 04 00 00    	cmp    $0x477,%edi
777c24af:	0f 85 cc f3 ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c24b5:	53                   	push   %ebx
777c24b6:	53                   	push   %ebx
777c24b7:	8d 85 48 f8 ff ff    	lea    0xfffff848(%ebp),%eax
777c24bd:	8b 4d 14             	mov    0x14(%ebp),%ecx
777c24c0:	51                   	push   %ecx
777c24c1:	50                   	push   %eax
777c24c2:	e8 59 35 00 00       	call   777c5a20 <_RtlCreateUnicodeStringFromAsciiz@8>
777c24c7:	8b 95 4c f8 ff ff    	mov    0xfffff84c(%ebp),%edx
777c24cd:	89 55 14             	mov    %edx,0x14(%ebp)
777c24d0:	58                   	pop    %eax
777c24d1:	5a                   	pop    %edx
777c24d2:	8b 46 04             	mov    0x4(%esi),%eax
777c24d5:	85 c0                	test   %eax,%eax
777c24d7:	0f 85 46 09 00 00    	jne    777c2e23 <_MCIWndProc@16+0x17d3>
777c24dd:	81 ff 77 04 00 00    	cmp    $0x477,%edi
777c24e3:	0f 85 91 f5 ff ff    	jne    777c1a7a <_MCIWndProc@16+0x42a>
777c24e9:	50                   	push   %eax
777c24ea:	8b 45 14             	mov    0x14(%ebp),%eax
777c24ed:	50                   	push   %eax
777c24ee:	6a 00                	push   $0x0
777c24f0:	50                   	push   %eax
777c24f1:	e8 ea 33 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c24f6:	89 04 24             	mov    %eax,(%esp)
777c24f9:	e8 02 34 00 00       	call   777c5900 <_HeapFree@12>
777c24fe:	58                   	pop    %eax
777c24ff:	e9 d3 fe ff ff       	jmp    777c23d7 <_MCIWndProc@16+0xd87>
777c2504:	57                   	push   %edi
777c2505:	8b 4e 0c             	mov    0xc(%esi),%ecx
777c2508:	8d bd a8 f9 ff ff    	lea    0xfffff9a8(%ebp),%edi
777c250e:	51                   	push   %ecx
777c250f:	68 30 82 7c 77       	push   $0x777c8230
777c2514:	57                   	push   %edi
777c2515:	e8 76 32 00 00       	call   777c5790 <_wsprintfA>
777c251a:	6a 00                	push   $0x0
777c251c:	53                   	push   %ebx
777c251d:	8b 55 14             	mov    0x14(%ebp),%edx
777c2520:	52                   	push   %edx
777c2521:	57                   	push   %edi
777c2522:	e8 49 30 00 00       	call   777c5570 <_mciSendStringA@16>
777c2527:	e9 9d f8 ff ff       	jmp    777c1dc9 <_MCIWndProc@16+0x779>
777c252c:	6a 00                	push   $0x0
777c252e:	6a 00                	push   $0x0
777c2530:	53                   	push   %ebx
777c2531:	8b 45 14             	mov    0x14(%ebp),%eax
777c2534:	50                   	push   %eax
777c2535:	8d 46 3c             	lea    0x3c(%esi),%eax
777c2538:	6a ff                	push   $0xffffffff
777c253a:	50                   	push   %eax
777c253b:	6a 00                	push   $0x0
777c253d:	6a 00                	push   $0x0
777c253f:	e8 8c 33 00 00       	call   777c58d0 <_WideCharToMultiByte@32>
777c2544:	8b 56 38             	mov    0x38(%esi),%edx
777c2547:	e9 b8 f2 ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c254c:	81 ff 88 04 00 00    	cmp    $0x488,%edi
777c2552:	0f 84 91 05 00 00    	je     777c2ae9 <_MCIWndProc@16+0x1499>
777c2558:	81 ff 89 04 00 00    	cmp    $0x489,%edi
777c255e:	0f 85 1d f3 ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c2564:	8b 56 0c             	mov    0xc(%esi),%edx
777c2567:	e9 98 f2 ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c256c:	81 ff 6a 04 00 00    	cmp    $0x46a,%edi
777c2572:	0f 84 38 f7 ff ff    	je     777c1cb0 <_MCIWndProc@16+0x660>
777c2578:	81 ff 6b 04 00 00    	cmp    $0x46b,%edi
777c257e:	0f 85 fd f2 ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c2584:	8b 45 08             	mov    0x8(%ebp),%eax
777c2587:	89 85 78 f8 ff ff    	mov    %eax,0xfffff878(%ebp)
777c258d:	8d 85 78 f8 ff ff    	lea    0xfffff878(%ebp),%eax
777c2593:	50                   	push   %eax
777c2594:	68 01 01 00 00       	push   $0x101
777c2599:	68 0d 08 00 00       	push   $0x80d
777c259e:	8b 46 04             	mov    0x4(%esi),%eax
777c25a1:	50                   	push   %eax
777c25a2:	e8 a9 2f 00 00       	call   777c5550 <_mciSendCommandW@16>
777c25a7:	f6 46 01 01          	testb  $0x1,0x1(%esi)
777c25ab:	89 46 38             	mov    %eax,0x38(%esi)
777c25ae:	0f 85 bf 0b 00 00    	jne    777c3173 <_MCIWndProc@16+0x1b23>
777c25b4:	89 f0                	mov    %esi,%eax
777c25b6:	e8 95 ed ff ff       	call   777c1350 <_MCIWND_UpdateState>
777c25bb:	8b 56 38             	mov    0x38(%esi),%edx
777c25be:	e9 41 f2 ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c25c3:	81 ff 04 08 00 00    	cmp    $0x804,%edi
777c25c9:	0f 84 30 05 00 00    	je     777c2aff <_MCIWndProc@16+0x14af>
777c25cf:	81 ff 05 08 00 00    	cmp    $0x805,%edi
777c25d5:	e9 d3 fc ff ff       	jmp    777c22ad <_MCIWndProc@16+0xc5d>
777c25da:	81 ff 56 08 00 00    	cmp    $0x856,%edi
777c25e0:	e9 c8 fc ff ff       	jmp    777c22ad <_MCIWndProc@16+0xc5d>
777c25e5:	81 ff 30 08 00 00    	cmp    $0x830,%edi
777c25eb:	e9 bd fc ff ff       	jmp    777c22ad <_MCIWndProc@16+0xc5d>
777c25f0:	81 ff e1 04 00 00    	cmp    $0x4e1,%edi
777c25f6:	0f 84 8c 07 00 00    	je     777c2d88 <_MCIWndProc@16+0x1738>
777c25fc:	81 ff e4 04 00 00    	cmp    $0x4e4,%edi
777c2602:	0f 85 79 f2 ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c2608:	50                   	push   %eax
777c2609:	53                   	push   %ebx
777c260a:	8b 45 14             	mov    0x14(%ebp),%eax
777c260d:	50                   	push   %eax
777c260e:	8b 7e 38             	mov    0x38(%esi),%edi
777c2611:	57                   	push   %edi
777c2612:	e8 79 2f 00 00       	call   777c5590 <_mciGetErrorStringW@12>
777c2617:	8b 56 38             	mov    0x38(%esi),%edx
777c261a:	e9 e5 f1 ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c261f:	8b 55 14             	mov    0x14(%ebp),%edx
777c2622:	66 89 9e 3c 01 00 00 	mov    %bx,0x13c(%esi)
777c2629:	66 89 96 3e 01 00 00 	mov    %dx,0x13e(%esi)
777c2630:	31 d2                	xor    %edx,%edx
777c2632:	e9 49 f4 ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c2637:	83 ff 05             	cmp    $0x5,%edi
777c263a:	0f 84 85 08 00 00    	je     777c2ec5 <_MCIWndProc@16+0x1875>
777c2640:	83 ff 0f             	cmp    $0xf,%edi
777c2643:	0f 85 38 f2 ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c2649:	89 d8                	mov    %ebx,%eax
777c264b:	85 db                	test   %ebx,%ebx
777c264d:	0f 84 e5 0a 00 00    	je     777c3138 <_MCIWndProc@16+0x1ae8>
777c2653:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
777c2656:	8d 45 c8             	lea    0xffffffc8(%ebp),%eax
777c2659:	50                   	push   %eax
777c265a:	68 00 00 06 00       	push   $0x60000
777c265f:	68 54 08 00 00       	push   $0x854
777c2664:	8b 76 04             	mov    0x4(%esi),%esi
777c2667:	56                   	push   %esi
777c2668:	e8 e3 2e 00 00       	call   777c5550 <_mciSendCommandW@16>
777c266d:	85 db                	test   %ebx,%ebx
777c266f:	74 0a                	je     777c267b <_MCIWndProc@16+0x102b>
777c2671:	ba 01 00 00 00       	mov    $0x1,%edx
777c2676:	e9 89 f1 ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c267b:	8d 45 88             	lea    0xffffff88(%ebp),%eax
777c267e:	53                   	push   %ebx
777c267f:	53                   	push   %ebx
777c2680:	50                   	push   %eax
777c2681:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c2684:	51                   	push   %ecx
777c2685:	e8 96 30 00 00       	call   777c5720 <_EndPaint@8>
777c268a:	58                   	pop    %eax
777c268b:	5a                   	pop    %edx
777c268c:	ba 01 00 00 00       	mov    $0x1,%edx
777c2691:	e9 6e f1 ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c2696:	89 d8                	mov    %ebx,%eax
777c2698:	8b 16                	mov    (%esi),%edx
777c269a:	8b 7d 14             	mov    0x14(%ebp),%edi
777c269d:	83 f0 ff             	xor    $0xffffffff,%eax
777c26a0:	21 d0                	and    %edx,%eax
777c26a2:	21 fb                	and    %edi,%ebx
777c26a4:	09 d8                	or     %ebx,%eax
777c26a6:	31 d2                	xor    %edx,%edx
777c26a8:	89 06                	mov    %eax,(%esi)
777c26aa:	e9 d1 f3 ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c26af:	8b 46 28             	mov    0x28(%esi),%eax
777c26b2:	85 c0                	test   %eax,%eax
777c26b4:	0f 84 c0 f3 ff ff    	je     777c1a7a <_MCIWndProc@16+0x42a>
777c26ba:	57                   	push   %edi
777c26bb:	53                   	push   %ebx
777c26bc:	8b 76 28             	mov    0x28(%esi),%esi
777c26bf:	56                   	push   %esi
777c26c0:	8b 5d 14             	mov    0x14(%ebp),%ebx
777c26c3:	53                   	push   %ebx
777c26c4:	e8 87 33 00 00       	call   777c5a50 <_wcsncpy>
777c26c9:	83 c4 10             	add    $0x10,%esp
777c26cc:	31 d2                	xor    %edx,%edx
777c26ce:	e9 ad f3 ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c26d3:	81 ff 64 04 00 00    	cmp    $0x464,%edi
777c26d9:	0f 84 f7 04 00 00    	je     777c2bd6 <_MCIWndProc@16+0x1586>
777c26df:	81 ff 65 04 00 00    	cmp    $0x465,%edi
777c26e5:	0f 85 96 f1 ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c26eb:	53                   	push   %ebx
777c26ec:	53                   	push   %ebx
777c26ed:	8d 85 50 f8 ff ff    	lea    0xfffff850(%ebp),%eax
777c26f3:	8b 4d 14             	mov    0x14(%ebp),%ecx
777c26f6:	51                   	push   %ecx
777c26f7:	50                   	push   %eax
777c26f8:	e8 23 33 00 00       	call   777c5a20 <_RtlCreateUnicodeStringFromAsciiz@8>
777c26fd:	8b 85 54 f8 ff ff    	mov    0xfffff854(%ebp),%eax
777c2703:	89 45 14             	mov    %eax,0x14(%ebp)
777c2706:	58                   	pop    %eax
777c2707:	5a                   	pop    %edx
777c2708:	50                   	push   %eax
777c2709:	50                   	push   %eax
777c270a:	6a 20                	push   $0x20
777c270c:	8b 5d 14             	mov    0x14(%ebp),%ebx
777c270f:	53                   	push   %ebx
777c2710:	e8 8b 33 00 00       	call   777c5aa0 <_wcschr>
777c2715:	8b 55 14             	mov    0x14(%ebp),%edx
777c2718:	83 c4 10             	add    $0x10,%esp
777c271b:	89 95 24 f8 ff ff    	mov    %edx,0xfffff824(%ebp)
777c2721:	85 c0                	test   %eax,%eax
777c2723:	0f 84 8a 00 00 00    	je     777c27b3 <_MCIWndProc@16+0x1163>
777c2729:	29 d0                	sub    %edx,%eax
777c272b:	83 ec 0c             	sub    $0xc,%esp
777c272e:	d1 f8                	sar    %eax
777c2730:	40                   	inc    %eax
777c2731:	89 85 20 f8 ff ff    	mov    %eax,0xfffff820(%ebp)
777c2737:	52                   	push   %edx
777c2738:	e8 e3 31 00 00       	call   777c5920 <_lstrlenW@4>
777c273d:	5a                   	pop    %edx
777c273e:	59                   	pop    %ecx
777c273f:	8d 84 00 80 00 00 00 	lea    0x80(%eax,%eax,1),%eax
777c2746:	50                   	push   %eax
777c2747:	6a 00                	push   $0x0
777c2749:	50                   	push   %eax
777c274a:	e8 91 31 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c274f:	89 04 24             	mov    %eax,(%esp)
777c2752:	e8 99 31 00 00       	call   777c58f0 <_HeapAlloc@12>
777c2757:	8b 8d 20 f8 ff ff    	mov    0xfffff820(%ebp),%ecx
777c275d:	01 c9                	add    %ecx,%ecx
777c275f:	89 8d 1c f8 ff ff    	mov    %ecx,0xfffff81c(%ebp)
777c2765:	89 85 24 f8 ff ff    	mov    %eax,0xfffff824(%ebp)
777c276b:	51                   	push   %ecx
777c276c:	8b 5d 14             	mov    0x14(%ebp),%ebx
777c276f:	53                   	push   %ebx
777c2770:	50                   	push   %eax
777c2771:	e8 ca 32 00 00       	call   777c5a40 <_memcpy>
777c2776:	83 c4 0c             	add    $0xc,%esp
777c2779:	8b 4e 0c             	mov    0xc(%esi),%ecx
777c277c:	51                   	push   %ecx
777c277d:	68 04 81 7c 77       	push   $0x777c8104
777c2782:	8b 95 24 f8 ff ff    	mov    0xfffff824(%ebp),%edx
777c2788:	8b 85 1c f8 ff ff    	mov    0xfffff81c(%ebp),%eax
777c278e:	01 d0                	add    %edx,%eax
777c2790:	50                   	push   %eax
777c2791:	e8 0a 30 00 00       	call   777c57a0 <_wsprintfW>
777c2796:	8b 85 1c f8 ff ff    	mov    0xfffff81c(%ebp),%eax
777c279c:	8b 55 14             	mov    0x14(%ebp),%edx
777c279f:	01 d0                	add    %edx,%eax
777c27a1:	59                   	pop    %ecx
777c27a2:	5b                   	pop    %ebx
777c27a3:	50                   	push   %eax
777c27a4:	8b 85 24 f8 ff ff    	mov    0xfffff824(%ebp),%eax
777c27aa:	50                   	push   %eax
777c27ab:	e8 d0 32 00 00       	call   777c5a80 <_wcscat>
777c27b0:	83 c4 10             	add    $0x10,%esp
777c27b3:	8d 46 3c             	lea    0x3c(%esi),%eax
777c27b6:	6a 00                	push   $0x0
777c27b8:	68 80 00 00 00       	push   $0x80
777c27bd:	50                   	push   %eax
777c27be:	8b 85 24 f8 ff ff    	mov    0xfffff824(%ebp),%eax
777c27c4:	50                   	push   %eax
777c27c5:	e8 96 2d 00 00       	call   777c5560 <_mciSendStringW@16>
777c27ca:	85 c0                	test   %eax,%eax
777c27cc:	89 46 38             	mov    %eax,0x38(%esi)
777c27cf:	74 0a                	je     777c27db <_MCIWndProc@16+0x118b>
777c27d1:	f6 46 01 10          	testb  $0x10,0x1(%esi)
777c27d5:	0f 85 58 08 00 00    	jne    777c3033 <_MCIWndProc@16+0x19e3>
777c27db:	8b 85 24 f8 ff ff    	mov    0xfffff824(%ebp),%eax
777c27e1:	39 45 14             	cmp    %eax,0x14(%ebp)
777c27e4:	74 13                	je     777c27f9 <_MCIWndProc@16+0x11a9>
777c27e6:	51                   	push   %ecx
777c27e7:	50                   	push   %eax
777c27e8:	6a 00                	push   $0x0
777c27ea:	52                   	push   %edx
777c27eb:	e8 f0 30 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c27f0:	89 04 24             	mov    %eax,(%esp)
777c27f3:	e8 08 31 00 00       	call   777c5900 <_HeapFree@12>
777c27f8:	58                   	pop    %eax
777c27f9:	81 ff 65 04 00 00    	cmp    $0x465,%edi
777c27ff:	0f 85 af fd ff ff    	jne    777c25b4 <_MCIWndProc@16+0xf64>
777c2805:	50                   	push   %eax
777c2806:	8b 45 14             	mov    0x14(%ebp),%eax
777c2809:	50                   	push   %eax
777c280a:	6a 00                	push   $0x0
777c280c:	50                   	push   %eax
777c280d:	e8 ce 30 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c2812:	89 04 24             	mov    %eax,(%esp)
777c2815:	e8 e6 30 00 00       	call   777c5900 <_HeapFree@12>
777c281a:	58                   	pop    %eax
777c281b:	e9 94 fd ff ff       	jmp    777c25b4 <_MCIWndProc@16+0xf64>
777c2820:	50                   	push   %eax
777c2821:	53                   	push   %ebx
777c2822:	8b 45 14             	mov    0x14(%ebp),%eax
777c2825:	50                   	push   %eax
777c2826:	8b 46 38             	mov    0x38(%esi),%eax
777c2829:	50                   	push   %eax
777c282a:	e8 71 2d 00 00       	call   777c55a0 <_mciGetErrorStringA@12>
777c282f:	8b 56 38             	mov    0x38(%esi),%edx
777c2832:	e9 cd ef ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c2837:	81 ff 7c 04 00 00    	cmp    $0x47c,%edi
777c283d:	0f 84 09 04 00 00    	je     777c2c4c <_MCIWndProc@16+0x15fc>
777c2843:	81 ff 7d 04 00 00    	cmp    $0x47d,%edi
777c2849:	0f 85 32 f0 ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c284f:	8b 4d 14             	mov    0x14(%ebp),%ecx
777c2852:	8d 85 c8 f8 ff ff    	lea    0xfffff8c8(%ebp),%eax
777c2858:	89 9d d0 f8 ff ff    	mov    %ebx,0xfffff8d0(%ebp)
777c285e:	89 8d cc f8 ff ff    	mov    %ecx,0xfffff8cc(%ebp)
777c2864:	50                   	push   %eax
777c2865:	68 00 08 00 00       	push   $0x800
777c286a:	68 10 08 00 00       	push   $0x810
777c286f:	8b 5e 04             	mov    0x4(%esi),%ebx
777c2872:	53                   	push   %ebx
777c2873:	e8 38 2d 00 00       	call   777c55b0 <_mciSendCommandA@16>
777c2878:	89 46 38             	mov    %eax,0x38(%esi)
777c287b:	31 d2                	xor    %edx,%edx
777c287d:	e9 fe f1 ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c2882:	81 ff 94 04 00 00    	cmp    $0x494,%edi
777c2888:	0f 84 aa 03 00 00    	je     777c2c38 <_MCIWndProc@16+0x15e8>
777c288e:	81 ff 95 04 00 00    	cmp    $0x495,%edi
777c2894:	0f 85 e7 ef ff ff    	jne    777c1881 <_MCIWndProc@16+0x231>
777c289a:	8b 4e 08             	mov    0x8(%esi),%ecx
777c289d:	31 d2                	xor    %edx,%edx
777c289f:	85 c9                	test   %ecx,%ecx
777c28a1:	0f 84 5d ef ff ff    	je     777c1804 <_MCIWndProc@16+0x1b4>
777c28a7:	6a 00                	push   $0x0
777c28a9:	6a 00                	push   $0x0
777c28ab:	6a 08                	push   $0x8
777c28ad:	8b 56 08             	mov    0x8(%esi),%edx
777c28b0:	52                   	push   %edx
777c28b1:	e8 ca 2c 00 00       	call   777c5580 <_SendDriverMessage@16>
777c28b6:	e9 47 ef ff ff       	jmp    777c1802 <_MCIWndProc@16+0x1b2>
777c28bb:	90                   	nop    
777c28bc:	8d 74 26 00          	lea    0x0(%esi),%esi
777c28c0:	8b 46 34             	mov    0x34(%esi),%eax
777c28c3:	85 c0                	test   %eax,%eax
777c28c5:	0f 85 f8 03 00 00    	jne    777c2cc3 <_MCIWndProc@16+0x1673>
777c28cb:	8b 56 04             	mov    0x4(%esi),%edx
777c28ce:	85 d2                	test   %edx,%edx
777c28d0:	0f 85 d6 03 00 00    	jne    777c2cac <_MCIWndProc@16+0x165c>
777c28d6:	50                   	push   %eax
777c28d7:	56                   	push   %esi
777c28d8:	6a 00                	push   $0x0
777c28da:	50                   	push   %eax
777c28db:	e8 00 30 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c28e0:	89 04 24             	mov    %eax,(%esp)
777c28e3:	e8 18 30 00 00       	call   777c5900 <_HeapFree@12>
777c28e8:	83 ec 14             	sub    $0x14,%esp
777c28eb:	68 01 32 00 00       	push   $0x3201
777c28f0:	8b 45 08             	mov    0x8(%ebp),%eax
777c28f3:	50                   	push   %eax
777c28f4:	e8 37 2e 00 00       	call   777c5730 <_GetDlgItem@8>
777c28f9:	83 c4 0c             	add    $0xc,%esp
777c28fc:	50                   	push   %eax
777c28fd:	e8 3e 2e 00 00       	call   777c5740 <_DestroyWindow@4>
777c2902:	83 ec 0c             	sub    $0xc,%esp
777c2905:	68 00 32 00 00       	push   $0x3200
777c290a:	8b 45 08             	mov    0x8(%ebp),%eax
777c290d:	50                   	push   %eax
777c290e:	e8 1d 2e 00 00       	call   777c5730 <_GetDlgItem@8>
777c2913:	83 c4 0c             	add    $0xc,%esp
777c2916:	50                   	push   %eax
777c2917:	e8 24 2e 00 00       	call   777c5740 <_DestroyWindow@4>
777c291c:	83 ec 0c             	sub    $0xc,%esp
777c291f:	68 02 32 00 00       	push   $0x3202
777c2924:	8b 45 08             	mov    0x8(%ebp),%eax
777c2927:	50                   	push   %eax
777c2928:	e8 03 2e 00 00       	call   777c5730 <_GetDlgItem@8>
777c292d:	83 c4 0c             	add    $0xc,%esp
777c2930:	50                   	push   %eax
777c2931:	e8 0a 2e 00 00       	call   777c5740 <_DestroyWindow@4>
777c2936:	83 c4 0c             	add    $0xc,%esp
777c2939:	e9 4f ef ff ff       	jmp    777c188d <_MCIWndProc@16+0x23d>
777c293e:	50                   	push   %eax
777c293f:	50                   	push   %eax
777c2940:	8d 85 58 f8 ff ff    	lea    0xfffff858(%ebp),%eax
777c2946:	8b 4d 14             	mov    0x14(%ebp),%ecx
777c2949:	51                   	push   %ecx
777c294a:	50                   	push   %eax
777c294b:	e8 d0 30 00 00       	call   777c5a20 <_RtlCreateUnicodeStringFromAsciiz@8>
777c2950:	8b 95 5c f8 ff ff    	mov    0xfffff85c(%ebp),%edx
777c2956:	89 55 14             	mov    %edx,0x14(%ebp)
777c2959:	58                   	pop    %eax
777c295a:	5a                   	pop    %edx
777c295b:	e9 2a f6 ff ff       	jmp    777c1f8a <_MCIWndProc@16+0x93a>
777c2960:	8b 7e 04             	mov    0x4(%esi),%edi
777c2963:	31 d2                	xor    %edx,%edx
777c2965:	85 ff                	test   %edi,%edi
777c2967:	0f 84 97 ee ff ff    	je     777c1804 <_MCIWndProc@16+0x1b4>
777c296d:	b2 09                	mov    $0x9,%dl
777c296f:	e9 87 ee ff ff       	jmp    777c17fb <_MCIWndProc@16+0x1ab>
777c2974:	31 d2                	xor    %edx,%edx
777c2976:	66 89 9e 3c 01 00 00 	mov    %bx,0x13c(%esi)
777c297d:	e9 fe f0 ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c2982:	6a 00                	push   $0x0
777c2984:	6a 00                	push   $0x0
777c2986:	68 ce 04 00 00       	push   $0x4ce
777c298b:	8b 56 2c             	mov    0x2c(%esi),%edx
777c298e:	52                   	push   %edx
777c298f:	e8 bc 2c 00 00       	call   777c5650 <_SendMessageW@16>
777c2994:	39 46 14             	cmp    %eax,0x14(%esi)
777c2997:	0f 84 04 f5 ff ff    	je     777c1ea1 <_MCIWndProc@16+0x851>
777c299d:	89 46 14             	mov    %eax,0x14(%esi)
777c29a0:	50                   	push   %eax
777c29a1:	8b 46 2c             	mov    0x2c(%esi),%eax
777c29a4:	50                   	push   %eax
777c29a5:	68 c8 04 00 00       	push   $0x4c8
777c29aa:	8b 46 30             	mov    0x30(%esi),%eax
777c29ad:	50                   	push   %eax
777c29ae:	e8 9d 2c 00 00       	call   777c5650 <_SendMessageW@16>
777c29b3:	e9 e9 f4 ff ff       	jmp    777c1ea1 <_MCIWndProc@16+0x851>
777c29b8:	8b 55 14             	mov    0x14(%ebp),%edx
777c29bb:	8b 02                	mov    (%edx),%eax
777c29bd:	89 85 3c fa ff ff    	mov    %eax,0xfffffa3c(%ebp)
777c29c3:	8b 42 04             	mov    0x4(%edx),%eax
777c29c6:	89 85 40 fa ff ff    	mov    %eax,0xfffffa40(%ebp)
777c29cc:	8b 42 08             	mov    0x8(%edx),%eax
777c29cf:	89 85 44 fa ff ff    	mov    %eax,0xfffffa44(%ebp)
777c29d5:	8b 42 0c             	mov    0xc(%edx),%eax
777c29d8:	89 85 48 fa ff ff    	mov    %eax,0xfffffa48(%ebp)
777c29de:	8d 85 38 fa ff ff    	lea    0xfffffa38(%ebp),%eax
777c29e4:	50                   	push   %eax
777c29e5:	68 00 00 02 00       	push   $0x20000
777c29ea:	e9 8e fa ff ff       	jmp    777c247d <_MCIWndProc@16+0xe2d>
777c29ef:	8b 45 08             	mov    0x8(%ebp),%eax
777c29f2:	89 85 9c fa ff ff    	mov    %eax,0xfffffa9c(%ebp)
777c29f8:	8d 85 98 fa ff ff    	lea    0xfffffa98(%ebp),%eax
777c29fe:	50                   	push   %eax
777c29ff:	68 00 00 01 00       	push   $0x10000
777c2a04:	68 41 08 00 00       	push   $0x841
777c2a09:	8b 46 04             	mov    0x4(%esi),%eax
777c2a0c:	50                   	push   %eax
777c2a0d:	e8 3e 2b 00 00       	call   777c5550 <_mciSendCommandW@16>
777c2a12:	85 c0                	test   %eax,%eax
777c2a14:	89 46 38             	mov    %eax,0x38(%esi)
777c2a17:	0f 84 cf f6 ff ff    	je     777c20ec <_MCIWndProc@16+0xa9c>
777c2a1d:	f6 46 01 10          	testb  $0x10,0x1(%esi)
777c2a21:	0f 84 07 f8 ff ff    	je     777c222e <_MCIWndProc@16+0xbde>
777c2a27:	50                   	push   %eax
777c2a28:	8b 46 2c             	mov    0x2c(%esi),%eax
777c2a2b:	50                   	push   %eax
777c2a2c:	68 cd 04 00 00       	push   $0x4cd
777c2a31:	8b 5e 30             	mov    0x30(%esi),%ebx
777c2a34:	53                   	push   %ebx
777c2a35:	e8 16 2c 00 00       	call   777c5650 <_SendMessageW@16>
777c2a3a:	e9 ef f7 ff ff       	jmp    777c222e <_MCIWndProc@16+0xbde>
777c2a3f:	6a 00                	push   $0x0
777c2a41:	6a 00                	push   $0x0
777c2a43:	68 67 04 00 00       	push   $0x467
777c2a48:	8b 45 08             	mov    0x8(%ebp),%eax
777c2a4b:	50                   	push   %eax
777c2a4c:	e8 ff 2b 00 00       	call   777c5650 <_SendMessageW@16>
777c2a51:	89 c6                	mov    %eax,%esi
777c2a53:	6a 00                	push   $0x0
777c2a55:	6a 00                	push   $0x0
777c2a57:	68 68 04 00 00       	push   $0x468
777c2a5c:	8b 45 08             	mov    0x8(%ebp),%eax
777c2a5f:	50                   	push   %eax
777c2a60:	e8 eb 2b 00 00       	call   777c5650 <_SendMessageW@16>
777c2a65:	8d 14 06             	lea    (%esi,%eax,1),%edx
777c2a68:	e9 97 ed ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c2a6d:	8b 46 10             	mov    0x10(%esi),%eax
777c2a70:	8b 55 08             	mov    0x8(%ebp),%edx
777c2a73:	3d 02 02 00 00       	cmp    $0x202,%eax
777c2a78:	89 95 e8 f8 ff ff    	mov    %edx,0xfffff8e8(%ebp)
777c2a7e:	0f 95 c0             	setne  %al
777c2a81:	25 ff 00 00 00       	and    $0xff,%eax
777c2a86:	8b 4d 14             	mov    0x14(%ebp),%ecx
777c2a89:	48                   	dec    %eax
777c2a8a:	8d 95 e8 f8 ff ff    	lea    0xfffff8e8(%ebp),%edx
777c2a90:	25 00 00 ff ff       	and    $0xffff0000,%eax
777c2a95:	89 8d ec f8 ff ff    	mov    %ecx,0xfffff8ec(%ebp)
777c2a9b:	05 01 00 02 00       	add    $0x20001,%eax
777c2aa0:	52                   	push   %edx
777c2aa1:	50                   	push   %eax
777c2aa2:	e9 a9 ef ff ff       	jmp    777c1a50 <_MCIWndProc@16+0x400>
777c2aa7:	6a 00                	push   $0x0
777c2aa9:	6a 00                	push   $0x0
777c2aab:	68 ce 04 00 00       	push   $0x4ce
777c2ab0:	8b 4e 2c             	mov    0x2c(%esi),%ecx
777c2ab3:	51                   	push   %ecx
777c2ab4:	e8 97 2b 00 00       	call   777c5650 <_SendMessageW@16>
777c2ab9:	39 46 14             	cmp    %eax,0x14(%esi)
777c2abc:	0f 84 b1 ef ff ff    	je     777c1a73 <_MCIWndProc@16+0x423>
777c2ac2:	89 46 14             	mov    %eax,0x14(%esi)
777c2ac5:	50                   	push   %eax
777c2ac6:	8b 56 2c             	mov    0x2c(%esi),%edx
777c2ac9:	52                   	push   %edx
777c2aca:	68 c8 04 00 00       	push   $0x4c8
777c2acf:	8b 46 30             	mov    0x30(%esi),%eax
777c2ad2:	50                   	push   %eax
777c2ad3:	e8 78 2b 00 00       	call   777c5650 <_SendMessageW@16>
777c2ad8:	e9 96 ef ff ff       	jmp    777c1a73 <_MCIWndProc@16+0x423>
777c2add:	66 8b 86 3e 01 00 00 	mov    0x13e(%esi),%ax
777c2ae4:	e9 36 f3 ff ff       	jmp    777c1e1f <_MCIWndProc@16+0x7cf>
777c2ae9:	8b 06                	mov    (%esi),%eax
777c2aeb:	0f b7 d0             	movzwl %ax,%edx
777c2aee:	e9 11 ed ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c2af3:	66 8b 86 3e 01 00 00 	mov    0x13e(%esi),%ax
777c2afa:	e9 0c f8 ff ff       	jmp    777c230b <_MCIWndProc@16+0xcbb>
777c2aff:	8b 46 08             	mov    0x8(%esi),%eax
777c2b02:	85 c0                	test   %eax,%eax
777c2b04:	0f 85 71 05 00 00    	jne    777c307b <_MCIWndProc@16+0x1a2b>
777c2b0a:	8b 5e 04             	mov    0x4(%esi),%ebx
777c2b0d:	85 db                	test   %ebx,%ebx
777c2b0f:	0f 85 36 05 00 00    	jne    777c304b <_MCIWndProc@16+0x19fb>
777c2b15:	8b 46 28             	mov    0x28(%esi),%eax
777c2b18:	c7 46 14 0c 02 00 00 	movl   $0x20c,0x14(%esi)
777c2b1f:	c7 46 18 ff ff ff ff 	movl   $0xffffffff,0x18(%esi)
777c2b26:	85 c0                	test   %eax,%eax
777c2b28:	0f 85 e6 04 00 00    	jne    777c3014 <_MCIWndProc@16+0x19c4>
777c2b2e:	89 f0                	mov    %esi,%eax
777c2b30:	8d 9d 68 f8 ff ff    	lea    0xfffff868(%ebp),%ebx
777c2b36:	e8 15 e8 ff ff       	call   777c1350 <_MCIWND_UpdateState>
777c2b3b:	50                   	push   %eax
777c2b3c:	50                   	push   %eax
777c2b3d:	53                   	push   %ebx
777c2b3e:	8b 7d 08             	mov    0x8(%ebp),%edi
777c2b41:	57                   	push   %edi
777c2b42:	e8 09 2c 00 00       	call   777c5750 <_GetClientRect@8>
777c2b47:	8b 85 6c f8 ff ff    	mov    0xfffff86c(%ebp),%eax
777c2b4d:	89 85 74 f8 ff ff    	mov    %eax,0xfffff874(%ebp)
777c2b53:	5a                   	pop    %edx
777c2b54:	f6 06 02             	testb  $0x2,(%esi)
777c2b57:	59                   	pop    %ecx
777c2b58:	75 09                	jne    777c2b63 <_MCIWndProc@16+0x1513>
777c2b5a:	83 c0 20             	add    $0x20,%eax
777c2b5d:	89 85 74 f8 ff ff    	mov    %eax,0xfffff874(%ebp)
777c2b63:	50                   	push   %eax
777c2b64:	6a 00                	push   $0x0
777c2b66:	6a f0                	push   $0xfffffff0
777c2b68:	8b 7d 08             	mov    0x8(%ebp),%edi
777c2b6b:	57                   	push   %edi
777c2b6c:	e8 ff 2a 00 00       	call   777c5670 <_GetWindowLongW@8>
777c2b71:	50                   	push   %eax
777c2b72:	53                   	push   %ebx
777c2b73:	e8 68 2b 00 00       	call   777c56e0 <_AdjustWindowRect@12>
777c2b78:	6a 16                	push   $0x16
777c2b7a:	8b 8d 6c f8 ff ff    	mov    0xfffff86c(%ebp),%ecx
777c2b80:	8b 85 74 f8 ff ff    	mov    0xfffff874(%ebp),%eax
777c2b86:	29 c8                	sub    %ecx,%eax
777c2b88:	50                   	push   %eax
777c2b89:	8b 95 68 f8 ff ff    	mov    0xfffff868(%ebp),%edx
777c2b8f:	8b 85 70 f8 ff ff    	mov    0xfffff870(%ebp),%eax
777c2b95:	29 d0                	sub    %edx,%eax
777c2b97:	50                   	push   %eax
777c2b98:	6a 00                	push   $0x0
777c2b9a:	6a 00                	push   $0x0
777c2b9c:	6a 00                	push   $0x0
777c2b9e:	8b 7d 08             	mov    0x8(%ebp),%edi
777c2ba1:	57                   	push   %edi
777c2ba2:	e8 49 2b 00 00       	call   777c56f0 <_SetWindowPos@28>
777c2ba7:	89 f0                	mov    %esi,%eax
777c2ba9:	5b                   	pop    %ebx
777c2baa:	e8 a1 e9 ff ff       	call   777c1550 <_MCIWND_notify_media>
777c2baf:	31 d2                	xor    %edx,%edx
777c2bb1:	e9 ca ee ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c2bb6:	8b 45 14             	mov    0x14(%ebp),%eax
777c2bb9:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c2bbc:	89 85 00 f9 ff ff    	mov    %eax,0xfffff900(%ebp)
777c2bc2:	8d 85 f8 f8 ff ff    	lea    0xfffff8f8(%ebp),%eax
777c2bc8:	89 8d f8 f8 ff ff    	mov    %ecx,0xfffff8f8(%ebp)
777c2bce:	50                   	push   %eax
777c2bcf:	6a 09                	push   $0x9
777c2bd1:	e9 7a ee ff ff       	jmp    777c1a50 <_MCIWndProc@16+0x400>
777c2bd6:	8b 56 04             	mov    0x4(%esi),%edx
777c2bd9:	e9 26 ec ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c2bde:	81 e3 ff ff 00 00    	and    $0xffff,%ebx
777c2be4:	81 fb 00 32 00 00    	cmp    $0x3200,%ebx
777c2bea:	0f 84 03 05 00 00    	je     777c30f3 <_MCIWndProc@16+0x1aa3>
777c2bf0:	68 6e 80 7c 77       	push   $0x777c806e
777c2bf5:	68 70 01 00 00       	push   $0x170
777c2bfa:	68 88 81 7c 77       	push   $0x777c8188
777c2bff:	68 91 81 7c 77       	push   $0x777c8191
777c2c04:	e8 67 2e 00 00       	call   777c5a70 <_DbgPrint>
777c2c09:	59                   	pop    %ecx
777c2c0a:	5e                   	pop    %esi
777c2c0b:	53                   	push   %ebx
777c2c0c:	68 44 82 7c 77       	push   $0x777c8244
777c2c11:	e8 5a 2e 00 00       	call   777c5a70 <_DbgPrint>
777c2c16:	83 c4 10             	add    $0x10,%esp
777c2c19:	e9 ae fa ff ff       	jmp    777c26cc <_MCIWndProc@16+0x107c>
777c2c1e:	53                   	push   %ebx
777c2c1f:	53                   	push   %ebx
777c2c20:	50                   	push   %eax
777c2c21:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c2c24:	51                   	push   %ecx
777c2c25:	e8 e6 2a 00 00       	call   777c5710 <_KillTimer@8>
777c2c2a:	c7 46 34 00 00 00 00 	movl   $0x0,0x34(%esi)
777c2c31:	58                   	pop    %eax
777c2c32:	5a                   	pop    %edx
777c2c33:	e9 64 f3 ff ff       	jmp    777c1f9c <_MCIWndProc@16+0x94c>
777c2c38:	8b 5e 04             	mov    0x4(%esi),%ebx
777c2c3b:	31 d2                	xor    %edx,%edx
777c2c3d:	85 db                	test   %ebx,%ebx
777c2c3f:	0f 84 bf eb ff ff    	je     777c1804 <_MCIWndProc@16+0x1b4>
777c2c45:	b2 07                	mov    $0x7,%dl
777c2c47:	e9 af eb ff ff       	jmp    777c17fb <_MCIWndProc@16+0x1ab>
777c2c4c:	8b 46 28             	mov    0x28(%esi),%eax
777c2c4f:	85 c0                	test   %eax,%eax
777c2c51:	0f 84 23 ee ff ff    	je     777c1a7a <_MCIWndProc@16+0x42a>
777c2c57:	6a 00                	push   $0x0
777c2c59:	6a 00                	push   $0x0
777c2c5b:	53                   	push   %ebx
777c2c5c:	8b 45 14             	mov    0x14(%ebp),%eax
777c2c5f:	50                   	push   %eax
777c2c60:	6a ff                	push   $0xffffffff
777c2c62:	8b 46 28             	mov    0x28(%esi),%eax
777c2c65:	50                   	push   %eax
777c2c66:	6a 00                	push   $0x0
777c2c68:	6a 00                	push   $0x0
777c2c6a:	e8 61 2c 00 00       	call   777c58d0 <_WideCharToMultiByte@32>
777c2c6f:	31 d2                	xor    %edx,%edx
777c2c71:	e9 0a ee ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c2c76:	8b 56 04             	mov    0x4(%esi),%edx
777c2c79:	85 d2                	test   %edx,%edx
777c2c7b:	0f 84 f9 ed ff ff    	je     777c1a7a <_MCIWndProc@16+0x42a>
777c2c81:	6a 00                	push   $0x0
777c2c83:	6a 00                	push   $0x0
777c2c85:	68 67 04 00 00       	push   $0x467
777c2c8a:	8b 45 08             	mov    0x8(%ebp),%eax
777c2c8d:	50                   	push   %eax
777c2c8e:	e8 bd 29 00 00       	call   777c5650 <_SendMessageW@16>
777c2c93:	6a 00                	push   $0x0
777c2c95:	6a 00                	push   $0x0
777c2c97:	68 68 04 00 00       	push   $0x468
777c2c9c:	8b 45 08             	mov    0x8(%ebp),%eax
777c2c9f:	50                   	push   %eax
777c2ca0:	e8 ab 29 00 00       	call   777c5650 <_SendMessageW@16>
777c2ca5:	31 d2                	xor    %edx,%edx
777c2ca7:	e9 d4 ed ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c2cac:	6a 00                	push   $0x0
777c2cae:	6a 00                	push   $0x0
777c2cb0:	68 04 08 00 00       	push   $0x804
777c2cb5:	8b 45 08             	mov    0x8(%ebp),%eax
777c2cb8:	50                   	push   %eax
777c2cb9:	e8 92 29 00 00       	call   777c5650 <_SendMessageW@16>
777c2cbe:	e9 13 fc ff ff       	jmp    777c28d6 <_MCIWndProc@16+0x1286>
777c2cc3:	52                   	push   %edx
777c2cc4:	52                   	push   %edx
777c2cc5:	50                   	push   %eax
777c2cc6:	8b 45 08             	mov    0x8(%ebp),%eax
777c2cc9:	50                   	push   %eax
777c2cca:	e8 41 2a 00 00       	call   777c5710 <_KillTimer@8>
777c2ccf:	59                   	pop    %ecx
777c2cd0:	58                   	pop    %eax
777c2cd1:	e9 f5 fb ff ff       	jmp    777c28cb <_MCIWndProc@16+0x127b>
777c2cd6:	8b 46 10             	mov    0x10(%esi),%eax
777c2cd9:	3d 03 02 00 00       	cmp    $0x203,%eax
777c2cde:	0f 84 8d f9 ff ff    	je     777c2671 <_MCIWndProc@16+0x1021>
777c2ce4:	0f 82 90 ed ff ff    	jb     777c1a7a <_MCIWndProc@16+0x42a>
777c2cea:	2d 07 02 00 00       	sub    $0x207,%eax
777c2cef:	83 f8 01             	cmp    $0x1,%eax
777c2cf2:	0f 87 82 ed ff ff    	ja     777c1a7a <_MCIWndProc@16+0x42a>
777c2cf8:	ba 01 00 00 00       	mov    $0x1,%edx
777c2cfd:	e9 02 eb ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c2d02:	8d 85 58 fa ff ff    	lea    0xfffffa58(%ebp),%eax
777c2d08:	50                   	push   %eax
777c2d09:	68 00 00 04 00       	push   $0x40000
777c2d0e:	68 43 08 00 00       	push   $0x843
777c2d13:	8b 5e 04             	mov    0x4(%esi),%ebx
777c2d16:	53                   	push   %ebx
777c2d17:	e8 34 28 00 00       	call   777c5550 <_mciSendCommandW@16>
777c2d1c:	85 c0                	test   %eax,%eax
777c2d1e:	89 46 38             	mov    %eax,0x38(%esi)
777c2d21:	0f 85 12 ec ff ff    	jne    777c1939 <_MCIWndProc@16+0x2e9>
777c2d27:	8b 4d 14             	mov    0x14(%ebp),%ecx
777c2d2a:	8b 85 5c fa ff ff    	mov    0xfffffa5c(%ebp),%eax
777c2d30:	31 d2                	xor    %edx,%edx
777c2d32:	89 01                	mov    %eax,(%ecx)
777c2d34:	8b 85 60 fa ff ff    	mov    0xfffffa60(%ebp),%eax
777c2d3a:	89 41 04             	mov    %eax,0x4(%ecx)
777c2d3d:	8b 85 64 fa ff ff    	mov    0xfffffa64(%ebp),%eax
777c2d43:	89 41 08             	mov    %eax,0x8(%ecx)
777c2d46:	8b 85 68 fa ff ff    	mov    0xfffffa68(%ebp),%eax
777c2d4c:	89 41 0c             	mov    %eax,0xc(%ecx)
777c2d4f:	e9 2c ed ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c2d54:	50                   	push   %eax
777c2d55:	50                   	push   %eax
777c2d56:	53                   	push   %ebx
777c2d57:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c2d5a:	51                   	push   %ecx
777c2d5b:	e8 f0 29 00 00       	call   777c5750 <_GetClientRect@8>
777c2d60:	8b 85 6c ff ff ff    	mov    0xffffff6c(%ebp),%eax
777c2d66:	89 85 74 ff ff ff    	mov    %eax,0xffffff74(%ebp)
777c2d6c:	58                   	pop    %eax
777c2d6d:	5a                   	pop    %edx
777c2d6e:	e9 f8 f3 ff ff       	jmp    777c216b <_MCIWndProc@16+0xb1b>
777c2d73:	50                   	push   %eax
777c2d74:	6a 01                	push   $0x1
777c2d76:	6a 00                	push   $0x0
777c2d78:	8b 45 08             	mov    0x8(%ebp),%eax
777c2d7b:	50                   	push   %eax
777c2d7c:	e8 3f 29 00 00       	call   777c56c0 <_InvalidateRect@12>
777c2d81:	31 d2                	xor    %edx,%edx
777c2d83:	e9 f8 ec ff ff       	jmp    777c1a80 <_MCIWndProc@16+0x430>
777c2d88:	8b 45 14             	mov    0x14(%ebp),%eax
777c2d8b:	89 9d b0 f8 ff ff    	mov    %ebx,0xfffff8b0(%ebp)
777c2d91:	89 85 ac f8 ff ff    	mov    %eax,0xfffff8ac(%ebp)
777c2d97:	8d 85 a8 f8 ff ff    	lea    0xfffff8a8(%ebp),%eax
777c2d9d:	50                   	push   %eax
777c2d9e:	68 00 08 00 00       	push   $0x800
777c2da3:	68 10 08 00 00       	push   $0x810
777c2da8:	8b 4e 04             	mov    0x4(%esi),%ecx
777c2dab:	51                   	push   %ecx
777c2dac:	e8 9f 27 00 00       	call   777c5550 <_mciSendCommandW@16>
777c2db1:	89 46 38             	mov    %eax,0x38(%esi)
777c2db4:	e9 c2 fa ff ff       	jmp    777c287b <_MCIWndProc@16+0x122b>
777c2db9:	8d 46 3c             	lea    0x3c(%esi),%eax
777c2dbc:	57                   	push   %edi
777c2dbd:	53                   	push   %ebx
777c2dbe:	50                   	push   %eax
777c2dbf:	8b 4d 14             	mov    0x14(%ebp),%ecx
777c2dc2:	51                   	push   %ecx
777c2dc3:	e8 88 2c 00 00       	call   777c5a50 <_wcsncpy>
777c2dc8:	8b 56 38             	mov    0x38(%esi),%edx
777c2dcb:	e9 34 ea ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c2dd0:	f6 46 01 10          	testb  $0x10,0x1(%esi)
777c2dd4:	0f 84 a0 ec ff ff    	je     777c1a7a <_MCIWndProc@16+0x42a>
777c2dda:	50                   	push   %eax
777c2ddb:	8b 46 2c             	mov    0x2c(%esi),%eax
777c2dde:	50                   	push   %eax
777c2ddf:	68 cd 04 00 00       	push   $0x4cd
777c2de4:	8b 46 30             	mov    0x30(%esi),%eax
777c2de7:	50                   	push   %eax
777c2de8:	e9 b3 fe ff ff       	jmp    777c2ca0 <_MCIWndProc@16+0x1650>
777c2ded:	8d 85 f8 f9 ff ff    	lea    0xfffff9f8(%ebp),%eax
777c2df3:	c7 85 00 fa ff ff 02 	movl   $0x2,0xfffffa00(%ebp)
777c2dfa:	00 00 00 
777c2dfd:	50                   	push   %eax
777c2dfe:	68 00 03 00 00       	push   $0x300
777c2e03:	68 14 08 00 00       	push   $0x814
777c2e08:	8b 46 04             	mov    0x4(%esi),%eax
777c2e0b:	50                   	push   %eax
777c2e0c:	e8 3f 27 00 00       	call   777c5550 <_mciSendCommandW@16>
777c2e11:	85 c0                	test   %eax,%eax
777c2e13:	89 46 38             	mov    %eax,0x38(%esi)
777c2e16:	75 b8                	jne    777c2dd0 <_MCIWndProc@16+0x1780>
777c2e18:	8b 95 fc f9 ff ff    	mov    0xfffff9fc(%ebp),%edx
777c2e1e:	e9 e1 e9 ff ff       	jmp    777c1804 <_MCIWndProc@16+0x1b4>
777c2e23:	83 ec 0c             	sub    $0xc,%esp
777c2e26:	8b 5d 14             	mov    0x14(%ebp),%ebx
777c2e29:	53                   	push   %ebx
777c2e2a:	e8 f1 2a 00 00       	call   777c5920 <_lstrlenW@4>
777c2e2f:	5a                   	pop    %edx
777c2e30:	59                   	pop    %ecx
777c2e31:	8d 84 00 80 00 00 00 	lea    0x80(%eax,%eax,1),%eax
777c2e38:	50                   	push   %eax
777c2e39:	6a 00                	push   $0x0
777c2e3b:	53                   	push   %ebx
777c2e3c:	e8 9f 2a 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c2e41:	89 04 24             	mov    %eax,(%esp)
777c2e44:	e8 a7 2a 00 00       	call   777c58f0 <_HeapAlloc@12>
777c2e49:	8b 4e 0c             	mov    0xc(%esi),%ecx
777c2e4c:	89 85 18 f8 ff ff    	mov    %eax,0xfffff818(%ebp)
777c2e52:	51                   	push   %ecx
777c2e53:	68 60 81 7c 77       	push   $0x777c8160
777c2e58:	50                   	push   %eax
777c2e59:	e8 42 29 00 00       	call   777c57a0 <_wsprintfW>
777c2e5e:	58                   	pop    %eax
777c2e5f:	8b 45 14             	mov    0x14(%ebp),%eax
777c2e62:	5a                   	pop    %edx
777c2e63:	50                   	push   %eax
777c2e64:	8b 9d 18 f8 ff ff    	mov    0xfffff818(%ebp),%ebx
777c2e6a:	53                   	push   %ebx
777c2e6b:	e8 10 2c 00 00       	call   777c5a80 <_wcscat>
777c2e70:	6a 00                	push   $0x0
777c2e72:	6a 00                	push   $0x0
777c2e74:	6a 00                	push   $0x0
777c2e76:	8b 8d 18 f8 ff ff    	mov    0xfffff818(%ebp),%ecx
777c2e7c:	51                   	push   %ecx
777c2e7d:	e8 de 26 00 00       	call   777c5560 <_mciSendStringW@16>
777c2e82:	83 c4 10             	add    $0x10,%esp
777c2e85:	85 c0                	test   %eax,%eax
777c2e87:	89 46 38             	mov    %eax,0x38(%esi)
777c2e8a:	0f 85 4d f6 ff ff    	jne    777c24dd <_MCIWndProc@16+0xe8d>
777c2e90:	83 ec 10             	sub    $0x10,%esp
777c2e93:	6a 00                	push   $0x0
777c2e95:	6a 00                	push   $0x0
777c2e97:	68 68 04 00 00       	push   $0x468
777c2e9c:	8b 55 08             	mov    0x8(%ebp),%edx
777c2e9f:	52                   	push   %edx
777c2ea0:	e8 ab 27 00 00       	call   777c5650 <_SendMessageW@16>
777c2ea5:	89 04 24             	mov    %eax,(%esp)
777c2ea8:	6a 01                	push   $0x1
777c2eaa:	68 08 04 00 00       	push   $0x408
777c2eaf:	68 02 32 00 00       	push   $0x3202
777c2eb4:	8b 45 08             	mov    0x8(%ebp),%eax
777c2eb7:	50                   	push   %eax
777c2eb8:	e8 a3 27 00 00       	call   777c5660 <_SendDlgItemMessageW@20>
777c2ebd:	83 c4 0c             	add    $0xc,%esp
777c2ec0:	e9 18 f6 ff ff       	jmp    777c24dd <_MCIWndProc@16+0xe8d>
777c2ec5:	50                   	push   %eax
777c2ec6:	6a 11                	push   $0x11
777c2ec8:	6a 00                	push   $0x0
777c2eca:	6a 00                	push   $0x0
777c2ecc:	8b 4d 14             	mov    0x14(%ebp),%ecx
777c2ecf:	c1 e9 10             	shr    $0x10,%ecx
777c2ed2:	89 8d 34 f8 ff ff    	mov    %ecx,0xfffff834(%ebp)
777c2ed8:	83 e9 20             	sub    $0x20,%ecx
777c2edb:	89 8d 30 f8 ff ff    	mov    %ecx,0xfffff830(%ebp)
777c2ee1:	51                   	push   %ecx
777c2ee2:	6a 00                	push   $0x0
777c2ee4:	6a 00                	push   $0x0
777c2ee6:	83 ec 0c             	sub    $0xc,%esp
777c2ee9:	68 00 32 00 00       	push   $0x3200
777c2eee:	8b 45 08             	mov    0x8(%ebp),%eax
777c2ef1:	50                   	push   %eax
777c2ef2:	e8 39 28 00 00       	call   777c5730 <_GetDlgItem@8>
777c2ef7:	83 c4 0c             	add    $0xc,%esp
777c2efa:	50                   	push   %eax
777c2efb:	e8 f0 27 00 00       	call   777c56f0 <_SetWindowPos@28>
777c2f00:	6a 11                	push   $0x11
777c2f02:	6a 00                	push   $0x0
777c2f04:	6a 00                	push   $0x0
777c2f06:	8b 85 30 f8 ff ff    	mov    0xfffff830(%ebp),%eax
777c2f0c:	50                   	push   %eax
777c2f0d:	6a 20                	push   $0x20
777c2f0f:	6a 00                	push   $0x0
777c2f11:	83 ec 0c             	sub    $0xc,%esp
777c2f14:	68 01 32 00 00       	push   $0x3201
777c2f19:	8b 45 08             	mov    0x8(%ebp),%eax
777c2f1c:	50                   	push   %eax
777c2f1d:	e8 0e 28 00 00       	call   777c5730 <_GetDlgItem@8>
777c2f22:	83 c4 0c             	add    $0xc,%esp
777c2f25:	50                   	push   %eax
777c2f26:	e8 c5 27 00 00       	call   777c56f0 <_SetWindowPos@28>
777c2f2b:	6a 10                	push   $0x10
777c2f2d:	6a 20                	push   $0x20
777c2f2f:	8b 45 14             	mov    0x14(%ebp),%eax
777c2f32:	25 ff ff 00 00       	and    $0xffff,%eax
777c2f37:	89 85 2c f8 ff ff    	mov    %eax,0xfffff82c(%ebp)
777c2f3d:	83 e8 40             	sub    $0x40,%eax
777c2f40:	50                   	push   %eax
777c2f41:	8b 85 30 f8 ff ff    	mov    0xfffff830(%ebp),%eax
777c2f47:	50                   	push   %eax
777c2f48:	6a 40                	push   $0x40
777c2f4a:	6a 00                	push   $0x0
777c2f4c:	83 ec 0c             	sub    $0xc,%esp
777c2f4f:	68 02 32 00 00       	push   $0x3202
777c2f54:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c2f57:	51                   	push   %ecx
777c2f58:	e8 d3 27 00 00       	call   777c5730 <_GetDlgItem@8>
777c2f5d:	83 c4 0c             	add    $0xc,%esp
777c2f60:	50                   	push   %eax
777c2f61:	e8 8a 27 00 00       	call   777c56f0 <_SetWindowPos@28>
777c2f66:	8b 06                	mov    (%esi),%eax
777c2f68:	5a                   	pop    %edx
777c2f69:	a8 04                	test   $0x4,%al
777c2f6b:	75 4d                	jne    777c2fba <_MCIWndProc@16+0x196a>
777c2f6d:	8b 95 2c f8 ff ff    	mov    0xfffff82c(%ebp),%edx
777c2f73:	8b 8d 34 f8 ff ff    	mov    0xfffff834(%ebp),%ecx
777c2f79:	c7 85 7c ff ff ff 00 	movl   $0x0,0xffffff7c(%ebp)
777c2f80:	00 00 00 
777c2f83:	c7 85 78 ff ff ff 00 	movl   $0x0,0xffffff78(%ebp)
777c2f8a:	00 00 00 
777c2f8d:	89 55 80             	mov    %edx,0xffffff80(%ebp)
777c2f90:	89 4d 84             	mov    %ecx,0xffffff84(%ebp)
777c2f93:	f6 06 02             	testb  $0x2,(%esi)
777c2f96:	75 09                	jne    777c2fa1 <_MCIWndProc@16+0x1951>
777c2f98:	8b 85 30 f8 ff ff    	mov    0xfffff830(%ebp),%eax
777c2f9e:	89 45 84             	mov    %eax,0xffffff84(%ebp)
777c2fa1:	8d 85 78 ff ff ff    	lea    0xffffff78(%ebp),%eax
777c2fa7:	50                   	push   %eax
777c2fa8:	6a 00                	push   $0x0
777c2faa:	68 8f 04 00 00       	push   $0x48f
777c2faf:	8b 45 08             	mov    0x8(%ebp),%eax
777c2fb2:	50                   	push   %eax
777c2fb3:	e8 98 26 00 00       	call   777c5650 <_SendMessageW@16>
777c2fb8:	8b 06                	mov    (%esi),%eax
777c2fba:	f6 c4 04             	test   $0x4,%ah
777c2fbd:	0f 84 ca e8 ff ff    	je     777c188d <_MCIWndProc@16+0x23d>
777c2fc3:	6a 00                	push   $0x0
777c2fc5:	8b 46 2c             	mov    0x2c(%esi),%eax
777c2fc8:	50                   	push   %eax
777c2fc9:	68 ca 04 00 00       	push   $0x4ca
777c2fce:	8b 46 30             	mov    0x30(%esi),%eax
777c2fd1:	50                   	push   %eax
777c2fd2:	e8 79 26 00 00       	call   777c5650 <_SendMessageW@16>
777c2fd7:	e9 b1 e8 ff ff       	jmp    777c188d <_MCIWndProc@16+0x23d>
777c2fdc:	50                   	push   %eax
777c2fdd:	50                   	push   %eax
777c2fde:	68 90 80 7c 77       	push   $0x777c8090
777c2fe3:	68 04 01 00 00       	push   $0x104
777c2fe8:	53                   	push   %ebx
777c2fe9:	6a 00                	push   $0x0
777c2feb:	53                   	push   %ebx
777c2fec:	68 84 80 7c 77       	push   $0x777c8084
777c2ff1:	e8 3a 29 00 00       	call   777c5930 <_GetPrivateProfileStringW@24>
777c2ff6:	5a                   	pop    %edx
777c2ff7:	85 c0                	test   %eax,%eax
777c2ff9:	59                   	pop    %ecx
777c2ffa:	0f 84 df f0 ff ff    	je     777c20df <_MCIWndProc@16+0xa8f>
777c3000:	50                   	push   %eax
777c3001:	6a 00                	push   $0x0
777c3003:	6a 00                	push   $0x0
777c3005:	53                   	push   %ebx
777c3006:	e8 b5 25 00 00       	call   777c55c0 <_OpenDriver@12>
777c300b:	89 46 08             	mov    %eax,0x8(%esi)
777c300e:	58                   	pop    %eax
777c300f:	e9 cb f0 ff ff       	jmp    777c20df <_MCIWndProc@16+0xa8f>
777c3014:	52                   	push   %edx
777c3015:	50                   	push   %eax
777c3016:	6a 00                	push   $0x0
777c3018:	50                   	push   %eax
777c3019:	e8 c2 28 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c301e:	89 04 24             	mov    %eax,(%esp)
777c3021:	e8 da 28 00 00       	call   777c5900 <_HeapFree@12>
777c3026:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
777c302d:	58                   	pop    %eax
777c302e:	e9 fb fa ff ff       	jmp    777c2b2e <_MCIWndProc@16+0x14de>
777c3033:	50                   	push   %eax
777c3034:	8b 46 2c             	mov    0x2c(%esi),%eax
777c3037:	50                   	push   %eax
777c3038:	68 cd 04 00 00       	push   $0x4cd
777c303d:	8b 5e 30             	mov    0x30(%esi),%ebx
777c3040:	53                   	push   %ebx
777c3041:	e8 0a 26 00 00       	call   777c5650 <_SendMessageW@16>
777c3046:	e9 90 f7 ff ff       	jmp    777c27db <_MCIWndProc@16+0x118b>
777c304b:	8d 85 3c f8 ff ff    	lea    0xfffff83c(%ebp),%eax
777c3051:	c7 85 3c f8 ff ff 00 	movl   $0x0,0xfffff83c(%ebp)
777c3058:	00 00 00 
777c305b:	50                   	push   %eax
777c305c:	6a 00                	push   $0x0
777c305e:	68 04 08 00 00       	push   $0x804
777c3063:	8b 4e 04             	mov    0x4(%esi),%ecx
777c3066:	51                   	push   %ecx
777c3067:	e8 e4 24 00 00       	call   777c5550 <_mciSendCommandW@16>
777c306c:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
777c3073:	89 46 38             	mov    %eax,0x38(%esi)
777c3076:	e9 9a fa ff ff       	jmp    777c2b15 <_MCIWndProc@16+0x14c5>
777c307b:	50                   	push   %eax
777c307c:	6a 00                	push   $0x0
777c307e:	6a 00                	push   $0x0
777c3080:	8b 46 08             	mov    0x8(%esi),%eax
777c3083:	50                   	push   %eax
777c3084:	e8 47 25 00 00       	call   777c55d0 <_CloseDriver@12>
777c3089:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
777c3090:	5f                   	pop    %edi
777c3091:	e9 74 fa ff ff       	jmp    777c2b0a <_MCIWndProc@16+0x14ba>
777c3096:	50                   	push   %eax
777c3097:	8d 85 a8 fa ff ff    	lea    0xfffffaa8(%ebp),%eax
777c309d:	68 00 01 00 00       	push   $0x100
777c30a2:	50                   	push   %eax
777c30a3:	8b 46 38             	mov    0x38(%esi),%eax
777c30a6:	50                   	push   %eax
777c30a7:	e8 e4 24 00 00       	call   777c5590 <_mciGetErrorStringW@12>
777c30ac:	8d 95 a8 fa ff ff    	lea    0xfffffaa8(%ebp),%edx
777c30b2:	c7 04 24 30 00 00 00 	movl   $0x30,(%esp)
777c30b9:	68 a6 80 7c 77       	push   $0x777c80a6
777c30be:	52                   	push   %edx
777c30bf:	8b 45 08             	mov    0x8(%ebp),%eax
777c30c2:	50                   	push   %eax
777c30c3:	e8 98 26 00 00       	call   777c5760 <_MessageBoxW@16>
777c30c8:	f6 46 01 10          	testb  $0x10,0x1(%esi)
777c30cc:	0f 84 5c f1 ff ff    	je     777c222e <_MCIWndProc@16+0xbde>
777c30d2:	8b 46 38             	mov    0x38(%esi),%eax
777c30d5:	e9 4d f9 ff ff       	jmp    777c2a27 <_MCIWndProc@16+0x13d7>
777c30da:	8b 45 14             	mov    0x14(%ebp),%eax
777c30dd:	50                   	push   %eax
777c30de:	6a 00                	push   $0x0
777c30e0:	68 ea 04 00 00       	push   $0x4ea
777c30e5:	8b 45 08             	mov    0x8(%ebp),%eax
777c30e8:	50                   	push   %eax
777c30e9:	e8 62 25 00 00       	call   777c5650 <_SendMessageW@16>
777c30ee:	e9 3b f1 ff ff       	jmp    777c222e <_MCIWndProc@16+0xbde>
777c30f3:	6a 00                	push   $0x0
777c30f5:	6a 00                	push   $0x0
777c30f7:	68 ce 04 00 00       	push   $0x4ce
777c30fc:	8b 46 2c             	mov    0x2c(%esi),%eax
777c30ff:	50                   	push   %eax
777c3100:	e8 4b 25 00 00       	call   777c5650 <_SendMessageW@16>
777c3105:	3d 0e 02 00 00       	cmp    $0x20e,%eax
777c310a:	0f 84 79 01 00 00    	je     777c3289 <_MCIWndProc@16+0x1c39>
777c3110:	0f 8f 5a 01 00 00    	jg     777c3270 <_MCIWndProc@16+0x1c20>
777c3116:	3d 0d 02 00 00       	cmp    $0x20d,%eax
777c311b:	0f 85 59 e9 ff ff    	jne    777c1a7a <_MCIWndProc@16+0x42a>
777c3121:	6a 00                	push   $0x0
777c3123:	6a 00                	push   $0x0
777c3125:	68 08 08 00 00       	push   $0x808
777c312a:	8b 7e 2c             	mov    0x2c(%esi),%edi
777c312d:	57                   	push   %edi
777c312e:	e8 1d 25 00 00       	call   777c5650 <_SendMessageW@16>
777c3133:	e9 6d fb ff ff       	jmp    777c2ca5 <_MCIWndProc@16+0x1655>
777c3138:	8d 45 88             	lea    0xffffff88(%ebp),%eax
777c313b:	57                   	push   %edi
777c313c:	57                   	push   %edi
777c313d:	50                   	push   %eax
777c313e:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c3141:	51                   	push   %ecx
777c3142:	e8 29 26 00 00       	call   777c5770 <_BeginPaint@8>
777c3147:	5f                   	pop    %edi
777c3148:	5a                   	pop    %edx
777c3149:	e9 05 f5 ff ff       	jmp    777c2653 <_MCIWndProc@16+0x1003>
777c314e:	6a 00                	push   $0x0
777c3150:	6a 00                	push   $0x0
777c3152:	68 67 04 00 00       	push   $0x467
777c3157:	8b 5d 08             	mov    0x8(%ebp),%ebx
777c315a:	53                   	push   %ebx
777c315b:	e8 f0 24 00 00       	call   777c5650 <_SendMessageW@16>
777c3160:	89 45 14             	mov    %eax,0x14(%ebp)
777c3163:	e9 a6 e7 ff ff       	jmp    777c190e <_MCIWndProc@16+0x2be>
777c3168:	6a 00                	push   $0x0
777c316a:	6a 00                	push   $0x0
777c316c:	68 69 04 00 00       	push   $0x469
777c3171:	eb e4                	jmp    777c3157 <_MCIWndProc@16+0x1b07>
777c3173:	6a 00                	push   $0x0
777c3175:	6a 00                	push   $0x0
777c3177:	68 ce 04 00 00       	push   $0x4ce
777c317c:	8b 46 2c             	mov    0x2c(%esi),%eax
777c317f:	50                   	push   %eax
777c3180:	e8 cb 24 00 00       	call   777c5650 <_SendMessageW@16>
777c3185:	39 46 14             	cmp    %eax,0x14(%esi)
777c3188:	0f 84 26 f4 ff ff    	je     777c25b4 <_MCIWndProc@16+0xf64>
777c318e:	89 46 14             	mov    %eax,0x14(%esi)
777c3191:	50                   	push   %eax
777c3192:	8b 46 2c             	mov    0x2c(%esi),%eax
777c3195:	50                   	push   %eax
777c3196:	68 c8 04 00 00       	push   $0x4c8
777c319b:	8b 46 30             	mov    0x30(%esi),%eax
777c319e:	50                   	push   %eax
777c319f:	e8 ac 24 00 00       	call   777c5650 <_SendMessageW@16>
777c31a4:	e9 0b f4 ff ff       	jmp    777c25b4 <_MCIWndProc@16+0xf64>
777c31a9:	6a 00                	push   $0x0
777c31ab:	8b 45 14             	mov    0x14(%ebp),%eax
777c31ae:	8b 70 04             	mov    0x4(%eax),%esi
777c31b1:	56                   	push   %esi
777c31b2:	68 00 32 00 00       	push   $0x3200
777c31b7:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c31ba:	51                   	push   %ecx
777c31bb:	6a 20                	push   $0x20
777c31bd:	6a 20                	push   $0x20
777c31bf:	8b 50 10             	mov    0x10(%eax),%edx
777c31c2:	52                   	push   %edx
777c31c3:	6a 00                	push   $0x0
777c31c5:	68 00 00 00 50       	push   $0x50000000
777c31ca:	68 64 80 7c 77       	push   $0x777c8064
777c31cf:	68 4c 80 7c 77       	push   $0x777c804c
777c31d4:	6a 00                	push   $0x0
777c31d6:	e8 55 24 00 00       	call   777c5630 <_CreateWindowExW@48>
777c31db:	c7 85 60 f8 ff ff 08 	movl   $0x8,0xfffff860(%ebp)
777c31e2:	00 00 00 
777c31e5:	83 ec 0c             	sub    $0xc,%esp
777c31e8:	c7 85 64 f8 ff ff 04 	movl   $0x4,0xfffff864(%ebp)
777c31ef:	00 00 00 
777c31f2:	8d 85 60 f8 ff ff    	lea    0xfffff860(%ebp),%eax
777c31f8:	50                   	push   %eax
777c31f9:	e8 02 24 00 00       	call   777c5600 <_InitCommonControlsEx@4>
777c31fe:	83 c4 0c             	add    $0xc,%esp
777c3201:	6a 00                	push   $0x0
777c3203:	8b 55 14             	mov    0x14(%ebp),%edx
777c3206:	8b 42 04             	mov    0x4(%edx),%eax
777c3209:	50                   	push   %eax
777c320a:	68 02 32 00 00       	push   $0x3202
777c320f:	8b 45 08             	mov    0x8(%ebp),%eax
777c3212:	50                   	push   %eax
777c3213:	6a 20                	push   $0x20
777c3215:	8b 42 14             	mov    0x14(%edx),%eax
777c3218:	83 e8 40             	sub    $0x40,%eax
777c321b:	50                   	push   %eax
777c321c:	8b 42 10             	mov    0x10(%edx),%eax
777c321f:	50                   	push   %eax
777c3220:	6a 40                	push   $0x40
777c3222:	68 00 00 00 50       	push   $0x50000000
777c3227:	6a 00                	push   $0x0
777c3229:	68 70 82 7c 77       	push   $0x777c8270
777c322e:	6a 00                	push   $0x0
777c3230:	e8 fb 23 00 00       	call   777c5630 <_CreateWindowExW@48>
777c3235:	e9 3f e5 ff ff       	jmp    777c1779 <_MCIWndProc@16+0x129>
777c323a:	6a 00                	push   $0x0
777c323c:	8b 41 04             	mov    0x4(%ecx),%eax
777c323f:	50                   	push   %eax
777c3240:	68 01 32 00 00       	push   $0x3201
777c3245:	8b 45 08             	mov    0x8(%ebp),%eax
777c3248:	50                   	push   %eax
777c3249:	6a 20                	push   $0x20
777c324b:	6a 20                	push   $0x20
777c324d:	8b 41 10             	mov    0x10(%ecx),%eax
777c3250:	50                   	push   %eax
777c3251:	6a 20                	push   $0x20
777c3253:	68 00 00 00 50       	push   $0x50000000
777c3258:	68 5a 80 7c 77       	push   $0x777c805a
777c325d:	68 4c 80 7c 77       	push   $0x777c804c
777c3262:	6a 00                	push   $0x0
777c3264:	e8 c7 23 00 00       	call   777c5630 <_CreateWindowExW@48>
777c3269:	8b 16                	mov    (%esi),%edx
777c326b:	e9 00 e5 ff ff       	jmp    777c1770 <_MCIWndProc@16+0x120>
777c3270:	3d 11 02 00 00       	cmp    $0x211,%eax
777c3275:	0f 85 ff e7 ff ff    	jne    777c1a7a <_MCIWndProc@16+0x42a>
777c327b:	6a 00                	push   $0x0
777c327d:	6a 00                	push   $0x0
777c327f:	68 55 08 00 00       	push   $0x855
777c3284:	e9 a1 fe ff ff       	jmp    777c312a <_MCIWndProc@16+0x1ada>
777c3289:	6a 00                	push   $0x0
777c328b:	6a 00                	push   $0x0
777c328d:	68 09 08 00 00       	push   $0x809
777c3292:	e9 93 fe ff ff       	jmp    777c312a <_MCIWndProc@16+0x1ada>
777c3297:	50                   	push   %eax
777c3298:	50                   	push   %eax
777c3299:	6a 04                	push   $0x4
777c329b:	8b 45 08             	mov    0x8(%ebp),%eax
777c329e:	50                   	push   %eax
777c329f:	e8 dc 24 00 00       	call   777c5780 <_GetWindow@8>
777c32a4:	5a                   	pop    %edx
777c32a5:	59                   	pop    %ecx
777c32a6:	e9 16 e5 ff ff       	jmp    777c17c1 <_MCIWndProc@16+0x171>
777c32ab:	56                   	push   %esi
777c32ac:	6a 00                	push   $0x0
777c32ae:	68 fc 04 00 00       	push   $0x4fc
777c32b3:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c32b6:	51                   	push   %ecx
777c32b7:	e9 23 e5 ff ff       	jmp    777c17df <_MCIWndProc@16+0x18f>
777c32bc:	90                   	nop    
777c32bd:	90                   	nop    
777c32be:	90                   	nop    
777c32bf:	90                   	nop    

777c32c0 <_DllMain@12>:

HMODULE MSVFW32_hModule;

BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
{
777c32c0:	55                   	push   %ebp
777c32c1:	89 e5                	mov    %esp,%ebp
777c32c3:	53                   	push   %ebx
777c32c4:	50                   	push   %eax
777c32c5:	8b 5d 08             	mov    0x8(%ebp),%ebx
    TRACE("%p,%lx,%p\n", hinst, reason, reserved);

    switch(reason)
777c32c8:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
777c32cc:	74 12                	je     777c32e0 <_DllMain@12+0x20>
    {
        case DLL_PROCESS_ATTACH:
            DisableThreadLibraryCalls(hinst);
            MSVFW32_hModule = (HMODULE)hinst;
            break;
    }
    return TRUE;
}
777c32ce:	b8 01 00 00 00       	mov    $0x1,%eax
777c32d3:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c32d6:	c9                   	leave  
777c32d7:	c2 0c 00             	ret    $0xc
777c32da:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c32e0:	83 ec 0c             	sub    $0xc,%esp
777c32e3:	53                   	push   %ebx
777c32e4:	e8 57 26 00 00       	call   777c5940 <_DisableThreadLibraryCalls@4>
777c32e9:	89 1d d0 90 7c 77    	mov    %ebx,0x777c90d0
777c32ef:	83 c4 0c             	add    $0xc,%esp
777c32f2:	b8 01 00 00 00       	mov    $0x1,%eax
777c32f7:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c32fa:	c9                   	leave  
777c32fb:	c2 0c 00             	ret    $0xc
777c32fe:	89 f6                	mov    %esi,%esi

777c3300 <_compare_fourcc>:

static int compare_fourcc(DWORD fcc1, DWORD fcc2)
{
777c3300:	55                   	push   %ebp
  char fcc_str1[4];
  char fcc_str2[4];
  fourcc_to_string(fcc_str1, fcc1);
777c3301:	89 c1                	mov    %eax,%ecx
777c3303:	66 c1 e9 08          	shr    $0x8,%cx
777c3307:	89 e5                	mov    %esp,%ebp
777c3309:	83 ec 0c             	sub    $0xc,%esp
777c330c:	88 45 fc             	mov    %al,0xfffffffc(%ebp)
  fourcc_to_string(fcc_str2, fcc2);
777c330f:	88 55 f8             	mov    %dl,0xfffffff8(%ebp)
777c3312:	c1 e8 10             	shr    $0x10,%eax
_CRTIMP char* __cdecl	strlwr (char*);
_CRTIMP int __cdecl	strnicmp (const char*, const char*, size_t);
__CRT_INLINE int __cdecl
strncasecmp (const char * __sz1, const char * __sz2, size_t __sizeMaxCompare)
  {return _strnicmp (__sz1, __sz2, __sizeMaxCompare);}
777c3315:	6a 04                	push   $0x4
777c3317:	88 45 fe             	mov    %al,0xfffffffe(%ebp)
777c331a:	88 4d fd             	mov    %cl,0xfffffffd(%ebp)
777c331d:	66 c1 e8 08          	shr    $0x8,%ax
777c3321:	88 45 ff             	mov    %al,0xffffffff(%ebp)
777c3324:	89 d0                	mov    %edx,%eax
777c3326:	66 c1 e8 08          	shr    $0x8,%ax
777c332a:	c1 ea 10             	shr    $0x10,%edx
777c332d:	88 45 f9             	mov    %al,0xfffffff9(%ebp)
_CRTIMP char* __cdecl	strlwr (char*);
_CRTIMP int __cdecl	strnicmp (const char*, const char*, size_t);
__CRT_INLINE int __cdecl
strncasecmp (const char * __sz1, const char * __sz2, size_t __sizeMaxCompare)
  {return _strnicmp (__sz1, __sz2, __sizeMaxCompare);}
777c3330:	8d 45 f8             	lea    0xfffffff8(%ebp),%eax
777c3333:	88 55 fa             	mov    %dl,0xfffffffa(%ebp)
777c3336:	66 c1 ea 08          	shr    $0x8,%dx
_CRTIMP char* __cdecl	strlwr (char*);
_CRTIMP int __cdecl	strnicmp (const char*, const char*, size_t);
__CRT_INLINE int __cdecl
strncasecmp (const char * __sz1, const char * __sz2, size_t __sizeMaxCompare)
  {return _strnicmp (__sz1, __sz2, __sizeMaxCompare);}
777c333a:	50                   	push   %eax
777c333b:	8d 45 fc             	lea    0xfffffffc(%ebp),%eax
777c333e:	88 55 fb             	mov    %dl,0xfffffffb(%ebp)
_CRTIMP char* __cdecl	strlwr (char*);
_CRTIMP int __cdecl	strnicmp (const char*, const char*, size_t);
__CRT_INLINE int __cdecl
strncasecmp (const char * __sz1, const char * __sz2, size_t __sizeMaxCompare)
  {return _strnicmp (__sz1, __sz2, __sizeMaxCompare);}
777c3341:	50                   	push   %eax
777c3342:	e8 89 27 00 00       	call   777c5ad0 <__strnicmp>
777c3347:	83 c4 10             	add    $0x10,%esp
  return strncasecmp(fcc_str1, fcc_str2, 4);
}
777c334a:	c9                   	leave  
777c334b:	c3                   	ret    
777c334c:	8d 74 26 00          	lea    0x0(%esi),%esi

777c3350 <_enum_drivers>:

typedef BOOL (*enum_handler_t)(const char*, int, void*);

static BOOL enum_drivers(DWORD fccType, enum_handler_t handler, void* param)
{
777c3350:	55                   	push   %ebp
777c3351:	89 e5                	mov    %esp,%ebp
777c3353:	57                   	push   %edi
777c3354:	56                   	push   %esi
777c3355:	53                   	push   %ebx
777c3356:	81 ec 48 08 00 00    	sub    $0x848,%esp
777c335c:	89 95 c0 f7 ff ff    	mov    %edx,0xfffff7c0(%ebp)
    CHAR buf[2048], fccTypeStr[5], *s;
    DWORD i, cnt = 0, bufLen, lRet;
    BOOL result = FALSE;
    FILETIME lastWrite;
    HKEY hKey;

    fourcc_to_string(fccTypeStr, fccType);
777c3362:	88 85 d8 f7 ff ff    	mov    %al,0xfffff7d8(%ebp)
777c3368:	89 c2                	mov    %eax,%edx
777c336a:	c1 e8 10             	shr    $0x10,%eax
777c336d:	c7 85 d0 f7 ff ff 00 	movl   $0x0,0xfffff7d0(%ebp)
777c3374:	00 00 00 
777c3377:	88 85 da f7 ff ff    	mov    %al,0xfffff7da(%ebp)
    fccTypeStr[4] = '.';
777c337d:	c6 85 dc f7 ff ff 2e 	movb   $0x2e,0xfffff7dc(%ebp)
777c3384:	66 c1 ea 08          	shr    $0x8,%dx
777c3388:	31 ff                	xor    %edi,%edi
777c338a:	66 c1 e8 08          	shr    $0x8,%ax
777c338e:	88 95 d9 f7 ff ff    	mov    %dl,0xfffff7d9(%ebp)
777c3394:	88 85 db f7 ff ff    	mov    %al,0xfffff7db(%ebp)

    /* first, go through the registry entries */
    lRet = RegOpenKeyExA(HKEY_LOCAL_MACHINE, HKLM_DRIVERS32, 0, KEY_QUERY_VALUE, &hKey);
777c339a:	8d 85 d4 f7 ff ff    	lea    0xfffff7d4(%ebp),%eax
777c33a0:	50                   	push   %eax
777c33a1:	6a 01                	push   $0x1
777c33a3:	6a 00                	push   $0x0
777c33a5:	68 a0 82 7c 77       	push   $0x777c82a0
777c33aa:	68 02 00 00 80       	push   $0x80000002
777c33af:	e8 bc 24 00 00       	call   777c5870 <_RegOpenKeyExA@20>
    if (lRet == ERROR_SUCCESS) 
777c33b4:	83 c4 0c             	add    $0xc,%esp
777c33b7:	85 c0                	test   %eax,%eax
777c33b9:	0f 84 92 00 00 00    	je     777c3451 <_enum_drivers+0x101>
    {
	RegQueryInfoKeyA( hKey, 0, 0, 0, &cnt, 0, 0, 0, 0, 0, 0, 0);
	for (i = 0; i < cnt; i++) 
	{
	    bufLen = sizeof(buf) / sizeof(buf[0]);
	    lRet = RegEnumKeyExA(hKey, i, buf, &bufLen, 0, 0, 0, &lastWrite);
	    if (lRet != ERROR_SUCCESS) continue;
	    if (strncasecmp(buf, fccTypeStr, 5) || buf[9] != '=') continue;
	    if ((result = handler(buf, i, param))) break;
	}
    	RegCloseKey( hKey );
    }
    if (result) return result;

    /* if that didn't work, go through the values in system.ini */
    if (GetPrivateProfileSectionA("drivers32", buf, sizeof(buf), "system.ini")) 
777c33bf:	8d 9d e8 f7 ff ff    	lea    0xfffff7e8(%ebp),%ebx
777c33c5:	68 d7 82 7c 77       	push   $0x777c82d7
777c33ca:	68 00 08 00 00       	push   $0x800
777c33cf:	53                   	push   %ebx
777c33d0:	68 e2 82 7c 77       	push   $0x777c82e2
777c33d5:	e8 76 25 00 00       	call   777c5950 <_GetPrivateProfileSectionA@16>
777c33da:	85 c0                	test   %eax,%eax
777c33dc:	74 69                	je     777c3447 <_enum_drivers+0xf7>
    {
	for (s = buf; *s; cnt++, s += strlen(s) + 1)
777c33de:	80 bd e8 f7 ff ff 00 	cmpb   $0x0,0xfffff7e8(%ebp)
777c33e5:	74 60                	je     777c3447 <_enum_drivers+0xf7>
777c33e7:	8d b5 d8 f7 ff ff    	lea    0xfffff7d8(%ebp),%esi
777c33ed:	eb 25                	jmp    777c3414 <_enum_drivers+0xc4>
777c33ef:	90                   	nop    
777c33f0:	8b 95 d0 f7 ff ff    	mov    0xfffff7d0(%ebp),%edx
777c33f6:	83 ec 0c             	sub    $0xc,%esp
777c33f9:	42                   	inc    %edx
777c33fa:	89 95 d0 f7 ff ff    	mov    %edx,0xfffff7d0(%ebp)
777c3400:	53                   	push   %ebx
777c3401:	e8 ba 26 00 00       	call   777c5ac0 <_strlen>
777c3406:	83 c4 10             	add    $0x10,%esp
777c3409:	01 d8                	add    %ebx,%eax
777c340b:	8d 58 01             	lea    0x1(%eax),%ebx
777c340e:	80 78 01 00          	cmpb   $0x0,0x1(%eax)
777c3412:	74 33                	je     777c3447 <_enum_drivers+0xf7>
_CRTIMP char* __cdecl	strlwr (char*);
_CRTIMP int __cdecl	strnicmp (const char*, const char*, size_t);
__CRT_INLINE int __cdecl
strncasecmp (const char * __sz1, const char * __sz2, size_t __sizeMaxCompare)
  {return _strnicmp (__sz1, __sz2, __sizeMaxCompare);}
777c3414:	50                   	push   %eax
777c3415:	6a 05                	push   $0x5
777c3417:	56                   	push   %esi
777c3418:	53                   	push   %ebx
777c3419:	e8 b2 26 00 00       	call   777c5ad0 <__strnicmp>
777c341e:	83 c4 10             	add    $0x10,%esp
777c3421:	85 c0                	test   %eax,%eax
777c3423:	75 cb                	jne    777c33f0 <_enum_drivers+0xa0>
777c3425:	80 7b 09 3d          	cmpb   $0x3d,0x9(%ebx)
777c3429:	75 c5                	jne    777c33f0 <_enum_drivers+0xa0>
	{
	    if (strncasecmp(s, fccTypeStr, 5) || s[9] != '=') continue;
	    if ((result = handler(s, cnt, param))) break;
777c342b:	50                   	push   %eax
777c342c:	8b 7d 08             	mov    0x8(%ebp),%edi
777c342f:	57                   	push   %edi
777c3430:	8b 8d d0 f7 ff ff    	mov    0xfffff7d0(%ebp),%ecx
777c3436:	51                   	push   %ecx
777c3437:	53                   	push   %ebx
777c3438:	ff 95 c0 f7 ff ff    	call   *0xfffff7c0(%ebp)
777c343e:	83 c4 10             	add    $0x10,%esp
777c3441:	89 c7                	mov    %eax,%edi
777c3443:	85 c0                	test   %eax,%eax
777c3445:	74 a9                	je     777c33f0 <_enum_drivers+0xa0>
	}
    }

    return result;
}
777c3447:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c344a:	89 f8                	mov    %edi,%eax
777c344c:	5b                   	pop    %ebx
777c344d:	5e                   	pop    %esi
777c344e:	5f                   	pop    %edi
777c344f:	5d                   	pop    %ebp
777c3450:	c3                   	ret    
777c3451:	8d 85 d0 f7 ff ff    	lea    0xfffff7d0(%ebp),%eax
777c3457:	6a 00                	push   $0x0
777c3459:	6a 00                	push   $0x0
777c345b:	6a 00                	push   $0x0
777c345d:	6a 00                	push   $0x0
777c345f:	6a 00                	push   $0x0
777c3461:	6a 00                	push   $0x0
777c3463:	6a 00                	push   $0x0
777c3465:	50                   	push   %eax
777c3466:	6a 00                	push   $0x0
777c3468:	6a 00                	push   $0x0
777c346a:	6a 00                	push   $0x0
777c346c:	8b 8d d4 f7 ff ff    	mov    0xfffff7d4(%ebp),%ecx
777c3472:	31 db                	xor    %ebx,%ebx
777c3474:	51                   	push   %ecx
777c3475:	e8 06 24 00 00       	call   777c5880 <_RegQueryInfoKeyA@48>
777c347a:	3b bd d0 f7 ff ff    	cmp    0xfffff7d0(%ebp),%edi
777c3480:	73 7e                	jae    777c3500 <_enum_drivers+0x1b0>
777c3482:	8d b5 e8 f7 ff ff    	lea    0xfffff7e8(%ebp),%esi
777c3488:	eb 0f                	jmp    777c3499 <_enum_drivers+0x149>
777c348a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c3490:	43                   	inc    %ebx
777c3491:	3b 9d d0 f7 ff ff    	cmp    0xfffff7d0(%ebp),%ebx
777c3497:	73 67                	jae    777c3500 <_enum_drivers+0x1b0>
777c3499:	8d 85 c8 f7 ff ff    	lea    0xfffff7c8(%ebp),%eax
777c349f:	8d 95 c4 f7 ff ff    	lea    0xfffff7c4(%ebp),%edx
777c34a5:	c7 85 c4 f7 ff ff 00 	movl   $0x800,0xfffff7c4(%ebp)
777c34ac:	08 00 00 
777c34af:	50                   	push   %eax
777c34b0:	6a 00                	push   $0x0
777c34b2:	6a 00                	push   $0x0
777c34b4:	6a 00                	push   $0x0
777c34b6:	52                   	push   %edx
777c34b7:	56                   	push   %esi
777c34b8:	53                   	push   %ebx
777c34b9:	8b 95 d4 f7 ff ff    	mov    0xfffff7d4(%ebp),%edx
777c34bf:	52                   	push   %edx
777c34c0:	e8 cb 23 00 00       	call   777c5890 <_RegEnumKeyExA@32>
777c34c5:	85 c0                	test   %eax,%eax
777c34c7:	75 c7                	jne    777c3490 <_enum_drivers+0x140>
_CRTIMP char* __cdecl	strlwr (char*);
_CRTIMP int __cdecl	strnicmp (const char*, const char*, size_t);
__CRT_INLINE int __cdecl
strncasecmp (const char * __sz1, const char * __sz2, size_t __sizeMaxCompare)
  {return _strnicmp (__sz1, __sz2, __sizeMaxCompare);}
777c34c9:	50                   	push   %eax
777c34ca:	8d 85 d8 f7 ff ff    	lea    0xfffff7d8(%ebp),%eax
777c34d0:	6a 05                	push   $0x5
777c34d2:	50                   	push   %eax
777c34d3:	56                   	push   %esi
777c34d4:	e8 f7 25 00 00       	call   777c5ad0 <__strnicmp>
777c34d9:	83 c4 10             	add    $0x10,%esp
777c34dc:	85 c0                	test   %eax,%eax
777c34de:	75 b0                	jne    777c3490 <_enum_drivers+0x140>
777c34e0:	80 bd f1 f7 ff ff 3d 	cmpb   $0x3d,0xfffff7f1(%ebp)
777c34e7:	75 a7                	jne    777c3490 <_enum_drivers+0x140>
777c34e9:	50                   	push   %eax
777c34ea:	8b 45 08             	mov    0x8(%ebp),%eax
777c34ed:	50                   	push   %eax
777c34ee:	53                   	push   %ebx
777c34ef:	56                   	push   %esi
777c34f0:	ff 95 c0 f7 ff ff    	call   *0xfffff7c0(%ebp)
777c34f6:	83 c4 10             	add    $0x10,%esp
777c34f9:	89 c7                	mov    %eax,%edi
777c34fb:	85 c0                	test   %eax,%eax
777c34fd:	74 91                	je     777c3490 <_enum_drivers+0x140>
777c34ff:	90                   	nop    
777c3500:	83 ec 0c             	sub    $0xc,%esp
777c3503:	8b 85 d4 f7 ff ff    	mov    0xfffff7d4(%ebp),%eax
777c3509:	50                   	push   %eax
777c350a:	e8 91 23 00 00       	call   777c58a0 <_RegCloseKey@4>
777c350f:	83 c4 0c             	add    $0xc,%esp
777c3512:	85 ff                	test   %edi,%edi
777c3514:	0f 84 a5 fe ff ff    	je     777c33bf <_enum_drivers+0x6f>
777c351a:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c351d:	89 f8                	mov    %edi,%eax
777c351f:	5b                   	pop    %ebx
777c3520:	5e                   	pop    %esi
777c3521:	5f                   	pop    %edi
777c3522:	5d                   	pop    %ebp
777c3523:	c3                   	ret    
777c3524:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c352a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

777c3530 <_MSVIDEO_GetHicPtr>:

/******************************************************************
 *		MSVIDEO_GetHicPtr
 *
 *
 */
WINE_HIC*   MSVIDEO_GetHicPtr(HIC hic)
{
777c3530:	55                   	push   %ebp
    WINE_HIC*   whic;

    for (whic = MSVIDEO_FirstHic; whic && whic->hic != hic; whic = whic->next);
777c3531:	a1 48 90 7c 77       	mov    0x777c9048,%eax
777c3536:	89 e5                	mov    %esp,%ebp
777c3538:	8b 55 08             	mov    0x8(%ebp),%edx
777c353b:	eb 06                	jmp    777c3543 <_MSVIDEO_GetHicPtr+0x13>
777c353d:	8d 76 00             	lea    0x0(%esi),%esi
777c3540:	8b 40 34             	mov    0x34(%eax),%eax
777c3543:	85 c0                	test   %eax,%eax
777c3545:	74 05                	je     777c354c <_MSVIDEO_GetHicPtr+0x1c>
777c3547:	39 50 2c             	cmp    %edx,0x2c(%eax)
777c354a:	75 f4                	jne    777c3540 <_MSVIDEO_GetHicPtr+0x10>
    return whic;
}
777c354c:	5d                   	pop    %ebp
777c354d:	c3                   	ret    
777c354e:	89 f6                	mov    %esi,%esi

777c3550 <_VideoForWindowsVersion@0>:

/***********************************************************************
 *		VideoForWindowsVersion		[MSVFW32.2]
 *		VideoForWindowsVersion		[MSVIDEO.2]
 * Returns the version in major.minor form.
 * In Windows95 this returns 0x040003b6 (4.950)
 */
DWORD WINAPI VideoForWindowsVersion(void) 
{
777c3550:	55                   	push   %ebp
    return 0x040003B6; /* 4.950 */
}
777c3551:	b8 b6 03 00 04       	mov    $0x40003b6,%eax
777c3556:	89 e5                	mov    %esp,%ebp
777c3558:	5d                   	pop    %ebp
777c3559:	c3                   	ret    
777c355a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

777c3560 <_ICInfo_enum_handler>:

static BOOL ICInfo_enum_handler(const char *drv, int nr, void *param)
{
777c3560:	55                   	push   %ebp
777c3561:	89 e5                	mov    %esp,%ebp
777c3563:	57                   	push   %edi
777c3564:	56                   	push   %esi
777c3565:	53                   	push   %ebx
777c3566:	83 ec 14             	sub    $0x14,%esp
777c3569:	8b 7d 08             	mov    0x8(%ebp),%edi
777c356c:	8b 5d 10             	mov    0x10(%ebp),%ebx
    ICINFO *lpicinfo = (ICINFO *)param;
    DWORD fccHandler = mmioStringToFOURCCA(drv + 5, 0);
777c356f:	6a 00                	push   $0x0
777c3571:	8d 47 05             	lea    0x5(%edi),%eax
777c3574:	50                   	push   %eax
777c3575:	e8 66 20 00 00       	call   777c55e0 <_mmioStringToFOURCCA@8>

    /* exact match of fccHandler or nth driver found */
    if ((lpicinfo->fccHandler != nr) && (lpicinfo->fccHandler != fccHandler))
777c357a:	8b 53 08             	mov    0x8(%ebx),%edx
777c357d:	89 c6                	mov    %eax,%esi
777c357f:	3b 55 0c             	cmp    0xc(%ebp),%edx
777c3582:	58                   	pop    %eax
777c3583:	59                   	pop    %ecx
777c3584:	74 0e                	je     777c3594 <_ICInfo_enum_handler+0x34>
	return FALSE;
777c3586:	31 c0                	xor    %eax,%eax
777c3588:	39 f2                	cmp    %esi,%edx
777c358a:	74 08                	je     777c3594 <_ICInfo_enum_handler+0x34>

    lpicinfo->fccType = mmioStringToFOURCCA(drv, 0);
    lpicinfo->fccHandler = fccHandler;
    lpicinfo->dwFlags = 0;
    lpicinfo->dwVersion = 0;
    lpicinfo->dwVersionICM = 0x104;
    lpicinfo->szName[0] = 0;
    lpicinfo->szDescription[0] = 0;
    MultiByteToWideChar(CP_ACP, 0, drv + 10, -1, lpicinfo->szDriver, 
			sizeof(lpicinfo->szDriver)/sizeof(WCHAR));

    return TRUE;
}
777c358c:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c358f:	5b                   	pop    %ebx
777c3590:	5e                   	pop    %esi
777c3591:	5f                   	pop    %edi
777c3592:	5d                   	pop    %ebp
777c3593:	c3                   	ret    
777c3594:	50                   	push   %eax
777c3595:	50                   	push   %eax
777c3596:	6a 00                	push   $0x0
777c3598:	57                   	push   %edi
777c3599:	e8 42 20 00 00       	call   777c55e0 <_mmioStringToFOURCCA@8>
777c359e:	89 73 08             	mov    %esi,0x8(%ebx)
777c35a1:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
777c35a8:	89 43 04             	mov    %eax,0x4(%ebx)
777c35ab:	8d 83 38 01 00 00    	lea    0x138(%ebx),%eax
777c35b1:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
777c35b8:	c7 43 14 04 01 00 00 	movl   $0x104,0x14(%ebx)
777c35bf:	66 c7 43 18 00 00    	movw   $0x0,0x18(%ebx)
777c35c5:	66 c7 43 38 00 00    	movw   $0x0,0x38(%ebx)
777c35cb:	68 80 00 00 00       	push   $0x80
777c35d0:	50                   	push   %eax
777c35d1:	8d 47 0a             	lea    0xa(%edi),%eax
777c35d4:	6a ff                	push   $0xffffffff
777c35d6:	50                   	push   %eax
777c35d7:	6a 00                	push   $0x0
777c35d9:	6a 00                	push   $0x0
777c35db:	e8 80 23 00 00       	call   777c5960 <_MultiByteToWideChar@24>
777c35e0:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c35e3:	b8 01 00 00 00       	mov    $0x1,%eax
777c35e8:	5b                   	pop    %ebx
777c35e9:	5e                   	pop    %esi
777c35ea:	5f                   	pop    %edi
777c35eb:	5d                   	pop    %ebp
777c35ec:	c3                   	ret    
777c35ed:	8d 76 00             	lea    0x0(%esi),%esi

777c35f0 <_ICInfo@12>:

/***********************************************************************
 *		ICInfo				[MSVFW32.@]
 * Get information about an installable compressor. Return TRUE if there
 * is one.
 *
 * PARAMS
 *   fccType     [I] type of compressor (e.g. 'vidc')
 *   fccHandler  [I] real fcc for handler or <n>th compressor
 *   lpicinfo    [O] information about compressor
 */
BOOL VFWAPI ICInfo( DWORD fccType, DWORD fccHandler, ICINFO *lpicinfo)
{
777c35f0:	55                   	push   %ebp
777c35f1:	89 e5                	mov    %esp,%ebp
777c35f3:	83 ec 14             	sub    $0x14,%esp
777c35f6:	8b 4d 10             	mov    0x10(%ebp),%ecx
    TRACE("(%s,%s/%08lx,%p)\n", 
          wine_dbgstr_fcc(fccType), wine_dbgstr_fcc(fccHandler), fccHandler, lpicinfo);

    lpicinfo->fccHandler = fccHandler;
777c35f9:	8b 55 0c             	mov    0xc(%ebp),%edx
777c35fc:	8b 45 08             	mov    0x8(%ebp),%eax
777c35ff:	89 51 08             	mov    %edx,0x8(%ecx)
    return enum_drivers(fccType, ICInfo_enum_handler, lpicinfo);
777c3602:	ba 60 35 7c 77       	mov    $0x777c3560,%edx
777c3607:	51                   	push   %ecx
777c3608:	e8 43 fd ff ff       	call   777c3350 <_enum_drivers>
}
777c360d:	c9                   	leave  
777c360e:	c2 0c 00             	ret    $0xc
777c3611:	eb 0d                	jmp    777c3620 <_ICInstall@20>
777c3613:	90                   	nop    
777c3614:	90                   	nop    
777c3615:	90                   	nop    
777c3616:	90                   	nop    
777c3617:	90                   	nop    
777c3618:	90                   	nop    
777c3619:	90                   	nop    
777c361a:	90                   	nop    
777c361b:	90                   	nop    
777c361c:	90                   	nop    
777c361d:	90                   	nop    
777c361e:	90                   	nop    
777c361f:	90                   	nop    

777c3620 <_ICInstall@20>:

static DWORD IC_HandleRef = 1;

/***********************************************************************
 *		ICInstall			[MSVFW32.@]
 */
BOOL VFWAPI ICInstall(DWORD fccType, DWORD fccHandler, LPARAM lParam, LPSTR szDesc, UINT wFlags) 
{
777c3620:	55                   	push   %ebp
777c3621:	89 e5                	mov    %esp,%ebp
777c3623:	57                   	push   %edi
777c3624:	56                   	push   %esi
777c3625:	53                   	push   %ebx
777c3626:	83 ec 0c             	sub    $0xc,%esp
    reg_driver* driver;
    unsigned len;

    TRACE("(%s,%s,%p,%p,0x%08x)\n", wine_dbgstr_fcc(fccType), wine_dbgstr_fcc(fccHandler), (void*)lParam, szDesc, wFlags);

    /* Check if a driver is already registered */
    for (driver = reg_driver_list; driver; driver = driver->next)
777c3629:	8b 1d 38 90 7c 77    	mov    0x777c9038,%ebx
777c362f:	8b 75 08             	mov    0x8(%ebp),%esi
777c3632:	8b 7d 0c             	mov    0xc(%ebp),%edi
777c3635:	85 db                	test   %ebx,%ebx
777c3637:	74 1b                	je     777c3654 <_ICInstall@20+0x34>
777c3639:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
    {
        if (!compare_fourcc(fccType, driver->fccType) &&
777c3640:	8b 13                	mov    (%ebx),%edx
777c3642:	89 f0                	mov    %esi,%eax
777c3644:	e8 b7 fc ff ff       	call   777c3300 <_compare_fourcc>
777c3649:	85 c0                	test   %eax,%eax
777c364b:	74 7b                	je     777c36c8 <_ICInstall@20+0xa8>
777c364d:	8b 5b 10             	mov    0x10(%ebx),%ebx
777c3650:	85 db                	test   %ebx,%ebx
777c3652:	75 ec                	jne    777c3640 <_ICInstall@20+0x20>
            !compare_fourcc(fccHandler, driver->fccHandler))
            break;
    }
    if (driver) return FALSE;

    /* Register the driver */
    driver = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(reg_driver));
777c3654:	50                   	push   %eax
777c3655:	6a 14                	push   $0x14
777c3657:	6a 08                	push   $0x8
777c3659:	50                   	push   %eax
777c365a:	e8 81 22 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c365f:	89 04 24             	mov    %eax,(%esp)
777c3662:	e8 89 22 00 00       	call   777c58f0 <_HeapAlloc@12>
777c3667:	89 c3                	mov    %eax,%ebx
    if (!driver) goto oom;
777c3669:	58                   	pop    %eax
777c366a:	85 db                	test   %ebx,%ebx
777c366c:	74 4e                	je     777c36bc <_ICInstall@20+0x9c>
    driver->fccType = fccType;
777c366e:	89 33                	mov    %esi,(%ebx)
    driver->fccHandler = fccHandler;
777c3670:	89 7b 04             	mov    %edi,0x4(%ebx)

    switch(wFlags)
777c3673:	83 7d 18 01          	cmpl   $0x1,0x18(%ebp)
777c3677:	74 6c                	je     777c36e5 <_ICInstall@20+0xc5>
777c3679:	83 7d 18 02          	cmpl   $0x2,0x18(%ebp)
777c367d:	0f 84 8c 00 00 00    	je     777c370f <_ICInstall@20+0xef>
    {
    case ICINSTALL_FUNCTION:
        driver->proc = (DRIVERPROC)lParam;
	driver->name = NULL;
        break;
    case ICINSTALL_DRIVER:
	driver->proc = NULL;
        len = MultiByteToWideChar(CP_ACP, 0, (char*)lParam, -1, NULL, 0);
        driver->name = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
        if (!driver->name) goto oom;
        MultiByteToWideChar(CP_ACP, 0, (char*)lParam, -1, driver->name, len);
	break;
    default:
	ERR("Invalid flags!\n");
777c3683:	68 ec 82 7c 77       	push   $0x777c82ec
777c3688:	68 fb 00 00 00       	push   $0xfb
777c368d:	68 f6 82 7c 77       	push   $0x777c82f6
777c3692:	68 05 83 7c 77       	push   $0x777c8305
777c3697:	e8 d4 23 00 00       	call   777c5a70 <_DbgPrint>
777c369c:	c7 04 24 11 83 7c 77 	movl   $0x777c8311,(%esp)
777c36a3:	e8 c8 23 00 00       	call   777c5a70 <_DbgPrint>
	HeapFree(GetProcessHeap(), 0, driver);
777c36a8:	83 c4 0c             	add    $0xc,%esp
777c36ab:	53                   	push   %ebx
777c36ac:	6a 00                	push   $0x0
777c36ae:	50                   	push   %eax
777c36af:	e8 2c 22 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c36b4:	89 04 24             	mov    %eax,(%esp)
777c36b7:	e8 44 22 00 00       	call   777c5900 <_HeapFree@12>
	return FALSE;
   }

   /* Insert our driver in the list*/
   driver->next = reg_driver_list;
   reg_driver_list = driver;
    
   return TRUE;
 oom:
   if (driver) HeapFree(GetProcessHeap(), 0, driver);
   return FALSE;
777c36bc:	31 c0                	xor    %eax,%eax
}
777c36be:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c36c1:	5b                   	pop    %ebx
777c36c2:	5e                   	pop    %esi
777c36c3:	5f                   	pop    %edi
777c36c4:	5d                   	pop    %ebp
777c36c5:	c2 14 00             	ret    $0x14
777c36c8:	8b 53 04             	mov    0x4(%ebx),%edx
777c36cb:	89 f8                	mov    %edi,%eax
777c36cd:	e8 2e fc ff ff       	call   777c3300 <_compare_fourcc>
777c36d2:	85 c0                	test   %eax,%eax
777c36d4:	0f 85 73 ff ff ff    	jne    777c364d <_ICInstall@20+0x2d>
777c36da:	31 c0                	xor    %eax,%eax
777c36dc:	85 db                	test   %ebx,%ebx
777c36de:	75 25                	jne    777c3705 <_ICInstall@20+0xe5>
777c36e0:	e9 6f ff ff ff       	jmp    777c3654 <_ICInstall@20+0x34>
777c36e5:	8b 45 10             	mov    0x10(%ebp),%eax
777c36e8:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
777c36ef:	89 43 08             	mov    %eax,0x8(%ebx)
777c36f2:	a1 38 90 7c 77       	mov    0x777c9038,%eax
777c36f7:	89 43 10             	mov    %eax,0x10(%ebx)
777c36fa:	89 1d 38 90 7c 77    	mov    %ebx,0x777c9038
777c3700:	b8 01 00 00 00       	mov    $0x1,%eax
777c3705:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c3708:	5b                   	pop    %ebx
777c3709:	5e                   	pop    %esi
777c370a:	5f                   	pop    %edi
777c370b:	5d                   	pop    %ebp
777c370c:	c2 14 00             	ret    $0x14
777c370f:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
777c3716:	57                   	push   %edi
777c3717:	57                   	push   %edi
777c3718:	6a 00                	push   $0x0
777c371a:	6a 00                	push   $0x0
777c371c:	6a ff                	push   $0xffffffff
777c371e:	8b 75 10             	mov    0x10(%ebp),%esi
777c3721:	56                   	push   %esi
777c3722:	6a 00                	push   $0x0
777c3724:	6a 00                	push   $0x0
777c3726:	e8 35 22 00 00       	call   777c5960 <_MultiByteToWideChar@24>
777c372b:	89 c6                	mov    %eax,%esi
777c372d:	8d 04 00             	lea    (%eax,%eax,1),%eax
777c3730:	89 04 24             	mov    %eax,(%esp)
777c3733:	6a 00                	push   $0x0
777c3735:	51                   	push   %ecx
777c3736:	e8 a5 21 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c373b:	89 04 24             	mov    %eax,(%esp)
777c373e:	e8 ad 21 00 00       	call   777c58f0 <_HeapAlloc@12>
777c3743:	85 c0                	test   %eax,%eax
777c3745:	89 43 0c             	mov    %eax,0xc(%ebx)
777c3748:	5a                   	pop    %edx
777c3749:	74 17                	je     777c3762 <_ICInstall@20+0x142>
777c374b:	57                   	push   %edi
777c374c:	57                   	push   %edi
777c374d:	56                   	push   %esi
777c374e:	50                   	push   %eax
777c374f:	6a ff                	push   $0xffffffff
777c3751:	8b 4d 10             	mov    0x10(%ebp),%ecx
777c3754:	51                   	push   %ecx
777c3755:	6a 00                	push   $0x0
777c3757:	6a 00                	push   $0x0
777c3759:	e8 02 22 00 00       	call   777c5960 <_MultiByteToWideChar@24>
777c375e:	58                   	pop    %eax
777c375f:	5a                   	pop    %edx
777c3760:	eb 90                	jmp    777c36f2 <_ICInstall@20+0xd2>
777c3762:	57                   	push   %edi
777c3763:	53                   	push   %ebx
777c3764:	6a 00                	push   $0x0
777c3766:	56                   	push   %esi
777c3767:	e8 74 21 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c376c:	89 04 24             	mov    %eax,(%esp)
777c376f:	e8 8c 21 00 00       	call   777c5900 <_HeapFree@12>
777c3774:	31 c0                	xor    %eax,%eax
777c3776:	5b                   	pop    %ebx
777c3777:	e9 42 ff ff ff       	jmp    777c36be <_ICInstall@20+0x9e>
777c377c:	8d 74 26 00          	lea    0x0(%esi),%esi

777c3780 <_ICRemove@12>:

/***********************************************************************
 *		ICRemove			[MSVFW32.@]
 */
BOOL VFWAPI ICRemove(DWORD fccType, DWORD fccHandler, UINT wFlags) 
{
777c3780:	55                   	push   %ebp
777c3781:	89 e5                	mov    %esp,%ebp
777c3783:	57                   	push   %edi
777c3784:	56                   	push   %esi
777c3785:	53                   	push   %ebx
777c3786:	83 ec 0c             	sub    $0xc,%esp
    reg_driver** pdriver;
    
    TRACE("(%s,%s,0x%08x)\n", wine_dbgstr_fcc(fccType), wine_dbgstr_fcc(fccHandler), wFlags);

    /* Check if a driver is already registered */
    for (pdriver = &reg_driver_list; *pdriver; pdriver = &(*pdriver)->next)
777c3789:	bb 38 90 7c 77       	mov    $0x777c9038,%ebx
777c378e:	a1 38 90 7c 77       	mov    0x777c9038,%eax
777c3793:	8b 75 08             	mov    0x8(%ebp),%esi
777c3796:	8b 7d 0c             	mov    0xc(%ebp),%edi
777c3799:	85 c0                	test   %eax,%eax
777c379b:	74 1e                	je     777c37bb <_ICRemove@12+0x3b>
777c379d:	8d 76 00             	lea    0x0(%esi),%esi
    {
        if (!compare_fourcc(fccType, (*pdriver)->fccType) &&
777c37a0:	8b 03                	mov    (%ebx),%eax
777c37a2:	8b 10                	mov    (%eax),%edx
777c37a4:	89 f0                	mov    %esi,%eax
777c37a6:	e8 55 fb ff ff       	call   777c3300 <_compare_fourcc>
777c37ab:	85 c0                	test   %eax,%eax
777c37ad:	74 43                	je     777c37f2 <_ICRemove@12+0x72>
777c37af:	8b 03                	mov    (%ebx),%eax
777c37b1:	8d 58 10             	lea    0x10(%eax),%ebx
777c37b4:	8b 40 10             	mov    0x10(%eax),%eax
777c37b7:	85 c0                	test   %eax,%eax
777c37b9:	75 e5                	jne    777c37a0 <_ICRemove@12+0x20>
            !compare_fourcc(fccHandler, (*pdriver)->fccHandler))
            break;
    }
    if (!*pdriver)
777c37bb:	8b 13                	mov    (%ebx),%edx
        return FALSE;
777c37bd:	31 c0                	xor    %eax,%eax
777c37bf:	85 d2                	test   %edx,%edx
777c37c1:	74 25                	je     777c37e8 <_ICRemove@12+0x68>

    /* Remove the driver from the list */
    *pdriver = (*pdriver)->next;
777c37c3:	8b 42 10             	mov    0x10(%edx),%eax
777c37c6:	89 03                	mov    %eax,(%ebx)
    if ((*pdriver)->name)
777c37c8:	8b 40 0c             	mov    0xc(%eax),%eax
777c37cb:	85 c0                	test   %eax,%eax
777c37cd:	75 35                	jne    777c3804 <_ICRemove@12+0x84>
        HeapFree(GetProcessHeap(), 0, (*pdriver)->name);
    HeapFree(GetProcessHeap(), 0, *pdriver);
777c37cf:	50                   	push   %eax
777c37d0:	8b 03                	mov    (%ebx),%eax
777c37d2:	50                   	push   %eax
777c37d3:	6a 00                	push   $0x0
777c37d5:	50                   	push   %eax
777c37d6:	e8 05 21 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c37db:	89 04 24             	mov    %eax,(%esp)
777c37de:	e8 1d 21 00 00       	call   777c5900 <_HeapFree@12>
    
    return TRUE;  
777c37e3:	b8 01 00 00 00       	mov    $0x1,%eax
}
777c37e8:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c37eb:	5b                   	pop    %ebx
777c37ec:	5e                   	pop    %esi
777c37ed:	5f                   	pop    %edi
777c37ee:	5d                   	pop    %ebp
777c37ef:	c2 0c 00             	ret    $0xc
777c37f2:	8b 03                	mov    (%ebx),%eax
777c37f4:	8b 50 04             	mov    0x4(%eax),%edx
777c37f7:	89 f8                	mov    %edi,%eax
777c37f9:	e8 02 fb ff ff       	call   777c3300 <_compare_fourcc>
777c37fe:	85 c0                	test   %eax,%eax
777c3800:	75 ad                	jne    777c37af <_ICRemove@12+0x2f>
777c3802:	eb b7                	jmp    777c37bb <_ICRemove@12+0x3b>
777c3804:	56                   	push   %esi
777c3805:	50                   	push   %eax
777c3806:	6a 00                	push   $0x0
777c3808:	51                   	push   %ecx
777c3809:	e8 d2 20 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c380e:	89 04 24             	mov    %eax,(%esp)
777c3811:	e8 ea 20 00 00       	call   777c5900 <_HeapFree@12>
777c3816:	5a                   	pop    %edx
777c3817:	eb b6                	jmp    777c37cf <_ICRemove@12+0x4f>
777c3819:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c3820 <_ICCompressorChoose@24>:


/***********************************************************************
 *		ICOpen				[MSVFW32.@]
 * Opens an installable compressor. Return special handle.
 */
HIC VFWAPI ICOpen(DWORD fccType, DWORD fccHandler, UINT wMode) 
{
    WCHAR		codecname[10];
    ICOPEN		icopen;
    HDRVR		hdrv;
    WINE_HIC*           whic;
    BOOL                bIs16;
    static const WCHAR  drv32W[] = {'d','r','i','v','e','r','s','3','2','\0'};
    reg_driver*         driver;

    TRACE("(%s,%s,0x%08x)\n", wine_dbgstr_fcc(fccType), wine_dbgstr_fcc(fccHandler), wMode);

    /* Check if there is a registered driver that matches */
    driver = reg_driver_list;
    while(driver)
        if (!compare_fourcc(fccType, driver->fccType) &&
            !compare_fourcc(fccHandler, driver->fccHandler))
	    break;
        else
            driver = driver->next;

    if (driver && driver->proc)
	/* The driver has been registered at runtime with its driverproc */
        return MSVIDEO_OpenFunction(fccType, fccHandler, wMode, (DRIVERPROC)driver->proc, (DWORD)NULL);
  
    /* Well, lParam2 is in fact a LPVIDEO_OPEN_PARMS, but it has the
     * same layout as ICOPEN
     */
    icopen.dwSize		= sizeof(ICOPEN);
    icopen.fccType		= fccType;
    icopen.fccHandler	        = fccHandler;
    icopen.dwVersion            = 0x00001000; /* FIXME */
    icopen.dwFlags		= wMode;
    icopen.dwError              = 0;
    icopen.pV1Reserved          = NULL;
    icopen.pV2Reserved          = NULL;
    icopen.dnDevNode            = 0; /* FIXME */
	
    if (!driver) {
        /* The driver is registered in the registry */
	fourcc_to_string(codecname, fccType);
        codecname[4] = '.';
	fourcc_to_string(codecname + 5, fccHandler);
        codecname[9] = '\0';

        hdrv = OpenDriver(codecname, drv32W, (LPARAM)&icopen);
        if (!hdrv) 
        {
            if (fccType == streamtypeVIDEO) 
            {
		codecname[0] = 'v';
		codecname[1] = 'i';
		codecname[2] = 'd';
		codecname[3] = 'c';

		fccType = ICTYPE_VIDEO;
                hdrv = OpenDriver(codecname, drv32W, (LPARAM)&icopen);
	    }
            if (!hdrv)
                return 0;
	}
    } else {
        /* The driver has been registered at runtime with its name */
        hdrv = OpenDriver(driver->name, NULL, (LPARAM)&icopen);
        if (!hdrv) 
            return 0; 
    }
    bIs16 = GetDriverFlags(hdrv) & 0x10000000; /* undocumented flag: WINE_GDF_16BIT */

    if (bIs16 && !pFnCallTo16)
    {
        FIXME("Got a 16 bit driver, but no 16 bit support in msvfw\n");
        return 0;
    }
    whic = HeapAlloc(GetProcessHeap(), 0, sizeof(WINE_HIC));
    if (!whic)
    {
        CloseDriver(hdrv, 0, 0);
        return FALSE;
    }
    whic->hdrv          = hdrv;
    /* FIXME: is the signature the real one ? */
    whic->driverproc    = bIs16 ? (DRIVERPROC)pFnCallTo16 : NULL;
    whic->driverproc16  = 0;
    whic->type          = fccType;
    whic->handler       = fccHandler;
    while (MSVIDEO_GetHicPtr(HIC_32(IC_HandleRef)) != NULL) IC_HandleRef++;
    whic->hic           = HIC_32(IC_HandleRef++);
    whic->next          = MSVIDEO_FirstHic;
    MSVIDEO_FirstHic = whic;

    TRACE("=> %p\n", whic->hic);
    return whic->hic;
}

/***********************************************************************
 *		MSVIDEO_OpenFunction
 */
HIC MSVIDEO_OpenFunction(DWORD fccType, DWORD fccHandler, UINT wMode, 
                         DRIVERPROC lpfnHandler, DWORD lpfnHandler16) 
{
    ICOPEN      icopen;
    WINE_HIC*   whic;

    TRACE("(%s,%s,%d,%p,%08lx)\n", 
          wine_dbgstr_fcc(fccType), wine_dbgstr_fcc(fccHandler), wMode, lpfnHandler, lpfnHandler16);

    icopen.dwSize		= sizeof(ICOPEN);
    icopen.fccType		= fccType;
    icopen.fccHandler	        = fccHandler;
    icopen.dwVersion            = 0x00001000; /* FIXME */
    icopen.dwFlags		= wMode;
    icopen.dwError              = 0;
    icopen.pV1Reserved          = NULL;
    icopen.pV2Reserved          = NULL;
    icopen.dnDevNode            = 0; /* FIXME */

    whic = HeapAlloc(GetProcessHeap(), 0, sizeof(WINE_HIC));
    if (!whic) return 0;

    whic->driverproc   = lpfnHandler;
    whic->driverproc16 = lpfnHandler16;
    while (MSVIDEO_GetHicPtr(HIC_32(IC_HandleRef)) != NULL) IC_HandleRef++;
    whic->hic          = HIC_32(IC_HandleRef++);
    whic->next         = MSVIDEO_FirstHic;
    MSVIDEO_FirstHic = whic;

    /* Now try opening/loading the driver. Taken from DRIVER_AddToList */
    /* What if the function is used more than once? */

    if (MSVIDEO_SendMessage(whic, DRV_LOAD, 0L, 0L) != DRV_SUCCESS) 
    {
        WARN("DRV_LOAD failed for hic %p\n", whic->hic);
        MSVIDEO_FirstHic = whic->next;
        HeapFree(GetProcessHeap(), 0, whic);
        return 0;
    }
    /* return value is not checked */
    MSVIDEO_SendMessage(whic, DRV_ENABLE, 0L, 0L);

    whic->driverId = (DWORD)MSVIDEO_SendMessage(whic, DRV_OPEN, 0, (DWORD)&icopen);
    /* FIXME: What should we put here? */
    whic->hdrv = (HDRVR)0;
    
    if (whic->driverId == 0) 
    {
        WARN("DRV_OPEN failed for hic %p\n", whic->hic);
        MSVIDEO_FirstHic = whic->next;
        HeapFree(GetProcessHeap(), 0, whic);
        return 0;
    }

    TRACE("=> %p\n", whic->hic);
    return whic->hic;
}

/***********************************************************************
 *		ICOpenFunction			[MSVFW32.@]
 */
HIC VFWAPI ICOpenFunction(DWORD fccType, DWORD fccHandler, UINT wMode, FARPROC lpfnHandler) 
{
    return MSVIDEO_OpenFunction(fccType, fccHandler, wMode, (DRIVERPROC)lpfnHandler, 0);
}

/***********************************************************************
 *		ICGetInfo			[MSVFW32.@]
 */
LRESULT VFWAPI ICGetInfo(HIC hic, ICINFO *picinfo, DWORD cb) 
{
    LRESULT	ret;
    WINE_HIC*   whic = MSVIDEO_GetHicPtr(hic);

    TRACE("(%p,%p,%ld)\n", hic, picinfo, cb);

    whic = MSVIDEO_GetHicPtr(hic);
    if (!whic) return ICERR_BADHANDLE;
    if (!picinfo) return MMSYSERR_INVALPARAM;

    /* (WS) The field szDriver should be initialized because the driver 
     * is not obliged and often will not do it. Some applications, like
     * VirtualDub, rely on this field and will occasionally crash if it
     * goes unitialized.
     */
    if (cb >= sizeof(ICINFO)) picinfo->szDriver[0] = '\0';

    ret = ICSendMessage(hic, ICM_GETINFO, (DWORD)picinfo, cb);

    /* (WS) When szDriver was not supplied by the driver itself, apparently 
     * Windows will set its value equal to the driver file name. This can
     * be obtained from the registry as we do here.
     */
    if (cb >= sizeof(ICINFO) && picinfo->szDriver[0] == 0)
    {
        ICINFO  ii;

        memset(&ii, 0, sizeof(ii));
        ii.dwSize = sizeof(ii);
        ICInfo(picinfo->fccType, picinfo->fccHandler, &ii);
        lstrcpyW(picinfo->szDriver, ii.szDriver);
    }

    TRACE("	-> 0x%08lx\n", ret);
    return ret;
}

typedef struct {
    DWORD fccType;
    DWORD fccHandler;
    LPBITMAPINFOHEADER lpbiIn;
    LPBITMAPINFOHEADER lpbiOut;
    WORD wMode;
    DWORD querymsg;
    HIC hic;
} driver_info_t;

static HIC try_driver(driver_info_t *info)
{
    HIC   hic;

    if ((hic = ICOpen(info->fccType, info->fccHandler, info->wMode))) 
    {
	if (!ICSendMessage(hic, info->querymsg, (DWORD)info->lpbiIn, (DWORD)info->lpbiOut))
	    return hic;
	ICClose(hic);
    }
    return 0;
}

static BOOL ICLocate_enum_handler(const char *drv, int nr, void *param)
{
    driver_info_t *info = (driver_info_t *)param;
    info->fccHandler = mmioStringToFOURCCA(drv + 5, 0);
    info->hic = try_driver(info);
    return info->hic != 0;
}

/***********************************************************************
 *		ICLocate			[MSVFW32.@]
 */
HIC VFWAPI ICLocate(DWORD fccType, DWORD fccHandler, LPBITMAPINFOHEADER lpbiIn,
                    LPBITMAPINFOHEADER lpbiOut, WORD wMode)
{
    driver_info_t info;

    TRACE("(%s,%s,%p,%p,0x%04x)\n", 
          wine_dbgstr_fcc(fccType), wine_dbgstr_fcc(fccHandler), lpbiIn, lpbiOut, wMode);

    info.fccType = fccType;
    info.fccHandler = fccHandler;
    info.lpbiIn = lpbiIn;
    info.lpbiOut = lpbiOut;
    info.wMode = wMode;

    switch (wMode) 
    {
    case ICMODE_FASTCOMPRESS:
    case ICMODE_COMPRESS:
        info.querymsg = ICM_COMPRESS_QUERY;
        break;
    case ICMODE_FASTDECOMPRESS:
    case ICMODE_DECOMPRESS:
        info.querymsg = ICM_DECOMPRESS_QUERY;
        break;
    case ICMODE_DRAW:
        info.querymsg = ICM_DRAW_QUERY;
        break;
    default:
        WARN("Unknown mode (%d)\n", wMode);
        return 0;
    }

    /* Easy case: handler/type match, we just fire a query and return */
    info.hic = try_driver(&info);
    /* If it didn't work, try each driver in turn. 32 bit codecs only. */
    /* FIXME: Move this to an init routine? */
    if (!info.hic) enum_drivers(fccType, ICLocate_enum_handler, &info);

    if (info.hic) 
    {
        TRACE("=> %p\n", info.hic);
	return info.hic;
    }

    if (fccType == streamtypeVIDEO) 
        return ICLocate(ICTYPE_VIDEO, fccHandler, lpbiIn, lpbiOut, wMode);
    
    WARN("(%s,%s,%p,%p,0x%04x) not found!\n",
         wine_dbgstr_fcc(fccType), wine_dbgstr_fcc(fccHandler), lpbiIn, lpbiOut, wMode);
    return 0;
}

/***********************************************************************
 *		ICGetDisplayFormat			[MSVFW32.@]
 */
HIC VFWAPI ICGetDisplayFormat(
	HIC hic,LPBITMAPINFOHEADER lpbiIn,LPBITMAPINFOHEADER lpbiOut,
	INT depth,INT dx,INT dy)
{
	HIC	tmphic = hic;

	TRACE("(%p,%p,%p,%d,%d,%d)!\n",hic,lpbiIn,lpbiOut,depth,dx,dy);

	if (!tmphic) {
		tmphic=ICLocate(ICTYPE_VIDEO,0,lpbiIn,NULL,ICMODE_DECOMPRESS);
		if (!tmphic)
			return tmphic;
	}
	if ((dy == lpbiIn->biHeight) && (dx == lpbiIn->biWidth))
		dy = dx = 0; /* no resize needed */

	/* Can we decompress it ? */
	if (ICDecompressQuery(tmphic,lpbiIn,NULL) != 0)
		goto errout; /* no, sorry */

	ICDecompressGetFormat(tmphic,lpbiIn,lpbiOut);

	if (lpbiOut->biCompression != 0) {
	   FIXME("Ooch, how come decompressor outputs compressed data (%ld)??\n",
			 lpbiOut->biCompression);
	}
	if (lpbiOut->biSize < sizeof(*lpbiOut)) {
	   FIXME("Ooch, size of output BIH is too small (%ld)\n",
			 lpbiOut->biSize);
	   lpbiOut->biSize = sizeof(*lpbiOut);
	}
	if (!depth) {
		HDC	hdc;

		hdc = GetDC(0);
		depth = GetDeviceCaps(hdc,BITSPIXEL)*GetDeviceCaps(hdc,PLANES);
		ReleaseDC(0,hdc);
		if (depth==15)	depth = 16;
		if (depth<8)	depth =  8;
	}
	if (lpbiIn->biBitCount == 8)
		depth = 8;

	TRACE("=> %p\n", tmphic);
	return tmphic;
errout:
	if (hic!=tmphic)
		ICClose(tmphic);

	TRACE("=> 0\n");
	return 0;
}

/***********************************************************************
 *		ICCompress			[MSVFW32.@]
 */
DWORD VFWAPIV
ICCompress(
	HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiOutput,LPVOID lpData,
	LPBITMAPINFOHEADER lpbiInput,LPVOID lpBits,LPDWORD lpckid,
	LPDWORD lpdwFlags,LONG lFrameNum,DWORD dwFrameSize,DWORD dwQuality,
	LPBITMAPINFOHEADER lpbiPrev,LPVOID lpPrev)
{
	ICCOMPRESS	iccmp;

	TRACE("(%p,%ld,%p,%p,%p,%p,...)\n",hic,dwFlags,lpbiOutput,lpData,lpbiInput,lpBits);

	iccmp.dwFlags		= dwFlags;

	iccmp.lpbiOutput	= lpbiOutput;
	iccmp.lpOutput		= lpData;
	iccmp.lpbiInput		= lpbiInput;
	iccmp.lpInput		= lpBits;

	iccmp.lpckid		= lpckid;
	iccmp.lpdwFlags		= lpdwFlags;
	iccmp.lFrameNum		= lFrameNum;
	iccmp.dwFrameSize	= dwFrameSize;
	iccmp.dwQuality		= dwQuality;
	iccmp.lpbiPrev		= lpbiPrev;
	iccmp.lpPrev		= lpPrev;
	return ICSendMessage(hic,ICM_COMPRESS,(DWORD)&iccmp,sizeof(iccmp));
}

/***********************************************************************
 *		ICDecompress			[MSVFW32.@]
 */
DWORD VFWAPIV  ICDecompress(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiFormat,
				LPVOID lpData,LPBITMAPINFOHEADER lpbi,LPVOID lpBits)
{
	ICDECOMPRESS	icd;
	DWORD ret;

	TRACE("(%p,%ld,%p,%p,%p,%p)\n",hic,dwFlags,lpbiFormat,lpData,lpbi,lpBits);

	TRACE("lpBits[0] == %lx\n",((LPDWORD)lpBits)[0]);

	icd.dwFlags	= dwFlags;
	icd.lpbiInput	= lpbiFormat;
	icd.lpInput	= lpData;

	icd.lpbiOutput	= lpbi;
	icd.lpOutput	= lpBits;
	icd.ckid	= 0;
	ret = ICSendMessage(hic,ICM_DECOMPRESS,(DWORD)&icd,sizeof(ICDECOMPRESS));

	TRACE("lpBits[0] == %lx\n",((LPDWORD)lpBits)[0]);

	TRACE("-> %ld\n",ret);

	return ret;
}


/***********************************************************************
 *		ICCompressorChoose   [MSVFW32.@]
 */
BOOL VFWAPI ICCompressorChoose(HWND hwnd, UINT uiFlags, LPVOID pvIn,
                               LPVOID lpData, PCOMPVARS pc, LPSTR lpszTitle)
{
777c3820:	55                   	push   %ebp
777c3821:	89 e5                	mov    %esp,%ebp
777c3823:	53                   	push   %ebx
777c3824:	53                   	push   %ebx
777c3825:	8b 5d 18             	mov    0x18(%ebp),%ebx
  FIXME("(%p,0x%X,%p,%p,%p,%s),stub!\n",hwnd,uiFlags,pvIn,lpData,pc,lpszTitle);
777c3828:	68 21 83 7c 77       	push   $0x777c8321
777c382d:	68 c9 02 00 00       	push   $0x2c9
777c3832:	68 f6 82 7c 77       	push   $0x777c82f6
777c3837:	68 05 83 7c 77       	push   $0x777c8305
777c383c:	e8 2f 22 00 00       	call   777c5a70 <_DbgPrint>
777c3841:	83 c4 0c             	add    $0xc,%esp
777c3844:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
777c3847:	51                   	push   %ecx
777c3848:	53                   	push   %ebx
777c3849:	8b 55 14             	mov    0x14(%ebp),%edx
777c384c:	52                   	push   %edx
777c384d:	8b 45 10             	mov    0x10(%ebp),%eax
777c3850:	50                   	push   %eax
777c3851:	8b 45 0c             	mov    0xc(%ebp),%eax
777c3854:	50                   	push   %eax
777c3855:	8b 45 08             	mov    0x8(%ebp),%eax
777c3858:	50                   	push   %eax
777c3859:	68 34 83 7c 77       	push   $0x777c8334
777c385e:	e8 0d 22 00 00       	call   777c5a70 <_DbgPrint>

  if (pc == NULL || pc->cbSize != sizeof(COMPVARS))
777c3863:	83 c4 20             	add    $0x20,%esp
777c3866:	85 db                	test   %ebx,%ebx
777c3868:	74 05                	je     777c386f <_ICCompressorChoose@24+0x4f>
777c386a:	83 3b 40             	cmpl   $0x40,(%ebx)
777c386d:	74 09                	je     777c3878 <_ICCompressorChoose@24+0x58>
    return FALSE;

  if ((pc->dwFlags & ICMF_COMPVARS_VALID) == 0) {
    pc->dwFlags   = 0;
    pc->fccType   = pc->fccHandler = 0;
    pc->hic       = NULL;
    pc->lpbiOut   = NULL;
    pc->lpBitsOut = pc->lpBitsPrev = pc->lpState = NULL;
    pc->lQ        = ICQUALITY_DEFAULT;
    pc->lKey      = -1;
    pc->lDataRate = 300; /* kB */
    pc->lpState   = NULL;
    pc->cbState   = 0;
  }
  if (pc->fccType == 0)
    pc->fccType = ICTYPE_VIDEO;

  /* FIXME */
  
  return FALSE;
}
777c386f:	31 c0                	xor    %eax,%eax
777c3871:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c3874:	c9                   	leave  
777c3875:	c2 18 00             	ret    $0x18
777c3878:	f6 43 04 01          	testb  $0x1,0x4(%ebx)
777c387c:	74 17                	je     777c3895 <_ICCompressorChoose@24+0x75>
777c387e:	8b 43 0c             	mov    0xc(%ebx),%eax
777c3881:	85 c0                	test   %eax,%eax
777c3883:	75 ea                	jne    777c386f <_ICCompressorChoose@24+0x4f>
777c3885:	c7 43 0c 76 69 64 63 	movl   $0x63646976,0xc(%ebx)
777c388c:	31 c0                	xor    %eax,%eax
777c388e:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c3891:	c9                   	leave  
777c3892:	c2 18 00             	ret    $0x18
777c3895:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
777c389c:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
777c38a3:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
777c38aa:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
777c38b1:	c7 43 18 00 00 00 00 	movl   $0x0,0x18(%ebx)
777c38b8:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%ebx)
777c38bf:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
777c38c6:	c7 43 30 ff ff ff ff 	movl   $0xffffffff,0x30(%ebx)
777c38cd:	c7 43 28 ff ff ff ff 	movl   $0xffffffff,0x28(%ebx)
777c38d4:	c7 43 2c 2c 01 00 00 	movl   $0x12c,0x2c(%ebx)
777c38db:	c7 43 38 00 00 00 00 	movl   $0x0,0x38(%ebx)
777c38e2:	c7 43 3c 00 00 00 00 	movl   $0x0,0x3c(%ebx)
777c38e9:	eb 93                	jmp    777c387e <_ICCompressorChoose@24+0x5e>
777c38eb:	90                   	nop    
777c38ec:	8d 74 26 00          	lea    0x0(%esi),%esi

777c38f0 <_MSVIDEO_SendMessage>:


/***********************************************************************
 *		ICCompressorFree   [MSVFW32.@]
 */
void VFWAPI ICCompressorFree(PCOMPVARS pc)
{
  TRACE("(%p)\n",pc);

  if (pc != NULL && pc->cbSize == sizeof(COMPVARS)) {
    if (pc->hic != NULL) {
      ICClose(pc->hic);
      pc->hic = NULL;
    }
    if (pc->lpbiOut != NULL) {
      GlobalFreePtr(pc->lpbiOut);
      pc->lpbiOut = NULL;
    }
    if (pc->lpBitsOut != NULL) {
      GlobalFreePtr(pc->lpBitsOut);
      pc->lpBitsOut = NULL;
    }
    if (pc->lpBitsPrev != NULL) {
      GlobalFreePtr(pc->lpBitsPrev);
      pc->lpBitsPrev = NULL;
    }
    if (pc->lpState != NULL) {
      GlobalFreePtr(pc->lpBitsPrev);
      pc->lpState = NULL;
    }
    pc->dwFlags = 0;
  }
}


/******************************************************************
 *		MSVIDEO_SendMessage
 *
 *
 */
LRESULT MSVIDEO_SendMessage(WINE_HIC* whic, UINT msg, DWORD lParam1, DWORD lParam2)
{
777c38f0:	55                   	push   %ebp
777c38f1:	89 e5                	mov    %esp,%ebp
777c38f3:	57                   	push   %edi
777c38f4:	56                   	push   %esi
777c38f5:	53                   	push   %ebx
777c38f6:	83 ec 0c             	sub    $0xc,%esp
777c38f9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
777c38fc:	8b 75 08             	mov    0x8(%ebp),%esi
777c38ff:	8b 7d 14             	mov    0x14(%ebp),%edi
    LRESULT     ret;
    
#define XX(x) case x: TRACE("(%p,"#x",0x%08lx,0x%08lx)\n",whic,lParam1,lParam2); break;
    
    switch (msg) {
777c3902:	81 fb 3f 40 00 00    	cmp    $0x403f,%ebx
777c3908:	77 36                	ja     777c3940 <_MSVIDEO_SendMessage+0x50>
777c390a:	81 fb 3c 40 00 00    	cmp    $0x403c,%ebx
777c3910:	0f 82 b1 00 00 00    	jb     777c39c7 <_MSVIDEO_SendMessage+0xd7>
        /* DRV_* */
        XX(DRV_LOAD);
        XX(DRV_ENABLE);
        XX(DRV_OPEN);
        XX(DRV_CLOSE);
        XX(DRV_DISABLE);
        XX(DRV_FREE);
        /* ICM_RESERVED+X */
        XX(ICM_ABOUT);
        XX(ICM_CONFIGURE);
        XX(ICM_GET);
        XX(ICM_GETINFO);
        XX(ICM_GETDEFAULTQUALITY);
        XX(ICM_GETQUALITY);
        XX(ICM_GETSTATE);
        XX(ICM_SETQUALITY);
        XX(ICM_SET);
        XX(ICM_SETSTATE);
        /* ICM_USER+X */
        XX(ICM_COMPRESS_FRAMES_INFO);
        XX(ICM_COMPRESS_GET_FORMAT);
        XX(ICM_COMPRESS_GET_SIZE);
        XX(ICM_COMPRESS_QUERY);
        XX(ICM_COMPRESS_BEGIN);
        XX(ICM_COMPRESS);
        XX(ICM_COMPRESS_END);
        XX(ICM_DECOMPRESS_GET_FORMAT);
        XX(ICM_DECOMPRESS_QUERY);
        XX(ICM_DECOMPRESS_BEGIN);
        XX(ICM_DECOMPRESS);
        XX(ICM_DECOMPRESS_END);
        XX(ICM_DECOMPRESS_SET_PALETTE);
        XX(ICM_DECOMPRESS_GET_PALETTE);
        XX(ICM_DRAW_QUERY);
        XX(ICM_DRAW_BEGIN);
        XX(ICM_DRAW_GET_PALETTE);
        XX(ICM_DRAW_START);
        XX(ICM_DRAW_STOP);
        XX(ICM_DRAW_END);
        XX(ICM_DRAW_GETTIME);
        XX(ICM_DRAW);
        XX(ICM_DRAW_WINDOW);
        XX(ICM_DRAW_SETTIME);
        XX(ICM_DRAW_REALIZE);
        XX(ICM_DRAW_FLUSH);
        XX(ICM_DRAW_RENDERBUFFER);
        XX(ICM_DRAW_START_PLAY);
        XX(ICM_DRAW_STOP_PLAY);
        XX(ICM_DRAW_SUGGESTFORMAT);
        XX(ICM_DRAW_CHANGEPALETTE);
        XX(ICM_GETBUFFERSWANTED);
        XX(ICM_GETDEFAULTKEYFRAMERATE);
        XX(ICM_DECOMPRESSEX_BEGIN);
        XX(ICM_DECOMPRESSEX_QUERY);
        XX(ICM_DECOMPRESSEX);
        XX(ICM_DECOMPRESSEX_END);
        XX(ICM_SET_STATUS_PROC);
    default:
        FIXME("(%p,0x%08lx,0x%08lx,0x%08lx) unknown message\n",whic,(DWORD)msg,lParam1,lParam2);
    }
    
#undef XX
    
    if (whic->driverproc) {
777c3916:	8b 46 18             	mov    0x18(%esi),%eax
777c3919:	85 c0                	test   %eax,%eax
777c391b:	0f 84 8f 00 00 00    	je     777c39b0 <_MSVIDEO_SendMessage+0xc0>
	/* dwDriverId parameter is the value returned by the DRV_OPEN */
        ret = whic->driverproc(whic->driverId, whic->hdrv, msg, lParam1, lParam2);
777c3921:	83 ec 0c             	sub    $0xc,%esp
777c3924:	57                   	push   %edi
777c3925:	8b 7d 10             	mov    0x10(%ebp),%edi
777c3928:	57                   	push   %edi
777c3929:	53                   	push   %ebx
777c392a:	8b 4e 10             	mov    0x10(%esi),%ecx
777c392d:	51                   	push   %ecx
777c392e:	8b 56 30             	mov    0x30(%esi),%edx
777c3931:	52                   	push   %edx
777c3932:	ff d0                	call   *%eax
777c3934:	83 c4 0c             	add    $0xc,%esp
    } else {
        ret = SendDriverMessage(whic->hdrv, msg, lParam1, lParam2);
    }

    TRACE("	-> 0x%08lx\n", ret);
    return ret;
}
777c3937:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c393a:	5b                   	pop    %ebx
777c393b:	5e                   	pop    %esi
777c393c:	5f                   	pop    %edi
777c393d:	5d                   	pop    %ebp
777c393e:	c3                   	ret    
777c393f:	90                   	nop    
777c3940:	81 fb 0b 50 00 00    	cmp    $0x500b,%ebx
777c3946:	0f 87 a8 00 00 00    	ja     777c39f4 <_MSVIDEO_SendMessage+0x104>
777c394c:	81 fb 0a 50 00 00    	cmp    $0x500a,%ebx
777c3952:	73 c2                	jae    777c3916 <_MSVIDEO_SendMessage+0x26>
777c3954:	81 fb 48 40 00 00    	cmp    $0x4048,%ebx
777c395a:	74 ba                	je     777c3916 <_MSVIDEO_SendMessage+0x26>
777c395c:	0f 87 e3 00 00 00    	ja     777c3a45 <_MSVIDEO_SendMessage+0x155>
777c3962:	81 fb 46 40 00 00    	cmp    $0x4046,%ebx
777c3968:	74 ac                	je     777c3916 <_MSVIDEO_SendMessage+0x26>
777c396a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c3970:	68 51 83 7c 77       	push   $0x777c8351
777c3975:	68 4a 03 00 00       	push   $0x34a
777c397a:	68 f6 82 7c 77       	push   $0x777c82f6
777c397f:	68 05 83 7c 77       	push   $0x777c8305
777c3984:	e8 e7 20 00 00       	call   777c5a70 <_DbgPrint>
777c3989:	89 3c 24             	mov    %edi,(%esp)
777c398c:	8b 45 10             	mov    0x10(%ebp),%eax
777c398f:	50                   	push   %eax
777c3990:	53                   	push   %ebx
777c3991:	56                   	push   %esi
777c3992:	68 68 83 7c 77       	push   $0x777c8368
777c3997:	e8 d4 20 00 00       	call   777c5a70 <_DbgPrint>
777c399c:	8b 46 18             	mov    0x18(%esi),%eax
777c399f:	83 c4 20             	add    $0x20,%esp
777c39a2:	85 c0                	test   %eax,%eax
777c39a4:	0f 85 77 ff ff ff    	jne    777c3921 <_MSVIDEO_SendMessage+0x31>
777c39aa:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c39b0:	57                   	push   %edi
777c39b1:	8b 7d 10             	mov    0x10(%ebp),%edi
777c39b4:	57                   	push   %edi
777c39b5:	53                   	push   %ebx
777c39b6:	8b 76 10             	mov    0x10(%esi),%esi
777c39b9:	56                   	push   %esi
777c39ba:	e8 c1 1b 00 00       	call   777c5580 <_SendDriverMessage@16>
777c39bf:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c39c2:	5b                   	pop    %ebx
777c39c3:	5e                   	pop    %esi
777c39c4:	5f                   	pop    %edi
777c39c5:	5d                   	pop    %ebp
777c39c6:	c3                   	ret    
777c39c7:	81 fb 13 40 00 00    	cmp    $0x4013,%ebx
777c39cd:	77 51                	ja     777c3a20 <_MSVIDEO_SendMessage+0x130>
777c39cf:	81 fb 12 40 00 00    	cmp    $0x4012,%ebx
777c39d5:	0f 83 3b ff ff ff    	jae    777c3916 <_MSVIDEO_SendMessage+0x26>
777c39db:	83 fb 01             	cmp    $0x1,%ebx
777c39de:	72 90                	jb     777c3970 <_MSVIDEO_SendMessage+0x80>
777c39e0:	83 fb 06             	cmp    $0x6,%ebx
777c39e3:	0f 86 2d ff ff ff    	jbe    777c3916 <_MSVIDEO_SendMessage+0x26>
777c39e9:	8d 83 fc bf ff ff    	lea    0xffffbffc(%ebx),%eax
777c39ef:	83 f8 0c             	cmp    $0xc,%eax
777c39f2:	eb 21                	jmp    777c3a15 <_MSVIDEO_SendMessage+0x125>
777c39f4:	81 fb 1e 50 00 00    	cmp    $0x501e,%ebx
777c39fa:	0f 82 70 ff ff ff    	jb     777c3970 <_MSVIDEO_SendMessage+0x80>
777c3a00:	81 fb 20 50 00 00    	cmp    $0x5020,%ebx
777c3a06:	0f 86 0a ff ff ff    	jbe    777c3916 <_MSVIDEO_SendMessage+0x26>
777c3a0c:	8d 83 d8 af ff ff    	lea    0xffffafd8(%ebx),%eax
777c3a12:	83 f8 01             	cmp    $0x1,%eax
777c3a15:	0f 86 fb fe ff ff    	jbe    777c3916 <_MSVIDEO_SendMessage+0x26>
777c3a1b:	e9 50 ff ff ff       	jmp    777c3970 <_MSVIDEO_SendMessage+0x80>
777c3a20:	8d 83 ce bf ff ff    	lea    0xffffbfce(%ebx),%eax
777c3a26:	81 fb 2a 40 00 00    	cmp    $0x402a,%ebx
777c3a2c:	77 e4                	ja     777c3a12 <_MSVIDEO_SendMessage+0x122>
777c3a2e:	81 fb 1d 40 00 00    	cmp    $0x401d,%ebx
777c3a34:	0f 83 dc fe ff ff    	jae    777c3916 <_MSVIDEO_SendMessage+0x26>
777c3a3a:	81 fb 15 40 00 00    	cmp    $0x4015,%ebx
777c3a40:	e9 23 ff ff ff       	jmp    777c3968 <_MSVIDEO_SendMessage+0x78>
777c3a45:	8d 83 00 b0 ff ff    	lea    0xffffb000(%ebx),%eax
777c3a4b:	83 f8 02             	cmp    $0x2,%eax
777c3a4e:	eb c5                	jmp    777c3a15 <_MSVIDEO_SendMessage+0x125>

777c3a50 <_ICClose@4>:

/***********************************************************************
 *		ICSendMessage			[MSVFW32.@]
 */
LRESULT VFWAPI ICSendMessage(HIC hic, UINT msg, DWORD lParam1, DWORD lParam2) 
{
    WINE_HIC*   whic = MSVIDEO_GetHicPtr(hic);

    if (!whic) return ICERR_BADHANDLE;
    return MSVIDEO_SendMessage(whic, msg, lParam1, lParam2);
}

/***********************************************************************
 *		ICDrawBegin		[MSVFW32.@]
 */
DWORD VFWAPIV ICDrawBegin(
	HIC                hic,     /* [in] */
	DWORD              dwFlags, /* [in] flags */
	HPALETTE           hpal,    /* [in] palette to draw with */
	HWND               hwnd,    /* [in] window to draw to */
	HDC                hdc,     /* [in] HDC to draw to */
	INT                xDst,    /* [in] destination rectangle */
	INT                yDst,    /* [in] */
	INT                dxDst,   /* [in] */
	INT                dyDst,   /* [in] */
	LPBITMAPINFOHEADER lpbi,    /* [in] format of frame to draw */
	INT                xSrc,    /* [in] source rectangle */
	INT                ySrc,    /* [in] */
	INT                dxSrc,   /* [in] */
	INT                dySrc,   /* [in] */
	DWORD              dwRate,  /* [in] frames/second = (dwRate/dwScale) */
	DWORD              dwScale) /* [in] */
{

	ICDRAWBEGIN	icdb;

	TRACE("(%p,%ld,%p,%p,%p,%u,%u,%u,%u,%p,%u,%u,%u,%u,%ld,%ld)\n",
		  hic, dwFlags, hpal, hwnd, hdc, xDst, yDst, dxDst, dyDst,
		  lpbi, xSrc, ySrc, dxSrc, dySrc, dwRate, dwScale);

	icdb.dwFlags = dwFlags;
	icdb.hpal = hpal;
	icdb.hwnd = hwnd;
	icdb.hdc = hdc;
	icdb.xDst = xDst;
	icdb.yDst = yDst;
	icdb.dxDst = dxDst;
	icdb.dyDst = dyDst;
	icdb.lpbi = lpbi;
	icdb.xSrc = xSrc;
	icdb.ySrc = ySrc;
	icdb.dxSrc = dxSrc;
	icdb.dySrc = dySrc;
	icdb.dwRate = dwRate;
	icdb.dwScale = dwScale;
	return ICSendMessage(hic,ICM_DRAW_BEGIN,(DWORD)&icdb,sizeof(icdb));
}

/***********************************************************************
 *		ICDraw			[MSVFW32.@]
 */
DWORD VFWAPIV ICDraw(HIC hic, DWORD dwFlags, LPVOID lpFormat, LPVOID lpData, DWORD cbData, LONG lTime) {
	ICDRAW	icd;

	TRACE("(%p,%ld,%p,%p,%ld,%ld)\n",hic,dwFlags,lpFormat,lpData,cbData,lTime);

	icd.dwFlags = dwFlags;
	icd.lpFormat = lpFormat;
	icd.lpData = lpData;
	icd.cbData = cbData;
	icd.lTime = lTime;

	return ICSendMessage(hic,ICM_DRAW,(DWORD)&icd,sizeof(icd));
}

/***********************************************************************
 *		ICClose			[MSVFW32.@]
 */
LRESULT WINAPI ICClose(HIC hic)
{
777c3a50:	55                   	push   %ebp
777c3a51:	89 e5                	mov    %esp,%ebp
777c3a53:	53                   	push   %ebx
777c3a54:	50                   	push   %eax
    WINE_HIC* whic = MSVIDEO_GetHicPtr(hic);
777c3a55:	8b 45 08             	mov    0x8(%ebp),%eax
777c3a58:	50                   	push   %eax
777c3a59:	e8 d2 fa ff ff       	call   777c3530 <_MSVIDEO_GetHicPtr>
777c3a5e:	89 c3                	mov    %eax,%ebx
    WINE_HIC** p;

    TRACE("(%p)\n",hic);

    if (!whic) return ICERR_BADHANDLE;
777c3a60:	58                   	pop    %eax
777c3a61:	85 db                	test   %ebx,%ebx
777c3a63:	b8 f8 ff ff ff       	mov    $0xfffffff8,%eax
777c3a68:	74 4a                	je     777c3ab4 <_ICClose@4+0x64>

    if (whic->driverproc) 
777c3a6a:	8b 43 18             	mov    0x18(%ebx),%eax
777c3a6d:	85 c0                	test   %eax,%eax
777c3a6f:	75 4f                	jne    777c3ac0 <_ICClose@4+0x70>
    {
        MSVIDEO_SendMessage(whic, DRV_CLOSE, 0, 0);
        MSVIDEO_SendMessage(whic, DRV_DISABLE, 0, 0);
        MSVIDEO_SendMessage(whic, DRV_FREE, 0, 0);
    }
    else
    {
        CloseDriver(whic->hdrv, 0, 0);
777c3a71:	51                   	push   %ecx
777c3a72:	6a 00                	push   $0x0
777c3a74:	6a 00                	push   $0x0
777c3a76:	8b 53 10             	mov    0x10(%ebx),%edx
777c3a79:	52                   	push   %edx
777c3a7a:	e8 51 1b 00 00       	call   777c55d0 <_CloseDriver@12>
777c3a7f:	58                   	pop    %eax
    }

    /* remove whic from list */
    for (p = &MSVIDEO_FirstHic; *p != NULL; p = &((*p)->next))
777c3a80:	a1 48 90 7c 77       	mov    0x777c9048,%eax
777c3a85:	ba 48 90 7c 77       	mov    $0x777c9048,%edx
777c3a8a:	85 c0                	test   %eax,%eax
777c3a8c:	74 12                	je     777c3aa0 <_ICClose@4+0x50>
777c3a8e:	89 f6                	mov    %esi,%esi
    {
        if ((*p) == whic)
777c3a90:	8b 02                	mov    (%edx),%eax
777c3a92:	39 d8                	cmp    %ebx,%eax
777c3a94:	74 56                	je     777c3aec <_ICClose@4+0x9c>
777c3a96:	8d 50 34             	lea    0x34(%eax),%edx
777c3a99:	8b 40 34             	mov    0x34(%eax),%eax
777c3a9c:	85 c0                	test   %eax,%eax
777c3a9e:	75 f0                	jne    777c3a90 <_ICClose@4+0x40>
        {
            *p = whic->next;
            break;
        }
    }

    HeapFree(GetProcessHeap(), 0, whic);
777c3aa0:	50                   	push   %eax
777c3aa1:	53                   	push   %ebx
777c3aa2:	6a 00                	push   $0x0
777c3aa4:	50                   	push   %eax
777c3aa5:	e8 36 1e 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c3aaa:	89 04 24             	mov    %eax,(%esp)
777c3aad:	e8 4e 1e 00 00       	call   777c5900 <_HeapFree@12>
    return 0;
777c3ab2:	31 c0                	xor    %eax,%eax
}
777c3ab4:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c3ab7:	c9                   	leave  
777c3ab8:	c2 04 00             	ret    $0x4
777c3abb:	90                   	nop    
777c3abc:	8d 74 26 00          	lea    0x0(%esi),%esi
777c3ac0:	6a 00                	push   $0x0
777c3ac2:	6a 00                	push   $0x0
777c3ac4:	6a 04                	push   $0x4
777c3ac6:	53                   	push   %ebx
777c3ac7:	e8 24 fe ff ff       	call   777c38f0 <_MSVIDEO_SendMessage>
777c3acc:	6a 00                	push   $0x0
777c3ace:	6a 00                	push   $0x0
777c3ad0:	6a 05                	push   $0x5
777c3ad2:	53                   	push   %ebx
777c3ad3:	e8 18 fe ff ff       	call   777c38f0 <_MSVIDEO_SendMessage>
777c3ad8:	83 c4 20             	add    $0x20,%esp
777c3adb:	6a 00                	push   $0x0
777c3add:	6a 00                	push   $0x0
777c3adf:	6a 06                	push   $0x6
777c3ae1:	53                   	push   %ebx
777c3ae2:	e8 09 fe ff ff       	call   777c38f0 <_MSVIDEO_SendMessage>
777c3ae7:	83 c4 10             	add    $0x10,%esp
777c3aea:	eb 94                	jmp    777c3a80 <_ICClose@4+0x30>
777c3aec:	8b 43 34             	mov    0x34(%ebx),%eax
777c3aef:	89 02                	mov    %eax,(%edx)
777c3af1:	eb ad                	jmp    777c3aa0 <_ICClose@4+0x50>
777c3af3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c3af9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c3b00 <_ICCompressorFree@4>:
777c3b00:	55                   	push   %ebp
777c3b01:	89 e5                	mov    %esp,%ebp
777c3b03:	53                   	push   %ebx
777c3b04:	50                   	push   %eax
777c3b05:	8b 5d 08             	mov    0x8(%ebp),%ebx
777c3b08:	85 db                	test   %ebx,%ebx
777c3b0a:	74 05                	je     777c3b11 <_ICCompressorFree@4+0x11>
777c3b0c:	83 3b 40             	cmpl   $0x40,(%ebx)
777c3b0f:	74 07                	je     777c3b18 <_ICCompressorFree@4+0x18>
777c3b11:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c3b14:	c9                   	leave  
777c3b15:	c2 04 00             	ret    $0x4
777c3b18:	8b 43 08             	mov    0x8(%ebx),%eax
777c3b1b:	85 c0                	test   %eax,%eax
777c3b1d:	75 32                	jne    777c3b51 <_ICCompressorFree@4+0x51>
777c3b1f:	8b 43 18             	mov    0x18(%ebx),%eax
777c3b22:	85 c0                	test   %eax,%eax
777c3b24:	0f 85 c3 00 00 00    	jne    777c3bed <_ICCompressorFree@4+0xed>
777c3b2a:	8b 43 1c             	mov    0x1c(%ebx),%eax
777c3b2d:	85 c0                	test   %eax,%eax
777c3b2f:	0f 85 8b 00 00 00    	jne    777c3bc0 <_ICCompressorFree@4+0xc0>
777c3b35:	8b 43 20             	mov    0x20(%ebx),%eax
777c3b38:	85 c0                	test   %eax,%eax
777c3b3a:	75 57                	jne    777c3b93 <_ICCompressorFree@4+0x93>
777c3b3c:	8b 53 38             	mov    0x38(%ebx),%edx
777c3b3f:	85 d2                	test   %edx,%edx
777c3b41:	75 23                	jne    777c3b66 <_ICCompressorFree@4+0x66>
777c3b43:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
777c3b4a:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c3b4d:	c9                   	leave  
777c3b4e:	c2 04 00             	ret    $0x4
777c3b51:	83 ec 0c             	sub    $0xc,%esp
777c3b54:	50                   	push   %eax
777c3b55:	e8 f6 fe ff ff       	call   777c3a50 <_ICClose@4>
777c3b5a:	83 c4 0c             	add    $0xc,%esp
777c3b5d:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
777c3b64:	eb b9                	jmp    777c3b1f <_ICCompressorFree@4+0x1f>
777c3b66:	83 ec 0c             	sub    $0xc,%esp
777c3b69:	8b 43 20             	mov    0x20(%ebx),%eax
777c3b6c:	50                   	push   %eax
777c3b6d:	e8 fe 1d 00 00       	call   777c5970 <_GlobalHandle@4>
777c3b72:	50                   	push   %eax
777c3b73:	e8 08 1e 00 00       	call   777c5980 <_GlobalUnlock@4>
777c3b78:	8b 43 20             	mov    0x20(%ebx),%eax
777c3b7b:	50                   	push   %eax
777c3b7c:	e8 ef 1d 00 00       	call   777c5970 <_GlobalHandle@4>
777c3b81:	50                   	push   %eax
777c3b82:	e8 09 1e 00 00       	call   777c5990 <_GlobalFree@4>
777c3b87:	83 c4 0c             	add    $0xc,%esp
777c3b8a:	c7 43 38 00 00 00 00 	movl   $0x0,0x38(%ebx)
777c3b91:	eb b0                	jmp    777c3b43 <_ICCompressorFree@4+0x43>
777c3b93:	83 ec 0c             	sub    $0xc,%esp
777c3b96:	50                   	push   %eax
777c3b97:	e8 d4 1d 00 00       	call   777c5970 <_GlobalHandle@4>
777c3b9c:	50                   	push   %eax
777c3b9d:	e8 de 1d 00 00       	call   777c5980 <_GlobalUnlock@4>
777c3ba2:	8b 4b 20             	mov    0x20(%ebx),%ecx
777c3ba5:	51                   	push   %ecx
777c3ba6:	e8 c5 1d 00 00       	call   777c5970 <_GlobalHandle@4>
777c3bab:	50                   	push   %eax
777c3bac:	e8 df 1d 00 00       	call   777c5990 <_GlobalFree@4>
777c3bb1:	83 c4 0c             	add    $0xc,%esp
777c3bb4:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%ebx)
777c3bbb:	e9 7c ff ff ff       	jmp    777c3b3c <_ICCompressorFree@4+0x3c>
777c3bc0:	83 ec 0c             	sub    $0xc,%esp
777c3bc3:	50                   	push   %eax
777c3bc4:	e8 a7 1d 00 00       	call   777c5970 <_GlobalHandle@4>
777c3bc9:	50                   	push   %eax
777c3bca:	e8 b1 1d 00 00       	call   777c5980 <_GlobalUnlock@4>
777c3bcf:	8b 43 1c             	mov    0x1c(%ebx),%eax
777c3bd2:	50                   	push   %eax
777c3bd3:	e8 98 1d 00 00       	call   777c5970 <_GlobalHandle@4>
777c3bd8:	50                   	push   %eax
777c3bd9:	e8 b2 1d 00 00       	call   777c5990 <_GlobalFree@4>
777c3bde:	83 c4 0c             	add    $0xc,%esp
777c3be1:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
777c3be8:	e9 48 ff ff ff       	jmp    777c3b35 <_ICCompressorFree@4+0x35>
777c3bed:	83 ec 0c             	sub    $0xc,%esp
777c3bf0:	50                   	push   %eax
777c3bf1:	e8 7a 1d 00 00       	call   777c5970 <_GlobalHandle@4>
777c3bf6:	50                   	push   %eax
777c3bf7:	e8 84 1d 00 00       	call   777c5980 <_GlobalUnlock@4>
777c3bfc:	8b 43 18             	mov    0x18(%ebx),%eax
777c3bff:	50                   	push   %eax
777c3c00:	e8 6b 1d 00 00       	call   777c5970 <_GlobalHandle@4>
777c3c05:	50                   	push   %eax
777c3c06:	e8 85 1d 00 00       	call   777c5990 <_GlobalFree@4>
777c3c0b:	83 c4 0c             	add    $0xc,%esp
777c3c0e:	c7 43 18 00 00 00 00 	movl   $0x0,0x18(%ebx)
777c3c15:	e9 10 ff ff ff       	jmp    777c3b2a <_ICCompressorFree@4+0x2a>
777c3c1a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

777c3c20 <_ICSendMessage@16>:
777c3c20:	55                   	push   %ebp
777c3c21:	89 e5                	mov    %esp,%ebp
777c3c23:	50                   	push   %eax
777c3c24:	50                   	push   %eax
777c3c25:	8b 45 08             	mov    0x8(%ebp),%eax
777c3c28:	50                   	push   %eax
777c3c29:	e8 02 f9 ff ff       	call   777c3530 <_MSVIDEO_GetHicPtr>
777c3c2e:	59                   	pop    %ecx
777c3c2f:	ba f8 ff ff ff       	mov    $0xfffffff8,%edx
777c3c34:	85 c0                	test   %eax,%eax
777c3c36:	74 14                	je     777c3c4c <_ICSendMessage@16+0x2c>
777c3c38:	8b 55 14             	mov    0x14(%ebp),%edx
777c3c3b:	8b 4d 10             	mov    0x10(%ebp),%ecx
777c3c3e:	52                   	push   %edx
777c3c3f:	8b 55 0c             	mov    0xc(%ebp),%edx
777c3c42:	51                   	push   %ecx
777c3c43:	52                   	push   %edx
777c3c44:	50                   	push   %eax
777c3c45:	e8 a6 fc ff ff       	call   777c38f0 <_MSVIDEO_SendMessage>
777c3c4a:	89 c2                	mov    %eax,%edx
777c3c4c:	89 d0                	mov    %edx,%eax
777c3c4e:	c9                   	leave  
777c3c4f:	c2 10 00             	ret    $0x10
777c3c52:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
777c3c59:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c3c60 <_ICDecompress>:
777c3c60:	55                   	push   %ebp
777c3c61:	89 e5                	mov    %esp,%ebp
777c3c63:	83 ec 28             	sub    $0x28,%esp
777c3c66:	8b 45 0c             	mov    0xc(%ebp),%eax
777c3c69:	6a 18                	push   $0x18
777c3c6b:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
777c3c6e:	8b 45 10             	mov    0x10(%ebp),%eax
777c3c71:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
777c3c74:	8b 45 14             	mov    0x14(%ebp),%eax
777c3c77:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
777c3c7a:	8b 45 18             	mov    0x18(%ebp),%eax
777c3c7d:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
777c3c80:	8b 45 1c             	mov    0x1c(%ebp),%eax
777c3c83:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
777c3c86:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
777c3c89:	50                   	push   %eax
777c3c8a:	8b 45 08             	mov    0x8(%ebp),%eax
777c3c8d:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
777c3c94:	68 0d 40 00 00       	push   $0x400d
777c3c99:	50                   	push   %eax
777c3c9a:	e8 81 ff ff ff       	call   777c3c20 <_ICSendMessage@16>
777c3c9f:	c9                   	leave  
777c3ca0:	c3                   	ret    
777c3ca1:	eb 0d                	jmp    777c3cb0 <_ICCompress>
777c3ca3:	90                   	nop    
777c3ca4:	90                   	nop    
777c3ca5:	90                   	nop    
777c3ca6:	90                   	nop    
777c3ca7:	90                   	nop    
777c3ca8:	90                   	nop    
777c3ca9:	90                   	nop    
777c3caa:	90                   	nop    
777c3cab:	90                   	nop    
777c3cac:	90                   	nop    
777c3cad:	90                   	nop    
777c3cae:	90                   	nop    
777c3caf:	90                   	nop    

777c3cb0 <_ICCompress>:
777c3cb0:	55                   	push   %ebp
777c3cb1:	89 e5                	mov    %esp,%ebp
777c3cb3:	83 ec 38             	sub    $0x38,%esp
777c3cb6:	8b 45 0c             	mov    0xc(%ebp),%eax
777c3cb9:	6a 30                	push   $0x30
777c3cbb:	89 45 c8             	mov    %eax,0xffffffc8(%ebp)
777c3cbe:	8b 45 10             	mov    0x10(%ebp),%eax
777c3cc1:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
777c3cc4:	8b 45 14             	mov    0x14(%ebp),%eax
777c3cc7:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
777c3cca:	8b 45 18             	mov    0x18(%ebp),%eax
777c3ccd:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
777c3cd0:	8b 45 1c             	mov    0x1c(%ebp),%eax
777c3cd3:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
777c3cd6:	8b 45 20             	mov    0x20(%ebp),%eax
777c3cd9:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
777c3cdc:	8b 45 24             	mov    0x24(%ebp),%eax
777c3cdf:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
777c3ce2:	8b 45 28             	mov    0x28(%ebp),%eax
777c3ce5:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
777c3ce8:	8b 45 2c             	mov    0x2c(%ebp),%eax
777c3ceb:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
777c3cee:	8b 45 30             	mov    0x30(%ebp),%eax
777c3cf1:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
777c3cf4:	8b 45 34             	mov    0x34(%ebp),%eax
777c3cf7:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
777c3cfa:	8b 45 38             	mov    0x38(%ebp),%eax
777c3cfd:	89 45 f4             	mov    %eax,0xfffffff4(%ebp)
777c3d00:	8d 45 c8             	lea    0xffffffc8(%ebp),%eax
777c3d03:	50                   	push   %eax
777c3d04:	8b 45 08             	mov    0x8(%ebp),%eax
777c3d07:	68 08 40 00 00       	push   $0x4008
777c3d0c:	50                   	push   %eax
777c3d0d:	e8 0e ff ff ff       	call   777c3c20 <_ICSendMessage@16>
777c3d12:	c9                   	leave  
777c3d13:	c3                   	ret    
777c3d14:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c3d1a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

777c3d20 <_ICGetInfo@12>:
777c3d20:	55                   	push   %ebp
777c3d21:	89 e5                	mov    %esp,%ebp
777c3d23:	57                   	push   %edi
777c3d24:	56                   	push   %esi
777c3d25:	53                   	push   %ebx
777c3d26:	81 ec 5c 02 00 00    	sub    $0x25c,%esp
777c3d2c:	8b 5d 08             	mov    0x8(%ebp),%ebx
777c3d2f:	8b 7d 0c             	mov    0xc(%ebp),%edi
777c3d32:	53                   	push   %ebx
777c3d33:	8b 75 10             	mov    0x10(%ebp),%esi
777c3d36:	e8 f5 f7 ff ff       	call   777c3530 <_MSVIDEO_GetHicPtr>
777c3d3b:	53                   	push   %ebx
777c3d3c:	e8 ef f7 ff ff       	call   777c3530 <_MSVIDEO_GetHicPtr>
777c3d41:	5a                   	pop    %edx
777c3d42:	85 c0                	test   %eax,%eax
777c3d44:	59                   	pop    %ecx
777c3d45:	ba f8 ff ff ff       	mov    $0xfffffff8,%edx
777c3d4a:	74 3c                	je     777c3d88 <_ICGetInfo@12+0x68>
777c3d4c:	ba 0b 00 00 00       	mov    $0xb,%edx
777c3d51:	85 ff                	test   %edi,%edi
777c3d53:	74 33                	je     777c3d88 <_ICGetInfo@12+0x68>
777c3d55:	81 fe 37 02 00 00    	cmp    $0x237,%esi
777c3d5b:	77 37                	ja     777c3d94 <_ICGetInfo@12+0x74>
777c3d5d:	56                   	push   %esi
777c3d5e:	57                   	push   %edi
777c3d5f:	68 02 50 00 00       	push   $0x5002
777c3d64:	53                   	push   %ebx
777c3d65:	e8 b6 fe ff ff       	call   777c3c20 <_ICSendMessage@16>
777c3d6a:	81 fe 37 02 00 00    	cmp    $0x237,%esi
777c3d70:	89 85 a4 fd ff ff    	mov    %eax,0xfffffda4(%ebp)
777c3d76:	76 0a                	jbe    777c3d82 <_ICGetInfo@12+0x62>
777c3d78:	66 83 bf 38 01 00 00 	cmpw   $0x0,0x138(%edi)
777c3d7f:	00 
777c3d80:	74 1e                	je     777c3da0 <_ICGetInfo@12+0x80>
777c3d82:	8b 95 a4 fd ff ff    	mov    0xfffffda4(%ebp),%edx
777c3d88:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c3d8b:	89 d0                	mov    %edx,%eax
777c3d8d:	5b                   	pop    %ebx
777c3d8e:	5e                   	pop    %esi
777c3d8f:	5f                   	pop    %edi
777c3d90:	5d                   	pop    %ebp
777c3d91:	c2 0c 00             	ret    $0xc
777c3d94:	66 c7 87 38 01 00 00 	movw   $0x0,0x138(%edi)
777c3d9b:	00 00 
777c3d9d:	eb be                	jmp    777c3d5d <_ICGetInfo@12+0x3d>
777c3d9f:	90                   	nop    
777c3da0:	8d 9d a8 fd ff ff    	lea    0xfffffda8(%ebp),%ebx
777c3da6:	50                   	push   %eax
777c3da7:	68 38 02 00 00       	push   $0x238
777c3dac:	6a 00                	push   $0x0
777c3dae:	53                   	push   %ebx
777c3daf:	e8 fc 1c 00 00       	call   777c5ab0 <_memset>
777c3db4:	83 c4 0c             	add    $0xc,%esp
777c3db7:	53                   	push   %ebx
777c3db8:	c7 85 a8 fd ff ff 38 	movl   $0x238,0xfffffda8(%ebp)
777c3dbf:	02 00 00 
777c3dc2:	8b 77 08             	mov    0x8(%edi),%esi
777c3dc5:	56                   	push   %esi
777c3dc6:	8b 5f 04             	mov    0x4(%edi),%ebx
777c3dc9:	53                   	push   %ebx
777c3dca:	e8 21 f8 ff ff       	call   777c35f0 <_ICInfo@12>
777c3dcf:	8d 85 e0 fe ff ff    	lea    0xfffffee0(%ebp),%eax
777c3dd5:	51                   	push   %ecx
777c3dd6:	50                   	push   %eax
777c3dd7:	8d 87 38 01 00 00    	lea    0x138(%edi),%eax
777c3ddd:	50                   	push   %eax
777c3dde:	e8 bd 1b 00 00       	call   777c59a0 <_lstrcpyW@8>
777c3de3:	58                   	pop    %eax
777c3de4:	5a                   	pop    %edx
777c3de5:	eb 9b                	jmp    777c3d82 <_ICGetInfo@12+0x62>
777c3de7:	89 f6                	mov    %esi,%esi
777c3de9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c3df0 <_MSVIDEO_OpenFunction>:
777c3df0:	55                   	push   %ebp
777c3df1:	89 e5                	mov    %esp,%ebp
777c3df3:	53                   	push   %ebx
777c3df4:	83 ec 38             	sub    $0x38,%esp
777c3df7:	8b 45 08             	mov    0x8(%ebp),%eax
777c3dfa:	c7 45 c8 24 00 00 00 	movl   $0x24,0xffffffc8(%ebp)
777c3e01:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
777c3e04:	8b 45 0c             	mov    0xc(%ebp),%eax
777c3e07:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
777c3e0a:	8b 45 10             	mov    0x10(%ebp),%eax
777c3e0d:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
777c3e10:	c7 45 d4 00 10 00 00 	movl   $0x1000,0xffffffd4(%ebp)
777c3e17:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
777c3e1e:	c7 45 e0 00 00 00 00 	movl   $0x0,0xffffffe0(%ebp)
777c3e25:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
777c3e2c:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
777c3e33:	6a 38                	push   $0x38
777c3e35:	6a 00                	push   $0x0
777c3e37:	50                   	push   %eax
777c3e38:	e8 a3 1a 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c3e3d:	89 04 24             	mov    %eax,(%esp)
777c3e40:	e8 ab 1a 00 00       	call   777c58f0 <_HeapAlloc@12>
777c3e45:	89 c3                	mov    %eax,%ebx
777c3e47:	58                   	pop    %eax
777c3e48:	31 c0                	xor    %eax,%eax
777c3e4a:	85 db                	test   %ebx,%ebx
777c3e4c:	0f 84 89 00 00 00    	je     777c3edb <_MSVIDEO_OpenFunction+0xeb>
777c3e52:	8b 45 14             	mov    0x14(%ebp),%eax
777c3e55:	89 43 18             	mov    %eax,0x18(%ebx)
777c3e58:	8b 45 18             	mov    0x18(%ebp),%eax
777c3e5b:	89 43 28             	mov    %eax,0x28(%ebx)
777c3e5e:	eb 0b                	jmp    777c3e6b <_MSVIDEO_OpenFunction+0x7b>
777c3e60:	a1 00 70 7c 77       	mov    0x777c7000,%eax
777c3e65:	40                   	inc    %eax
777c3e66:	a3 00 70 7c 77       	mov    %eax,0x777c7000
777c3e6b:	8b 0d 00 70 7c 77    	mov    0x777c7000,%ecx
777c3e71:	51                   	push   %ecx
777c3e72:	e8 b9 f6 ff ff       	call   777c3530 <_MSVIDEO_GetHicPtr>
777c3e77:	5a                   	pop    %edx
777c3e78:	85 c0                	test   %eax,%eax
777c3e7a:	75 e4                	jne    777c3e60 <_MSVIDEO_OpenFunction+0x70>
777c3e7c:	8b 15 00 70 7c 77    	mov    0x777c7000,%edx
777c3e82:	89 53 2c             	mov    %edx,0x2c(%ebx)
777c3e85:	8d 42 01             	lea    0x1(%edx),%eax
777c3e88:	a3 00 70 7c 77       	mov    %eax,0x777c7000
777c3e8d:	a1 48 90 7c 77       	mov    0x777c9048,%eax
777c3e92:	89 43 34             	mov    %eax,0x34(%ebx)
777c3e95:	89 1d 48 90 7c 77    	mov    %ebx,0x777c9048
777c3e9b:	6a 00                	push   $0x0
777c3e9d:	6a 00                	push   $0x0
777c3e9f:	6a 01                	push   $0x1
777c3ea1:	53                   	push   %ebx
777c3ea2:	e8 49 fa ff ff       	call   777c38f0 <_MSVIDEO_SendMessage>
777c3ea7:	83 c4 10             	add    $0x10,%esp
777c3eaa:	48                   	dec    %eax
777c3eab:	75 33                	jne    777c3ee0 <_MSVIDEO_OpenFunction+0xf0>
777c3ead:	6a 00                	push   $0x0
777c3eaf:	6a 00                	push   $0x0
777c3eb1:	6a 02                	push   $0x2
777c3eb3:	53                   	push   %ebx
777c3eb4:	e8 37 fa ff ff       	call   777c38f0 <_MSVIDEO_SendMessage>
777c3eb9:	8d 45 c8             	lea    0xffffffc8(%ebp),%eax
777c3ebc:	50                   	push   %eax
777c3ebd:	6a 00                	push   $0x0
777c3ebf:	6a 03                	push   $0x3
777c3ec1:	53                   	push   %ebx
777c3ec2:	e8 29 fa ff ff       	call   777c38f0 <_MSVIDEO_SendMessage>
777c3ec7:	83 c4 20             	add    $0x20,%esp
777c3eca:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
777c3ed1:	85 c0                	test   %eax,%eax
777c3ed3:	89 43 30             	mov    %eax,0x30(%ebx)
777c3ed6:	74 08                	je     777c3ee0 <_MSVIDEO_OpenFunction+0xf0>
777c3ed8:	8b 43 2c             	mov    0x2c(%ebx),%eax
777c3edb:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c3ede:	c9                   	leave  
777c3edf:	c3                   	ret    
777c3ee0:	8b 43 34             	mov    0x34(%ebx),%eax
777c3ee3:	a3 48 90 7c 77       	mov    %eax,0x777c9048
777c3ee8:	50                   	push   %eax
777c3ee9:	53                   	push   %ebx
777c3eea:	6a 00                	push   $0x0
777c3eec:	53                   	push   %ebx
777c3eed:	e8 ee 19 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c3ef2:	89 04 24             	mov    %eax,(%esp)
777c3ef5:	e8 06 1a 00 00       	call   777c5900 <_HeapFree@12>
777c3efa:	31 c0                	xor    %eax,%eax
777c3efc:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c3eff:	c9                   	leave  
777c3f00:	c3                   	ret    
777c3f01:	eb 0d                	jmp    777c3f10 <_ICOpenFunction@16>
777c3f03:	90                   	nop    
777c3f04:	90                   	nop    
777c3f05:	90                   	nop    
777c3f06:	90                   	nop    
777c3f07:	90                   	nop    
777c3f08:	90                   	nop    
777c3f09:	90                   	nop    
777c3f0a:	90                   	nop    
777c3f0b:	90                   	nop    
777c3f0c:	90                   	nop    
777c3f0d:	90                   	nop    
777c3f0e:	90                   	nop    
777c3f0f:	90                   	nop    

777c3f10 <_ICOpenFunction@16>:
777c3f10:	55                   	push   %ebp
777c3f11:	89 e5                	mov    %esp,%ebp
777c3f13:	83 ec 14             	sub    $0x14,%esp
777c3f16:	8b 45 10             	mov    0x10(%ebp),%eax
777c3f19:	8b 55 14             	mov    0x14(%ebp),%edx
777c3f1c:	6a 00                	push   $0x0
777c3f1e:	52                   	push   %edx
777c3f1f:	50                   	push   %eax
777c3f20:	8b 45 0c             	mov    0xc(%ebp),%eax
777c3f23:	50                   	push   %eax
777c3f24:	8b 45 08             	mov    0x8(%ebp),%eax
777c3f27:	50                   	push   %eax
777c3f28:	e8 c3 fe ff ff       	call   777c3df0 <_MSVIDEO_OpenFunction>
777c3f2d:	c9                   	leave  
777c3f2e:	c2 10 00             	ret    $0x10
777c3f31:	eb 0d                	jmp    777c3f40 <_ICOpen@12>
777c3f33:	90                   	nop    
777c3f34:	90                   	nop    
777c3f35:	90                   	nop    
777c3f36:	90                   	nop    
777c3f37:	90                   	nop    
777c3f38:	90                   	nop    
777c3f39:	90                   	nop    
777c3f3a:	90                   	nop    
777c3f3b:	90                   	nop    
777c3f3c:	90                   	nop    
777c3f3d:	90                   	nop    
777c3f3e:	90                   	nop    
777c3f3f:	90                   	nop    

777c3f40 <_ICOpen@12>:
777c3f40:	55                   	push   %ebp
777c3f41:	89 e5                	mov    %esp,%ebp
777c3f43:	57                   	push   %edi
777c3f44:	56                   	push   %esi
777c3f45:	53                   	push   %ebx
777c3f46:	83 ec 6c             	sub    $0x6c,%esp
777c3f49:	8b 1d 38 90 7c 77    	mov    0x777c9038,%ebx
777c3f4f:	8b 7d 08             	mov    0x8(%ebp),%edi
777c3f52:	8b 75 10             	mov    0x10(%ebp),%esi
777c3f55:	85 db                	test   %ebx,%ebx
777c3f57:	74 1f                	je     777c3f78 <_ICOpen@12+0x38>
777c3f59:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
777c3f60:	8b 13                	mov    (%ebx),%edx
777c3f62:	89 f8                	mov    %edi,%eax
777c3f64:	e8 97 f3 ff ff       	call   777c3300 <_compare_fourcc>
777c3f69:	85 c0                	test   %eax,%eax
777c3f6b:	0f 84 17 01 00 00    	je     777c4088 <_ICOpen@12+0x148>
777c3f71:	8b 5b 10             	mov    0x10(%ebx),%ebx
777c3f74:	85 db                	test   %ebx,%ebx
777c3f76:	75 e8                	jne    777c3f60 <_ICOpen@12+0x20>
777c3f78:	8b 45 0c             	mov    0xc(%ebp),%eax
777c3f7b:	c7 45 98 24 00 00 00 	movl   $0x24,0xffffff98(%ebp)
777c3f82:	89 7d 9c             	mov    %edi,0xffffff9c(%ebp)
777c3f85:	89 45 a0             	mov    %eax,0xffffffa0(%ebp)
777c3f88:	c7 45 a4 00 10 00 00 	movl   $0x1000,0xffffffa4(%ebp)
777c3f8f:	89 75 a8             	mov    %esi,0xffffffa8(%ebp)
777c3f92:	c7 45 ac 00 00 00 00 	movl   $0x0,0xffffffac(%ebp)
777c3f99:	c7 45 b0 00 00 00 00 	movl   $0x0,0xffffffb0(%ebp)
777c3fa0:	c7 45 b4 00 00 00 00 	movl   $0x0,0xffffffb4(%ebp)
777c3fa7:	c7 45 b8 00 00 00 00 	movl   $0x0,0xffffffb8(%ebp)
777c3fae:	85 db                	test   %ebx,%ebx
777c3fb0:	0f 84 0e 01 00 00    	je     777c40c4 <_ICOpen@12+0x184>
777c3fb6:	8d 45 98             	lea    0xffffff98(%ebp),%eax
777c3fb9:	52                   	push   %edx
777c3fba:	50                   	push   %eax
777c3fbb:	6a 00                	push   $0x0
777c3fbd:	8b 43 0c             	mov    0xc(%ebx),%eax
777c3fc0:	50                   	push   %eax
777c3fc1:	e8 fa 15 00 00       	call   777c55c0 <_OpenDriver@12>
777c3fc6:	89 c6                	mov    %eax,%esi
777c3fc8:	58                   	pop    %eax
777c3fc9:	31 c0                	xor    %eax,%eax
777c3fcb:	85 f6                	test   %esi,%esi
777c3fcd:	0f 84 ab 00 00 00    	je     777c407e <_ICOpen@12+0x13e>
777c3fd3:	83 ec 0c             	sub    $0xc,%esp
777c3fd6:	56                   	push   %esi
777c3fd7:	e8 14 16 00 00       	call   777c55f0 <_GetDriverFlags@4>
777c3fdc:	83 c4 0c             	add    $0xc,%esp
777c3fdf:	25 00 00 00 10       	and    $0x10000000,%eax
777c3fe4:	89 45 94             	mov    %eax,0xffffff94(%ebp)
777c3fe7:	74 0d                	je     777c3ff6 <_ICOpen@12+0xb6>
777c3fe9:	a1 30 90 7c 77       	mov    0x777c9030,%eax
777c3fee:	85 c0                	test   %eax,%eax
777c3ff0:	0f 84 9a 01 00 00    	je     777c4190 <_ICOpen@12+0x250>
777c3ff6:	50                   	push   %eax
777c3ff7:	6a 38                	push   $0x38
777c3ff9:	6a 00                	push   $0x0
777c3ffb:	50                   	push   %eax
777c3ffc:	e8 df 18 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c4001:	89 04 24             	mov    %eax,(%esp)
777c4004:	e8 e7 18 00 00       	call   777c58f0 <_HeapAlloc@12>
777c4009:	89 c3                	mov    %eax,%ebx
777c400b:	58                   	pop    %eax
777c400c:	85 db                	test   %ebx,%ebx
777c400e:	0f 84 a8 01 00 00    	je     777c41bc <_ICOpen@12+0x27c>
777c4014:	8b 55 94             	mov    0xffffff94(%ebp),%edx
777c4017:	31 c0                	xor    %eax,%eax
777c4019:	89 73 10             	mov    %esi,0x10(%ebx)
777c401c:	85 d2                	test   %edx,%edx
777c401e:	74 05                	je     777c4025 <_ICOpen@12+0xe5>
777c4020:	a1 30 90 7c 77       	mov    0x777c9030,%eax
777c4025:	89 43 18             	mov    %eax,0x18(%ebx)
777c4028:	8b 45 0c             	mov    0xc(%ebp),%eax
777c402b:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
777c4032:	89 7b 08             	mov    %edi,0x8(%ebx)
777c4035:	89 43 0c             	mov    %eax,0xc(%ebx)
777c4038:	eb 13                	jmp    777c404d <_ICOpen@12+0x10d>
777c403a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c4040:	8b 3d 00 70 7c 77    	mov    0x777c7000,%edi
777c4046:	47                   	inc    %edi
777c4047:	89 3d 00 70 7c 77    	mov    %edi,0x777c7000
777c404d:	8b 35 00 70 7c 77    	mov    0x777c7000,%esi
777c4053:	56                   	push   %esi
777c4054:	e8 d7 f4 ff ff       	call   777c3530 <_MSVIDEO_GetHicPtr>
777c4059:	59                   	pop    %ecx
777c405a:	85 c0                	test   %eax,%eax
777c405c:	75 e2                	jne    777c4040 <_ICOpen@12+0x100>
777c405e:	a1 00 70 7c 77       	mov    0x777c7000,%eax
777c4063:	89 43 2c             	mov    %eax,0x2c(%ebx)
777c4066:	8d 50 01             	lea    0x1(%eax),%edx
777c4069:	89 15 00 70 7c 77    	mov    %edx,0x777c7000
777c406f:	8b 15 48 90 7c 77    	mov    0x777c9048,%edx
777c4075:	89 53 34             	mov    %edx,0x34(%ebx)
777c4078:	89 1d 48 90 7c 77    	mov    %ebx,0x777c9048
777c407e:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c4081:	5b                   	pop    %ebx
777c4082:	5e                   	pop    %esi
777c4083:	5f                   	pop    %edi
777c4084:	5d                   	pop    %ebp
777c4085:	c2 0c 00             	ret    $0xc
777c4088:	8b 53 04             	mov    0x4(%ebx),%edx
777c408b:	8b 45 0c             	mov    0xc(%ebp),%eax
777c408e:	e8 6d f2 ff ff       	call   777c3300 <_compare_fourcc>
777c4093:	85 c0                	test   %eax,%eax
777c4095:	0f 85 d6 fe ff ff    	jne    777c3f71 <_ICOpen@12+0x31>
777c409b:	85 db                	test   %ebx,%ebx
777c409d:	0f 84 d5 fe ff ff    	je     777c3f78 <_ICOpen@12+0x38>
777c40a3:	8b 43 08             	mov    0x8(%ebx),%eax
777c40a6:	85 c0                	test   %eax,%eax
777c40a8:	0f 84 ca fe ff ff    	je     777c3f78 <_ICOpen@12+0x38>
777c40ae:	83 ec 0c             	sub    $0xc,%esp
777c40b1:	6a 00                	push   $0x0
777c40b3:	8b 43 08             	mov    0x8(%ebx),%eax
777c40b6:	50                   	push   %eax
777c40b7:	8b 45 0c             	mov    0xc(%ebp),%eax
777c40ba:	56                   	push   %esi
777c40bb:	50                   	push   %eax
777c40bc:	57                   	push   %edi
777c40bd:	e8 2e fd ff ff       	call   777c3df0 <_MSVIDEO_OpenFunction>
777c40c2:	eb ba                	jmp    777c407e <_ICOpen@12+0x13e>
777c40c4:	89 f8                	mov    %edi,%eax
777c40c6:	31 d2                	xor    %edx,%edx
777c40c8:	25 ff 00 00 00       	and    $0xff,%eax
777c40cd:	8d 5d c8             	lea    0xffffffc8(%ebp),%ebx
777c40d0:	66 89 45 c8          	mov    %ax,0xffffffc8(%ebp)
777c40d4:	89 f8                	mov    %edi,%eax
777c40d6:	66 c1 e8 08          	shr    $0x8,%ax
777c40da:	66 c7 45 d0 2e 00    	movw   $0x2e,0xffffffd0(%ebp)
777c40e0:	66 89 45 ca          	mov    %ax,0xffffffca(%ebp)
777c40e4:	89 f8                	mov    %edi,%eax
777c40e6:	c1 e8 10             	shr    $0x10,%eax
777c40e9:	66 c7 45 da 00 00    	movw   $0x0,0xffffffda(%ebp)
777c40ef:	88 c2                	mov    %al,%dl
777c40f1:	66 c1 e8 08          	shr    $0x8,%ax
777c40f5:	66 89 55 cc          	mov    %dx,0xffffffcc(%ebp)
777c40f9:	66 89 45 ce          	mov    %ax,0xffffffce(%ebp)
777c40fd:	31 c0                	xor    %eax,%eax
777c40ff:	8a 45 0c             	mov    0xc(%ebp),%al
777c4102:	31 d2                	xor    %edx,%edx
777c4104:	66 89 45 d2          	mov    %ax,0xffffffd2(%ebp)
777c4108:	8b 45 0c             	mov    0xc(%ebp),%eax
777c410b:	66 c1 e8 08          	shr    $0x8,%ax
777c410f:	66 89 45 d4          	mov    %ax,0xffffffd4(%ebp)
777c4113:	8b 45 0c             	mov    0xc(%ebp),%eax
777c4116:	c1 e8 10             	shr    $0x10,%eax
777c4119:	88 c2                	mov    %al,%dl
777c411b:	66 c1 e8 08          	shr    $0x8,%ax
777c411f:	66 89 55 d6          	mov    %dx,0xffffffd6(%ebp)
777c4123:	66 89 45 d8          	mov    %ax,0xffffffd8(%ebp)
777c4127:	50                   	push   %eax
777c4128:	8d 45 98             	lea    0xffffff98(%ebp),%eax
777c412b:	50                   	push   %eax
777c412c:	68 9e 83 7c 77       	push   $0x777c839e
777c4131:	53                   	push   %ebx
777c4132:	e8 89 14 00 00       	call   777c55c0 <_OpenDriver@12>
777c4137:	89 c6                	mov    %eax,%esi
777c4139:	58                   	pop    %eax
777c413a:	85 f6                	test   %esi,%esi
777c413c:	0f 85 91 fe ff ff    	jne    777c3fd3 <_ICOpen@12+0x93>
777c4142:	81 ff 76 69 64 73    	cmp    $0x73646976,%edi
777c4148:	74 07                	je     777c4151 <_ICOpen@12+0x211>
777c414a:	31 c0                	xor    %eax,%eax
777c414c:	e9 2d ff ff ff       	jmp    777c407e <_ICOpen@12+0x13e>
777c4151:	8d 45 98             	lea    0xffffff98(%ebp),%eax
777c4154:	66 c7 45 c8 76 00    	movw   $0x76,0xffffffc8(%ebp)
777c415a:	56                   	push   %esi
777c415b:	66 c7 45 ca 69 00    	movw   $0x69,0xffffffca(%ebp)
777c4161:	50                   	push   %eax
777c4162:	66 c7 45 cc 64 00    	movw   $0x64,0xffffffcc(%ebp)
777c4168:	68 9e 83 7c 77       	push   $0x777c839e
777c416d:	66 c7 45 ce 63 00    	movw   $0x63,0xffffffce(%ebp)
777c4173:	53                   	push   %ebx
777c4174:	e8 47 14 00 00       	call   777c55c0 <_OpenDriver@12>
777c4179:	bf 76 69 64 63       	mov    $0x63646976,%edi
777c417e:	89 c6                	mov    %eax,%esi
777c4180:	59                   	pop    %ecx
777c4181:	85 c0                	test   %eax,%eax
777c4183:	0f 85 4a fe ff ff    	jne    777c3fd3 <_ICOpen@12+0x93>
777c4189:	31 c0                	xor    %eax,%eax
777c418b:	e9 ee fe ff ff       	jmp    777c407e <_ICOpen@12+0x13e>
777c4190:	68 96 83 7c 77       	push   $0x777c8396
777c4195:	68 72 01 00 00       	push   $0x172
777c419a:	68 f6 82 7c 77       	push   $0x777c82f6
777c419f:	68 05 83 7c 77       	push   $0x777c8305
777c41a4:	e8 c7 18 00 00       	call   777c5a70 <_DbgPrint>
777c41a9:	c7 04 24 b4 83 7c 77 	movl   $0x777c83b4,(%esp)
777c41b0:	e8 bb 18 00 00       	call   777c5a70 <_DbgPrint>
777c41b5:	31 c0                	xor    %eax,%eax
777c41b7:	e9 c2 fe ff ff       	jmp    777c407e <_ICOpen@12+0x13e>
777c41bc:	51                   	push   %ecx
777c41bd:	6a 00                	push   $0x0
777c41bf:	6a 00                	push   $0x0
777c41c1:	56                   	push   %esi
777c41c2:	e8 09 14 00 00       	call   777c55d0 <_CloseDriver@12>
777c41c7:	31 c0                	xor    %eax,%eax
777c41c9:	e9 b0 fe ff ff       	jmp    777c407e <_ICOpen@12+0x13e>
777c41ce:	89 f6                	mov    %esi,%esi

777c41d0 <_try_driver>:
777c41d0:	55                   	push   %ebp
777c41d1:	89 e5                	mov    %esp,%ebp
777c41d3:	56                   	push   %esi
777c41d4:	53                   	push   %ebx
777c41d5:	89 c3                	mov    %eax,%ebx
777c41d7:	50                   	push   %eax
777c41d8:	66 8b 43 10          	mov    0x10(%ebx),%ax
777c41dc:	25 ff ff 00 00       	and    $0xffff,%eax
777c41e1:	50                   	push   %eax
777c41e2:	8b 43 04             	mov    0x4(%ebx),%eax
777c41e5:	50                   	push   %eax
777c41e6:	8b 03                	mov    (%ebx),%eax
777c41e8:	50                   	push   %eax
777c41e9:	e8 52 fd ff ff       	call   777c3f40 <_ICOpen@12>
777c41ee:	89 c6                	mov    %eax,%esi
777c41f0:	58                   	pop    %eax
777c41f1:	85 f6                	test   %esi,%esi
777c41f3:	74 2d                	je     777c4222 <_try_driver+0x52>
777c41f5:	8b 4b 0c             	mov    0xc(%ebx),%ecx
777c41f8:	51                   	push   %ecx
777c41f9:	8b 53 08             	mov    0x8(%ebx),%edx
777c41fc:	52                   	push   %edx
777c41fd:	8b 43 14             	mov    0x14(%ebx),%eax
777c4200:	50                   	push   %eax
777c4201:	56                   	push   %esi
777c4202:	e8 19 fa ff ff       	call   777c3c20 <_ICSendMessage@16>
777c4207:	89 f2                	mov    %esi,%edx
777c4209:	85 c0                	test   %eax,%eax
777c420b:	75 09                	jne    777c4216 <_try_driver+0x46>
777c420d:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
777c4210:	89 d0                	mov    %edx,%eax
777c4212:	5b                   	pop    %ebx
777c4213:	5e                   	pop    %esi
777c4214:	5d                   	pop    %ebp
777c4215:	c3                   	ret    
777c4216:	83 ec 0c             	sub    $0xc,%esp
777c4219:	56                   	push   %esi
777c421a:	e8 31 f8 ff ff       	call   777c3a50 <_ICClose@4>
777c421f:	83 c4 0c             	add    $0xc,%esp
777c4222:	31 d2                	xor    %edx,%edx
777c4224:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
777c4227:	89 d0                	mov    %edx,%eax
777c4229:	5b                   	pop    %ebx
777c422a:	5e                   	pop    %esi
777c422b:	5d                   	pop    %ebp
777c422c:	c3                   	ret    
777c422d:	8d 76 00             	lea    0x0(%esi),%esi

777c4230 <_ICLocate@20>:
777c4230:	55                   	push   %ebp
777c4231:	89 e5                	mov    %esp,%ebp
777c4233:	57                   	push   %edi
777c4234:	56                   	push   %esi
777c4235:	53                   	push   %ebx
777c4236:	83 ec 2c             	sub    $0x2c,%esp
777c4239:	8b 55 0c             	mov    0xc(%ebp),%edx
777c423c:	8b 45 18             	mov    0x18(%ebp),%eax
777c423f:	89 55 cc             	mov    %edx,0xffffffcc(%ebp)
777c4242:	8b 55 10             	mov    0x10(%ebp),%edx
777c4245:	8b 75 08             	mov    0x8(%ebp),%esi
777c4248:	89 c7                	mov    %eax,%edi
777c424a:	89 55 d0             	mov    %edx,0xffffffd0(%ebp)
777c424d:	66 89 45 d8          	mov    %ax,0xffffffd8(%ebp)
777c4251:	8b 55 14             	mov    0x14(%ebp),%edx
777c4254:	25 ff ff 00 00       	and    $0xffff,%eax
777c4259:	89 75 c8             	mov    %esi,0xffffffc8(%ebp)
777c425c:	89 55 d4             	mov    %edx,0xffffffd4(%ebp)
777c425f:	83 f8 08             	cmp    $0x8,%eax
777c4262:	77 0c                	ja     777c4270 <_ICLocate@20+0x40>
777c4264:	ff 24 85 ec 83 7c 77 	jmp    *0x777c83ec(,%eax,4)
777c426b:	90                   	nop    
777c426c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c4270:	31 c0                	xor    %eax,%eax
777c4272:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c4275:	5b                   	pop    %ebx
777c4276:	5e                   	pop    %esi
777c4277:	5f                   	pop    %edi
777c4278:	5d                   	pop    %ebp
777c4279:	c2 14 00             	ret    $0x14
777c427c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c4280:	c7 45 dc 1f 40 00 00 	movl   $0x401f,0xffffffdc(%ebp)
777c4287:	8d 5d c8             	lea    0xffffffc8(%ebp),%ebx
777c428a:	89 d8                	mov    %ebx,%eax
777c428c:	e8 3f ff ff ff       	call   777c41d0 <_try_driver>
777c4291:	85 c0                	test   %eax,%eax
777c4293:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
777c4296:	75 da                	jne    777c4272 <_ICLocate@20+0x42>
777c4298:	83 ec 0c             	sub    $0xc,%esp
777c429b:	ba 40 44 7c 77       	mov    $0x777c4440,%edx
777c42a0:	89 f0                	mov    %esi,%eax
777c42a2:	53                   	push   %ebx
777c42a3:	e8 a8 f0 ff ff       	call   777c3350 <_enum_drivers>
777c42a8:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
777c42ab:	83 c4 10             	add    $0x10,%esp
777c42ae:	85 c0                	test   %eax,%eax
777c42b0:	75 c0                	jne    777c4272 <_ICLocate@20+0x42>
777c42b2:	31 c0                	xor    %eax,%eax
777c42b4:	81 fe 76 69 64 73    	cmp    $0x73646976,%esi
777c42ba:	75 b6                	jne    777c4272 <_ICLocate@20+0x42>
777c42bc:	83 ec 0c             	sub    $0xc,%esp
777c42bf:	89 f8                	mov    %edi,%eax
777c42c1:	25 ff ff 00 00       	and    $0xffff,%eax
777c42c6:	8b 55 14             	mov    0x14(%ebp),%edx
777c42c9:	50                   	push   %eax
777c42ca:	8b 45 10             	mov    0x10(%ebp),%eax
777c42cd:	52                   	push   %edx
777c42ce:	50                   	push   %eax
777c42cf:	8b 45 0c             	mov    0xc(%ebp),%eax
777c42d2:	50                   	push   %eax
777c42d3:	68 76 69 64 63       	push   $0x63646976
777c42d8:	e8 53 ff ff ff       	call   777c4230 <_ICLocate@20>
777c42dd:	eb 93                	jmp    777c4272 <_ICLocate@20+0x42>
777c42df:	90                   	nop    
777c42e0:	c7 45 dc 06 40 00 00 	movl   $0x4006,0xffffffdc(%ebp)
777c42e7:	eb 9e                	jmp    777c4287 <_ICLocate@20+0x57>
777c42e9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
777c42f0:	c7 45 dc 0b 40 00 00 	movl   $0x400b,0xffffffdc(%ebp)
777c42f7:	eb 8e                	jmp    777c4287 <_ICLocate@20+0x57>
777c42f9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c4300 <_ICGetDisplayFormat@24>:
777c4300:	55                   	push   %ebp
777c4301:	89 e5                	mov    %esp,%ebp
777c4303:	57                   	push   %edi
777c4304:	56                   	push   %esi
777c4305:	53                   	push   %ebx
777c4306:	83 ec 0c             	sub    $0xc,%esp
777c4309:	8b 75 08             	mov    0x8(%ebp),%esi
777c430c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
777c430f:	8b 7d 10             	mov    0x10(%ebp),%edi
777c4312:	85 f6                	test   %esi,%esi
777c4314:	0f 84 f2 00 00 00    	je     777c440c <_ICGetDisplayFormat@24+0x10c>
777c431a:	6a 00                	push   $0x0
777c431c:	53                   	push   %ebx
777c431d:	68 0b 40 00 00       	push   $0x400b
777c4322:	56                   	push   %esi
777c4323:	e8 f8 f8 ff ff       	call   777c3c20 <_ICSendMessage@16>
777c4328:	85 c0                	test   %eax,%eax
777c432a:	0f 85 c4 00 00 00    	jne    777c43f4 <_ICGetDisplayFormat@24+0xf4>
777c4330:	57                   	push   %edi
777c4331:	53                   	push   %ebx
777c4332:	68 0a 40 00 00       	push   $0x400a
777c4337:	56                   	push   %esi
777c4338:	e8 e3 f8 ff ff       	call   777c3c20 <_ICSendMessage@16>
777c433d:	8b 47 10             	mov    0x10(%edi),%eax
777c4340:	85 c0                	test   %eax,%eax
777c4342:	75 7f                	jne    777c43c3 <_ICGetDisplayFormat@24+0xc3>
777c4344:	83 3f 27             	cmpl   $0x27,(%edi)
777c4347:	76 47                	jbe    777c4390 <_ICGetDisplayFormat@24+0x90>
777c4349:	8b 7d 14             	mov    0x14(%ebp),%edi
777c434c:	85 ff                	test   %edi,%edi
777c434e:	74 10                	je     777c4360 <_ICGetDisplayFormat@24+0x60>
777c4350:	89 f0                	mov    %esi,%eax
777c4352:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c4355:	5b                   	pop    %ebx
777c4356:	5e                   	pop    %esi
777c4357:	5f                   	pop    %edi
777c4358:	5d                   	pop    %ebp
777c4359:	c2 18 00             	ret    $0x18
777c435c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c4360:	83 ec 0c             	sub    $0xc,%esp
777c4363:	6a 00                	push   $0x0
777c4365:	e8 46 14 00 00       	call   777c57b0 <_GetDC@4>
777c436a:	89 c3                	mov    %eax,%ebx
777c436c:	c7 04 24 0c 00 00 00 	movl   $0xc,(%esp)
777c4373:	50                   	push   %eax
777c4374:	e8 57 14 00 00       	call   777c57d0 <_GetDeviceCaps@8>
777c4379:	6a 0e                	push   $0xe
777c437b:	53                   	push   %ebx
777c437c:	e8 4f 14 00 00       	call   777c57d0 <_GetDeviceCaps@8>
777c4381:	53                   	push   %ebx
777c4382:	6a 00                	push   $0x0
777c4384:	e8 37 14 00 00       	call   777c57c0 <_ReleaseDC@8>
777c4389:	59                   	pop    %ecx
777c438a:	5b                   	pop    %ebx
777c438b:	eb c3                	jmp    777c4350 <_ICGetDisplayFormat@24+0x50>
777c438d:	8d 76 00             	lea    0x0(%esi),%esi
777c4390:	68 10 84 7c 77       	push   $0x777c8410
777c4395:	68 6c 02 00 00       	push   $0x26c
777c439a:	68 f6 82 7c 77       	push   $0x777c82f6
777c439f:	68 05 83 7c 77       	push   $0x777c8305
777c43a4:	e8 c7 16 00 00       	call   777c5a70 <_DbgPrint>
777c43a9:	58                   	pop    %eax
777c43aa:	8b 07                	mov    (%edi),%eax
777c43ac:	5a                   	pop    %edx
777c43ad:	50                   	push   %eax
777c43ae:	68 24 84 7c 77       	push   $0x777c8424
777c43b3:	e8 b8 16 00 00       	call   777c5a70 <_DbgPrint>
777c43b8:	83 c4 10             	add    $0x10,%esp
777c43bb:	c7 07 28 00 00 00    	movl   $0x28,(%edi)
777c43c1:	eb 86                	jmp    777c4349 <_ICGetDisplayFormat@24+0x49>
777c43c3:	68 10 84 7c 77       	push   $0x777c8410
777c43c8:	68 68 02 00 00       	push   $0x268
777c43cd:	68 f6 82 7c 77       	push   $0x777c82f6
777c43d2:	68 05 83 7c 77       	push   $0x777c8305
777c43d7:	e8 94 16 00 00       	call   777c5a70 <_DbgPrint>
777c43dc:	8b 4f 10             	mov    0x10(%edi),%ecx
777c43df:	5b                   	pop    %ebx
777c43e0:	58                   	pop    %eax
777c43e1:	51                   	push   %ecx
777c43e2:	68 54 84 7c 77       	push   $0x777c8454
777c43e7:	e8 84 16 00 00       	call   777c5a70 <_DbgPrint>
777c43ec:	83 c4 10             	add    $0x10,%esp
777c43ef:	e9 50 ff ff ff       	jmp    777c4344 <_ICGetDisplayFormat@24+0x44>
777c43f4:	39 75 08             	cmp    %esi,0x8(%ebp)
777c43f7:	74 0c                	je     777c4405 <_ICGetDisplayFormat@24+0x105>
777c43f9:	83 ec 0c             	sub    $0xc,%esp
777c43fc:	56                   	push   %esi
777c43fd:	e8 4e f6 ff ff       	call   777c3a50 <_ICClose@4>
777c4402:	83 c4 0c             	add    $0xc,%esp
777c4405:	31 c0                	xor    %eax,%eax
777c4407:	e9 46 ff ff ff       	jmp    777c4352 <_ICGetDisplayFormat@24+0x52>
777c440c:	83 ec 0c             	sub    $0xc,%esp
777c440f:	6a 02                	push   $0x2
777c4411:	6a 00                	push   $0x0
777c4413:	53                   	push   %ebx
777c4414:	6a 00                	push   $0x0
777c4416:	68 76 69 64 63       	push   $0x63646976
777c441b:	e8 10 fe ff ff       	call   777c4230 <_ICLocate@20>
777c4420:	89 c6                	mov    %eax,%esi
777c4422:	83 c4 0c             	add    $0xc,%esp
777c4425:	31 c0                	xor    %eax,%eax
777c4427:	85 f6                	test   %esi,%esi
777c4429:	0f 85 eb fe ff ff    	jne    777c431a <_ICGetDisplayFormat@24+0x1a>
777c442f:	e9 1e ff ff ff       	jmp    777c4352 <_ICGetDisplayFormat@24+0x52>
777c4434:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c443a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

777c4440 <_ICLocate_enum_handler>:
777c4440:	55                   	push   %ebp
777c4441:	89 e5                	mov    %esp,%ebp
777c4443:	53                   	push   %ebx
777c4444:	83 ec 0c             	sub    $0xc,%esp
777c4447:	8b 45 08             	mov    0x8(%ebp),%eax
777c444a:	8b 5d 10             	mov    0x10(%ebp),%ebx
777c444d:	83 c0 05             	add    $0x5,%eax
777c4450:	6a 00                	push   $0x0
777c4452:	50                   	push   %eax
777c4453:	e8 88 11 00 00       	call   777c55e0 <_mmioStringToFOURCCA@8>
777c4458:	89 43 04             	mov    %eax,0x4(%ebx)
777c445b:	58                   	pop    %eax
777c445c:	89 d8                	mov    %ebx,%eax
777c445e:	5a                   	pop    %edx
777c445f:	e8 6c fd ff ff       	call   777c41d0 <_try_driver>
777c4464:	85 c0                	test   %eax,%eax
777c4466:	89 43 18             	mov    %eax,0x18(%ebx)
777c4469:	0f 95 c0             	setne  %al
777c446c:	25 ff 00 00 00       	and    $0xff,%eax
777c4471:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c4474:	c9                   	leave  
777c4475:	c3                   	ret    
777c4476:	8d 76 00             	lea    0x0(%esi),%esi
777c4479:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c4480 <_ICDrawBegin>:
777c4480:	55                   	push   %ebp
777c4481:	89 e5                	mov    %esp,%ebp
777c4483:	83 ec 48             	sub    $0x48,%esp
777c4486:	8b 45 0c             	mov    0xc(%ebp),%eax
777c4489:	6a 3c                	push   $0x3c
777c448b:	89 45 b8             	mov    %eax,0xffffffb8(%ebp)
777c448e:	8b 45 10             	mov    0x10(%ebp),%eax
777c4491:	89 45 bc             	mov    %eax,0xffffffbc(%ebp)
777c4494:	8b 45 14             	mov    0x14(%ebp),%eax
777c4497:	89 45 c0             	mov    %eax,0xffffffc0(%ebp)
777c449a:	8b 45 18             	mov    0x18(%ebp),%eax
777c449d:	89 45 c4             	mov    %eax,0xffffffc4(%ebp)
777c44a0:	8b 45 1c             	mov    0x1c(%ebp),%eax
777c44a3:	89 45 c8             	mov    %eax,0xffffffc8(%ebp)
777c44a6:	8b 45 20             	mov    0x20(%ebp),%eax
777c44a9:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
777c44ac:	8b 45 24             	mov    0x24(%ebp),%eax
777c44af:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
777c44b2:	8b 45 28             	mov    0x28(%ebp),%eax
777c44b5:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
777c44b8:	8b 45 2c             	mov    0x2c(%ebp),%eax
777c44bb:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
777c44be:	8b 45 30             	mov    0x30(%ebp),%eax
777c44c1:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
777c44c4:	8b 45 34             	mov    0x34(%ebp),%eax
777c44c7:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
777c44ca:	8b 45 38             	mov    0x38(%ebp),%eax
777c44cd:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
777c44d0:	8b 45 3c             	mov    0x3c(%ebp),%eax
777c44d3:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
777c44d6:	8b 45 40             	mov    0x40(%ebp),%eax
777c44d9:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
777c44dc:	8b 45 44             	mov    0x44(%ebp),%eax
777c44df:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
777c44e2:	8d 45 b8             	lea    0xffffffb8(%ebp),%eax
777c44e5:	50                   	push   %eax
777c44e6:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c44e9:	68 0f 40 00 00       	push   $0x400f
777c44ee:	51                   	push   %ecx
777c44ef:	e8 2c f7 ff ff       	call   777c3c20 <_ICSendMessage@16>
777c44f4:	c9                   	leave  
777c44f5:	c3                   	ret    
777c44f6:	8d 76 00             	lea    0x0(%esi),%esi
777c44f9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c4500 <_ICDraw>:
777c4500:	55                   	push   %ebp
777c4501:	89 e5                	mov    %esp,%ebp
777c4503:	83 ec 28             	sub    $0x28,%esp
777c4506:	8b 45 0c             	mov    0xc(%ebp),%eax
777c4509:	6a 14                	push   $0x14
777c450b:	89 45 d8             	mov    %eax,0xffffffd8(%ebp)
777c450e:	8b 45 10             	mov    0x10(%ebp),%eax
777c4511:	89 45 dc             	mov    %eax,0xffffffdc(%ebp)
777c4514:	8b 45 14             	mov    0x14(%ebp),%eax
777c4517:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
777c451a:	8b 45 18             	mov    0x18(%ebp),%eax
777c451d:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
777c4520:	8b 45 1c             	mov    0x1c(%ebp),%eax
777c4523:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
777c4526:	8d 45 d8             	lea    0xffffffd8(%ebp),%eax
777c4529:	50                   	push   %eax
777c452a:	8b 45 08             	mov    0x8(%ebp),%eax
777c452d:	68 21 40 00 00       	push   $0x4021
777c4532:	50                   	push   %eax
777c4533:	e8 e8 f6 ff ff       	call   777c3c20 <_ICSendMessage@16>
777c4538:	c9                   	leave  
777c4539:	c3                   	ret    
777c453a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

777c4540 <_ICImageCompress@28>:



/***********************************************************************
 *		ICImageCompress	[MSVFW32.@]
 */
HANDLE VFWAPI ICImageCompress(
	HIC hic, UINT uiFlags,
	LPBITMAPINFO lpbiIn, LPVOID lpBits,
	LPBITMAPINFO lpbiOut, LONG lQuality,
	LONG* plSize)
{
777c4540:	55                   	push   %ebp
777c4541:	89 e5                	mov    %esp,%ebp
777c4543:	50                   	push   %eax
777c4544:	50                   	push   %eax
	FIXME("(%p,%08x,%p,%p,%p,%ld,%p)\n",
777c4545:	68 91 84 7c 77       	push   $0x777c8491
777c454a:	68 d4 03 00 00       	push   $0x3d4
777c454f:	68 f6 82 7c 77       	push   $0x777c82f6
777c4554:	68 05 83 7c 77       	push   $0x777c8305
777c4559:	e8 12 15 00 00       	call   777c5a70 <_DbgPrint>
777c455e:	8b 45 18             	mov    0x18(%ebp),%eax
777c4561:	8b 4d 20             	mov    0x20(%ebp),%ecx
777c4564:	8b 55 1c             	mov    0x1c(%ebp),%edx
777c4567:	51                   	push   %ecx
777c4568:	52                   	push   %edx
777c4569:	50                   	push   %eax
777c456a:	8b 45 14             	mov    0x14(%ebp),%eax
777c456d:	50                   	push   %eax
777c456e:	8b 45 10             	mov    0x10(%ebp),%eax
777c4571:	50                   	push   %eax
777c4572:	8b 45 0c             	mov    0xc(%ebp),%eax
777c4575:	50                   	push   %eax
777c4576:	8b 45 08             	mov    0x8(%ebp),%eax
777c4579:	50                   	push   %eax
777c457a:	68 a1 84 7c 77       	push   $0x777c84a1
777c457f:	e8 ec 14 00 00       	call   777c5a70 <_DbgPrint>
		hic, uiFlags, lpbiIn, lpBits, lpbiOut, lQuality, plSize);

	return NULL;
}
777c4584:	31 c0                	xor    %eax,%eax
777c4586:	c9                   	leave  
777c4587:	c2 1c 00             	ret    $0x1c
777c458a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

777c4590 <_ICImageDecompress@20>:

/***********************************************************************
 *		ICImageDecompress	[MSVFW32.@]
 */

HANDLE VFWAPI ICImageDecompress(
	HIC hic, UINT uiFlags, LPBITMAPINFO lpbiIn,
	LPVOID lpBits, LPBITMAPINFO lpbiOut)
{
777c4590:	55                   	push   %ebp
777c4591:	89 e5                	mov    %esp,%ebp
777c4593:	57                   	push   %edi
777c4594:	56                   	push   %esi
777c4595:	53                   	push   %ebx
777c4596:	83 ec 1c             	sub    $0x1c,%esp
	HGLOBAL	hMem = NULL;
777c4599:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
	BYTE*	pMem = NULL;
	BOOL	bReleaseIC = FALSE;
	BYTE*	pHdr = NULL;
	LONG	cbHdr = 0;
	BOOL	bSucceeded = FALSE;
	BOOL	bInDecompress = FALSE;
	DWORD	biSizeImage;

	TRACE("(%p,%08x,%p,%p,%p)\n",
		hic, uiFlags, lpbiIn, lpBits, lpbiOut);

	if ( hic == NULL )
777c45a0:	8b 7d 08             	mov    0x8(%ebp),%edi
777c45a3:	8b 75 0c             	mov    0xc(%ebp),%esi
777c45a6:	8b 5d 18             	mov    0x18(%ebp),%ebx
777c45a9:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
777c45b0:	c7 45 e8 00 00 00 00 	movl   $0x0,0xffffffe8(%ebp)
777c45b7:	c7 45 e4 00 00 00 00 	movl   $0x0,0xffffffe4(%ebp)
777c45be:	c7 45 dc 00 00 00 00 	movl   $0x0,0xffffffdc(%ebp)
777c45c5:	85 ff                	test   %edi,%edi
777c45c7:	0f 84 01 02 00 00    	je     777c47ce <_ICImageDecompress@20+0x23e>
	{
		hic = ICDecompressOpen( ICTYPE_VIDEO, 0, &lpbiIn->bmiHeader, (lpbiOut != NULL) ? &lpbiOut->bmiHeader : NULL );
		if ( hic == NULL )
		{
			WARN("no handler\n" );
			goto err;
		}
		bReleaseIC = TRUE;
	}
	if ( uiFlags != 0 )
777c45cd:	85 f6                	test   %esi,%esi
777c45cf:	0f 85 cb 01 00 00    	jne    777c47a0 <_ICImageDecompress@20+0x210>
	{
		FIXME( "unknown flag %08x\n", uiFlags );
		goto err;
	}
	if ( lpbiIn == NULL || lpBits == NULL )
777c45d5:	8b 45 10             	mov    0x10(%ebp),%eax
777c45d8:	85 c0                	test   %eax,%eax
777c45da:	8b 45 14             	mov    0x14(%ebp),%eax
777c45dd:	0f 94 c2             	sete   %dl
777c45e0:	85 c0                	test   %eax,%eax
777c45e2:	0f 94 c0             	sete   %al
777c45e5:	09 d0                	or     %edx,%eax
777c45e7:	a8 01                	test   $0x1,%al
777c45e9:	75 0d                	jne    777c45f8 <_ICImageDecompress@20+0x68>
	{
		WARN("invalid argument\n");
		goto err;
	}

	if ( lpbiOut != NULL )
777c45eb:	85 db                	test   %ebx,%ebx
777c45ed:	0f 84 0b 02 00 00    	je     777c47fe <_ICImageDecompress@20+0x26e>
	{
		if ( lpbiOut->bmiHeader.biSize != sizeof(BITMAPINFOHEADER) )
777c45f3:	83 3b 28             	cmpl   $0x28,(%ebx)
777c45f6:	74 68                	je     777c4660 <_ICImageDecompress@20+0xd0>
			goto err;
		cbHdr = sizeof(BITMAPINFOHEADER);
		if ( lpbiOut->bmiHeader.biCompression == 3 )
			cbHdr += sizeof(DWORD)*3;
		else
		if ( lpbiOut->bmiHeader.biBitCount <= 8 )
		{
			if ( lpbiOut->bmiHeader.biClrUsed == 0 )
				cbHdr += sizeof(RGBQUAD) * (1<<lpbiOut->bmiHeader.biBitCount);
			else
				cbHdr += sizeof(RGBQUAD) * lpbiOut->bmiHeader.biClrUsed;
		}
	}
	else
	{
		TRACE( "get format\n" );

		cbHdr = ICDecompressGetFormatSize(hic,lpbiIn);
		if ( cbHdr < sizeof(BITMAPINFOHEADER) )
			goto err;
		pHdr = (BYTE*)HeapAlloc(GetProcessHeap(),0,cbHdr+sizeof(RGBQUAD)*256);
		if ( pHdr == NULL )
			goto err;
		ZeroMemory( pHdr, cbHdr+sizeof(RGBQUAD)*256 );
		if ( ICDecompressGetFormat( hic, lpbiIn, (BITMAPINFO*)pHdr ) != ICERR_OK )
			goto err;
		lpbiOut = (BITMAPINFO*)pHdr;
		if ( lpbiOut->bmiHeader.biBitCount <= 8 &&
			 ICDecompressGetPalette( hic, lpbiIn, lpbiOut ) != ICERR_OK &&
			 lpbiIn->bmiHeader.biBitCount == lpbiOut->bmiHeader.biBitCount )
		{
			if ( lpbiIn->bmiHeader.biClrUsed == 0 )
				memcpy( lpbiOut->bmiColors, lpbiIn->bmiColors, sizeof(RGBQUAD)*(1<<lpbiOut->bmiHeader.biBitCount) );
			else
				memcpy( lpbiOut->bmiColors, lpbiIn->bmiColors, sizeof(RGBQUAD)*lpbiIn->bmiHeader.biClrUsed );
		}
		if ( lpbiOut->bmiHeader.biBitCount <= 8 &&
			 lpbiOut->bmiHeader.biClrUsed == 0 )
			lpbiOut->bmiHeader.biClrUsed = 1<<lpbiOut->bmiHeader.biBitCount;

		lpbiOut->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
		cbHdr = sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD)*lpbiOut->bmiHeader.biClrUsed;
	}

	biSizeImage = lpbiOut->bmiHeader.biSizeImage;
	if ( biSizeImage == 0 )
		biSizeImage = ((((lpbiOut->bmiHeader.biWidth * lpbiOut->bmiHeader.biBitCount + 7) >> 3) + 3) & (~3)) * abs(lpbiOut->bmiHeader.biHeight);

	TRACE( "call ICDecompressBegin\n" );

	if ( ICDecompressBegin( hic, lpbiIn, lpbiOut ) != ICERR_OK )
		goto err;
	bInDecompress = TRUE;

	TRACE( "cbHdr %ld, biSizeImage %ld\n", cbHdr, biSizeImage );

	hMem = GlobalAlloc( GMEM_MOVEABLE|GMEM_ZEROINIT, cbHdr + biSizeImage );
	if ( hMem == NULL )
	{
		WARN( "out of memory\n" );
		goto err;
	}
	pMem = (BYTE*)GlobalLock( hMem );
	if ( pMem == NULL )
		goto err;
	memcpy( pMem, lpbiOut, cbHdr );

	TRACE( "call ICDecompress\n" );
	if ( ICDecompress( hic, 0, &lpbiIn->bmiHeader, lpBits, &lpbiOut->bmiHeader, pMem+cbHdr ) != ICERR_OK )
		goto err;

	bSucceeded = TRUE;
err:
	if ( bInDecompress )
		ICDecompressEnd( hic );
	if ( bReleaseIC )
777c45f8:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
777c45fb:	85 c0                	test   %eax,%eax
777c45fd:	0f 85 b4 00 00 00    	jne    777c46b7 <_ICImageDecompress@20+0x127>
		ICClose(hic);
	if ( pHdr != NULL )
777c4603:	8b 7d e4             	mov    0xffffffe4(%ebp),%edi
777c4606:	85 ff                	test   %edi,%edi
777c4608:	74 16                	je     777c4620 <_ICImageDecompress@20+0x90>
		HeapFree(GetProcessHeap(),0,pHdr);
777c460a:	56                   	push   %esi
777c460b:	8b 5d e4             	mov    0xffffffe4(%ebp),%ebx
777c460e:	53                   	push   %ebx
777c460f:	6a 00                	push   $0x0
777c4611:	51                   	push   %ecx
777c4612:	e8 c9 12 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c4617:	89 04 24             	mov    %eax,(%esp)
777c461a:	e8 e1 12 00 00       	call   777c5900 <_HeapFree@12>
777c461f:	5a                   	pop    %edx
	if ( pMem != NULL )
777c4620:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
777c4623:	85 c0                	test   %eax,%eax
777c4625:	74 0f                	je     777c4636 <_ICImageDecompress@20+0xa6>
		GlobalUnlock( hMem );
777c4627:	83 ec 0c             	sub    $0xc,%esp
777c462a:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
777c462d:	50                   	push   %eax
777c462e:	e8 4d 13 00 00       	call   777c5980 <_GlobalUnlock@4>
777c4633:	83 c4 0c             	add    $0xc,%esp
	if ( !bSucceeded && hMem != NULL )
777c4636:	8b 45 dc             	mov    0xffffffdc(%ebp),%eax
777c4639:	85 c0                	test   %eax,%eax
777c463b:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
777c463e:	0f 94 c2             	sete   %dl
777c4641:	85 c0                	test   %eax,%eax
777c4643:	0f 95 c0             	setne  %al
777c4646:	25 ff 00 00 00       	and    $0xff,%eax
777c464b:	85 c2                	test   %eax,%edx
777c464d:	75 45                	jne    777c4694 <_ICImageDecompress@20+0x104>
	{
		GlobalFree(hMem); hMem = NULL;
	}

	return (HANDLE)hMem;
}
777c464f:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
777c4652:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c4655:	5b                   	pop    %ebx
777c4656:	5e                   	pop    %esi
777c4657:	5f                   	pop    %edi
777c4658:	5d                   	pop    %ebp
777c4659:	c2 14 00             	ret    $0x14
777c465c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c4660:	c7 45 e0 28 00 00 00 	movl   $0x28,0xffffffe0(%ebp)
777c4667:	83 7b 10 03          	cmpl   $0x3,0x10(%ebx)
777c466b:	74 5e                	je     777c46cb <_ICImageDecompress@20+0x13b>
777c466d:	66 8b 4b 0e          	mov    0xe(%ebx),%cx
777c4671:	66 83 f9 08          	cmp    $0x8,%cx
777c4675:	77 5b                	ja     777c46d2 <_ICImageDecompress@20+0x142>
777c4677:	8b 43 20             	mov    0x20(%ebx),%eax
777c467a:	85 c0                	test   %eax,%eax
777c467c:	8d 14 85 28 00 00 00 	lea    0x28(,%eax,4),%edx
777c4683:	89 55 e0             	mov    %edx,0xffffffe0(%ebp)
777c4686:	75 4a                	jne    777c46d2 <_ICImageDecompress@20+0x142>
777c4688:	b0 04                	mov    $0x4,%al
777c468a:	d3 e0                	shl    %cl,%eax
777c468c:	83 c0 28             	add    $0x28,%eax
777c468f:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
777c4692:	eb 3e                	jmp    777c46d2 <_ICImageDecompress@20+0x142>
777c4694:	83 ec 0c             	sub    $0xc,%esp
777c4697:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
777c469a:	50                   	push   %eax
777c469b:	e8 f0 12 00 00       	call   777c5990 <_GlobalFree@4>
777c46a0:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
777c46a7:	83 c4 0c             	add    $0xc,%esp
777c46aa:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
777c46ad:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c46b0:	5b                   	pop    %ebx
777c46b1:	5e                   	pop    %esi
777c46b2:	5f                   	pop    %edi
777c46b3:	5d                   	pop    %ebp
777c46b4:	c2 14 00             	ret    $0x14
777c46b7:	83 ec 0c             	sub    $0xc,%esp
777c46ba:	8b 45 08             	mov    0x8(%ebp),%eax
777c46bd:	50                   	push   %eax
777c46be:	e8 8d f3 ff ff       	call   777c3a50 <_ICClose@4>
777c46c3:	83 c4 0c             	add    $0xc,%esp
777c46c6:	e9 38 ff ff ff       	jmp    777c4603 <_ICImageDecompress@20+0x73>
777c46cb:	c7 45 e0 34 00 00 00 	movl   $0x34,0xffffffe0(%ebp)
777c46d2:	8b 73 14             	mov    0x14(%ebx),%esi
777c46d5:	85 f6                	test   %esi,%esi
777c46d7:	75 2a                	jne    777c4703 <_ICImageDecompress@20+0x173>
777c46d9:	66 8b 43 0e          	mov    0xe(%ebx),%ax
777c46dd:	8b 53 04             	mov    0x4(%ebx),%edx
777c46e0:	25 ff ff 00 00       	and    $0xffff,%eax
777c46e5:	0f af c2             	imul   %edx,%eax
777c46e8:	83 c0 07             	add    $0x7,%eax
777c46eb:	c1 f8 03             	sar    $0x3,%eax
777c46ee:	8d 70 03             	lea    0x3(%eax),%esi
777c46f1:	8b 43 08             	mov    0x8(%ebx),%eax
777c46f4:	89 c2                	mov    %eax,%edx
777c46f6:	83 e6 fc             	and    $0xfffffffc,%esi
777c46f9:	c1 fa 1f             	sar    $0x1f,%edx
777c46fc:	31 d0                	xor    %edx,%eax
777c46fe:	29 d0                	sub    %edx,%eax
777c4700:	0f af f0             	imul   %eax,%esi
777c4703:	53                   	push   %ebx
777c4704:	8b 45 10             	mov    0x10(%ebp),%eax
777c4707:	50                   	push   %eax
777c4708:	68 0c 40 00 00       	push   $0x400c
777c470d:	8b 45 08             	mov    0x8(%ebp),%eax
777c4710:	50                   	push   %eax
777c4711:	e8 0a f5 ff ff       	call   777c3c20 <_ICSendMessage@16>
777c4716:	85 c0                	test   %eax,%eax
777c4718:	0f 85 da fe ff ff    	jne    777c45f8 <_ICImageDecompress@20+0x68>
777c471e:	57                   	push   %edi
777c471f:	57                   	push   %edi
777c4720:	8b 45 e0             	mov    0xffffffe0(%ebp),%eax
777c4723:	01 f0                	add    %esi,%eax
777c4725:	50                   	push   %eax
777c4726:	6a 42                	push   $0x42
777c4728:	e8 83 12 00 00       	call   777c59b0 <_GlobalAlloc@8>
777c472d:	85 c0                	test   %eax,%eax
777c472f:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
777c4732:	59                   	pop    %ecx
777c4733:	5e                   	pop    %esi
777c4734:	74 4c                	je     777c4782 <_ICImageDecompress@20+0x1f2>
777c4736:	83 ec 0c             	sub    $0xc,%esp
777c4739:	50                   	push   %eax
777c473a:	e8 81 12 00 00       	call   777c59c0 <_GlobalLock@4>
777c473f:	83 c4 0c             	add    $0xc,%esp
777c4742:	85 c0                	test   %eax,%eax
777c4744:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
777c4747:	74 39                	je     777c4782 <_ICImageDecompress@20+0x1f2>
777c4749:	52                   	push   %edx
777c474a:	8b 7d e0             	mov    0xffffffe0(%ebp),%edi
777c474d:	57                   	push   %edi
777c474e:	53                   	push   %ebx
777c474f:	50                   	push   %eax
777c4750:	e8 eb 12 00 00       	call   777c5a40 <_memcpy>
777c4755:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
777c4758:	8b 55 e0             	mov    0xffffffe0(%ebp),%edx
777c475b:	01 d0                	add    %edx,%eax
777c475d:	59                   	pop    %ecx
777c475e:	5e                   	pop    %esi
777c475f:	50                   	push   %eax
777c4760:	53                   	push   %ebx
777c4761:	8b 45 14             	mov    0x14(%ebp),%eax
777c4764:	50                   	push   %eax
777c4765:	8b 45 10             	mov    0x10(%ebp),%eax
777c4768:	50                   	push   %eax
777c4769:	6a 00                	push   $0x0
777c476b:	8b 45 08             	mov    0x8(%ebp),%eax
777c476e:	50                   	push   %eax
777c476f:	e8 ec f4 ff ff       	call   777c3c60 <_ICDecompress>
777c4774:	83 c4 20             	add    $0x20,%esp
777c4777:	85 c0                	test   %eax,%eax
777c4779:	75 07                	jne    777c4782 <_ICImageDecompress@20+0x1f2>
777c477b:	c7 45 dc 01 00 00 00 	movl   $0x1,0xffffffdc(%ebp)
777c4782:	6a 00                	push   $0x0
777c4784:	6a 00                	push   $0x0
777c4786:	68 0e 40 00 00       	push   $0x400e
777c478b:	8b 45 08             	mov    0x8(%ebp),%eax
777c478e:	50                   	push   %eax
777c478f:	e8 8c f4 ff ff       	call   777c3c20 <_ICSendMessage@16>
777c4794:	e9 5f fe ff ff       	jmp    777c45f8 <_ICImageDecompress@20+0x68>
777c4799:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
777c47a0:	68 bc 84 7c 77       	push   $0x777c84bc
777c47a5:	68 fa 03 00 00       	push   $0x3fa
777c47aa:	68 f6 82 7c 77       	push   $0x777c82f6
777c47af:	68 05 83 7c 77       	push   $0x777c8305
777c47b4:	e8 b7 12 00 00       	call   777c5a70 <_DbgPrint>
777c47b9:	58                   	pop    %eax
777c47ba:	5a                   	pop    %edx
777c47bb:	56                   	push   %esi
777c47bc:	68 ce 84 7c 77       	push   $0x777c84ce
777c47c1:	e8 aa 12 00 00       	call   777c5a70 <_DbgPrint>
777c47c6:	83 c4 10             	add    $0x10,%esp
777c47c9:	e9 2a fe ff ff       	jmp    777c45f8 <_ICImageDecompress@20+0x68>
777c47ce:	83 ec 0c             	sub    $0xc,%esp
777c47d1:	6a 02                	push   $0x2
777c47d3:	53                   	push   %ebx
777c47d4:	8b 4d 10             	mov    0x10(%ebp),%ecx
777c47d7:	51                   	push   %ecx
777c47d8:	6a 00                	push   $0x0
777c47da:	68 76 69 64 63       	push   $0x63646976
777c47df:	e8 4c fa ff ff       	call   777c4230 <_ICLocate@20>
777c47e4:	83 c4 0c             	add    $0xc,%esp
777c47e7:	85 c0                	test   %eax,%eax
777c47e9:	89 45 08             	mov    %eax,0x8(%ebp)
777c47ec:	0f 84 44 fe ff ff    	je     777c4636 <_ICImageDecompress@20+0xa6>
777c47f2:	c7 45 e8 01 00 00 00 	movl   $0x1,0xffffffe8(%ebp)
777c47f9:	e9 cf fd ff ff       	jmp    777c45cd <_ICImageDecompress@20+0x3d>
777c47fe:	6a 00                	push   $0x0
777c4800:	8b 45 10             	mov    0x10(%ebp),%eax
777c4803:	50                   	push   %eax
777c4804:	68 0a 40 00 00       	push   $0x400a
777c4809:	8b 45 08             	mov    0x8(%ebp),%eax
777c480c:	50                   	push   %eax
777c480d:	e8 0e f4 ff ff       	call   777c3c20 <_ICSendMessage@16>
777c4812:	83 f8 27             	cmp    $0x27,%eax
777c4815:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
777c4818:	0f 86 da fd ff ff    	jbe    777c45f8 <_ICImageDecompress@20+0x68>
777c481e:	89 c3                	mov    %eax,%ebx
777c4820:	81 c3 00 04 00 00    	add    $0x400,%ebx
777c4826:	57                   	push   %edi
777c4827:	53                   	push   %ebx
777c4828:	6a 00                	push   $0x0
777c482a:	56                   	push   %esi
777c482b:	e8 b0 10 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c4830:	89 04 24             	mov    %eax,(%esp)
777c4833:	e8 b8 10 00 00       	call   777c58f0 <_HeapAlloc@12>
777c4838:	85 c0                	test   %eax,%eax
777c483a:	89 45 e4             	mov    %eax,0xffffffe4(%ebp)
777c483d:	59                   	pop    %ecx
777c483e:	0f 84 b4 fd ff ff    	je     777c45f8 <_ICImageDecompress@20+0x68>
777c4844:	52                   	push   %edx
777c4845:	53                   	push   %ebx
777c4846:	6a 00                	push   $0x0
777c4848:	50                   	push   %eax
777c4849:	e8 62 12 00 00       	call   777c5ab0 <_memset>
777c484e:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
777c4851:	50                   	push   %eax
777c4852:	8b 45 10             	mov    0x10(%ebp),%eax
777c4855:	50                   	push   %eax
777c4856:	68 0a 40 00 00       	push   $0x400a
777c485b:	8b 7d 08             	mov    0x8(%ebp),%edi
777c485e:	57                   	push   %edi
777c485f:	e8 bc f3 ff ff       	call   777c3c20 <_ICSendMessage@16>
777c4864:	83 c4 10             	add    $0x10,%esp
777c4867:	85 c0                	test   %eax,%eax
777c4869:	0f 85 89 fd ff ff    	jne    777c45f8 <_ICImageDecompress@20+0x68>
777c486f:	8b 5d e4             	mov    0xffffffe4(%ebp),%ebx
777c4872:	66 83 7b 0e 08       	cmpw   $0x8,0xe(%ebx)
777c4877:	76 1e                	jbe    777c4897 <_ICImageDecompress@20+0x307>
777c4879:	8b 7d e4             	mov    0xffffffe4(%ebp),%edi
777c487c:	8b 47 20             	mov    0x20(%edi),%eax
777c487f:	8b 55 e4             	mov    0xffffffe4(%ebp),%edx
777c4882:	8d 04 85 28 00 00 00 	lea    0x28(,%eax,4),%eax
777c4889:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
777c488c:	c7 02 28 00 00 00    	movl   $0x28,(%edx)
777c4892:	e9 3b fe ff ff       	jmp    777c46d2 <_ICImageDecompress@20+0x142>
777c4897:	53                   	push   %ebx
777c4898:	8b 75 10             	mov    0x10(%ebp),%esi
777c489b:	56                   	push   %esi
777c489c:	68 1e 40 00 00       	push   $0x401e
777c48a1:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c48a4:	51                   	push   %ecx
777c48a5:	e8 76 f3 ff ff       	call   777c3c20 <_ICSendMessage@16>
777c48aa:	85 c0                	test   %eax,%eax
777c48ac:	74 29                	je     777c48d7 <_ICImageDecompress@20+0x347>
777c48ae:	8b 7d e4             	mov    0xffffffe4(%ebp),%edi
777c48b1:	8b 45 10             	mov    0x10(%ebp),%eax
777c48b4:	66 8b 4f 0e          	mov    0xe(%edi),%cx
777c48b8:	66 39 48 0e          	cmp    %cx,0xe(%eax)
777c48bc:	74 22                	je     777c48e0 <_ICImageDecompress@20+0x350>
777c48be:	66 83 f9 08          	cmp    $0x8,%cx
777c48c2:	77 b5                	ja     777c4879 <_ICImageDecompress@20+0x2e9>
777c48c4:	8b 55 e4             	mov    0xffffffe4(%ebp),%edx
777c48c7:	8b 42 20             	mov    0x20(%edx),%eax
777c48ca:	85 c0                	test   %eax,%eax
777c48cc:	75 b1                	jne    777c487f <_ICImageDecompress@20+0x2ef>
777c48ce:	b0 01                	mov    $0x1,%al
777c48d0:	d3 e0                	shl    %cl,%eax
777c48d2:	89 42 20             	mov    %eax,0x20(%edx)
777c48d5:	eb a8                	jmp    777c487f <_ICImageDecompress@20+0x2ef>
777c48d7:	8b 55 e4             	mov    0xffffffe4(%ebp),%edx
777c48da:	66 8b 4a 0e          	mov    0xe(%edx),%cx
777c48de:	eb de                	jmp    777c48be <_ICImageDecompress@20+0x32e>
777c48e0:	8b 40 20             	mov    0x20(%eax),%eax
777c48e3:	85 c0                	test   %eax,%eax
777c48e5:	75 47                	jne    777c492e <_ICImageDecompress@20+0x39e>
777c48e7:	c7 45 d8 04 00 00 00 	movl   $0x4,0xffffffd8(%ebp)
777c48ee:	89 fa                	mov    %edi,%edx
777c48f0:	d3 65 d8             	shll   %cl,0xffffffd8(%ebp)
777c48f3:	83 c2 28             	add    $0x28,%edx
777c48f6:	8b 75 10             	mov    0x10(%ebp),%esi
777c48f9:	8b 4d d8             	mov    0xffffffd8(%ebp),%ecx
777c48fc:	83 c6 28             	add    $0x28,%esi
777c48ff:	fc                   	cld    
777c4900:	c1 e9 02             	shr    $0x2,%ecx
777c4903:	89 d7                	mov    %edx,%edi
777c4905:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
777c4907:	89 fa                	mov    %edi,%edx
777c4909:	f6 45 d8 02          	testb  $0x2,0xffffffd8(%ebp)
777c490d:	74 0c                	je     777c491b <_ICImageDecompress@20+0x38b>
777c490f:	66 8b 06             	mov    (%esi),%ax
777c4912:	83 c2 02             	add    $0x2,%edx
777c4915:	66 89 07             	mov    %ax,(%edi)
777c4918:	83 c6 02             	add    $0x2,%esi
777c491b:	f6 45 d8 01          	testb  $0x1,0xffffffd8(%ebp)
777c491f:	74 2a                	je     777c494b <_ICImageDecompress@20+0x3bb>
777c4921:	8a 06                	mov    (%esi),%al
777c4923:	88 02                	mov    %al,(%edx)
777c4925:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
777c4928:	66 8b 48 0e          	mov    0xe(%eax),%cx
777c492c:	eb 90                	jmp    777c48be <_ICImageDecompress@20+0x32e>
777c492e:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
777c4935:	8b 45 e4             	mov    0xffffffe4(%ebp),%eax
777c4938:	8b 75 10             	mov    0x10(%ebp),%esi
777c493b:	83 c0 28             	add    $0x28,%eax
777c493e:	fc                   	cld    
777c493f:	83 c6 28             	add    $0x28,%esi
777c4942:	89 c7                	mov    %eax,%edi
777c4944:	c1 e9 02             	shr    $0x2,%ecx
777c4947:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
777c4949:	eb da                	jmp    777c4925 <_ICImageDecompress@20+0x395>
777c494b:	8b 7d e4             	mov    0xffffffe4(%ebp),%edi
777c494e:	66 8b 4f 0e          	mov    0xe(%edi),%cx
777c4952:	e9 67 ff ff ff       	jmp    777c48be <_ICImageDecompress@20+0x32e>
777c4957:	89 f6                	mov    %esi,%esi
777c4959:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c4960 <_GetFileNamePreview>:

static BOOL GetFileNamePreview(LPVOID lpofn,BOOL bSave,BOOL bUnicode)
{
777c4960:	55                   	push   %ebp
777c4961:	89 e5                	mov    %esp,%ebp
777c4963:	57                   	push   %edi
777c4964:	56                   	push   %esi
777c4965:	53                   	push   %ebx
777c4966:	83 ec 2c             	sub    $0x2c,%esp
777c4969:	89 d3                	mov    %edx,%ebx
777c496b:	89 c7                	mov    %eax,%edi
777c496d:	8b 75 08             	mov    0x8(%ebp),%esi
  CHAR    szFunctionName[20];
  BOOL    (*fnGetFileName)(LPVOID);
  HMODULE hComdlg32;
  BOOL    ret;

  FIXME("(%p,%d,%d), semi-stub!\n",lpofn,bSave,bUnicode);
777c4970:	68 e1 84 7c 77       	push   $0x777c84e1
777c4975:	68 66 04 00 00       	push   $0x466
777c497a:	68 f6 82 7c 77       	push   $0x777c82f6
777c497f:	68 05 83 7c 77       	push   $0x777c8305
777c4984:	e8 e7 10 00 00       	call   777c5a70 <_DbgPrint>
777c4989:	56                   	push   %esi
777c498a:	53                   	push   %ebx
777c498b:	57                   	push   %edi
777c498c:	68 f4 84 7c 77       	push   $0x777c84f4
777c4991:	e8 da 10 00 00       	call   777c5a70 <_DbgPrint>

  lstrcpyA(szFunctionName, (bSave ? "GetSaveFileName" : "GetOpenFileName"));
777c4996:	83 c4 18             	add    $0x18,%esp
777c4999:	b8 0c 85 7c 77       	mov    $0x777c850c,%eax
777c499e:	85 db                	test   %ebx,%ebx
777c49a0:	75 05                	jne    777c49a7 <_GetFileNamePreview+0x47>
777c49a2:	b8 1c 85 7c 77       	mov    $0x777c851c,%eax
777c49a7:	8d 5d c8             	lea    0xffffffc8(%ebp),%ebx
777c49aa:	50                   	push   %eax
777c49ab:	53                   	push   %ebx
777c49ac:	e8 1f 10 00 00       	call   777c59d0 <_lstrcpyA@8>
  lstrcatA(szFunctionName, (bUnicode ? "W" : "A"));
777c49b1:	b8 2c 85 7c 77       	mov    $0x777c852c,%eax
777c49b6:	85 f6                	test   %esi,%esi
777c49b8:	75 05                	jne    777c49bf <_GetFileNamePreview+0x5f>
777c49ba:	b8 2e 85 7c 77       	mov    $0x777c852e,%eax
777c49bf:	50                   	push   %eax
777c49c0:	53                   	push   %ebx
777c49c1:	e8 1a 10 00 00       	call   777c59e0 <_lstrcatA@8>

  hComdlg32 = LoadLibraryA("COMDLG32.DLL");
777c49c6:	50                   	push   %eax
777c49c7:	68 30 85 7c 77       	push   $0x777c8530
777c49cc:	e8 1f 10 00 00       	call   777c59f0 <_LoadLibraryA@4>
  if (hComdlg32 == NULL)
    return FALSE;
777c49d1:	31 d2                	xor    %edx,%edx
777c49d3:	83 c4 0c             	add    $0xc,%esp
777c49d6:	89 c6                	mov    %eax,%esi
777c49d8:	85 c0                	test   %eax,%eax
777c49da:	74 23                	je     777c49ff <_GetFileNamePreview+0x9f>

  fnGetFileName = (LPVOID)GetProcAddress(hComdlg32, szFunctionName);
777c49dc:	50                   	push   %eax
777c49dd:	50                   	push   %eax
777c49de:	53                   	push   %ebx
777c49df:	56                   	push   %esi
777c49e0:	e8 1b 10 00 00       	call   777c5a00 <_GetProcAddress@8>
  if (fnGetFileName == NULL)
777c49e5:	5a                   	pop    %edx
    return FALSE;
777c49e6:	31 d2                	xor    %edx,%edx
777c49e8:	59                   	pop    %ecx
777c49e9:	85 c0                	test   %eax,%eax
777c49eb:	74 12                	je     777c49ff <_GetFileNamePreview+0x9f>

  /* FIXME: need to add OFN_ENABLEHOOK and our own handler */
  ret = fnGetFileName(lpofn);
777c49ed:	83 ec 0c             	sub    $0xc,%esp
777c49f0:	57                   	push   %edi
777c49f1:	ff d0                	call   *%eax
777c49f3:	89 c3                	mov    %eax,%ebx

  FreeLibrary(hComdlg32);
777c49f5:	89 34 24             	mov    %esi,(%esp)
777c49f8:	e8 13 10 00 00       	call   777c5a10 <_FreeLibrary@4>
  return ret;
777c49fd:	89 da                	mov    %ebx,%edx
}
777c49ff:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c4a02:	89 d0                	mov    %edx,%eax
777c4a04:	5b                   	pop    %ebx
777c4a05:	5e                   	pop    %esi
777c4a06:	5f                   	pop    %edi
777c4a07:	5d                   	pop    %ebp
777c4a08:	c3                   	ret    
777c4a09:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c4a10 <_GetOpenFileNamePreviewA@4>:

/***********************************************************************
 *		GetOpenFileNamePreviewA	[MSVFW32.@]
 */
BOOL WINAPI GetOpenFileNamePreviewA(LPOPENFILENAMEA lpofn)
{
777c4a10:	55                   	push   %ebp
777c4a11:	89 e5                	mov    %esp,%ebp
777c4a13:	53                   	push   %ebx
777c4a14:	51                   	push   %ecx
  FIXME("(%p), semi-stub!\n", lpofn);
777c4a15:	68 3d 85 7c 77       	push   $0x777c853d
777c4a1a:	8b 5d 08             	mov    0x8(%ebp),%ebx
777c4a1d:	68 7f 04 00 00       	push   $0x47f
777c4a22:	68 f6 82 7c 77       	push   $0x777c82f6
777c4a27:	68 05 83 7c 77       	push   $0x777c8305
777c4a2c:	e8 3f 10 00 00       	call   777c5a70 <_DbgPrint>
777c4a31:	58                   	pop    %eax
777c4a32:	5a                   	pop    %edx
777c4a33:	53                   	push   %ebx
777c4a34:	68 55 85 7c 77       	push   $0x777c8555
777c4a39:	e8 32 10 00 00       	call   777c5a70 <_DbgPrint>

  return GetFileNamePreview(lpofn, FALSE, FALSE);
777c4a3e:	89 d8                	mov    %ebx,%eax
777c4a40:	31 d2                	xor    %edx,%edx
777c4a42:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
777c4a49:	e8 12 ff ff ff       	call   777c4960 <_GetFileNamePreview>
}
777c4a4e:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c4a51:	c9                   	leave  
777c4a52:	c2 04 00             	ret    $0x4
777c4a55:	8d 74 26 00          	lea    0x0(%esi),%esi
777c4a59:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c4a60 <_GetOpenFileNamePreviewW@4>:

/***********************************************************************
 *		GetOpenFileNamePreviewW	[MSVFW32.@]
 */
BOOL WINAPI GetOpenFileNamePreviewW(LPOPENFILENAMEW lpofn)
{
777c4a60:	55                   	push   %ebp
777c4a61:	89 e5                	mov    %esp,%ebp
777c4a63:	53                   	push   %ebx
777c4a64:	51                   	push   %ecx
  FIXME("(%p), semi-stub!\n", lpofn);
777c4a65:	68 67 85 7c 77       	push   $0x777c8567
777c4a6a:	8b 5d 08             	mov    0x8(%ebp),%ebx
777c4a6d:	68 89 04 00 00       	push   $0x489
777c4a72:	68 f6 82 7c 77       	push   $0x777c82f6
777c4a77:	68 05 83 7c 77       	push   $0x777c8305
777c4a7c:	e8 ef 0f 00 00       	call   777c5a70 <_DbgPrint>
777c4a81:	58                   	pop    %eax
777c4a82:	5a                   	pop    %edx
777c4a83:	53                   	push   %ebx
777c4a84:	68 55 85 7c 77       	push   $0x777c8555
777c4a89:	e8 e2 0f 00 00       	call   777c5a70 <_DbgPrint>

  return GetFileNamePreview(lpofn, FALSE, TRUE);
777c4a8e:	89 d8                	mov    %ebx,%eax
777c4a90:	31 d2                	xor    %edx,%edx
777c4a92:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
777c4a99:	e8 c2 fe ff ff       	call   777c4960 <_GetFileNamePreview>
}
777c4a9e:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c4aa1:	c9                   	leave  
777c4aa2:	c2 04 00             	ret    $0x4
777c4aa5:	8d 74 26 00          	lea    0x0(%esi),%esi
777c4aa9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c4ab0 <_GetSaveFileNamePreviewA@4>:

/***********************************************************************
 *		GetSaveFileNamePreviewA	[MSVFW32.@]
 */
BOOL WINAPI GetSaveFileNamePreviewA(LPOPENFILENAMEA lpofn)
{
777c4ab0:	55                   	push   %ebp
777c4ab1:	89 e5                	mov    %esp,%ebp
777c4ab3:	53                   	push   %ebx
777c4ab4:	51                   	push   %ecx
  FIXME("(%p), semi-stub!\n", lpofn);
777c4ab5:	68 7f 85 7c 77       	push   $0x777c857f
777c4aba:	8b 5d 08             	mov    0x8(%ebp),%ebx
777c4abd:	68 93 04 00 00       	push   $0x493
777c4ac2:	68 f6 82 7c 77       	push   $0x777c82f6
777c4ac7:	68 05 83 7c 77       	push   $0x777c8305
777c4acc:	e8 9f 0f 00 00       	call   777c5a70 <_DbgPrint>
777c4ad1:	58                   	pop    %eax
777c4ad2:	5a                   	pop    %edx
777c4ad3:	53                   	push   %ebx
777c4ad4:	68 55 85 7c 77       	push   $0x777c8555
777c4ad9:	e8 92 0f 00 00       	call   777c5a70 <_DbgPrint>

  return GetFileNamePreview(lpofn, TRUE, FALSE);
777c4ade:	89 d8                	mov    %ebx,%eax
777c4ae0:	ba 01 00 00 00       	mov    $0x1,%edx
777c4ae5:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
777c4aec:	e8 6f fe ff ff       	call   777c4960 <_GetFileNamePreview>
}
777c4af1:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c4af4:	c9                   	leave  
777c4af5:	c2 04 00             	ret    $0x4
777c4af8:	90                   	nop    
777c4af9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c4b00 <_GetSaveFileNamePreviewW@4>:

/***********************************************************************
 *		GetSaveFileNamePreviewW	[MSVFW32.@]
 */
BOOL WINAPI GetSaveFileNamePreviewW(LPOPENFILENAMEW lpofn)
{
777c4b00:	55                   	push   %ebp
777c4b01:	89 e5                	mov    %esp,%ebp
777c4b03:	53                   	push   %ebx
777c4b04:	51                   	push   %ecx
  FIXME("(%p), semi-stub!\n", lpofn);
777c4b05:	68 97 85 7c 77       	push   $0x777c8597
777c4b0a:	8b 5d 08             	mov    0x8(%ebp),%ebx
777c4b0d:	68 9d 04 00 00       	push   $0x49d
777c4b12:	68 f6 82 7c 77       	push   $0x777c82f6
777c4b17:	68 05 83 7c 77       	push   $0x777c8305
777c4b1c:	e8 4f 0f 00 00       	call   777c5a70 <_DbgPrint>
777c4b21:	58                   	pop    %eax
777c4b22:	5a                   	pop    %edx
777c4b23:	53                   	push   %ebx
777c4b24:	68 55 85 7c 77       	push   $0x777c8555
777c4b29:	e8 42 0f 00 00       	call   777c5a70 <_DbgPrint>

  return GetFileNamePreview(lpofn, TRUE, TRUE);
777c4b2e:	89 d8                	mov    %ebx,%eax
777c4b30:	ba 01 00 00 00       	mov    $0x1,%edx
777c4b35:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
777c4b3c:	e8 1f fe ff ff       	call   777c4960 <_GetFileNamePreview>
}
777c4b41:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c4b44:	c9                   	leave  
777c4b45:	c2 04 00             	ret    $0x4
777c4b48:	90                   	nop    
777c4b49:	90                   	nop    
777c4b4a:	90                   	nop    
777c4b4b:	90                   	nop    
777c4b4c:	90                   	nop    
777c4b4d:	90                   	nop    
777c4b4e:	90                   	nop    
777c4b4f:	90                   	nop    

777c4b50 <_num_colours>:
777c4b50:	55                   	push   %ebp
777c4b51:	89 e5                	mov    %esp,%ebp
777c4b53:	8b 55 08             	mov    0x8(%ebp),%edx
777c4b56:	8b 42 20             	mov    0x20(%edx),%eax
777c4b59:	85 c0                	test   %eax,%eax
777c4b5b:	75 13                	jne    777c4b70 <_num_colours+0x20>
777c4b5d:	66 8b 4a 0e          	mov    0xe(%edx),%cx
777c4b61:	66 83 f9 08          	cmp    $0x8,%cx
777c4b65:	77 09                	ja     777c4b70 <_num_colours+0x20>
777c4b67:	b0 01                	mov    $0x1,%al
777c4b69:	d3 e0                	shl    %cl,%eax
777c4b6b:	90                   	nop    
777c4b6c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c4b70:	5d                   	pop    %ebp
777c4b71:	c3                   	ret    
777c4b72:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
777c4b79:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c4b80 <_MSVIDEO_GetHddPtr>:
777c4b80:	55                   	push   %ebp
777c4b81:	89 c2                	mov    %eax,%edx
777c4b83:	89 e5                	mov    %esp,%ebp
777c4b85:	a1 60 90 7c 77       	mov    0x777c9060,%eax
777c4b8a:	eb 07                	jmp    777c4b93 <_MSVIDEO_GetHddPtr+0x13>
777c4b8c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c4b90:	8b 40 3c             	mov    0x3c(%eax),%eax
777c4b93:	85 c0                	test   %eax,%eax
777c4b95:	74 05                	je     777c4b9c <_MSVIDEO_GetHddPtr+0x1c>
777c4b97:	39 50 38             	cmp    %edx,0x38(%eax)
777c4b9a:	75 f4                	jne    777c4b90 <_MSVIDEO_GetHddPtr+0x10>
777c4b9c:	5d                   	pop    %ebp
777c4b9d:	c3                   	ret    
777c4b9e:	89 f6                	mov    %esi,%esi

777c4ba0 <_DrawDibOpen@0>:
777c4ba0:	55                   	push   %ebp
777c4ba1:	89 e5                	mov    %esp,%ebp
777c4ba3:	53                   	push   %ebx
777c4ba4:	53                   	push   %ebx
777c4ba5:	53                   	push   %ebx
777c4ba6:	6a 40                	push   $0x40
777c4ba8:	6a 08                	push   $0x8
777c4baa:	51                   	push   %ecx
777c4bab:	e8 30 0d 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c4bb0:	89 04 24             	mov    %eax,(%esp)
777c4bb3:	e8 38 0d 00 00       	call   777c58f0 <_HeapAlloc@12>
777c4bb8:	89 c3                	mov    %eax,%ebx
777c4bba:	5a                   	pop    %edx
777c4bbb:	eb 0e                	jmp    777c4bcb <_DrawDibOpen@0+0x2b>
777c4bbd:	8d 76 00             	lea    0x0(%esi),%esi
777c4bc0:	a1 10 70 7c 77       	mov    0x777c7010,%eax
777c4bc5:	40                   	inc    %eax
777c4bc6:	a3 10 70 7c 77       	mov    %eax,0x777c7010
777c4bcb:	a1 10 70 7c 77       	mov    0x777c7010,%eax
777c4bd0:	e8 ab ff ff ff       	call   777c4b80 <_MSVIDEO_GetHddPtr>
777c4bd5:	85 c0                	test   %eax,%eax
777c4bd7:	75 e7                	jne    777c4bc0 <_DrawDibOpen@0+0x20>
777c4bd9:	a1 10 70 7c 77       	mov    0x777c7010,%eax
777c4bde:	89 43 38             	mov    %eax,0x38(%ebx)
777c4be1:	8d 50 01             	lea    0x1(%eax),%edx
777c4be4:	89 15 10 70 7c 77    	mov    %edx,0x777c7010
777c4bea:	8b 15 60 90 7c 77    	mov    0x777c9060,%edx
777c4bf0:	89 53 3c             	mov    %edx,0x3c(%ebx)
777c4bf3:	89 1d 60 90 7c 77    	mov    %ebx,0x777c9060
777c4bf9:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c4bfc:	c9                   	leave  
777c4bfd:	c3                   	ret    
777c4bfe:	89 f6                	mov    %esi,%esi

777c4c00 <_DrawDibEnd@4>:
777c4c00:	55                   	push   %ebp
777c4c01:	89 e5                	mov    %esp,%ebp
777c4c03:	53                   	push   %ebx
777c4c04:	51                   	push   %ecx
777c4c05:	8b 45 08             	mov    0x8(%ebp),%eax
777c4c08:	e8 73 ff ff ff       	call   777c4b80 <_MSVIDEO_GetHddPtr>
777c4c0d:	89 c3                	mov    %eax,%ebx
777c4c0f:	c7 40 18 00 00 00 00 	movl   $0x0,0x18(%eax)
777c4c16:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
777c4c1c:	8b 40 0c             	mov    0xc(%eax),%eax
777c4c1f:	85 c0                	test   %eax,%eax
777c4c21:	75 4d                	jne    777c4c70 <_DrawDibEnd@4+0x70>
777c4c23:	8b 43 20             	mov    0x20(%ebx),%eax
777c4c26:	85 c0                	test   %eax,%eax
777c4c28:	75 67                	jne    777c4c91 <_DrawDibEnd@4+0x91>
777c4c2a:	8b 43 28             	mov    0x28(%ebx),%eax
777c4c2d:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
777c4c34:	85 c0                	test   %eax,%eax
777c4c36:	0f 85 84 00 00 00    	jne    777c4cc0 <_DrawDibEnd@4+0xc0>
777c4c3c:	8b 43 30             	mov    0x30(%ebx),%eax
777c4c3f:	85 c0                	test   %eax,%eax
777c4c41:	0f 85 a9 00 00 00    	jne    777c4cf0 <_DrawDibEnd@4+0xf0>
777c4c47:	8b 43 24             	mov    0x24(%ebx),%eax
777c4c4a:	c7 43 30 00 00 00 00 	movl   $0x0,0x30(%ebx)
777c4c51:	85 c0                	test   %eax,%eax
777c4c53:	0f 85 b7 00 00 00    	jne    777c4d10 <_DrawDibEnd@4+0x110>
777c4c59:	c7 43 34 00 00 00 00 	movl   $0x0,0x34(%ebx)
777c4c60:	b8 01 00 00 00       	mov    $0x1,%eax
777c4c65:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c4c68:	c9                   	leave  
777c4c69:	c2 04 00             	ret    $0x4
777c4c6c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c4c70:	52                   	push   %edx
777c4c71:	50                   	push   %eax
777c4c72:	6a 00                	push   $0x0
777c4c74:	50                   	push   %eax
777c4c75:	e8 66 0c 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c4c7a:	89 04 24             	mov    %eax,(%esp)
777c4c7d:	e8 7e 0c 00 00       	call   777c5900 <_HeapFree@12>
777c4c82:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
777c4c89:	8b 43 20             	mov    0x20(%ebx),%eax
777c4c8c:	59                   	pop    %ecx
777c4c8d:	85 c0                	test   %eax,%eax
777c4c8f:	74 99                	je     777c4c2a <_DrawDibEnd@4+0x2a>
777c4c91:	52                   	push   %edx
777c4c92:	50                   	push   %eax
777c4c93:	6a 00                	push   $0x0
777c4c95:	50                   	push   %eax
777c4c96:	e8 45 0c 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c4c9b:	89 04 24             	mov    %eax,(%esp)
777c4c9e:	e8 5d 0c 00 00       	call   777c5900 <_HeapFree@12>
777c4ca3:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%ebx)
777c4caa:	58                   	pop    %eax
777c4cab:	8b 43 28             	mov    0x28(%ebx),%eax
777c4cae:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
777c4cb5:	85 c0                	test   %eax,%eax
777c4cb7:	74 83                	je     777c4c3c <_DrawDibEnd@4+0x3c>
777c4cb9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
777c4cc0:	51                   	push   %ecx
777c4cc1:	51                   	push   %ecx
777c4cc2:	8b 53 2c             	mov    0x2c(%ebx),%edx
777c4cc5:	52                   	push   %edx
777c4cc6:	8b 43 28             	mov    0x28(%ebx),%eax
777c4cc9:	50                   	push   %eax
777c4cca:	e8 11 0b 00 00       	call   777c57e0 <_SelectObject@8>
777c4ccf:	50                   	push   %eax
777c4cd0:	8b 43 28             	mov    0x28(%ebx),%eax
777c4cd3:	50                   	push   %eax
777c4cd4:	e8 17 0b 00 00       	call   777c57f0 <_DeleteDC@4>
777c4cd9:	8b 43 30             	mov    0x30(%ebx),%eax
777c4cdc:	83 c4 0c             	add    $0xc,%esp
777c4cdf:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
777c4ce6:	85 c0                	test   %eax,%eax
777c4ce8:	0f 84 59 ff ff ff    	je     777c4c47 <_DrawDibEnd@4+0x47>
777c4cee:	89 f6                	mov    %esi,%esi
777c4cf0:	83 ec 0c             	sub    $0xc,%esp
777c4cf3:	50                   	push   %eax
777c4cf4:	e8 07 0b 00 00       	call   777c5800 <_DeleteObject@4>
777c4cf9:	8b 43 24             	mov    0x24(%ebx),%eax
777c4cfc:	83 c4 0c             	add    $0xc,%esp
777c4cff:	c7 43 30 00 00 00 00 	movl   $0x0,0x30(%ebx)
777c4d06:	85 c0                	test   %eax,%eax
777c4d08:	0f 84 4b ff ff ff    	je     777c4c59 <_DrawDibEnd@4+0x59>
777c4d0e:	89 f6                	mov    %esi,%esi
777c4d10:	6a 00                	push   $0x0
777c4d12:	6a 00                	push   $0x0
777c4d14:	68 0e 40 00 00       	push   $0x400e
777c4d19:	8b 43 24             	mov    0x24(%ebx),%eax
777c4d1c:	50                   	push   %eax
777c4d1d:	e8 fe ee ff ff       	call   777c3c20 <_ICSendMessage@16>
777c4d22:	83 ec 0c             	sub    $0xc,%esp
777c4d25:	8b 43 24             	mov    0x24(%ebx),%eax
777c4d28:	50                   	push   %eax
777c4d29:	e8 22 ed ff ff       	call   777c3a50 <_ICClose@4>
777c4d2e:	c7 43 24 00 00 00 00 	movl   $0x0,0x24(%ebx)
777c4d35:	c7 43 34 00 00 00 00 	movl   $0x0,0x34(%ebx)
777c4d3c:	83 c4 0c             	add    $0xc,%esp
777c4d3f:	b8 01 00 00 00       	mov    $0x1,%eax
777c4d44:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c4d47:	c9                   	leave  
777c4d48:	c2 04 00             	ret    $0x4
777c4d4b:	90                   	nop    
777c4d4c:	8d 74 26 00          	lea    0x0(%esi),%esi

777c4d50 <_DrawDibClose@4>:
777c4d50:	55                   	push   %ebp
777c4d51:	89 e5                	mov    %esp,%ebp
777c4d53:	56                   	push   %esi
777c4d54:	53                   	push   %ebx
777c4d55:	8b 75 08             	mov    0x8(%ebp),%esi
777c4d58:	89 f0                	mov    %esi,%eax
777c4d5a:	e8 21 fe ff ff       	call   777c4b80 <_MSVIDEO_GetHddPtr>
777c4d5f:	89 c3                	mov    %eax,%ebx
777c4d61:	31 c0                	xor    %eax,%eax
777c4d63:	85 db                	test   %ebx,%ebx
777c4d65:	74 40                	je     777c4da7 <_DrawDibClose@4+0x57>
777c4d67:	8b 43 1c             	mov    0x1c(%ebx),%eax
777c4d6a:	85 c0                	test   %eax,%eax
777c4d6c:	75 42                	jne    777c4db0 <_DrawDibClose@4+0x60>
777c4d6e:	a1 60 90 7c 77       	mov    0x777c9060,%eax
777c4d73:	ba 60 90 7c 77       	mov    $0x777c9060,%edx
777c4d78:	85 c0                	test   %eax,%eax
777c4d7a:	74 14                	je     777c4d90 <_DrawDibClose@4+0x40>
777c4d7c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c4d80:	8b 02                	mov    (%edx),%eax
777c4d82:	39 d8                	cmp    %ebx,%eax
777c4d84:	74 38                	je     777c4dbe <_DrawDibClose@4+0x6e>
777c4d86:	8d 50 3c             	lea    0x3c(%eax),%edx
777c4d89:	8b 40 3c             	mov    0x3c(%eax),%eax
777c4d8c:	85 c0                	test   %eax,%eax
777c4d8e:	75 f0                	jne    777c4d80 <_DrawDibClose@4+0x30>
777c4d90:	56                   	push   %esi
777c4d91:	53                   	push   %ebx
777c4d92:	6a 00                	push   $0x0
777c4d94:	53                   	push   %ebx
777c4d95:	e8 46 0b 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c4d9a:	89 04 24             	mov    %eax,(%esp)
777c4d9d:	e8 5e 0b 00 00       	call   777c5900 <_HeapFree@12>
777c4da2:	b8 01 00 00 00       	mov    $0x1,%eax
777c4da7:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
777c4daa:	5b                   	pop    %ebx
777c4dab:	5e                   	pop    %esi
777c4dac:	5d                   	pop    %ebp
777c4dad:	c2 04 00             	ret    $0x4
777c4db0:	83 ec 0c             	sub    $0xc,%esp
777c4db3:	56                   	push   %esi
777c4db4:	e8 47 fe ff ff       	call   777c4c00 <_DrawDibEnd@4>
777c4db9:	83 c4 0c             	add    $0xc,%esp
777c4dbc:	eb b0                	jmp    777c4d6e <_DrawDibClose@4+0x1e>
777c4dbe:	8b 43 3c             	mov    0x3c(%ebx),%eax
777c4dc1:	89 02                	mov    %eax,(%edx)
777c4dc3:	eb cb                	jmp    777c4d90 <_DrawDibClose@4+0x40>
777c4dc5:	8d 74 26 00          	lea    0x0(%esi),%esi
777c4dc9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c4dd0 <_DrawDibBegin@32>:
777c4dd0:	55                   	push   %ebp
777c4dd1:	89 e5                	mov    %esp,%ebp
777c4dd3:	57                   	push   %edi
777c4dd4:	56                   	push   %esi
777c4dd5:	53                   	push   %ebx
777c4dd6:	83 ec 0c             	sub    $0xc,%esp
777c4dd9:	c7 45 f0 01 00 00 00 	movl   $0x1,0xfffffff0(%ebp)
777c4de0:	8b 5d 24             	mov    0x24(%ebp),%ebx
777c4de3:	8b 75 08             	mov    0x8(%ebp),%esi
777c4de6:	83 e3 bf             	and    $0xffffffbf,%ebx
777c4de9:	0f 85 91 01 00 00    	jne    777c4f80 <_DrawDibBegin@32+0x1b0>
777c4def:	89 f0                	mov    %esi,%eax
777c4df1:	e8 8a fd ff ff       	call   777c4b80 <_MSVIDEO_GetHddPtr>
777c4df6:	89 c3                	mov    %eax,%ebx
777c4df8:	31 c0                	xor    %eax,%eax
777c4dfa:	85 db                	test   %ebx,%ebx
777c4dfc:	0f 84 1b 01 00 00    	je     777c4f1d <_DrawDibBegin@32+0x14d>
777c4e02:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
777c4e05:	85 c9                	test   %ecx,%ecx
777c4e07:	0f 85 a3 01 00 00    	jne    777c4fb0 <_DrawDibBegin@32+0x1e0>
777c4e0d:	8b 55 18             	mov    0x18(%ebp),%edx
777c4e10:	8b 42 10             	mov    0x10(%edx),%eax
777c4e13:	85 c0                	test   %eax,%eax
777c4e15:	0f 85 0c 01 00 00    	jne    777c4f27 <_DrawDibBegin@32+0x157>
777c4e1b:	8b 55 18             	mov    0x18(%ebp),%edx
777c4e1e:	52                   	push   %edx
777c4e1f:	e8 2c fd ff ff       	call   777c4b50 <_num_colours>
777c4e24:	8b 4d 18             	mov    0x18(%ebp),%ecx
777c4e27:	8b 11                	mov    (%ecx),%edx
777c4e29:	8d 04 82             	lea    (%edx,%eax,4),%eax
777c4e2c:	50                   	push   %eax
777c4e2d:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
777c4e30:	6a 00                	push   $0x0
777c4e32:	50                   	push   %eax
777c4e33:	e8 a8 0a 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c4e38:	89 04 24             	mov    %eax,(%esp)
777c4e3b:	e8 b0 0a 00 00       	call   777c58f0 <_HeapAlloc@12>
777c4e40:	8b 4d ec             	mov    0xffffffec(%ebp),%ecx
777c4e43:	89 c7                	mov    %eax,%edi
777c4e45:	fc                   	cld    
777c4e46:	c1 e9 02             	shr    $0x2,%ecx
777c4e49:	89 43 20             	mov    %eax,0x20(%ebx)
777c4e4c:	8b 75 18             	mov    0x18(%ebp),%esi
777c4e4f:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
777c4e51:	f6 45 ec 02          	testb  $0x2,0xffffffec(%ebp)
777c4e55:	74 0c                	je     777c4e63 <_DrawDibBegin@32+0x93>
777c4e57:	66 8b 06             	mov    (%esi),%ax
777c4e5a:	83 c6 02             	add    $0x2,%esi
777c4e5d:	66 89 07             	mov    %ax,(%edi)
777c4e60:	83 c7 02             	add    $0x2,%edi
777c4e63:	f6 45 ec 01          	testb  $0x1,0xffffffec(%ebp)
777c4e67:	74 04                	je     777c4e6d <_DrawDibBegin@32+0x9d>
777c4e69:	8a 06                	mov    (%esi),%al
777c4e6b:	88 07                	mov    %al,(%edi)
777c4e6d:	58                   	pop    %eax
777c4e6e:	83 ec 0c             	sub    $0xc,%esp
777c4e71:	8b 45 0c             	mov    0xc(%ebp),%eax
777c4e74:	50                   	push   %eax
777c4e75:	e8 96 09 00 00       	call   777c5810 <_CreateCompatibleDC@4>
777c4e7a:	89 43 28             	mov    %eax,0x28(%ebx)
777c4e7d:	8d 43 34             	lea    0x34(%ebx),%eax
777c4e80:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
777c4e87:	6a 00                	push   $0x0
777c4e89:	50                   	push   %eax
777c4e8a:	6a 00                	push   $0x0
777c4e8c:	8b 43 20             	mov    0x20(%ebx),%eax
777c4e8f:	50                   	push   %eax
777c4e90:	8b 43 28             	mov    0x28(%ebx),%eax
777c4e93:	50                   	push   %eax
777c4e94:	e8 87 09 00 00       	call   777c5820 <_CreateDIBSection@24>
777c4e99:	89 43 30             	mov    %eax,0x30(%ebx)
777c4e9c:	50                   	push   %eax
777c4e9d:	8b 43 28             	mov    0x28(%ebx),%eax
777c4ea0:	50                   	push   %eax
777c4ea1:	e8 3a 09 00 00       	call   777c57e0 <_SelectObject@8>
777c4ea6:	8b 55 18             	mov    0x18(%ebp),%edx
777c4ea9:	89 43 2c             	mov    %eax,0x2c(%ebx)
777c4eac:	8b 45 0c             	mov    0xc(%ebp),%eax
777c4eaf:	5f                   	pop    %edi
777c4eb0:	89 03                	mov    %eax,(%ebx)
777c4eb2:	8b 45 10             	mov    0x10(%ebp),%eax
777c4eb5:	8b 32                	mov    (%edx),%esi
777c4eb7:	89 43 04             	mov    %eax,0x4(%ebx)
777c4eba:	8b 45 14             	mov    0x14(%ebp),%eax
777c4ebd:	89 43 08             	mov    %eax,0x8(%ebx)
777c4ec0:	56                   	push   %esi
777c4ec1:	6a 00                	push   $0x0
777c4ec3:	51                   	push   %ecx
777c4ec4:	e8 17 0a 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c4ec9:	89 04 24             	mov    %eax,(%esp)
777c4ecc:	e8 1f 0a 00 00       	call   777c58f0 <_HeapAlloc@12>
777c4ed1:	8b 4d 18             	mov    0x18(%ebp),%ecx
777c4ed4:	89 c7                	mov    %eax,%edi
777c4ed6:	89 ce                	mov    %ecx,%esi
777c4ed8:	89 43 0c             	mov    %eax,0xc(%ebx)
777c4edb:	8b 11                	mov    (%ecx),%edx
777c4edd:	fc                   	cld    
777c4ede:	89 d1                	mov    %edx,%ecx
777c4ee0:	c1 e9 02             	shr    $0x2,%ecx
777c4ee3:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
777c4ee5:	f6 c2 02             	test   $0x2,%dl
777c4ee8:	74 0c                	je     777c4ef6 <_DrawDibBegin@32+0x126>
777c4eea:	66 8b 06             	mov    (%esi),%ax
777c4eed:	83 c6 02             	add    $0x2,%esi
777c4ef0:	66 89 07             	mov    %ax,(%edi)
777c4ef3:	83 c7 02             	add    $0x2,%edi
777c4ef6:	83 e2 01             	and    $0x1,%edx
777c4ef9:	74 04                	je     777c4eff <_DrawDibBegin@32+0x12f>
777c4efb:	8a 06                	mov    (%esi),%al
777c4efd:	88 07                	mov    %al,(%edi)
777c4eff:	8b 45 1c             	mov    0x1c(%ebp),%eax
777c4f02:	c7 43 18 00 00 00 00 	movl   $0x0,0x18(%ebx)
777c4f09:	89 43 10             	mov    %eax,0x10(%ebx)
777c4f0c:	8b 45 20             	mov    0x20(%ebp),%eax
777c4f0f:	89 43 14             	mov    %eax,0x14(%ebx)
777c4f12:	c7 43 1c 01 00 00 00 	movl   $0x1,0x1c(%ebx)
777c4f19:	58                   	pop    %eax
777c4f1a:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
777c4f1d:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c4f20:	5b                   	pop    %ebx
777c4f21:	5e                   	pop    %esi
777c4f22:	5f                   	pop    %edi
777c4f23:	5d                   	pop    %ebp
777c4f24:	c2 20 00             	ret    $0x20
777c4f27:	52                   	push   %edx
777c4f28:	6a 02                	push   $0x2
777c4f2a:	50                   	push   %eax
777c4f2b:	68 76 69 64 63       	push   $0x63646976
777c4f30:	e8 0b f0 ff ff       	call   777c3f40 <_ICOpen@12>
777c4f35:	85 c0                	test   %eax,%eax
777c4f37:	89 43 24             	mov    %eax,0x24(%ebx)
777c4f3a:	5f                   	pop    %edi
777c4f3b:	0f 85 80 00 00 00    	jne    777c4fc1 <_DrawDibBegin@32+0x1f1>
777c4f41:	8b 43 24             	mov    0x24(%ebx),%eax
777c4f44:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
777c4f4b:	85 c0                	test   %eax,%eax
777c4f4d:	74 0c                	je     777c4f5b <_DrawDibBegin@32+0x18b>
777c4f4f:	83 ec 0c             	sub    $0xc,%esp
777c4f52:	50                   	push   %eax
777c4f53:	e8 f8 ea ff ff       	call   777c3a50 <_ICClose@4>
777c4f58:	83 c4 0c             	add    $0xc,%esp
777c4f5b:	8b 43 20             	mov    0x20(%ebx),%eax
777c4f5e:	85 c0                	test   %eax,%eax
777c4f60:	74 b8                	je     777c4f1a <_DrawDibBegin@32+0x14a>
777c4f62:	52                   	push   %edx
777c4f63:	50                   	push   %eax
777c4f64:	6a 00                	push   $0x0
777c4f66:	50                   	push   %eax
777c4f67:	e8 74 09 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c4f6c:	89 04 24             	mov    %eax,(%esp)
777c4f6f:	e8 8c 09 00 00       	call   777c5900 <_HeapFree@12>
777c4f74:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%ebx)
777c4f7b:	58                   	pop    %eax
777c4f7c:	eb 9c                	jmp    777c4f1a <_DrawDibBegin@32+0x14a>
777c4f7e:	89 f6                	mov    %esi,%esi
777c4f80:	68 b0 85 7c 77       	push   $0x777c85b0
777c4f85:	68 c5 00 00 00       	push   $0xc5
777c4f8a:	68 bd 85 7c 77       	push   $0x777c85bd
777c4f8f:	68 c7 85 7c 77       	push   $0x777c85c7
777c4f94:	e8 d7 0a 00 00       	call   777c5a70 <_DbgPrint>
777c4f99:	5f                   	pop    %edi
777c4f9a:	58                   	pop    %eax
777c4f9b:	53                   	push   %ebx
777c4f9c:	68 d3 85 7c 77       	push   $0x777c85d3
777c4fa1:	e8 ca 0a 00 00       	call   777c5a70 <_DbgPrint>
777c4fa6:	83 c4 10             	add    $0x10,%esp
777c4fa9:	e9 41 fe ff ff       	jmp    777c4def <_DrawDibBegin@32+0x1f>
777c4fae:	89 f6                	mov    %esi,%esi
777c4fb0:	83 ec 0c             	sub    $0xc,%esp
777c4fb3:	56                   	push   %esi
777c4fb4:	e8 47 fc ff ff       	call   777c4c00 <_DrawDibEnd@4>
777c4fb9:	83 c4 0c             	add    $0xc,%esp
777c4fbc:	e9 4c fe ff ff       	jmp    777c4e0d <_DrawDibBegin@32+0x3d>
777c4fc1:	8b 75 18             	mov    0x18(%ebp),%esi
777c4fc4:	6a 00                	push   $0x0
777c4fc6:	56                   	push   %esi
777c4fc7:	68 0a 40 00 00       	push   $0x400a
777c4fcc:	8b 4b 24             	mov    0x24(%ebx),%ecx
777c4fcf:	51                   	push   %ecx
777c4fd0:	e8 4b ec ff ff       	call   777c3c20 <_ICSendMessage@16>
777c4fd5:	83 f8 ff             	cmp    $0xffffffff,%eax
777c4fd8:	0f 84 63 ff ff ff    	je     777c4f41 <_DrawDibBegin@32+0x171>
777c4fde:	52                   	push   %edx
777c4fdf:	50                   	push   %eax
777c4fe0:	6a 00                	push   $0x0
777c4fe2:	50                   	push   %eax
777c4fe3:	e8 f8 08 00 00       	call   777c58e0 <_GetProcessHeap@0>
777c4fe8:	89 04 24             	mov    %eax,(%esp)
777c4feb:	e8 00 09 00 00       	call   777c58f0 <_HeapAlloc@12>
777c4ff0:	89 43 20             	mov    %eax,0x20(%ebx)
777c4ff3:	89 04 24             	mov    %eax,(%esp)
777c4ff6:	8b 45 18             	mov    0x18(%ebp),%eax
777c4ff9:	50                   	push   %eax
777c4ffa:	68 0a 40 00 00       	push   $0x400a
777c4fff:	8b 43 24             	mov    0x24(%ebx),%eax
777c5002:	50                   	push   %eax
777c5003:	e8 18 ec ff ff       	call   777c3c20 <_ICSendMessage@16>
777c5008:	85 c0                	test   %eax,%eax
777c500a:	0f 85 31 ff ff ff    	jne    777c4f41 <_DrawDibBegin@32+0x171>
777c5010:	8b 7b 20             	mov    0x20(%ebx),%edi
777c5013:	8b 75 18             	mov    0x18(%ebp),%esi
777c5016:	57                   	push   %edi
777c5017:	56                   	push   %esi
777c5018:	68 0c 40 00 00       	push   $0x400c
777c501d:	8b 4b 24             	mov    0x24(%ebx),%ecx
777c5020:	51                   	push   %ecx
777c5021:	e8 fa eb ff ff       	call   777c3c20 <_ICSendMessage@16>
777c5026:	85 c0                	test   %eax,%eax
777c5028:	0f 84 40 fe ff ff    	je     777c4e6e <_DrawDibBegin@32+0x9e>
777c502e:	e9 0e ff ff ff       	jmp    777c4f41 <_DrawDibBegin@32+0x171>
777c5033:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c5039:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c5040 <_DrawDibDraw@52>:
777c5040:	55                   	push   %ebp
777c5041:	89 e5                	mov    %esp,%ebp
777c5043:	57                   	push   %edi
777c5044:	56                   	push   %esi
777c5045:	53                   	push   %ebx
777c5046:	83 ec 0c             	sub    $0xc,%esp
777c5049:	c7 45 f0 01 00 00 00 	movl   $0x1,0xfffffff0(%ebp)
777c5050:	8b 45 08             	mov    0x8(%ebp),%eax
777c5053:	8b 5d 24             	mov    0x24(%ebp),%ebx
777c5056:	8b 7d 38             	mov    0x38(%ebp),%edi
777c5059:	e8 22 fb ff ff       	call   777c4b80 <_MSVIDEO_GetHddPtr>
777c505e:	89 c6                	mov    %eax,%esi
777c5060:	31 c0                	xor    %eax,%eax
777c5062:	85 f6                	test   %esi,%esi
777c5064:	0f 84 2f 01 00 00    	je     777c5199 <_DrawDibDraw@52+0x159>
777c506a:	f7 c7 e1 fb ff ff    	test   $0xfffffbe1,%edi
777c5070:	0f 85 7a 01 00 00    	jne    777c51f0 <_DrawDibDraw@52+0x1b0>
777c5076:	85 db                	test   %ebx,%ebx
777c5078:	0f 84 a3 01 00 00    	je     777c5221 <_DrawDibDraw@52+0x1e1>
777c507e:	8b 4e 1c             	mov    0x1c(%esi),%ecx
777c5081:	85 c9                	test   %ecx,%ecx
777c5083:	74 17                	je     777c509c <_DrawDibDraw@52+0x5c>
777c5085:	f7 c7 04 00 00 00    	test   $0x4,%edi
777c508b:	0f 85 12 01 00 00    	jne    777c51a3 <_DrawDibDraw@52+0x163>
777c5091:	8b 55 0c             	mov    0xc(%ebp),%edx
777c5094:	39 16                	cmp    %edx,(%esi)
777c5096:	0f 84 07 01 00 00    	je     777c51a3 <_DrawDibDraw@52+0x163>
777c509c:	8b 45 30             	mov    0x30(%ebp),%eax
777c509f:	8b 55 34             	mov    0x34(%ebp),%edx
777c50a2:	6a 00                	push   $0x0
777c50a4:	52                   	push   %edx
777c50a5:	50                   	push   %eax
777c50a6:	8b 45 20             	mov    0x20(%ebp),%eax
777c50a9:	50                   	push   %eax
777c50aa:	8b 45 1c             	mov    0x1c(%ebp),%eax
777c50ad:	50                   	push   %eax
777c50ae:	8b 45 18             	mov    0x18(%ebp),%eax
777c50b1:	50                   	push   %eax
777c50b2:	8b 45 0c             	mov    0xc(%ebp),%eax
777c50b5:	50                   	push   %eax
777c50b6:	8b 45 08             	mov    0x8(%ebp),%eax
777c50b9:	50                   	push   %eax
777c50ba:	e8 11 fd ff ff       	call   777c4dd0 <_DrawDibBegin@32>
777c50bf:	89 45 f0             	mov    %eax,0xfffffff0(%ebp)
777c50c2:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
777c50c6:	0f 94 c2             	sete   %dl
777c50c9:	83 7d 1c ff          	cmpl   $0xffffffff,0x1c(%ebp)
777c50cd:	0f 94 c0             	sete   %al
777c50d0:	25 ff 00 00 00       	and    $0xff,%eax
777c50d5:	85 c2                	test   %eax,%edx
777c50d7:	74 0c                	je     777c50e5 <_DrawDibDraw@52+0xa5>
777c50d9:	8b 55 30             	mov    0x30(%ebp),%edx
777c50dc:	8b 4d 34             	mov    0x34(%ebp),%ecx
777c50df:	89 55 18             	mov    %edx,0x18(%ebp)
777c50e2:	89 4d 1c             	mov    %ecx,0x1c(%ebp)
777c50e5:	f7 c7 02 00 00 00    	test   $0x2,%edi
777c50eb:	75 58                	jne    777c5145 <_DrawDibDraw@52+0x105>
777c50ed:	8b 45 20             	mov    0x20(%ebp),%eax
777c50f0:	8b 48 10             	mov    0x10(%eax),%ecx
777c50f3:	85 c9                	test   %ecx,%ecx
777c50f5:	0f 85 4a 01 00 00    	jne    777c5245 <_DrawDibDraw@52+0x205>
777c50fb:	8b 50 14             	mov    0x14(%eax),%edx
777c50fe:	85 d2                	test   %edx,%edx
777c5100:	75 2e                	jne    777c5130 <_DrawDibDraw@52+0xf0>
777c5102:	89 c2                	mov    %eax,%edx
777c5104:	66 8b 40 0e          	mov    0xe(%eax),%ax
777c5108:	25 ff ff 00 00       	and    $0xffff,%eax
777c510d:	8b 52 04             	mov    0x4(%edx),%edx
777c5110:	0f af d0             	imul   %eax,%edx
777c5113:	89 d0                	mov    %edx,%eax
777c5115:	83 c0 1f             	add    $0x1f,%eax
777c5118:	0f 88 6d 01 00 00    	js     777c528b <_DrawDibDraw@52+0x24b>
777c511e:	c1 f8 05             	sar    $0x5,%eax
777c5121:	8b 55 20             	mov    0x20(%ebp),%edx
777c5124:	8b 4a 08             	mov    0x8(%edx),%ecx
777c5127:	0f af c1             	imul   %ecx,%eax
777c512a:	c1 e0 02             	shl    $0x2,%eax
777c512d:	89 42 14             	mov    %eax,0x14(%edx)
777c5130:	8b 4d 20             	mov    0x20(%ebp),%ecx
777c5133:	52                   	push   %edx
777c5134:	8b 41 14             	mov    0x14(%ecx),%eax
777c5137:	50                   	push   %eax
777c5138:	53                   	push   %ebx
777c5139:	8b 46 34             	mov    0x34(%esi),%eax
777c513c:	50                   	push   %eax
777c513d:	e8 fe 08 00 00       	call   777c5a40 <_memcpy>
777c5142:	83 c4 10             	add    $0x10,%esp
777c5145:	83 e7 10             	and    $0x10,%edi
777c5148:	75 0b                	jne    777c5155 <_DrawDibDraw@52+0x115>
777c514a:	8b 46 18             	mov    0x18(%esi),%eax
777c514d:	85 c0                	test   %eax,%eax
777c514f:	0f 85 20 01 00 00    	jne    777c5275 <_DrawDibDraw@52+0x235>
777c5155:	8b 4d 34             	mov    0x34(%ebp),%ecx
777c5158:	8b 55 30             	mov    0x30(%ebp),%edx
777c515b:	8b 45 2c             	mov    0x2c(%ebp),%eax
777c515e:	53                   	push   %ebx
777c515f:	68 20 00 cc 00       	push   $0xcc0020
777c5164:	51                   	push   %ecx
777c5165:	52                   	push   %edx
777c5166:	50                   	push   %eax
777c5167:	8b 45 28             	mov    0x28(%ebp),%eax
777c516a:	50                   	push   %eax
777c516b:	8b 7d 10             	mov    0x10(%ebp),%edi
777c516e:	8b 46 28             	mov    0x28(%esi),%eax
777c5171:	50                   	push   %eax
777c5172:	8b 45 1c             	mov    0x1c(%ebp),%eax
777c5175:	50                   	push   %eax
777c5176:	8b 45 18             	mov    0x18(%ebp),%eax
777c5179:	50                   	push   %eax
777c517a:	8b 45 14             	mov    0x14(%ebp),%eax
777c517d:	50                   	push   %eax
777c517e:	57                   	push   %edi
777c517f:	8b 1e                	mov    (%esi),%ebx
777c5181:	53                   	push   %ebx
777c5182:	e8 a9 06 00 00       	call   777c5830 <_StretchBlt@44>
777c5187:	85 c0                	test   %eax,%eax
777c5189:	8b 55 f0             	mov    0xfffffff0(%ebp),%edx
777c518c:	0f 95 c0             	setne  %al
777c518f:	25 ff 00 00 00       	and    $0xff,%eax
777c5194:	59                   	pop    %ecx
777c5195:	f7 d8                	neg    %eax
777c5197:	21 d0                	and    %edx,%eax
777c5199:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c519c:	5b                   	pop    %ebx
777c519d:	5e                   	pop    %esi
777c519e:	5f                   	pop    %edi
777c519f:	5d                   	pop    %ebp
777c51a0:	c2 34 00             	ret    $0x34
777c51a3:	f7 c7 08 00 00 00    	test   $0x8,%edi
777c51a9:	0f 85 13 ff ff ff    	jne    777c50c2 <_DrawDibDraw@52+0x82>
777c51af:	8b 4d 20             	mov    0x20(%ebp),%ecx
777c51b2:	39 4e 0c             	cmp    %ecx,0xc(%esi)
777c51b5:	0f 85 e1 fe ff ff    	jne    777c509c <_DrawDibDraw@52+0x5c>
777c51bb:	8b 45 30             	mov    0x30(%ebp),%eax
777c51be:	39 46 10             	cmp    %eax,0x10(%esi)
777c51c1:	0f 85 d5 fe ff ff    	jne    777c509c <_DrawDibDraw@52+0x5c>
777c51c7:	8b 55 34             	mov    0x34(%ebp),%edx
777c51ca:	39 56 14             	cmp    %edx,0x14(%esi)
777c51cd:	0f 85 c9 fe ff ff    	jne    777c509c <_DrawDibDraw@52+0x5c>
777c51d3:	8b 4d 18             	mov    0x18(%ebp),%ecx
777c51d6:	39 4e 04             	cmp    %ecx,0x4(%esi)
777c51d9:	0f 85 bd fe ff ff    	jne    777c509c <_DrawDibDraw@52+0x5c>
777c51df:	8b 45 1c             	mov    0x1c(%ebp),%eax
777c51e2:	39 46 08             	cmp    %eax,0x8(%esi)
777c51e5:	0f 85 b1 fe ff ff    	jne    777c509c <_DrawDibDraw@52+0x5c>
777c51eb:	e9 d2 fe ff ff       	jmp    777c50c2 <_DrawDibDraw@52+0x82>
777c51f0:	68 f1 85 7c 77       	push   $0x777c85f1
777c51f5:	68 3b 01 00 00       	push   $0x13b
777c51fa:	68 bd 85 7c 77       	push   $0x777c85bd
777c51ff:	68 c7 85 7c 77       	push   $0x777c85c7
777c5204:	e8 67 08 00 00       	call   777c5a70 <_DbgPrint>
777c5209:	59                   	pop    %ecx
777c520a:	58                   	pop    %eax
777c520b:	57                   	push   %edi
777c520c:	68 00 86 7c 77       	push   $0x777c8600
777c5211:	e8 5a 08 00 00       	call   777c5a70 <_DbgPrint>
777c5216:	83 c4 10             	add    $0x10,%esp
777c5219:	85 db                	test   %ebx,%ebx
777c521b:	0f 85 5d fe ff ff    	jne    777c507e <_DrawDibDraw@52+0x3e>
777c5221:	8b 45 20             	mov    0x20(%ebp),%eax
777c5224:	66 8b 18             	mov    (%eax),%bx
777c5227:	50                   	push   %eax
777c5228:	81 e3 ff ff 00 00    	and    $0xffff,%ebx
777c522e:	01 c3                	add    %eax,%ebx
777c5230:	e8 1b f9 ff ff       	call   777c4b50 <_num_colours>
777c5235:	c1 e0 02             	shl    $0x2,%eax
777c5238:	5a                   	pop    %edx
777c5239:	25 ff ff 00 00       	and    $0xffff,%eax
777c523e:	01 c3                	add    %eax,%ebx
777c5240:	e9 39 fe ff ff       	jmp    777c507e <_DrawDibDraw@52+0x3e>
777c5245:	31 c0                	xor    %eax,%eax
777c5247:	f7 c7 00 04 00 00    	test   $0x400,%edi
777c524d:	74 05                	je     777c5254 <_DrawDibDraw@52+0x214>
777c524f:	b8 00 00 00 08       	mov    $0x8000000,%eax
777c5254:	52                   	push   %edx
777c5255:	52                   	push   %edx
777c5256:	8b 4e 34             	mov    0x34(%esi),%ecx
777c5259:	51                   	push   %ecx
777c525a:	8b 56 20             	mov    0x20(%esi),%edx
777c525d:	52                   	push   %edx
777c525e:	53                   	push   %ebx
777c525f:	8b 5d 20             	mov    0x20(%ebp),%ebx
777c5262:	53                   	push   %ebx
777c5263:	50                   	push   %eax
777c5264:	8b 4e 24             	mov    0x24(%esi),%ecx
777c5267:	51                   	push   %ecx
777c5268:	e8 f3 e9 ff ff       	call   777c3c60 <_ICDecompress>
777c526d:	83 c4 20             	add    $0x20,%esp
777c5270:	e9 d0 fe ff ff       	jmp    777c5145 <_DrawDibDraw@52+0x105>
777c5275:	50                   	push   %eax
777c5276:	6a 00                	push   $0x0
777c5278:	8b 46 18             	mov    0x18(%esi),%eax
777c527b:	50                   	push   %eax
777c527c:	8b 45 0c             	mov    0xc(%ebp),%eax
777c527f:	50                   	push   %eax
777c5280:	e8 bb 05 00 00       	call   777c5840 <_SelectPalette@12>
777c5285:	5f                   	pop    %edi
777c5286:	e9 ca fe ff ff       	jmp    777c5155 <_DrawDibDraw@52+0x115>
777c528b:	8d 42 3e             	lea    0x3e(%edx),%eax
777c528e:	e9 8b fe ff ff       	jmp    777c511e <_DrawDibDraw@52+0xde>
777c5293:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c5299:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c52a0 <_DrawDibStart@8>:
777c52a0:	55                   	push   %ebp
777c52a1:	89 e5                	mov    %esp,%ebp
777c52a3:	50                   	push   %eax
777c52a4:	50                   	push   %eax
777c52a5:	68 1f 86 7c 77       	push   $0x777c861f
777c52aa:	68 79 01 00 00       	push   $0x179
777c52af:	68 bd 85 7c 77       	push   $0x777c85bd
777c52b4:	68 c7 85 7c 77       	push   $0x777c85c7
777c52b9:	e8 b2 07 00 00       	call   777c5a70 <_DbgPrint>
777c52be:	83 c4 0c             	add    $0xc,%esp
777c52c1:	8b 45 0c             	mov    0xc(%ebp),%eax
777c52c4:	50                   	push   %eax
777c52c5:	8b 45 08             	mov    0x8(%ebp),%eax
777c52c8:	50                   	push   %eax
777c52c9:	68 2c 86 7c 77       	push   $0x777c862c
777c52ce:	e8 9d 07 00 00       	call   777c5a70 <_DbgPrint>
777c52d3:	b8 01 00 00 00       	mov    $0x1,%eax
777c52d8:	c9                   	leave  
777c52d9:	c2 08 00             	ret    $0x8
777c52dc:	8d 74 26 00          	lea    0x0(%esi),%esi

777c52e0 <_DrawDibStop@4>:
777c52e0:	55                   	push   %ebp
777c52e1:	89 e5                	mov    %esp,%ebp
777c52e3:	51                   	push   %ecx
777c52e4:	51                   	push   %ecx
777c52e5:	68 3d 86 7c 77       	push   $0x777c863d
777c52ea:	68 81 01 00 00       	push   $0x181
777c52ef:	68 bd 85 7c 77       	push   $0x777c85bd
777c52f4:	68 c7 85 7c 77       	push   $0x777c85c7
777c52f9:	e8 72 07 00 00       	call   777c5a70 <_DbgPrint>
777c52fe:	58                   	pop    %eax
777c52ff:	8b 45 08             	mov    0x8(%ebp),%eax
777c5302:	5a                   	pop    %edx
777c5303:	50                   	push   %eax
777c5304:	68 49 86 7c 77       	push   $0x777c8649
777c5309:	e8 62 07 00 00       	call   777c5a70 <_DbgPrint>
777c530e:	b8 01 00 00 00       	mov    $0x1,%eax
777c5313:	c9                   	leave  
777c5314:	c2 04 00             	ret    $0x4
777c5317:	89 f6                	mov    %esi,%esi
777c5319:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c5320 <_DrawDibSetPalette@8>:
777c5320:	55                   	push   %ebp
777c5321:	89 e5                	mov    %esp,%ebp
777c5323:	56                   	push   %esi
777c5324:	53                   	push   %ebx
777c5325:	8b 45 08             	mov    0x8(%ebp),%eax
777c5328:	8b 75 0c             	mov    0xc(%ebp),%esi
777c532b:	e8 50 f8 ff ff       	call   777c4b80 <_MSVIDEO_GetHddPtr>
777c5330:	89 c3                	mov    %eax,%ebx
777c5332:	31 c0                	xor    %eax,%eax
777c5334:	85 db                	test   %ebx,%ebx
777c5336:	74 0f                	je     777c5347 <_DrawDibSetPalette@8+0x27>
777c5338:	8b 43 1c             	mov    0x1c(%ebx),%eax
777c533b:	89 73 18             	mov    %esi,0x18(%ebx)
777c533e:	85 c0                	test   %eax,%eax
777c5340:	75 0e                	jne    777c5350 <_DrawDibSetPalette@8+0x30>
777c5342:	b8 01 00 00 00       	mov    $0x1,%eax
777c5347:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
777c534a:	5b                   	pop    %ebx
777c534b:	5e                   	pop    %esi
777c534c:	5d                   	pop    %ebp
777c534d:	c2 08 00             	ret    $0x8
777c5350:	50                   	push   %eax
777c5351:	6a 00                	push   $0x0
777c5353:	56                   	push   %esi
777c5354:	8b 03                	mov    (%ebx),%eax
777c5356:	50                   	push   %eax
777c5357:	e8 e4 04 00 00       	call   777c5840 <_SelectPalette@12>
777c535c:	56                   	push   %esi
777c535d:	56                   	push   %esi
777c535e:	8b 1b                	mov    (%ebx),%ebx
777c5360:	53                   	push   %ebx
777c5361:	e8 ea 04 00 00       	call   777c5850 <_RealizePalette@4>
777c5366:	83 c4 0c             	add    $0xc,%esp
777c5369:	eb d7                	jmp    777c5342 <_DrawDibSetPalette@8+0x22>
777c536b:	90                   	nop    
777c536c:	8d 74 26 00          	lea    0x0(%esi),%esi

777c5370 <_DrawDibGetPalette@4>:
777c5370:	55                   	push   %ebp
777c5371:	89 e5                	mov    %esp,%ebp
777c5373:	8b 45 08             	mov    0x8(%ebp),%eax
777c5376:	e8 05 f8 ff ff       	call   777c4b80 <_MSVIDEO_GetHddPtr>
777c537b:	31 d2                	xor    %edx,%edx
777c537d:	85 c0                	test   %eax,%eax
777c537f:	74 03                	je     777c5384 <_DrawDibGetPalette@4+0x14>
777c5381:	8b 50 18             	mov    0x18(%eax),%edx
777c5384:	89 d0                	mov    %edx,%eax
777c5386:	5d                   	pop    %ebp
777c5387:	c2 04 00             	ret    $0x4
777c538a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

777c5390 <_DrawDibRealize@12>:
777c5390:	55                   	push   %ebp
777c5391:	89 e5                	mov    %esp,%ebp
777c5393:	57                   	push   %edi
777c5394:	56                   	push   %esi
777c5395:	53                   	push   %ebx
777c5396:	83 ec 0c             	sub    $0xc,%esp
777c5399:	31 ff                	xor    %edi,%edi
777c539b:	8b 5d 08             	mov    0x8(%ebp),%ebx
777c539e:	8b 75 0c             	mov    0xc(%ebp),%esi
777c53a1:	68 55 86 7c 77       	push   $0x777c8655
777c53a6:	68 b4 01 00 00       	push   $0x1b4
777c53ab:	68 bd 85 7c 77       	push   $0x777c85bd
777c53b0:	68 c7 85 7c 77       	push   $0x777c85c7
777c53b5:	e8 b6 06 00 00       	call   777c5a70 <_DbgPrint>
777c53ba:	8b 45 10             	mov    0x10(%ebp),%eax
777c53bd:	50                   	push   %eax
777c53be:	56                   	push   %esi
777c53bf:	53                   	push   %ebx
777c53c0:	68 64 86 7c 77       	push   $0x777c8664
777c53c5:	e8 a6 06 00 00       	call   777c5a70 <_DbgPrint>
777c53ca:	83 c4 20             	add    $0x20,%esp
777c53cd:	89 d8                	mov    %ebx,%eax
777c53cf:	e8 ac f7 ff ff       	call   777c4b80 <_MSVIDEO_GetHddPtr>
777c53d4:	89 c3                	mov    %eax,%ebx
777c53d6:	31 c0                	xor    %eax,%eax
777c53d8:	85 db                	test   %ebx,%ebx
777c53da:	74 2c                	je     777c5408 <_DrawDibRealize@12+0x78>
777c53dc:	8b 43 1c             	mov    0x1c(%ebx),%eax
777c53df:	85 c0                	test   %eax,%eax
777c53e1:	74 23                	je     777c5406 <_DrawDibRealize@12+0x76>
777c53e3:	8b 4b 18             	mov    0x18(%ebx),%ecx
777c53e6:	85 c9                	test   %ecx,%ecx
777c53e8:	74 28                	je     777c5412 <_DrawDibRealize@12+0x82>
777c53ea:	8b 45 10             	mov    0x10(%ebp),%eax
777c53ed:	52                   	push   %edx
777c53ee:	50                   	push   %eax
777c53ef:	8b 43 18             	mov    0x18(%ebx),%eax
777c53f2:	50                   	push   %eax
777c53f3:	56                   	push   %esi
777c53f4:	e8 47 04 00 00       	call   777c5840 <_SelectPalette@12>
777c53f9:	50                   	push   %eax
777c53fa:	50                   	push   %eax
777c53fb:	56                   	push   %esi
777c53fc:	e8 4f 04 00 00       	call   777c5850 <_RealizePalette@4>
777c5401:	89 c7                	mov    %eax,%edi
777c5403:	83 c4 0c             	add    $0xc,%esp
777c5406:	89 f8                	mov    %edi,%eax
777c5408:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c540b:	5b                   	pop    %ebx
777c540c:	5e                   	pop    %esi
777c540d:	5f                   	pop    %edi
777c540e:	5d                   	pop    %ebp
777c540f:	c2 0c 00             	ret    $0xc
777c5412:	83 ec 0c             	sub    $0xc,%esp
777c5415:	56                   	push   %esi
777c5416:	e8 45 04 00 00       	call   777c5860 <_CreateHalftonePalette@4>
777c541b:	83 c4 0c             	add    $0xc,%esp
777c541e:	89 43 18             	mov    %eax,0x18(%ebx)
777c5421:	eb c7                	jmp    777c53ea <_DrawDibRealize@12+0x5a>
777c5423:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c5429:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c5430 <_DrawDibProfileDisplay@4>:
777c5430:	55                   	push   %ebp
777c5431:	89 e5                	mov    %esp,%ebp
777c5433:	51                   	push   %ecx
777c5434:	51                   	push   %ecx
777c5435:	68 78 86 7c 77       	push   $0x777c8678
777c543a:	68 cc 01 00 00       	push   $0x1cc
777c543f:	68 bd 85 7c 77       	push   $0x777c85bd
777c5444:	68 c7 85 7c 77       	push   $0x777c85c7
777c5449:	e8 22 06 00 00       	call   777c5a70 <_DbgPrint>
777c544e:	58                   	pop    %eax
777c544f:	8b 45 08             	mov    0x8(%ebp),%eax
777c5452:	5a                   	pop    %edx
777c5453:	50                   	push   %eax
777c5454:	68 8e 86 7c 77       	push   $0x777c868e
777c5459:	e8 12 06 00 00       	call   777c5a70 <_DbgPrint>
777c545e:	b8 01 00 00 00       	mov    $0x1,%eax
777c5463:	c9                   	leave  
777c5464:	c2 04 00             	ret    $0x4
777c5467:	90                   	nop    
777c5468:	90                   	nop    
777c5469:	90                   	nop    
777c546a:	90                   	nop    
777c546b:	90                   	nop    
777c546c:	90                   	nop    
777c546d:	90                   	nop    
777c546e:	90                   	nop    
777c546f:	90                   	nop    

777c5470 <___wine_unimplemented>:
777c5470:	55                   	push   %ebp
777c5471:	89 e5                	mov    %esp,%ebp
777c5473:	53                   	push   %ebx
777c5474:	83 ec 54             	sub    $0x54,%esp
777c5477:	89 45 c0             	mov    %eax,0xffffffc0(%ebp)
777c547a:	8b 45 00             	mov    0x0(%ebp),%eax
777c547d:	c7 45 a8 00 01 00 80 	movl   $0x80000100,0xffffffa8(%ebp)
777c5484:	c7 45 ac 01 00 00 00 	movl   $0x1,0xffffffac(%ebp)
777c548b:	c7 45 b0 00 00 00 00 	movl   $0x0,0xffffffb0(%ebp)
777c5492:	c7 45 b8 02 00 00 00 	movl   $0x2,0xffffffb8(%ebp)
777c5499:	c7 45 bc a0 86 7c 77 	movl   $0x777c86a0,0xffffffbc(%ebp)
777c54a0:	8d 5d a8             	lea    0xffffffa8(%ebp),%ebx
777c54a3:	8b 40 04             	mov    0x4(%eax),%eax
777c54a6:	89 45 b4             	mov    %eax,0xffffffb4(%ebp)
777c54a9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
777c54b0:	83 ec 0c             	sub    $0xc,%esp
777c54b3:	53                   	push   %ebx
777c54b4:	e8 27 06 00 00       	call   777c5ae0 <_RtlRaiseException@4>
777c54b9:	83 c4 0c             	add    $0xc,%esp
777c54bc:	eb f2                	jmp    777c54b0 <___wine_unimplemented+0x40>
777c54be:	89 f6                	mov    %esi,%esi

777c54c0 <___wine_stub_msvfw32_dll_4>:
777c54c0:	55                   	push   %ebp
777c54c1:	89 e5                	mov    %esp,%ebp
777c54c3:	50                   	push   %eax
777c54c4:	50                   	push   %eax
777c54c5:	b8 ac 86 7c 77       	mov    $0x777c86ac,%eax
777c54ca:	e8 a1 ff ff ff       	call   777c5470 <___wine_unimplemented>
777c54cf:	90                   	nop    

777c54d0 <___wine_stub_msvfw32_dll_8>:
777c54d0:	55                   	push   %ebp
777c54d1:	b8 c1 86 7c 77       	mov    $0x777c86c1,%eax
777c54d6:	89 e5                	mov    %esp,%ebp
777c54d8:	52                   	push   %edx
777c54d9:	52                   	push   %edx
777c54da:	e8 91 ff ff ff       	call   777c5470 <___wine_unimplemented>
777c54df:	90                   	nop    

777c54e0 <___wine_stub_msvfw32_dll_16>:
777c54e0:	55                   	push   %ebp
777c54e1:	b8 d2 86 7c 77       	mov    $0x777c86d2,%eax
777c54e6:	89 e5                	mov    %esp,%ebp
777c54e8:	51                   	push   %ecx
777c54e9:	51                   	push   %ecx
777c54ea:	e8 81 ff ff ff       	call   777c5470 <___wine_unimplemented>
777c54ef:	90                   	nop    

777c54f0 <___wine_stub_msvfw32_dll_17>:
777c54f0:	55                   	push   %ebp
777c54f1:	89 e5                	mov    %esp,%ebp
777c54f3:	50                   	push   %eax
777c54f4:	50                   	push   %eax
777c54f5:	b8 de 86 7c 77       	mov    $0x777c86de,%eax
777c54fa:	e8 71 ff ff ff       	call   777c5470 <___wine_unimplemented>
777c54ff:	90                   	nop    

777c5500 <___wine_stub_msvfw32_dll_36>:
777c5500:	55                   	push   %ebp
777c5501:	89 e5                	mov    %esp,%ebp
777c5503:	50                   	push   %eax
777c5504:	50                   	push   %eax
777c5505:	b8 f5 86 7c 77       	mov    $0x777c86f5,%eax
777c550a:	e8 61 ff ff ff       	call   777c5470 <___wine_unimplemented>
777c550f:	90                   	nop    

777c5510 <___wine_stub_msvfw32_dll_41>:
777c5510:	55                   	push   %ebp
777c5511:	89 e5                	mov    %esp,%ebp
777c5513:	50                   	push   %eax
777c5514:	50                   	push   %eax
777c5515:	b8 fe 86 7c 77       	mov    $0x777c86fe,%eax
777c551a:	e8 51 ff ff ff       	call   777c5470 <___wine_unimplemented>
777c551f:	90                   	nop    

777c5520 <___wine_stub_msvfw32_dll_42>:
777c5520:	55                   	push   %ebp
777c5521:	89 e5                	mov    %esp,%ebp
777c5523:	50                   	push   %eax
777c5524:	50                   	push   %eax
777c5525:	b8 11 87 7c 77       	mov    $0x777c8711,%eax
777c552a:	e8 41 ff ff ff       	call   777c5470 <___wine_unimplemented>
777c552f:	90                   	nop    

777c5530 <___wine_stub_msvfw32_dll_43>:
777c5530:	55                   	push   %ebp
777c5531:	89 e5                	mov    %esp,%ebp
777c5533:	50                   	push   %eax
777c5534:	50                   	push   %eax
777c5535:	b8 27 87 7c 77       	mov    $0x777c8727,%eax
777c553a:	e8 31 ff ff ff       	call   777c5470 <___wine_unimplemented>
777c553f:	90                   	nop    

777c5540 <___wine_stub_msvfw32_dll_48>:
777c5540:	55                   	push   %ebp
777c5541:	89 e5                	mov    %esp,%ebp
777c5543:	50                   	push   %eax
777c5544:	50                   	push   %eax
777c5545:	b8 3f 87 7c 77       	mov    $0x777c873f,%eax
777c554a:	e8 21 ff ff ff       	call   777c5470 <___wine_unimplemented>
777c554f:	90                   	nop    

777c5550 <_mciSendCommandW@16>:
777c5550:	ff 25 30 b4 7c 77    	jmp    *0x777cb430
777c5556:	90                   	nop    
777c5557:	90                   	nop    
	...

777c5560 <_mciSendStringW@16>:
777c5560:	ff 25 38 b4 7c 77    	jmp    *0x777cb438
777c5566:	90                   	nop    
777c5567:	90                   	nop    
	...

777c5570 <_mciSendStringA@16>:
777c5570:	ff 25 34 b4 7c 77    	jmp    *0x777cb434
777c5576:	90                   	nop    
777c5577:	90                   	nop    
	...

777c5580 <_SendDriverMessage@16>:
777c5580:	ff 25 20 b4 7c 77    	jmp    *0x777cb420
777c5586:	90                   	nop    
777c5587:	90                   	nop    
	...

777c5590 <_mciGetErrorStringW@12>:
777c5590:	ff 25 28 b4 7c 77    	jmp    *0x777cb428
777c5596:	90                   	nop    
777c5597:	90                   	nop    
	...

777c55a0 <_mciGetErrorStringA@12>:
777c55a0:	ff 25 24 b4 7c 77    	jmp    *0x777cb424
777c55a6:	90                   	nop    
777c55a7:	90                   	nop    
	...

777c55b0 <_mciSendCommandA@16>:
777c55b0:	ff 25 2c b4 7c 77    	jmp    *0x777cb42c
777c55b6:	90                   	nop    
777c55b7:	90                   	nop    
	...

777c55c0 <_OpenDriver@12>:
777c55c0:	ff 25 1c b4 7c 77    	jmp    *0x777cb41c
777c55c6:	90                   	nop    
777c55c7:	90                   	nop    
	...

777c55d0 <_CloseDriver@12>:
777c55d0:	ff 25 14 b4 7c 77    	jmp    *0x777cb414
777c55d6:	90                   	nop    
777c55d7:	90                   	nop    
	...

777c55e0 <_mmioStringToFOURCCA@8>:
777c55e0:	ff 25 3c b4 7c 77    	jmp    *0x777cb43c
777c55e6:	90                   	nop    
777c55e7:	90                   	nop    
	...

777c55f0 <_GetDriverFlags@4>:
777c55f0:	ff 25 18 b4 7c 77    	jmp    *0x777cb418
777c55f6:	90                   	nop    
777c55f7:	90                   	nop    
	...

777c5600 <_InitCommonControlsEx@4>:
777c5600:	ff 25 c0 b2 7c 77    	jmp    *0x777cb2c0
777c5606:	90                   	nop    
777c5607:	90                   	nop    
	...

777c5610 <_LoadCursorW@8>:
777c5610:	ff 25 d8 b3 7c 77    	jmp    *0x777cb3d8
777c5616:	90                   	nop    
777c5617:	90                   	nop    
	...

777c5620 <_RegisterClassW@4>:
777c5620:	ff 25 e0 b3 7c 77    	jmp    *0x777cb3e0
777c5626:	90                   	nop    
777c5627:	90                   	nop    
	...

777c5630 <_CreateWindowExW@48>:
777c5630:	ff 25 a4 b3 7c 77    	jmp    *0x777cb3a4
777c5636:	90                   	nop    
777c5637:	90                   	nop    
	...

777c5640 <_SetWindowTextW@8>:
777c5640:	ff 25 00 b4 7c 77    	jmp    *0x777cb400
777c5646:	90                   	nop    
777c5647:	90                   	nop    
	...

777c5650 <_SendMessageW@16>:
777c5650:	ff 25 ec b3 7c 77    	jmp    *0x777cb3ec
777c5656:	90                   	nop    
777c5657:	90                   	nop    
	...

777c5660 <_SendDlgItemMessageW@20>:
777c5660:	ff 25 e8 b3 7c 77    	jmp    *0x777cb3e8
777c5666:	90                   	nop    
777c5667:	90                   	nop    
	...

777c5670 <_GetWindowLongW@8>:
777c5670:	ff 25 c8 b3 7c 77    	jmp    *0x777cb3c8
777c5676:	90                   	nop    
777c5677:	90                   	nop    
	...

777c5680 <_SetWindowLongW@12>:
777c5680:	ff 25 f8 b3 7c 77    	jmp    *0x777cb3f8
777c5686:	90                   	nop    
777c5687:	90                   	nop    
	...

777c5690 <_IsWindowUnicode@4>:
777c5690:	ff 25 d0 b3 7c 77    	jmp    *0x777cb3d0
777c5696:	90                   	nop    
777c5697:	90                   	nop    
	...

777c56a0 <_DefWindowProcW@16>:
777c56a0:	ff 25 ac b3 7c 77    	jmp    *0x777cb3ac
777c56a6:	90                   	nop    
777c56a7:	90                   	nop    
	...

777c56b0 <_DefMDIChildProcW@16>:
777c56b0:	ff 25 a8 b3 7c 77    	jmp    *0x777cb3a8
777c56b6:	90                   	nop    
777c56b7:	90                   	nop    
	...

777c56c0 <_InvalidateRect@12>:
777c56c0:	ff 25 cc b3 7c 77    	jmp    *0x777cb3cc
777c56c6:	90                   	nop    
777c56c7:	90                   	nop    
	...

777c56d0 <_SetCursor@4>:
777c56d0:	ff 25 f0 b3 7c 77    	jmp    *0x777cb3f0
777c56d6:	90                   	nop    
777c56d7:	90                   	nop    
	...

777c56e0 <_AdjustWindowRect@12>:
777c56e0:	ff 25 9c b3 7c 77    	jmp    *0x777cb39c
777c56e6:	90                   	nop    
777c56e7:	90                   	nop    
	...

777c56f0 <_SetWindowPos@28>:
777c56f0:	ff 25 fc b3 7c 77    	jmp    *0x777cb3fc
777c56f6:	90                   	nop    
777c56f7:	90                   	nop    
	...

777c5700 <_SetTimer@16>:
777c5700:	ff 25 f4 b3 7c 77    	jmp    *0x777cb3f4
777c5706:	90                   	nop    
777c5707:	90                   	nop    
	...

777c5710 <_KillTimer@8>:
777c5710:	ff 25 d4 b3 7c 77    	jmp    *0x777cb3d4
777c5716:	90                   	nop    
777c5717:	90                   	nop    
	...

777c5720 <_EndPaint@8>:
777c5720:	ff 25 b4 b3 7c 77    	jmp    *0x777cb3b4
777c5726:	90                   	nop    
777c5727:	90                   	nop    
	...

777c5730 <_GetDlgItem@8>:
777c5730:	ff 25 c0 b3 7c 77    	jmp    *0x777cb3c0
777c5736:	90                   	nop    
777c5737:	90                   	nop    
	...

777c5740 <_DestroyWindow@4>:
777c5740:	ff 25 b0 b3 7c 77    	jmp    *0x777cb3b0
777c5746:	90                   	nop    
777c5747:	90                   	nop    
	...

777c5750 <_GetClientRect@8>:
777c5750:	ff 25 b8 b3 7c 77    	jmp    *0x777cb3b8
777c5756:	90                   	nop    
777c5757:	90                   	nop    
	...

777c5760 <_MessageBoxW@16>:
777c5760:	ff 25 dc b3 7c 77    	jmp    *0x777cb3dc
777c5766:	90                   	nop    
777c5767:	90                   	nop    
	...

777c5770 <_BeginPaint@8>:
777c5770:	ff 25 a0 b3 7c 77    	jmp    *0x777cb3a0
777c5776:	90                   	nop    
777c5777:	90                   	nop    
	...

777c5780 <_GetWindow@8>:
777c5780:	ff 25 c4 b3 7c 77    	jmp    *0x777cb3c4
777c5786:	90                   	nop    
777c5787:	90                   	nop    
	...

777c5790 <_wsprintfA>:
777c5790:	ff 25 04 b4 7c 77    	jmp    *0x777cb404
777c5796:	90                   	nop    
777c5797:	90                   	nop    
	...

777c57a0 <_wsprintfW>:
777c57a0:	ff 25 08 b4 7c 77    	jmp    *0x777cb408
777c57a6:	90                   	nop    
777c57a7:	90                   	nop    
	...

777c57b0 <_GetDC@4>:
777c57b0:	ff 25 bc b3 7c 77    	jmp    *0x777cb3bc
777c57b6:	90                   	nop    
777c57b7:	90                   	nop    
	...

777c57c0 <_ReleaseDC@8>:
777c57c0:	ff 25 e4 b3 7c 77    	jmp    *0x777cb3e4
777c57c6:	90                   	nop    
777c57c7:	90                   	nop    
	...

777c57d0 <_GetDeviceCaps@8>:
777c57d0:	ff 25 e0 b2 7c 77    	jmp    *0x777cb2e0
777c57d6:	90                   	nop    
777c57d7:	90                   	nop    
	...

777c57e0 <_SelectObject@8>:
777c57e0:	ff 25 e8 b2 7c 77    	jmp    *0x777cb2e8
777c57e6:	90                   	nop    
777c57e7:	90                   	nop    
	...

777c57f0 <_DeleteDC@4>:
777c57f0:	ff 25 d8 b2 7c 77    	jmp    *0x777cb2d8
777c57f6:	90                   	nop    
777c57f7:	90                   	nop    
	...

777c5800 <_DeleteObject@4>:
777c5800:	ff 25 dc b2 7c 77    	jmp    *0x777cb2dc
777c5806:	90                   	nop    
777c5807:	90                   	nop    
	...

777c5810 <_CreateCompatibleDC@4>:
777c5810:	ff 25 cc b2 7c 77    	jmp    *0x777cb2cc
777c5816:	90                   	nop    
777c5817:	90                   	nop    
	...

777c5820 <_CreateDIBSection@24>:
777c5820:	ff 25 d0 b2 7c 77    	jmp    *0x777cb2d0
777c5826:	90                   	nop    
777c5827:	90                   	nop    
	...

777c5830 <_StretchBlt@44>:
777c5830:	ff 25 f0 b2 7c 77    	jmp    *0x777cb2f0
777c5836:	90                   	nop    
777c5837:	90                   	nop    
	...

777c5840 <_SelectPalette@12>:
777c5840:	ff 25 ec b2 7c 77    	jmp    *0x777cb2ec
777c5846:	90                   	nop    
777c5847:	90                   	nop    
	...

777c5850 <_RealizePalette@4>:
777c5850:	ff 25 e4 b2 7c 77    	jmp    *0x777cb2e4
777c5856:	90                   	nop    
777c5857:	90                   	nop    
	...

777c5860 <_CreateHalftonePalette@4>:
777c5860:	ff 25 d4 b2 7c 77    	jmp    *0x777cb2d4
777c5866:	90                   	nop    
777c5867:	90                   	nop    
	...

777c5870 <_RegOpenKeyExA@20>:
777c5870:	ff 25 b0 b2 7c 77    	jmp    *0x777cb2b0
777c5876:	90                   	nop    
777c5877:	90                   	nop    
	...

777c5880 <_RegQueryInfoKeyA@48>:
777c5880:	ff 25 b4 b2 7c 77    	jmp    *0x777cb2b4
777c5886:	90                   	nop    
777c5887:	90                   	nop    
	...

777c5890 <_RegEnumKeyExA@32>:
777c5890:	ff 25 ac b2 7c 77    	jmp    *0x777cb2ac
777c5896:	90                   	nop    
777c5897:	90                   	nop    
	...

777c58a0 <_RegCloseKey@4>:
777c58a0:	ff 25 a8 b2 7c 77    	jmp    *0x777cb2a8
777c58a6:	90                   	nop    
777c58a7:	90                   	nop    
	...

777c58b0 <_GetLastError@0>:
777c58b0:	ff 25 04 b3 7c 77    	jmp    *0x777cb304
777c58b6:	90                   	nop    
777c58b7:	90                   	nop    
	...

777c58c0 <_GetModuleHandleW@4>:
777c58c0:	ff 25 08 b3 7c 77    	jmp    *0x777cb308
777c58c6:	90                   	nop    
777c58c7:	90                   	nop    
	...

777c58d0 <_WideCharToMultiByte@32>:
777c58d0:	ff 25 44 b3 7c 77    	jmp    *0x777cb344
777c58d6:	90                   	nop    
777c58d7:	90                   	nop    
	...

777c58e0 <_GetProcessHeap@0>:
777c58e0:	ff 25 18 b3 7c 77    	jmp    *0x777cb318
777c58e6:	90                   	nop    
777c58e7:	90                   	nop    
	...

777c58f0 <_HeapAlloc@12>:
777c58f0:	ff 25 30 b3 7c 77    	jmp    *0x777cb330
777c58f6:	90                   	nop    
777c58f7:	90                   	nop    
	...

777c5900 <_HeapFree@12>:
777c5900:	ff 25 34 b3 7c 77    	jmp    *0x777cb334
777c5906:	90                   	nop    
777c5907:	90                   	nop    
	...

777c5910 <_MulDiv@12>:
777c5910:	ff 25 3c b3 7c 77    	jmp    *0x777cb33c
777c5916:	90                   	nop    
777c5917:	90                   	nop    
	...

777c5920 <_lstrlenW@4>:
777c5920:	ff 25 54 b3 7c 77    	jmp    *0x777cb354
777c5926:	90                   	nop    
777c5927:	90                   	nop    
	...

777c5930 <_GetPrivateProfileStringW@24>:
777c5930:	ff 25 10 b3 7c 77    	jmp    *0x777cb310
777c5936:	90                   	nop    
777c5937:	90                   	nop    
	...

777c5940 <_DisableThreadLibraryCalls@4>:
777c5940:	ff 25 fc b2 7c 77    	jmp    *0x777cb2fc
777c5946:	90                   	nop    
777c5947:	90                   	nop    
	...

777c5950 <_GetPrivateProfileSectionA@16>:
777c5950:	ff 25 0c b3 7c 77    	jmp    *0x777cb30c
777c5956:	90                   	nop    
777c5957:	90                   	nop    
	...

777c5960 <_MultiByteToWideChar@24>:
777c5960:	ff 25 40 b3 7c 77    	jmp    *0x777cb340
777c5966:	90                   	nop    
777c5967:	90                   	nop    
	...

777c5970 <_GlobalHandle@4>:
777c5970:	ff 25 24 b3 7c 77    	jmp    *0x777cb324
777c5976:	90                   	nop    
777c5977:	90                   	nop    
	...

777c5980 <_GlobalUnlock@4>:
777c5980:	ff 25 2c b3 7c 77    	jmp    *0x777cb32c
777c5986:	90                   	nop    
777c5987:	90                   	nop    
	...

777c5990 <_GlobalFree@4>:
777c5990:	ff 25 20 b3 7c 77    	jmp    *0x777cb320
777c5996:	90                   	nop    
777c5997:	90                   	nop    
	...

777c59a0 <_lstrcpyW@8>:
777c59a0:	ff 25 50 b3 7c 77    	jmp    *0x777cb350
777c59a6:	90                   	nop    
777c59a7:	90                   	nop    
	...

777c59b0 <_GlobalAlloc@8>:
777c59b0:	ff 25 1c b3 7c 77    	jmp    *0x777cb31c
777c59b6:	90                   	nop    
777c59b7:	90                   	nop    
	...

777c59c0 <_GlobalLock@4>:
777c59c0:	ff 25 28 b3 7c 77    	jmp    *0x777cb328
777c59c6:	90                   	nop    
777c59c7:	90                   	nop    
	...

777c59d0 <_lstrcpyA@8>:
777c59d0:	ff 25 4c b3 7c 77    	jmp    *0x777cb34c
777c59d6:	90                   	nop    
777c59d7:	90                   	nop    
	...

777c59e0 <_lstrcatA@8>:
777c59e0:	ff 25 48 b3 7c 77    	jmp    *0x777cb348
777c59e6:	90                   	nop    
777c59e7:	90                   	nop    
	...

777c59f0 <_LoadLibraryA@4>:
777c59f0:	ff 25 38 b3 7c 77    	jmp    *0x777cb338
777c59f6:	90                   	nop    
777c59f7:	90                   	nop    
	...

777c5a00 <_GetProcAddress@8>:
777c5a00:	ff 25 14 b3 7c 77    	jmp    *0x777cb314
777c5a06:	90                   	nop    
777c5a07:	90                   	nop    
	...

777c5a10 <_FreeLibrary@4>:
777c5a10:	ff 25 00 b3 7c 77    	jmp    *0x777cb300
777c5a16:	90                   	nop    
777c5a17:	90                   	nop    
	...

777c5a20 <_RtlCreateUnicodeStringFromAsciiz@8>:
777c5a20:	ff 25 64 b3 7c 77    	jmp    *0x777cb364
777c5a26:	90                   	nop    
777c5a27:	90                   	nop    
	...

777c5a30 <_RtlFreeUnicodeString@4>:
777c5a30:	ff 25 68 b3 7c 77    	jmp    *0x777cb368
777c5a36:	90                   	nop    
777c5a37:	90                   	nop    
	...

777c5a40 <_memcpy>:
777c5a40:	ff 25 74 b3 7c 77    	jmp    *0x777cb374
777c5a46:	90                   	nop    
777c5a47:	90                   	nop    
	...

777c5a50 <_wcsncpy>:
777c5a50:	ff 25 90 b3 7c 77    	jmp    *0x777cb390
777c5a56:	90                   	nop    
777c5a57:	90                   	nop    
	...

777c5a60 <_wcslen>:
777c5a60:	ff 25 8c b3 7c 77    	jmp    *0x777cb38c
777c5a66:	90                   	nop    
777c5a67:	90                   	nop    
	...

777c5a70 <_DbgPrint>:
777c5a70:	ff 25 60 b3 7c 77    	jmp    *0x777cb360
777c5a76:	90                   	nop    
777c5a77:	90                   	nop    
	...

777c5a80 <_wcscat>:
777c5a80:	ff 25 80 b3 7c 77    	jmp    *0x777cb380
777c5a86:	90                   	nop    
777c5a87:	90                   	nop    
	...

777c5a90 <_wcscpy>:
777c5a90:	ff 25 88 b3 7c 77    	jmp    *0x777cb388
777c5a96:	90                   	nop    
777c5a97:	90                   	nop    
	...

777c5aa0 <_wcschr>:
777c5aa0:	ff 25 84 b3 7c 77    	jmp    *0x777cb384
777c5aa6:	90                   	nop    
777c5aa7:	90                   	nop    
	...

777c5ab0 <_memset>:
777c5ab0:	ff 25 78 b3 7c 77    	jmp    *0x777cb378
777c5ab6:	90                   	nop    
777c5ab7:	90                   	nop    
	...

777c5ac0 <_strlen>:
777c5ac0:	ff 25 7c b3 7c 77    	jmp    *0x777cb37c
777c5ac6:	90                   	nop    
777c5ac7:	90                   	nop    
	...

777c5ad0 <__strnicmp>:
777c5ad0:	ff 25 70 b3 7c 77    	jmp    *0x777cb370
777c5ad6:	90                   	nop    
777c5ad7:	90                   	nop    
	...

777c5ae0 <_RtlRaiseException@4>:
777c5ae0:	ff 25 6c b3 7c 77    	jmp    *0x777cb36c
777c5ae6:	90                   	nop    
777c5ae7:	90                   	nop    
	...

777c5af0 <___do_global_dtors>:
777c5af0:	55                   	push   %ebp
777c5af1:	89 e5                	mov    %esp,%ebp
777c5af3:	83 ec 08             	sub    $0x8,%esp
777c5af6:	a1 20 70 7c 77       	mov    0x777c7020,%eax
777c5afb:	8b 08                	mov    (%eax),%ecx
777c5afd:	85 c9                	test   %ecx,%ecx
777c5aff:	74 26                	je     777c5b27 <___do_global_dtors+0x37>
777c5b01:	eb 0d                	jmp    777c5b10 <___do_global_dtors+0x20>
777c5b03:	90                   	nop    
777c5b04:	90                   	nop    
777c5b05:	90                   	nop    
777c5b06:	90                   	nop    
777c5b07:	90                   	nop    
777c5b08:	90                   	nop    
777c5b09:	90                   	nop    
777c5b0a:	90                   	nop    
777c5b0b:	90                   	nop    
777c5b0c:	90                   	nop    
777c5b0d:	90                   	nop    
777c5b0e:	90                   	nop    
777c5b0f:	90                   	nop    
777c5b10:	ff 10                	call   *(%eax)
777c5b12:	8b 0d 20 70 7c 77    	mov    0x777c7020,%ecx
777c5b18:	8b 51 04             	mov    0x4(%ecx),%edx
777c5b1b:	8d 41 04             	lea    0x4(%ecx),%eax
777c5b1e:	a3 20 70 7c 77       	mov    %eax,0x777c7020
777c5b23:	85 d2                	test   %edx,%edx
777c5b25:	75 e9                	jne    777c5b10 <___do_global_dtors+0x20>
777c5b27:	c9                   	leave  
777c5b28:	c3                   	ret    
777c5b29:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c5b30 <___do_global_ctors>:
777c5b30:	55                   	push   %ebp
777c5b31:	89 e5                	mov    %esp,%ebp
777c5b33:	53                   	push   %ebx
777c5b34:	83 ec 04             	sub    $0x4,%esp
777c5b37:	a1 20 60 7c 77       	mov    0x777c6020,%eax
777c5b3c:	83 f8 ff             	cmp    $0xffffffff,%eax
777c5b3f:	74 29                	je     777c5b6a <___do_global_ctors+0x3a>
777c5b41:	85 c0                	test   %eax,%eax
777c5b43:	89 c3                	mov    %eax,%ebx
777c5b45:	74 13                	je     777c5b5a <___do_global_ctors+0x2a>
777c5b47:	89 f6                	mov    %esi,%esi
777c5b49:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi
777c5b50:	ff 14 9d 20 60 7c 77 	call   *0x777c6020(,%ebx,4)
777c5b57:	4b                   	dec    %ebx
777c5b58:	75 f6                	jne    777c5b50 <___do_global_ctors+0x20>
777c5b5a:	c7 04 24 f0 5a 7c 77 	movl   $0x777c5af0,(%esp)
777c5b61:	e8 fa b5 ff ff       	call   777c1160 <_atexit>
777c5b66:	5b                   	pop    %ebx
777c5b67:	5b                   	pop    %ebx
777c5b68:	5d                   	pop    %ebp
777c5b69:	c3                   	ret    
777c5b6a:	8b 0d 24 60 7c 77    	mov    0x777c6024,%ecx
777c5b70:	31 c0                	xor    %eax,%eax
777c5b72:	85 c9                	test   %ecx,%ecx
777c5b74:	eb 0a                	jmp    777c5b80 <___do_global_ctors+0x50>
777c5b76:	40                   	inc    %eax
777c5b77:	8b 14 85 24 60 7c 77 	mov    0x777c6024(,%eax,4),%edx
777c5b7e:	85 d2                	test   %edx,%edx
777c5b80:	75 f4                	jne    777c5b76 <___do_global_ctors+0x46>
777c5b82:	eb bd                	jmp    777c5b41 <___do_global_ctors+0x11>
777c5b84:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c5b8a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

777c5b90 <___main>:
777c5b90:	55                   	push   %ebp
777c5b91:	89 e5                	mov    %esp,%ebp
777c5b93:	53                   	push   %ebx
777c5b94:	83 ec 04             	sub    $0x4,%esp
777c5b97:	a1 70 90 7c 77       	mov    0x777c9070,%eax
777c5b9c:	85 c0                	test   %eax,%eax
777c5b9e:	75 36                	jne    777c5bd6 <___main+0x46>
777c5ba0:	a1 20 60 7c 77       	mov    0x777c6020,%eax
777c5ba5:	bb 01 00 00 00       	mov    $0x1,%ebx
777c5baa:	89 1d 70 90 7c 77    	mov    %ebx,0x777c9070
777c5bb0:	83 f8 ff             	cmp    $0xffffffff,%eax
777c5bb3:	74 25                	je     777c5bda <___main+0x4a>
777c5bb5:	85 c0                	test   %eax,%eax
777c5bb7:	89 c3                	mov    %eax,%ebx
777c5bb9:	74 0f                	je     777c5bca <___main+0x3a>
777c5bbb:	90                   	nop    
777c5bbc:	8d 74 26 00          	lea    0x0(%esi),%esi
777c5bc0:	ff 14 9d 20 60 7c 77 	call   *0x777c6020(,%ebx,4)
777c5bc7:	4b                   	dec    %ebx
777c5bc8:	75 f6                	jne    777c5bc0 <___main+0x30>
777c5bca:	c7 04 24 f0 5a 7c 77 	movl   $0x777c5af0,(%esp)
777c5bd1:	e8 8a b5 ff ff       	call   777c1160 <_atexit>
777c5bd6:	5b                   	pop    %ebx
777c5bd7:	5b                   	pop    %ebx
777c5bd8:	5d                   	pop    %ebp
777c5bd9:	c3                   	ret    
777c5bda:	8b 0d 24 60 7c 77    	mov    0x777c6024,%ecx
777c5be0:	31 c0                	xor    %eax,%eax
777c5be2:	85 c9                	test   %ecx,%ecx
777c5be4:	eb 0a                	jmp    777c5bf0 <___main+0x60>
777c5be6:	40                   	inc    %eax
777c5be7:	8b 14 85 24 60 7c 77 	mov    0x777c6024(,%eax,4),%edx
777c5bee:	85 d2                	test   %edx,%edx
777c5bf0:	75 f4                	jne    777c5be6 <___main+0x56>
777c5bf2:	eb c1                	jmp    777c5bb5 <___main+0x25>
777c5bf4:	90                   	nop    
777c5bf5:	90                   	nop    
777c5bf6:	90                   	nop    
777c5bf7:	90                   	nop    
777c5bf8:	90                   	nop    
777c5bf9:	90                   	nop    
777c5bfa:	90                   	nop    
777c5bfb:	90                   	nop    
777c5bfc:	90                   	nop    
777c5bfd:	90                   	nop    
777c5bfe:	90                   	nop    
777c5bff:	90                   	nop    

777c5c00 <__pei386_runtime_relocator>:
777c5c00:	55                   	push   %ebp
777c5c01:	b9 30 88 7c 77       	mov    $0x777c8830,%ecx
777c5c06:	89 e5                	mov    %esp,%ebp
777c5c08:	eb 14                	jmp    777c5c1e <__pei386_runtime_relocator+0x1e>
777c5c0a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c5c10:	8b 51 04             	mov    0x4(%ecx),%edx
777c5c13:	8b 01                	mov    (%ecx),%eax
777c5c15:	83 c1 08             	add    $0x8,%ecx
777c5c18:	01 82 00 00 7c 77    	add    %eax,0x777c0000(%edx)
777c5c1e:	81 f9 30 88 7c 77    	cmp    $0x777c8830,%ecx
777c5c24:	72 ea                	jb     777c5c10 <__pei386_runtime_relocator+0x10>
777c5c26:	5d                   	pop    %ebp
777c5c27:	c3                   	ret    
777c5c28:	90                   	nop    
777c5c29:	90                   	nop    
777c5c2a:	90                   	nop    
777c5c2b:	90                   	nop    
777c5c2c:	90                   	nop    
777c5c2d:	90                   	nop    
777c5c2e:	90                   	nop    
777c5c2f:	90                   	nop    

777c5c30 <___w32_sharedptr_default_unexpected>:
777c5c30:	55                   	push   %ebp
777c5c31:	a1 f0 90 7c 77       	mov    0x777c90f0,%eax
777c5c36:	89 e5                	mov    %esp,%ebp
777c5c38:	5d                   	pop    %ebp
777c5c39:	8b 48 04             	mov    0x4(%eax),%ecx
777c5c3c:	ff e1                	jmp    *%ecx
777c5c3e:	89 f6                	mov    %esi,%esi

777c5c40 <___w32_sharedptr_get>:
777c5c40:	55                   	push   %ebp
777c5c41:	ba 42 00 00 00       	mov    $0x42,%edx
777c5c46:	89 e5                	mov    %esp,%ebp
777c5c48:	53                   	push   %ebx
777c5c49:	0f b7 c0             	movzwl %ax,%eax
777c5c4c:	83 ec 64             	sub    $0x64,%esp
777c5c4f:	89 54 24 08          	mov    %edx,0x8(%esp)
777c5c53:	8d 55 a8             	lea    0xffffffa8(%ebp),%edx
777c5c56:	31 db                	xor    %ebx,%ebx
777c5c58:	89 54 24 04          	mov    %edx,0x4(%esp)
777c5c5c:	89 04 24             	mov    %eax,(%esp)
777c5c5f:	ff 15 50 b4 7c 77    	call   *0x777cb450
777c5c65:	ba 1f 00 00 00       	mov    $0x1f,%edx
777c5c6a:	b9 01 00 00 00       	mov    $0x1,%ecx
777c5c6f:	83 ec 0c             	sub    $0xc,%esp
777c5c72:	85 c0                	test   %eax,%eax
777c5c74:	75 07                	jne    777c5c7d <___w32_sharedptr_get+0x3d>
777c5c76:	eb 46                	jmp    777c5cbe <___w32_sharedptr_get+0x7e>
777c5c78:	01 c9                	add    %ecx,%ecx
777c5c7a:	4a                   	dec    %edx
777c5c7b:	78 0e                	js     777c5c8b <___w32_sharedptr_get+0x4b>
777c5c7d:	80 7c 2a a8 41       	cmpb   $0x41,0xffffffa8(%edx,%ebp,1)
777c5c82:	75 f4                	jne    777c5c78 <___w32_sharedptr_get+0x38>
777c5c84:	09 cb                	or     %ecx,%ebx
777c5c86:	01 c9                	add    %ecx,%ecx
777c5c88:	4a                   	dec    %edx
777c5c89:	79 f2                	jns    777c5c7d <___w32_sharedptr_get+0x3d>
777c5c8b:	83 3b 3c             	cmpl   $0x3c,(%ebx)
777c5c8e:	75 07                	jne    777c5c97 <___w32_sharedptr_get+0x57>
777c5c90:	89 d8                	mov    %ebx,%eax
777c5c92:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c5c95:	c9                   	leave  
777c5c96:	c3                   	ret    
777c5c97:	b9 74 87 7c 77       	mov    $0x777c8774,%ecx
777c5c9c:	ba ea 00 00 00       	mov    $0xea,%edx
777c5ca1:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
777c5ca5:	89 54 24 08          	mov    %edx,0x8(%esp)
777c5ca9:	c7 04 24 a1 87 7c 77 	movl   $0x777c87a1,(%esp)
777c5cb0:	b8 c0 87 7c 77       	mov    $0x777c87c0,%eax
777c5cb5:	89 44 24 04          	mov    %eax,0x4(%esp)
777c5cb9:	e8 62 02 00 00       	call   777c5f20 <___eprintf>
777c5cbe:	b8 ec 87 7c 77       	mov    $0x777c87ec,%eax
777c5cc3:	bb e4 00 00 00       	mov    $0xe4,%ebx
777c5cc8:	89 44 24 0c          	mov    %eax,0xc(%esp)
777c5ccc:	89 5c 24 08          	mov    %ebx,0x8(%esp)
777c5cd0:	eb d7                	jmp    777c5ca9 <___w32_sharedptr_get+0x69>
777c5cd2:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
777c5cd9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c5ce0 <___w32_sharedptr_initialize>:
777c5ce0:	55                   	push   %ebp
777c5ce1:	89 e5                	mov    %esp,%ebp
777c5ce3:	57                   	push   %edi
777c5ce4:	56                   	push   %esi
777c5ce5:	53                   	push   %ebx
777c5ce6:	81 ec cc 00 00 00    	sub    $0xcc,%esp
777c5cec:	8b 0d f0 90 7c 77    	mov    0x777c90f0,%ecx
777c5cf2:	85 c9                	test   %ecx,%ecx
777c5cf4:	74 08                	je     777c5cfe <___w32_sharedptr_initialize+0x1e>
777c5cf6:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c5cf9:	5b                   	pop    %ebx
777c5cfa:	5e                   	pop    %esi
777c5cfb:	5f                   	pop    %edi
777c5cfc:	5d                   	pop    %ebp
777c5cfd:	c3                   	ret    
777c5cfe:	c7 45 98 41 41 41 41 	movl   $0x41414141,0xffffff98(%ebp)
777c5d05:	a1 50 87 7c 77       	mov    0x777c8750,%eax
777c5d0a:	8d 75 98             	lea    0xffffff98(%ebp),%esi
777c5d0d:	c7 45 9c 41 41 41 41 	movl   $0x41414141,0xffffff9c(%ebp)
777c5d14:	c7 45 a0 41 41 41 41 	movl   $0x41414141,0xffffffa0(%ebp)
777c5d1b:	89 45 b8             	mov    %eax,0xffffffb8(%ebp)
777c5d1e:	a1 54 87 7c 77       	mov    0x777c8754,%eax
777c5d23:	c7 45 a4 41 41 41 41 	movl   $0x41414141,0xffffffa4(%ebp)
777c5d2a:	c7 45 a8 41 41 41 41 	movl   $0x41414141,0xffffffa8(%ebp)
777c5d31:	89 45 bc             	mov    %eax,0xffffffbc(%ebp)
777c5d34:	a1 58 87 7c 77       	mov    0x777c8758,%eax
777c5d39:	c7 45 ac 41 41 41 41 	movl   $0x41414141,0xffffffac(%ebp)
777c5d40:	c7 45 b0 41 41 41 41 	movl   $0x41414141,0xffffffb0(%ebp)
777c5d47:	89 45 c0             	mov    %eax,0xffffffc0(%ebp)
777c5d4a:	a1 5c 87 7c 77       	mov    0x777c875c,%eax
777c5d4f:	c7 45 b4 41 41 41 41 	movl   $0x41414141,0xffffffb4(%ebp)
777c5d56:	89 45 c4             	mov    %eax,0xffffffc4(%ebp)
777c5d59:	a1 60 87 7c 77       	mov    0x777c8760,%eax
777c5d5e:	89 45 c8             	mov    %eax,0xffffffc8(%ebp)
777c5d61:	a1 64 87 7c 77       	mov    0x777c8764,%eax
777c5d66:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
777c5d69:	a1 68 87 7c 77       	mov    0x777c8768,%eax
777c5d6e:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
777c5d71:	a1 6c 87 7c 77       	mov    0x777c876c,%eax
777c5d76:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
777c5d79:	0f b7 05 70 87 7c 77 	movzwl 0x777c8770,%eax
777c5d80:	66 89 45 d8          	mov    %ax,0xffffffd8(%ebp)
777c5d84:	89 34 24             	mov    %esi,(%esp)
777c5d87:	ff 15 4c b4 7c 77    	call   *0x777cb44c
777c5d8d:	0f b7 c0             	movzwl %ax,%eax
777c5d90:	83 ec 04             	sub    $0x4,%esp
777c5d93:	85 c0                	test   %eax,%eax
777c5d95:	89 85 44 ff ff ff    	mov    %eax,0xffffff44(%ebp)
777c5d9b:	0f 85 3b 01 00 00    	jne    777c5edc <___w32_sharedptr_initialize+0x1fc>
777c5da1:	c7 04 24 3c 00 00 00 	movl   $0x3c,(%esp)
777c5da8:	e8 03 02 00 00       	call   777c5fb0 <_malloc>
777c5dad:	85 c0                	test   %eax,%eax
777c5daf:	89 c3                	mov    %eax,%ebx
777c5db1:	0f 84 59 01 00 00    	je     777c5f10 <___w32_sharedptr_initialize+0x230>
777c5db7:	fc                   	cld    
777c5db8:	89 c7                	mov    %eax,%edi
777c5dba:	8b 85 44 ff ff ff    	mov    0xffffff44(%ebp),%eax
777c5dc0:	b9 0f 00 00 00       	mov    $0xf,%ecx
777c5dc5:	f3 ab                	repz stos %eax,%es:(%edi)
777c5dc7:	c7 43 04 c0 5f 7c 77 	movl   $0x777c5fc0,0x4(%ebx)
777c5dce:	b9 01 00 00 00       	mov    $0x1,%ecx
777c5dd3:	c7 43 08 30 5c 7c 77 	movl   $0x777c5c30,0x8(%ebx)
777c5dda:	a1 90 90 7c 77       	mov    0x777c9090,%eax
777c5ddf:	c7 03 3c 00 00 00    	movl   $0x3c,(%ebx)
777c5de5:	8b 15 94 90 7c 77    	mov    0x777c9094,%edx
777c5deb:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
777c5df2:	89 43 14             	mov    %eax,0x14(%ebx)
777c5df5:	a1 30 70 7c 77       	mov    0x777c7030,%eax
777c5dfa:	89 53 18             	mov    %edx,0x18(%ebx)
777c5dfd:	8b 15 34 70 7c 77    	mov    0x777c7034,%edx
777c5e03:	89 43 1c             	mov    %eax,0x1c(%ebx)
777c5e06:	a1 a0 90 7c 77       	mov    0x777c90a0,%eax
777c5e0b:	89 53 20             	mov    %edx,0x20(%ebx)
777c5e0e:	c7 43 30 ff ff ff ff 	movl   $0xffffffff,0x30(%ebx)
777c5e15:	89 43 2c             	mov    %eax,0x2c(%ebx)
777c5e18:	8b 15 3c 70 7c 77    	mov    0x777c703c,%edx
777c5e1e:	a1 38 70 7c 77       	mov    0x777c7038,%eax
777c5e23:	89 53 38             	mov    %edx,0x38(%ebx)
777c5e26:	ba 1f 00 00 00       	mov    $0x1f,%edx
777c5e2b:	89 43 34             	mov    %eax,0x34(%ebx)
777c5e2e:	89 f6                	mov    %esi,%esi
777c5e30:	89 d8                	mov    %ebx,%eax
777c5e32:	21 c8                	and    %ecx,%eax
777c5e34:	83 f8 01             	cmp    $0x1,%eax
777c5e37:	19 c0                	sbb    %eax,%eax
777c5e39:	24 20                	and    $0x20,%al
777c5e3b:	01 c9                	add    %ecx,%ecx
777c5e3d:	04 41                	add    $0x41,%al
777c5e3f:	88 84 2a 48 ff ff ff 	mov    %al,0xffffff48(%edx,%ebp,1)
777c5e46:	4a                   	dec    %edx
777c5e47:	79 e7                	jns    777c5e30 <___w32_sharedptr_initialize+0x150>
777c5e49:	a1 50 87 7c 77       	mov    0x777c8750,%eax
777c5e4e:	89 85 68 ff ff ff    	mov    %eax,0xffffff68(%ebp)
777c5e54:	a1 54 87 7c 77       	mov    0x777c8754,%eax
777c5e59:	89 85 6c ff ff ff    	mov    %eax,0xffffff6c(%ebp)
777c5e5f:	a1 58 87 7c 77       	mov    0x777c8758,%eax
777c5e64:	89 85 70 ff ff ff    	mov    %eax,0xffffff70(%ebp)
777c5e6a:	a1 5c 87 7c 77       	mov    0x777c875c,%eax
777c5e6f:	89 85 74 ff ff ff    	mov    %eax,0xffffff74(%ebp)
777c5e75:	a1 60 87 7c 77       	mov    0x777c8760,%eax
777c5e7a:	89 85 78 ff ff ff    	mov    %eax,0xffffff78(%ebp)
777c5e80:	a1 64 87 7c 77       	mov    0x777c8764,%eax
777c5e85:	89 85 7c ff ff ff    	mov    %eax,0xffffff7c(%ebp)
777c5e8b:	a1 68 87 7c 77       	mov    0x777c8768,%eax
777c5e90:	89 45 80             	mov    %eax,0xffffff80(%ebp)
777c5e93:	a1 6c 87 7c 77       	mov    0x777c876c,%eax
777c5e98:	89 45 84             	mov    %eax,0xffffff84(%ebp)
777c5e9b:	0f b7 05 70 87 7c 77 	movzwl 0x777c8770,%eax
777c5ea2:	66 89 45 88          	mov    %ax,0xffffff88(%ebp)
777c5ea6:	8d 85 48 ff ff ff    	lea    0xffffff48(%ebp),%eax
777c5eac:	89 04 24             	mov    %eax,(%esp)
777c5eaf:	ff 15 48 b4 7c 77    	call   *0x777cb448
777c5eb5:	0f b7 f8             	movzwl %ax,%edi
777c5eb8:	83 ec 04             	sub    $0x4,%esp
777c5ebb:	85 ff                	test   %edi,%edi
777c5ebd:	75 42                	jne    777c5f01 <___w32_sharedptr_initialize+0x221>
777c5ebf:	31 d2                	xor    %edx,%edx
777c5ec1:	85 d2                	test   %edx,%edx
777c5ec3:	75 1e                	jne    777c5ee3 <___w32_sharedptr_initialize+0x203>
777c5ec5:	89 1c 24             	mov    %ebx,(%esp)
777c5ec8:	e8 c3 00 00 00       	call   777c5f90 <_free>
777c5ecd:	89 34 24             	mov    %esi,(%esp)
777c5ed0:	ff 15 4c b4 7c 77    	call   *0x777cb44c
777c5ed6:	83 ec 04             	sub    $0x4,%esp
777c5ed9:	0f b7 c0             	movzwl %ax,%eax
777c5edc:	e8 5f fd ff ff       	call   777c5c40 <___w32_sharedptr_get>
777c5ee1:	89 c3                	mov    %eax,%ebx
777c5ee3:	89 1d f0 90 7c 77    	mov    %ebx,0x777c90f0
777c5ee9:	8d 43 04             	lea    0x4(%ebx),%eax
777c5eec:	a3 e0 90 7c 77       	mov    %eax,0x777c90e0
777c5ef1:	8d 43 08             	lea    0x8(%ebx),%eax
777c5ef4:	a3 00 91 7c 77       	mov    %eax,0x777c9100
777c5ef9:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c5efc:	5b                   	pop    %ebx
777c5efd:	5e                   	pop    %esi
777c5efe:	5f                   	pop    %edi
777c5eff:	5d                   	pop    %ebp
777c5f00:	c3                   	ret    
777c5f01:	89 f8                	mov    %edi,%eax
777c5f03:	e8 38 fd ff ff       	call   777c5c40 <___w32_sharedptr_get>
777c5f08:	39 d8                	cmp    %ebx,%eax
777c5f0a:	89 fa                	mov    %edi,%edx
777c5f0c:	75 b1                	jne    777c5ebf <___w32_sharedptr_initialize+0x1df>
777c5f0e:	eb b1                	jmp    777c5ec1 <___w32_sharedptr_initialize+0x1e1>
777c5f10:	e8 ab 00 00 00       	call   777c5fc0 <_abort>
777c5f15:	90                   	nop    
777c5f16:	90                   	nop    
777c5f17:	90                   	nop    
777c5f18:	90                   	nop    
777c5f19:	90                   	nop    
777c5f1a:	90                   	nop    
777c5f1b:	90                   	nop    
777c5f1c:	90                   	nop    
777c5f1d:	90                   	nop    
777c5f1e:	90                   	nop    
777c5f1f:	90                   	nop    

777c5f20 <___eprintf>:
777c5f20:	55                   	push   %ebp
777c5f21:	89 e5                	mov    %esp,%ebp
777c5f23:	83 ec 18             	sub    $0x18,%esp
777c5f26:	8b 45 14             	mov    0x14(%ebp),%eax
777c5f29:	89 44 24 10          	mov    %eax,0x10(%esp)
777c5f2d:	8b 45 10             	mov    0x10(%ebp),%eax
777c5f30:	89 44 24 0c          	mov    %eax,0xc(%esp)
777c5f34:	8b 45 0c             	mov    0xc(%ebp),%eax
777c5f37:	89 44 24 08          	mov    %eax,0x8(%esp)
777c5f3b:	8b 45 08             	mov    0x8(%ebp),%eax
777c5f3e:	89 44 24 04          	mov    %eax,0x4(%esp)
777c5f42:	a1 64 b4 7c 77       	mov    0x777cb464,%eax
777c5f47:	83 c0 40             	add    $0x40,%eax
777c5f4a:	89 04 24             	mov    %eax,(%esp)
777c5f4d:	e8 7e 00 00 00       	call   777c5fd0 <_fprintf>
777c5f52:	a1 64 b4 7c 77       	mov    0x777cb464,%eax
777c5f57:	83 c0 40             	add    $0x40,%eax
777c5f5a:	89 04 24             	mov    %eax,(%esp)
777c5f5d:	e8 1e 00 00 00       	call   777c5f80 <_fflush>
777c5f62:	e8 59 00 00 00       	call   777c5fc0 <_abort>
777c5f67:	90                   	nop    
777c5f68:	90                   	nop    
777c5f69:	90                   	nop    
777c5f6a:	90                   	nop    
777c5f6b:	90                   	nop    
777c5f6c:	90                   	nop    
777c5f6d:	90                   	nop    
777c5f6e:	90                   	nop    
777c5f6f:	90                   	nop    

777c5f70 <___dllonexit>:
777c5f70:	ff 25 5c b4 7c 77    	jmp    *0x777cb45c
777c5f76:	90                   	nop    
777c5f77:	90                   	nop    
	...

777c5f80 <_fflush>:
777c5f80:	ff 25 6c b4 7c 77    	jmp    *0x777cb46c
777c5f86:	90                   	nop    
777c5f87:	90                   	nop    
	...

777c5f90 <_free>:
777c5f90:	ff 25 74 b4 7c 77    	jmp    *0x777cb474
777c5f96:	90                   	nop    
777c5f97:	90                   	nop    
	...

777c5fa0 <__errno>:
777c5fa0:	ff 25 60 b4 7c 77    	jmp    *0x777cb460
777c5fa6:	90                   	nop    
777c5fa7:	90                   	nop    
	...

777c5fb0 <_malloc>:
777c5fb0:	ff 25 78 b4 7c 77    	jmp    *0x777cb478
777c5fb6:	90                   	nop    
777c5fb7:	90                   	nop    
	...

777c5fc0 <_abort>:
777c5fc0:	ff 25 68 b4 7c 77    	jmp    *0x777cb468
777c5fc6:	90                   	nop    
777c5fc7:	90                   	nop    
	...

777c5fd0 <_fprintf>:
777c5fd0:	ff 25 70 b4 7c 77    	jmp    *0x777cb470
777c5fd6:	90                   	nop    
777c5fd7:	90                   	nop    
	...

777c5fe0 <_GetAtomNameA@12>:
777c5fe0:	ff 25 50 b4 7c 77    	jmp    *0x777cb450
777c5fe6:	90                   	nop    
777c5fe7:	90                   	nop    
	...

777c5ff0 <_FindAtomA@4>:
777c5ff0:	ff 25 4c b4 7c 77    	jmp    *0x777cb44c
777c5ff6:	90                   	nop    
777c5ff7:	90                   	nop    
	...

777c6000 <_AddAtomA@4>:
777c6000:	ff 25 48 b4 7c 77    	jmp    *0x777cb448
777c6006:	90                   	nop    
777c6007:	90                   	nop    
	...

777c6010 <___sjlj_init_ctor>:
777c6010:	55                   	push   %ebp
777c6011:	89 e5                	mov    %esp,%ebp
777c6013:	5d                   	pop    %ebp
777c6014:	e9 a7 b1 ff ff       	jmp    777c11c0 <___do_sjlj_init>
777c6019:	90                   	nop    
777c601a:	90                   	nop    
777c601b:	90                   	nop    
777c601c:	90                   	nop    
777c601d:	90                   	nop    
777c601e:	90                   	nop    
777c601f:	90                   	nop    

777c6020 <__CTOR_LIST__>:
777c6020:	ff                   	(bad)  
777c6021:	ff                   	(bad)  
777c6022:	ff                   	(bad)  
777c6023:	ff 10                	call   *(%eax)

777c6024 <.ctors>:
777c6024:	10 60 7c             	adc    %ah,0x7c(%eax)
777c6027:	77 00                	ja     777c6029 <.ctors+0x5>
777c6029:	00 00                	add    %al,(%eax)
	...

777c602c <__DTOR_LIST__>:
777c602c:	ff                   	(bad)  
777c602d:	ff                   	(bad)  
777c602e:	ff                   	(bad)  
777c602f:	ff 00                	incl   (%eax)
777c6031:	00 00                	add    %al,(%eax)
	...
