408f41:	5d                   	pop    %ebp
408f42:	c3                   	ret
408f43:	cc                   	int3
408f44:	cc                   	int3
408f45:	cc                   	int3
408f46:	cc                   	int3
408f47:	cc                   	int3
408f48:	cc                   	int3
408f49:	cc                   	int3
408f4a:	cc                   	int3
408f4b:	cc                   	int3
408f4c:	cc                   	int3
408f4d:	cc                   	int3
408f4e:	cc                   	int3
408f4f:	cc                   	int3
408f50:	6a 08                	push   $0x8
408f52:	68 e8 3c 42 00       	push   $0x423ce8
408f57:	e8 74 fa ff ff       	call   0x4089d0
408f5c:	8b 45 08             	mov    0x8(%ebp),%eax
408f5f:	85 c0                	test   %eax,%eax
408f61:	74 7e                	je     0x408fe1
408f63:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
408f69:	75 76                	jne    0x408fe1
408f6b:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
408f6f:	75 70                	jne    0x408fe1
408f71:	81 78 14 20 05 93 19 	cmpl   $0x19930520,0x14(%eax)
408f78:	74 12                	je     0x408f8c
408f7a:	81 78 14 21 05 93 19 	cmpl   $0x19930521,0x14(%eax)
408f81:	74 09                	je     0x408f8c
408f83:	81 78 14 22 05 93 19 	cmpl   $0x19930522,0x14(%eax)
408f8a:	75 55                	jne    0x408fe1
408f8c:	8b 48 1c             	mov    0x1c(%eax),%ecx
408f8f:	85 c9                	test   %ecx,%ecx
408f91:	74 4e                	je     0x408fe1
408f93:	8b 51 04             	mov    0x4(%ecx),%edx
408f96:	85 d2                	test   %edx,%edx
408f98:	74 29                	je     0x408fc3
408f9a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408f9e:	52                   	push   %edx
408f9f:	ff 70 18             	push   0x18(%eax)
408fa2:	e8 4a 00 00 00       	call   0x408ff1
408fa7:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
408fae:	eb 31                	jmp    0x408fe1
408fb0:	ff 75 0c             	push   0xc(%ebp)
408fb3:	ff 75 ec             	push   -0x14(%ebp)
408fb6:	e8 43 00 00 00       	call   0x408ffe
408fbb:	59                   	pop    %ecx
408fbc:	59                   	pop    %ecx
408fbd:	c3                   	ret
408fbe:	8b 65 e8             	mov    -0x18(%ebp),%esp
408fc1:	eb e4                	jmp    0x408fa7
408fc3:	f6 01 10             	testb  $0x10,(%ecx)
408fc6:	74 19                	je     0x408fe1
408fc8:	8b 40 18             	mov    0x18(%eax),%eax
408fcb:	8b 08                	mov    (%eax),%ecx
408fcd:	85 c9                	test   %ecx,%ecx
408fcf:	74 10                	je     0x408fe1
408fd1:	8b 01                	mov    (%ecx),%eax
408fd3:	51                   	push   %ecx
408fd4:	8b 70 08             	mov    0x8(%eax),%esi
408fd7:	8b ce                	mov    %esi,%ecx
408fd9:	ff 15 50 c2 41 00    	call   *0x41c250
408fdf:	ff d6                	call   *%esi
408fe1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408fe4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408feb:	59                   	pop    %ecx
408fec:	5f                   	pop    %edi
408fed:	5e                   	pop    %esi
408fee:	5b                   	pop    %ebx
408fef:	c9                   	leave
408ff0:	c3                   	ret
408ff1:	55                   	push   %ebp
408ff2:	8b ec                	mov    %esp,%ebp
408ff4:	8b 4d 08             	mov    0x8(%ebp),%ecx
408ff7:	ff 55 0c             	call   *0xc(%ebp)
408ffa:	5d                   	pop    %ebp
408ffb:	c2 08 00             	ret    $0x8
408ffe:	55                   	push   %ebp
408fff:	8b ec                	mov    %esp,%ebp
409001:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
409005:	74 32                	je     0x409039
409007:	56                   	push   %esi
409008:	57                   	push   %edi
409009:	8b 7d 08             	mov    0x8(%ebp),%edi
40900c:	8b 37                	mov    (%edi),%esi
40900e:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
409014:	75 21                	jne    0x409037
409016:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
40901a:	75 1b                	jne    0x409037
40901c:	81 7e 14 20 05 93 19 	cmpl   $0x19930520,0x14(%esi)
409023:	74 18                	je     0x40903d
409025:	81 7e 14 21 05 93 19 	cmpl   $0x19930521,0x14(%esi)
40902c:	74 0f                	je     0x40903d
40902e:	81 7e 14 22 05 93 19 	cmpl   $0x19930522,0x14(%esi)
409035:	74 06                	je     0x40903d
409037:	5f                   	pop    %edi
409038:	5e                   	pop    %esi
409039:	33 c0                	xor    %eax,%eax
40903b:	5d                   	pop    %ebp
40903c:	c3                   	ret
40903d:	e8 ea 03 00 00       	call   0x40942c
409042:	89 70 10             	mov    %esi,0x10(%eax)
409045:	8b 77 04             	mov    0x4(%edi),%esi
409048:	e8 df 03 00 00       	call   0x40942c
40904d:	89 70 14             	mov    %esi,0x14(%eax)
409050:	e8 ea 31 00 00       	call   0x40c23f
409055:	cc                   	int3
409056:	55                   	push   %ebp
409057:	8b ec                	mov    %esp,%ebp
409059:	e8 ce 03 00 00       	call   0x40942c
40905e:	8b 40 24             	mov    0x24(%eax),%eax
409061:	85 c0                	test   %eax,%eax
409063:	74 0e                	je     0x409073
409065:	8b 4d 08             	mov    0x8(%ebp),%ecx
409068:	39 08                	cmp    %ecx,(%eax)
40906a:	74 0c                	je     0x409078
40906c:	8b 40 04             	mov    0x4(%eax),%eax
40906f:	85 c0                	test   %eax,%eax
409071:	75 f5                	jne    0x409068
409073:	33 c0                	xor    %eax,%eax
409075:	40                   	inc    %eax
409076:	5d                   	pop    %ebp
409077:	c3                   	ret
409078:	33 c0                	xor    %eax,%eax
40907a:	5d                   	pop    %ebp
40907b:	c3                   	ret
40907c:	55                   	push   %ebp
40907d:	8b ec                	mov    %esp,%ebp
40907f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409082:	8b 55 08             	mov    0x8(%ebp),%edx
409085:	56                   	push   %esi
409086:	8b 01                	mov    (%ecx),%eax
409088:	8b 71 04             	mov    0x4(%ecx),%esi
40908b:	03 c2                	add    %edx,%eax
40908d:	85 f6                	test   %esi,%esi
40908f:	78 0d                	js     0x40909e
409091:	8b 49 08             	mov    0x8(%ecx),%ecx
409094:	8b 14 16             	mov    (%esi,%edx,1),%edx
409097:	8b 0c 0a             	mov    (%edx,%ecx,1),%ecx
40909a:	03 ce                	add    %esi,%ecx
40909c:	03 c1                	add    %ecx,%eax
40909e:	5e                   	pop    %esi
40909f:	5d                   	pop    %ebp
4090a0:	c3                   	ret
4090a1:	55                   	push   %ebp
4090a2:	8b ec                	mov    %esp,%ebp
4090a4:	56                   	push   %esi
4090a5:	8b 75 08             	mov    0x8(%ebp),%esi
4090a8:	57                   	push   %edi
4090a9:	8b 3e                	mov    (%esi),%edi
4090ab:	81 3f 52 43 43 e0    	cmpl   $0xe0434352,(%edi)
4090b1:	74 12                	je     0x4090c5
4090b3:	81 3f 4d 4f 43 e0    	cmpl   $0xe0434f4d,(%edi)
4090b9:	74 0a                	je     0x4090c5
4090bb:	81 3f 63 73 6d e0    	cmpl   $0xe06d7363,(%edi)
4090c1:	74 1b                	je     0x4090de
4090c3:	eb 13                	jmp    0x4090d8
4090c5:	e8 62 03 00 00       	call   0x40942c
4090ca:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
4090ce:	7e 08                	jle    0x4090d8
4090d0:	e8 57 03 00 00       	call   0x40942c
4090d5:	ff 48 18             	decl   0x18(%eax)
4090d8:	5f                   	pop    %edi
4090d9:	33 c0                	xor    %eax,%eax
4090db:	5e                   	pop    %esi
4090dc:	5d                   	pop    %ebp
4090dd:	c3                   	ret
4090de:	e8 49 03 00 00       	call   0x40942c
4090e3:	89 78 10             	mov    %edi,0x10(%eax)
4090e6:	8b 76 04             	mov    0x4(%esi),%esi
4090e9:	e8 3e 03 00 00       	call   0x40942c
4090ee:	89 70 14             	mov    %esi,0x14(%eax)
4090f1:	e8 49 31 00 00       	call   0x40c23f
4090f6:	cc                   	int3
4090f7:	e8 30 03 00 00       	call   0x40942c
4090fc:	83 c0 10             	add    $0x10,%eax
4090ff:	c3                   	ret
409100:	e8 27 03 00 00       	call   0x40942c
409105:	83 c0 14             	add    $0x14,%eax
409108:	c3                   	ret
409109:	cc                   	int3
40910a:	cc                   	int3
40910b:	cc                   	int3
40910c:	cc                   	int3
40910d:	cc                   	int3
40910e:	cc                   	int3
40910f:	cc                   	int3
409110:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
409114:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
409119:	8b d7                	mov    %edi,%edx
40911b:	8b 7c 24 04          	mov    0x4(%esp),%edi
40911f:	85 c9                	test   %ecx,%ecx
409121:	0f 84 3c 01 00 00    	je     0x409263
409127:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
40912d:	83 f9 20             	cmp    $0x20,%ecx
409130:	0f 86 df 00 00 00    	jbe    0x409215
409136:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
40913c:	0f 82 8b 00 00 00    	jb     0x4091cd
409142:	0f ba 25 68 69 42 00 	btl    $0x1,0x426968
409149:	01
40914a:	73 09                	jae    0x409155
40914c:	f3 aa                	rep stos %al,%es:(%edi)
40914e:	8b 44 24 04          	mov    0x4(%esp),%eax
409152:	8b fa                	mov    %edx,%edi
409154:	c3                   	ret
409155:	0f ba 25 10 60 42 00 	btl    $0x1,0x426010
40915c:	01
40915d:	0f 83 b2 00 00 00    	jae    0x409215
409163:	66 0f 6e c0          	movd   %eax,%xmm0
409167:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
40916c:	03 cf                	add    %edi,%ecx
40916e:	0f 11 07             	movups %xmm0,(%edi)
409171:	83 c7 10             	add    $0x10,%edi
409174:	83 e7 f0             	and    $0xfffffff0,%edi
409177:	2b cf                	sub    %edi,%ecx
409179:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
40917f:	76 4c                	jbe    0x4091cd
409181:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
409188:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40918f:	90                   	nop
409190:	66 0f 7f 07          	movdqa %xmm0,(%edi)
409194:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
409199:	66 0f 7f 47 20       	movdqa %xmm0,0x20(%edi)
40919e:	66 0f 7f 47 30       	movdqa %xmm0,0x30(%edi)
4091a3:	66 0f 7f 47 40       	movdqa %xmm0,0x40(%edi)
4091a8:	66 0f 7f 47 50       	movdqa %xmm0,0x50(%edi)
4091ad:	66 0f 7f 47 60       	movdqa %xmm0,0x60(%edi)
4091b2:	66 0f 7f 47 70       	movdqa %xmm0,0x70(%edi)
4091b7:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
4091bd:	81 e9 80 00 00 00    	sub    $0x80,%ecx
4091c3:	f7 c1 00 ff ff ff    	test   $0xffffff00,%ecx
4091c9:	75 c5                	jne    0x409190
4091cb:	eb 13                	jmp    0x4091e0
4091cd:	0f ba 25 10 60 42 00 	btl    $0x1,0x426010
4091d4:	01
4091d5:	73 3e                	jae    0x409215
4091d7:	66 0f 6e c0          	movd   %eax,%xmm0
4091db:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
4091e0:	83 f9 20             	cmp    $0x20,%ecx
4091e3:	72 1c                	jb     0x409201
4091e5:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
4091e9:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
4091ee:	83 c7 20             	add    $0x20,%edi
4091f1:	83 e9 20             	sub    $0x20,%ecx
4091f4:	83 f9 20             	cmp    $0x20,%ecx
4091f7:	73 ec                	jae    0x4091e5
4091f9:	f7 c1 1f 00 00 00    	test   $0x1f,%ecx
4091ff:	74 62                	je     0x409263
409201:	8d 7c 0f e0          	lea    -0x20(%edi,%ecx,1),%edi
409205:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
409209:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
40920e:	8b 44 24 04          	mov    0x4(%esp),%eax
409212:	8b fa                	mov    %edx,%edi
409214:	c3                   	ret
409215:	f7 c1 03 00 00 00    	test   $0x3,%ecx
40921b:	74 0e                	je     0x40922b
40921d:	88 07                	mov    %al,(%edi)
40921f:	47                   	inc    %edi
409220:	83 e9 01             	sub    $0x1,%ecx
409223:	f7 c1 03 00 00 00    	test   $0x3,%ecx
409229:	75 f2                	jne    0x40921d
40922b:	f7 c1 04 00 00 00    	test   $0x4,%ecx
409231:	74 08                	je     0x40923b
409233:	89 07                	mov    %eax,(%edi)
409235:	83 c7 04             	add    $0x4,%edi
409238:	83 e9 04             	sub    $0x4,%ecx
40923b:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
409241:	74 20                	je     0x409263
409243:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40924a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
409250:	89 07                	mov    %eax,(%edi)
409252:	89 47 04             	mov    %eax,0x4(%edi)
409255:	83 c7 08             	add    $0x8,%edi
409258:	83 e9 08             	sub    $0x8,%ecx
40925b:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
409261:	75 ed                	jne    0x409250
409263:	8b 44 24 04          	mov    0x4(%esp),%eax
409267:	8b fa                	mov    %edx,%edi
409269:	c3                   	ret
40926a:	cc                   	int3
40926b:	cc                   	int3
40926c:	cc                   	int3
40926d:	cc                   	int3
40926e:	cc                   	int3
40926f:	cc                   	int3
409270:	53                   	push   %ebx
409271:	56                   	push   %esi
409272:	57                   	push   %edi
409273:	8b 54 24 10          	mov    0x10(%esp),%edx
409277:	8b 44 24 14          	mov    0x14(%esp),%eax
40927b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40927f:	55                   	push   %ebp
409280:	52                   	push   %edx
409281:	50                   	push   %eax
409282:	51                   	push   %ecx
409283:	51                   	push   %ecx
409284:	68 10 93 40 00       	push   $0x409310
409289:	64 ff 35 00 00 00 00 	push   %fs:0x0
409290:	a1 18 60 42 00       	mov    0x426018,%eax
409295:	33 c4                	xor    %esp,%eax
409297:	89 44 24 08          	mov    %eax,0x8(%esp)
40929b:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4092a2:	8b 44 24 30          	mov    0x30(%esp),%eax
4092a6:	8b 58 08             	mov    0x8(%eax),%ebx
4092a9:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4092ad:	33 19                	xor    (%ecx),%ebx
4092af:	8b 70 0c             	mov    0xc(%eax),%esi
4092b2:	83 fe fe             	cmp    $0xfffffffe,%esi
4092b5:	0f 84 46 00 00 00    	je     0x409301
4092bb:	8b 54 24 34          	mov    0x34(%esp),%edx
4092bf:	83 fa fe             	cmp    $0xfffffffe,%edx
4092c2:	74 08                	je     0x4092cc
4092c4:	3b f2                	cmp    %edx,%esi
4092c6:	0f 86 35 00 00 00    	jbe    0x409301
4092cc:	8d 34 76             	lea    (%esi,%esi,2),%esi
4092cf:	8d 5c b3 10          	lea    0x10(%ebx,%esi,4),%ebx
4092d3:	8b 0b                	mov    (%ebx),%ecx
4092d5:	89 48 0c             	mov    %ecx,0xc(%eax)
4092d8:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
4092dc:	0f 85 c0 ff ff ff    	jne    0x4092a2
4092e2:	68 01 01 00 00       	push   $0x101
4092e7:	8b 43 08             	mov    0x8(%ebx),%eax
4092ea:	e8 b1 02 00 00       	call   0x4095a0
4092ef:	b9 01 00 00 00       	mov    $0x1,%ecx
4092f4:	8b 43 08             	mov    0x8(%ebx),%eax
4092f7:	e8 c4 02 00 00       	call   0x4095c0
4092fc:	e9 a1 ff ff ff       	jmp    0x4092a2
409301:	64 8f 05 00 00 00 00 	pop    %fs:0x0
409308:	83 c4 18             	add    $0x18,%esp
40930b:	5f                   	pop    %edi
40930c:	5e                   	pop    %esi
40930d:	5b                   	pop    %ebx
40930e:	c3                   	ret
40930f:	cc                   	int3
409310:	8b 4c 24 04          	mov    0x4(%esp),%ecx
409314:	f7 41 04 06 00 00 00 	testl  $0x6,0x4(%ecx)
40931b:	b8 01 00 00 00       	mov    $0x1,%eax
409320:	74 33                	je     0x409355
409322:	8b 44 24 08          	mov    0x8(%esp),%eax
409326:	8b 48 08             	mov    0x8(%eax),%ecx
409329:	33 c8                	xor    %eax,%ecx
40932b:	e8 c5 f8 ff ff       	call   0x408bf5
409330:	55                   	push   %ebp
409331:	8b 68 18             	mov    0x18(%eax),%ebp
409334:	ff 70 0c             	push   0xc(%eax)
409337:	ff 70 10             	push   0x10(%eax)
40933a:	ff 70 14             	push   0x14(%eax)
40933d:	e8 2e ff ff ff       	call   0x409270
409342:	83 c4 0c             	add    $0xc,%esp
409345:	5d                   	pop    %ebp