40e244:	80 e2 81             	and    $0x81,%dl
40e247:	80 ca 01             	or     $0x1,%dl
40e24a:	88 11                	mov    %dl,(%ecx)
40e24c:	eb 27                	jmp    0x40e275
40e24e:	80 49 04 80          	orb    $0x80,0x4(%ecx)
40e252:	8b 0a                	mov    (%edx),%ecx
40e254:	8d 4c 31 24          	lea    0x24(%ecx,%esi,1),%ecx
40e258:	8a 11                	mov    (%ecx),%dl
40e25a:	80 e2 82             	and    $0x82,%dl
40e25d:	80 ca 02             	or     $0x2,%dl
40e260:	eb e8                	jmp    0x40e24a
40e262:	80 61 04 7f          	andb   $0x7f,0x4(%ecx)
40e266:	eb 0d                	jmp    0x40e275
40e268:	80 49 04 80          	orb    $0x80,0x4(%ecx)
40e26c:	8b 0a                	mov    (%edx),%ecx
40e26e:	8d 4c 31 24          	lea    0x24(%ecx,%esi,1),%ecx
40e272:	80 21 80             	andb   $0x80,(%ecx)
40e275:	85 ff                	test   %edi,%edi
40e277:	5f                   	pop    %edi
40e278:	5e                   	pop    %esi
40e279:	5b                   	pop    %ebx
40e27a:	75 07                	jne    0x40e283
40e27c:	b8 00 80 00 00       	mov    $0x8000,%eax
40e281:	5d                   	pop    %ebp
40e282:	c3                   	ret
40e283:	f7 d8                	neg    %eax
40e285:	1b c0                	sbb    %eax,%eax
40e287:	25 00 c0 00 00       	and    $0xc000,%eax
40e28c:	05 00 40 00 00       	add    $0x4000,%eax
40e291:	5d                   	pop    %ebp
40e292:	c3                   	ret
40e293:	8b ff                	mov    %edi,%edi
40e295:	55                   	push   %ebp
40e296:	8b ec                	mov    %esp,%ebp
40e298:	8b 45 08             	mov    0x8(%ebp),%eax
40e29b:	85 c0                	test   %eax,%eax
40e29d:	75 15                	jne    0x40e2b4
40e29f:	e8 83 5e ff ff       	call   0x404127
40e2a4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40e2aa:	e8 d8 49 ff ff       	call   0x402c87
40e2af:	6a 16                	push   $0x16
40e2b1:	58                   	pop    %eax
40e2b2:	5d                   	pop    %ebp
40e2b3:	c3                   	ret
40e2b4:	8b 0d 64 3b 41 00    	mov    0x413b64,%ecx
40e2ba:	89 08                	mov    %ecx,(%eax)
40e2bc:	33 c0                	xor    %eax,%eax
40e2be:	5d                   	pop    %ebp
40e2bf:	c3                   	ret
40e2c0:	8b ff                	mov    %edi,%edi
40e2c2:	55                   	push   %ebp
40e2c3:	8b ec                	mov    %esp,%ebp
40e2c5:	51                   	push   %ecx
40e2c6:	56                   	push   %esi
40e2c7:	8b 75 0c             	mov    0xc(%ebp),%esi
40e2ca:	56                   	push   %esi
40e2cb:	e8 e0 47 ff ff       	call   0x402ab0
40e2d0:	89 45 0c             	mov    %eax,0xc(%ebp)
40e2d3:	8b 46 0c             	mov    0xc(%esi),%eax
40e2d6:	59                   	pop    %ecx
40e2d7:	a8 82                	test   $0x82,%al
40e2d9:	75 19                	jne    0x40e2f4
40e2db:	e8 47 5e ff ff       	call   0x404127
40e2e0:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
40e2e6:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
40e2ea:	b8 ff ff 00 00       	mov    $0xffff,%eax
40e2ef:	e9 3d 01 00 00       	jmp    0x40e431
40e2f4:	a8 40                	test   $0x40,%al
40e2f6:	74 0d                	je     0x40e305
40e2f8:	e8 2a 5e ff ff       	call   0x404127
40e2fd:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
40e303:	eb e1                	jmp    0x40e2e6
40e305:	a8 01                	test   $0x1,%al
40e307:	74 17                	je     0x40e320
40e309:	83 66 04 00          	andl   $0x0,0x4(%esi)
40e30d:	a8 10                	test   $0x10,%al
40e30f:	0f 84 8d 00 00 00    	je     0x40e3a2
40e315:	8b 4e 08             	mov    0x8(%esi),%ecx
40e318:	83 e0 fe             	and    $0xfffffffe,%eax
40e31b:	89 0e                	mov    %ecx,(%esi)
40e31d:	89 46 0c             	mov    %eax,0xc(%esi)
40e320:	8b 46 0c             	mov    0xc(%esi),%eax
40e323:	83 66 04 00          	andl   $0x0,0x4(%esi)
40e327:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e32b:	53                   	push   %ebx
40e32c:	6a 02                	push   $0x2
40e32e:	83 e0 ef             	and    $0xffffffef,%eax
40e331:	5b                   	pop    %ebx
40e332:	0b c3                	or     %ebx,%eax
40e334:	89 46 0c             	mov    %eax,0xc(%esi)
40e337:	a9 0c 01 00 00       	test   $0x10c,%eax
40e33c:	75 2c                	jne    0x40e36a
40e33e:	e8 40 3f ff ff       	call   0x402283
40e343:	83 c0 20             	add    $0x20,%eax
40e346:	3b f0                	cmp    %eax,%esi
40e348:	74 0c                	je     0x40e356
40e34a:	e8 34 3f ff ff       	call   0x402283
40e34f:	83 c0 40             	add    $0x40,%eax
40e352:	3b f0                	cmp    %eax,%esi
40e354:	75 0d                	jne    0x40e363
40e356:	ff 75 0c             	push   0xc(%ebp)
40e359:	e8 e9 c5 ff ff       	call   0x40a947
40e35e:	59                   	pop    %ecx
40e35f:	85 c0                	test   %eax,%eax
40e361:	75 07                	jne    0x40e36a
40e363:	56                   	push   %esi
40e364:	e8 31 f6 ff ff       	call   0x40d99a
40e369:	59                   	pop    %ecx
40e36a:	f7 46 0c 08 01 00 00 	testl  $0x108,0xc(%esi)
40e371:	57                   	push   %edi
40e372:	0f 84 83 00 00 00    	je     0x40e3fb
40e378:	8b 46 08             	mov    0x8(%esi),%eax
40e37b:	8b 3e                	mov    (%esi),%edi
40e37d:	8d 48 02             	lea    0x2(%eax),%ecx
40e380:	89 0e                	mov    %ecx,(%esi)
40e382:	8b 4e 18             	mov    0x18(%esi),%ecx
40e385:	2b f8                	sub    %eax,%edi
40e387:	2b cb                	sub    %ebx,%ecx
40e389:	89 4e 04             	mov    %ecx,0x4(%esi)
40e38c:	85 ff                	test   %edi,%edi
40e38e:	7e 1d                	jle    0x40e3ad
40e390:	57                   	push   %edi
40e391:	50                   	push   %eax
40e392:	ff 75 0c             	push   0xc(%ebp)
40e395:	e8 44 e6 ff ff       	call   0x40c9de
40e39a:	83 c4 0c             	add    $0xc,%esp
40e39d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e3a0:	eb 4e                	jmp    0x40e3f0
40e3a2:	83 c8 20             	or     $0x20,%eax
40e3a5:	89 46 0c             	mov    %eax,0xc(%esi)
40e3a8:	e9 3d ff ff ff       	jmp    0x40e2ea
40e3ad:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e3b0:	83 f9 ff             	cmp    $0xffffffff,%ecx
40e3b3:	74 1b                	je     0x40e3d0
40e3b5:	83 f9 fe             	cmp    $0xfffffffe,%ecx
40e3b8:	74 16                	je     0x40e3d0
40e3ba:	8b c1                	mov    %ecx,%eax
40e3bc:	83 e0 1f             	and    $0x1f,%eax
40e3bf:	8b d1                	mov    %ecx,%edx
40e3c1:	c1 fa 05             	sar    $0x5,%edx
40e3c4:	c1 e0 06             	shl    $0x6,%eax
40e3c7:	03 04 95 20 46 41 00 	add    0x414620(,%edx,4),%eax
40e3ce:	eb 05                	jmp    0x40e3d5
40e3d0:	b8 78 2b 41 00       	mov    $0x412b78,%eax
40e3d5:	f6 40 04 20          	testb  $0x20,0x4(%eax)
40e3d9:	74 15                	je     0x40e3f0
40e3db:	53                   	push   %ebx
40e3dc:	6a 00                	push   $0x0
40e3de:	6a 00                	push   $0x0
40e3e0:	51                   	push   %ecx
40e3e1:	e8 ca f4 ff ff       	call   0x40d8b0
40e3e6:	23 c2                	and    %edx,%eax
40e3e8:	83 c4 10             	add    $0x10,%esp
40e3eb:	83 f8 ff             	cmp    $0xffffffff,%eax
40e3ee:	74 2d                	je     0x40e41d
40e3f0:	8b 46 08             	mov    0x8(%esi),%eax
40e3f3:	8b 5d 08             	mov    0x8(%ebp),%ebx
40e3f6:	66 89 18             	mov    %bx,(%eax)
40e3f9:	eb 1d                	jmp    0x40e418
40e3fb:	6a 02                	push   $0x2
40e3fd:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e400:	50                   	push   %eax
40e401:	ff 75 0c             	push   0xc(%ebp)
40e404:	8b fb                	mov    %ebx,%edi
40e406:	8b 5d 08             	mov    0x8(%ebp),%ebx
40e409:	66 89 5d fc          	mov    %bx,-0x4(%ebp)
40e40d:	e8 cc e5 ff ff       	call   0x40c9de
40e412:	83 c4 0c             	add    $0xc,%esp
40e415:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e418:	39 7d fc             	cmp    %edi,-0x4(%ebp)
40e41b:	74 0b                	je     0x40e428
40e41d:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
40e421:	b8 ff ff 00 00       	mov    $0xffff,%eax
40e426:	eb 07                	jmp    0x40e42f
40e428:	8b c3                	mov    %ebx,%eax
40e42a:	25 ff ff 00 00       	and    $0xffff,%eax
40e42f:	5f                   	pop    %edi
40e430:	5b                   	pop    %ebx
40e431:	5e                   	pop    %esi
40e432:	c9                   	leave
40e433:	c3                   	ret
40e434:	6a 02                	push   $0x2
40e436:	e8 dc 7f ff ff       	call   0x406417
40e43b:	59                   	pop    %ecx
40e43c:	c3                   	ret
40e43d:	57                   	push   %edi
40e43e:	8b c6                	mov    %esi,%eax
40e440:	83 e0 0f             	and    $0xf,%eax
40e443:	85 c0                	test   %eax,%eax
40e445:	0f 85 c1 00 00 00    	jne    0x40e50c
40e44b:	8b d1                	mov    %ecx,%edx
40e44d:	83 e1 7f             	and    $0x7f,%ecx
40e450:	c1 ea 07             	shr    $0x7,%edx
40e453:	74 65                	je     0x40e4ba
40e455:	eb 06                	jmp    0x40e45d
40e457:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
40e45d:	66 0f 6f 06          	movdqa (%esi),%xmm0
40e461:	66 0f 6f 4e 10       	movdqa 0x10(%esi),%xmm1
40e466:	66 0f 6f 56 20       	movdqa 0x20(%esi),%xmm2
40e46b:	66 0f 6f 5e 30       	movdqa 0x30(%esi),%xmm3
40e470:	66 0f 7f 07          	movdqa %xmm0,(%edi)
40e474:	66 0f 7f 4f 10       	movdqa %xmm1,0x10(%edi)
40e479:	66 0f 7f 57 20       	movdqa %xmm2,0x20(%edi)
40e47e:	66 0f 7f 5f 30       	movdqa %xmm3,0x30(%edi)
40e483:	66 0f 6f 66 40       	movdqa 0x40(%esi),%xmm4
40e488:	66 0f 6f 6e 50       	movdqa 0x50(%esi),%xmm5
40e48d:	66 0f 6f 76 60       	movdqa 0x60(%esi),%xmm6
40e492:	66 0f 6f 7e 70       	movdqa 0x70(%esi),%xmm7
40e497:	66 0f 7f 67 40       	movdqa %xmm4,0x40(%edi)
40e49c:	66 0f 7f 6f 50       	movdqa %xmm5,0x50(%edi)
40e4a1:	66 0f 7f 77 60       	movdqa %xmm6,0x60(%edi)
40e4a6:	66 0f 7f 7f 70       	movdqa %xmm7,0x70(%edi)
40e4ab:	8d b6 80 00 00 00    	lea    0x80(%esi),%esi
40e4b1:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
40e4b7:	4a                   	dec    %edx
40e4b8:	75 a3                	jne    0x40e45d
40e4ba:	85 c9                	test   %ecx,%ecx
40e4bc:	74 49                	je     0x40e507
40e4be:	8b d1                	mov    %ecx,%edx
40e4c0:	c1 ea 04             	shr    $0x4,%edx
40e4c3:	85 d2                	test   %edx,%edx
40e4c5:	74 17                	je     0x40e4de
40e4c7:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
40e4cd:	66 0f 6f 06          	movdqa (%esi),%xmm0
40e4d1:	66 0f 7f 07          	movdqa %xmm0,(%edi)
40e4d5:	8d 76 10             	lea    0x10(%esi),%esi
40e4d8:	8d 7f 10             	lea    0x10(%edi),%edi
40e4db:	4a                   	dec    %edx
40e4dc:	75 ef                	jne    0x40e4cd
40e4de:	83 e1 0f             	and    $0xf,%ecx
40e4e1:	74 24                	je     0x40e507
40e4e3:	8b c1                	mov    %ecx,%eax
40e4e5:	c1 e9 02             	shr    $0x2,%ecx
40e4e8:	74 0d                	je     0x40e4f7
40e4ea:	8b 16                	mov    (%esi),%edx
40e4ec:	89 17                	mov    %edx,(%edi)
40e4ee:	8d 76 04             	lea    0x4(%esi),%esi
40e4f1:	8d 7f 04             	lea    0x4(%edi),%edi
40e4f4:	49                   	dec    %ecx
40e4f5:	75 f3                	jne    0x40e4ea
40e4f7:	8b c8                	mov    %eax,%ecx
40e4f9:	83 e1 03             	and    $0x3,%ecx
40e4fc:	74 09                	je     0x40e507
40e4fe:	8a 06                	mov    (%esi),%al
40e500:	88 07                	mov    %al,(%edi)
40e502:	46                   	inc    %esi
40e503:	47                   	inc    %edi
40e504:	49                   	dec    %ecx
40e505:	75 f7                	jne    0x40e4fe
40e507:	58                   	pop    %eax
40e508:	5e                   	pop    %esi
40e509:	5f                   	pop    %edi
40e50a:	5d                   	pop    %ebp
40e50b:	c3                   	ret
40e50c:	ba 10 00 00 00       	mov    $0x10,%edx
40e511:	2b d0                	sub    %eax,%edx
40e513:	2b ca                	sub    %edx,%ecx
40e515:	51                   	push   %ecx
40e516:	8b c2                	mov    %edx,%eax
40e518:	8b c8                	mov    %eax,%ecx
40e51a:	83 e1 03             	and    $0x3,%ecx
40e51d:	74 09                	je     0x40e528
40e51f:	8a 16                	mov    (%esi),%dl
40e521:	88 17                	mov    %dl,(%edi)
40e523:	46                   	inc    %esi
40e524:	47                   	inc    %edi
40e525:	49                   	dec    %ecx
40e526:	75 f7                	jne    0x40e51f
40e528:	c1 e8 02             	shr    $0x2,%eax
40e52b:	74 0d                	je     0x40e53a
40e52d:	8b 16                	mov    (%esi),%edx
40e52f:	89 17                	mov    %edx,(%edi)
40e531:	8d 76 04             	lea    0x4(%esi),%esi
40e534:	8d 7f 04             	lea    0x4(%edi),%edi
40e537:	48                   	dec    %eax
40e538:	75 f3                	jne    0x40e52d
40e53a:	59                   	pop    %ecx
40e53b:	e9 0b ff ff ff       	jmp    0x40e44b
40e540:	e8 8a d6 ff ff       	call   0x40bbcf
40e545:	85 c0                	test   %eax,%eax
40e547:	74 08                	je     0x40e551
40e549:	6a 16                	push   $0x16
40e54b:	e8 8c d6 ff ff       	call   0x40bbdc
40e550:	59                   	pop    %ecx
40e551:	f6 05 a0 2e 41 00 02 	testb  $0x2,0x412ea0
40e558:	74 11                	je     0x40e56b
40e55a:	6a 01                	push   $0x1
40e55c:	68 15 00 00 40       	push   $0x40000015
40e561:	6a 03                	push   $0x3
40e563:	e8 7d 45 ff ff       	call   0x402ae5
40e568:	83 c4 0c             	add    $0xc,%esp
40e56b:	6a 03                	push   $0x3
40e56d:	e8 71 7e ff ff       	call   0x4063e3
40e572:	cc                   	int3
40e573:	8b ff                	mov    %edi,%edi
40e575:	55                   	push   %ebp
40e576:	8b ec                	mov    %esp,%ebp
40e578:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40e57c:	75 15                	jne    0x40e593
40e57e:	e8 a4 5b ff ff       	call   0x404127
40e583:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40e589:	e8 f9 46 ff ff       	call   0x402c87
40e58e:	83 c8 ff             	or     $0xffffffff,%eax
40e591:	5d                   	pop    %ebp
40e592:	c3                   	ret
40e593:	ff 75 08             	push   0x8(%ebp)
40e596:	6a 00                	push   $0x0
40e598:	ff 35 24 32 41 00    	push   0x413224
40e59e:	ff 15 5c f0 40 00    	call   *0x40f05c
40e5a4:	5d                   	pop    %ebp
40e5a5:	c3                   	ret
40e5a6:	8b ff                	mov    %edi,%edi
40e5a8:	55                   	push   %ebp
40e5a9:	8b ec                	mov    %esp,%ebp
40e5ab:	51                   	push   %ecx
40e5ac:	83 3d b0 2e 41 00 fe 	cmpl   $0xfffffffe,0x412eb0
40e5b3:	75 05                	jne    0x40e5ba
40e5b5:	e8 e7 00 00 00       	call   0x40e6a1
40e5ba:	a1 b0 2e 41 00       	mov    0x412eb0,%eax
40e5bf:	83 f8 ff             	cmp    $0xffffffff,%eax
40e5c2:	75 07                	jne    0x40e5cb
40e5c4:	b8 ff ff 00 00       	mov    $0xffff,%eax
40e5c9:	c9                   	leave
40e5ca:	c3                   	ret
40e5cb:	6a 00                	push   $0x0
40e5cd:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40e5d0:	51                   	push   %ecx
40e5d1:	6a 01                	push   $0x1
40e5d3:	8d 4d 08             	lea    0x8(%ebp),%ecx
40e5d6:	51                   	push   %ecx
40e5d7:	50                   	push   %eax
40e5d8:	ff 15 44 f1 40 00    	call   *0x40f144
40e5de:	85 c0                	test   %eax,%eax
40e5e0:	74 e2                	je     0x40e5c4
40e5e2:	66 8b 45 08          	mov    0x8(%ebp),%ax
40e5e6:	c9                   	leave
40e5e7:	c3                   	ret
40e5e8:	8b ff                	mov    %edi,%edi
40e5ea:	55                   	push   %ebp
40e5eb:	8b ec                	mov    %esp,%ebp
40e5ed:	53                   	push   %ebx
40e5ee:	33 db                	xor    %ebx,%ebx
40e5f0:	39 5d 08             	cmp    %ebx,0x8(%ebp)
40e5f3:	75 04                	jne    0x40e5f9
40e5f5:	33 c0                	xor    %eax,%eax
40e5f7:	eb 41                	jmp    0x40e63a
40e5f9:	56                   	push   %esi
40e5fa:	57                   	push   %edi
40e5fb:	ff 75 08             	push   0x8(%ebp)
40e5fe:	e8 13 b0 ff ff       	call   0x409616