40b378:	e8 a1 66 ff ff       	call   0x401a1e
40b37d:	33 c0                	xor    %eax,%eax
40b37f:	6a 0c                	push   $0xc
40b381:	59                   	pop    %ecx
40b382:	a3 10 7c 41 00       	mov    %eax,0x417c10
40b387:	a3 18 7c 41 00       	mov    %eax,0x417c18
40b38c:	a3 14 7c 41 00       	mov    %eax,0x417c14
40b391:	e8 f1 a6 ff ff       	call   0x405a87
40b396:	8b 4d 08             	mov    0x8(%ebp),%ecx
40b399:	50                   	push   %eax
40b39a:	68 58 ae 40 00       	push   $0x40ae58
40b39f:	89 48 08             	mov    %ecx,0x8(%eax)
40b3a2:	b9 34 7c 41 00       	mov    $0x417c34,%ecx
40b3a7:	c7 40 04 b8 6c 41 00 	movl   $0x416cb8,0x4(%eax)
40b3ae:	c7 00 10 7c 41 00    	movl   $0x417c10,(%eax)
40b3b4:	e8 b6 6a ff ff       	call   0x401e6f
40b3b9:	5d                   	pop    %ebp
40b3ba:	c2 08 00             	ret    $0x8
40b3bd:	83 25 18 7c 41 00 00 	andl   $0x0,0x417c18
40b3c4:	56                   	push   %esi
40b3c5:	6a 05                	push   $0x5
40b3c7:	58                   	pop    %eax
40b3c8:	be 10 7c 41 00       	mov    $0x417c10,%esi
40b3cd:	a3 1c 7c 41 00       	mov    %eax,0x417c1c
40b3d2:	8b ce                	mov    %esi,%ecx
40b3d4:	a3 14 7c 41 00       	mov    %eax,0x417c14
40b3d9:	e8 56 6c ff ff       	call   0x402034
40b3de:	83 25 94 7c 41 00 00 	andl   $0x0,0x417c94
40b3e5:	0f 57 c0             	xorps  %xmm0,%xmm0
40b3e8:	83 25 98 7c 41 00 00 	andl   $0x0,0x417c98
40b3ef:	8b c6                	mov    %esi,%eax
40b3f1:	0f 11 05 24 7c 41 00 	movups %xmm0,0x417c24
40b3f8:	5e                   	pop    %esi
40b3f9:	0f 11 05 34 7c 41 00 	movups %xmm0,0x417c34
40b400:	0f 11 05 44 7c 41 00 	movups %xmm0,0x417c44
40b407:	0f 11 05 54 7c 41 00 	movups %xmm0,0x417c54
40b40e:	0f 11 05 64 7c 41 00 	movups %xmm0,0x417c64
40b415:	0f 11 05 74 7c 41 00 	movups %xmm0,0x417c74
40b41c:	0f 11 05 84 7c 41 00 	movups %xmm0,0x417c84
40b423:	c3                   	ret
40b424:	55                   	push   %ebp
40b425:	8b ec                	mov    %esp,%ebp
40b427:	b8 00 10 00 00       	mov    $0x1000,%eax
40b42c:	e8 ff 5c ff ff       	call   0x401130
40b431:	53                   	push   %ebx
40b432:	56                   	push   %esi
40b433:	bb 00 10 00 00       	mov    $0x1000,%ebx
40b438:	8d 85 00 f0 ff ff    	lea    -0x1000(%ebp),%eax
40b43e:	53                   	push   %ebx
40b43f:	6a 00                	push   $0x0
40b441:	50                   	push   %eax
40b442:	e8 0b 5c ff ff       	call   0x401052
40b447:	8b 75 08             	mov    0x8(%ebp),%esi
40b44a:	eb 23                	jmp    0x40b46f
40b44c:	8b 4e 04             	mov    0x4(%esi),%ecx
40b44f:	8d 95 00 f0 ff ff    	lea    -0x1000(%ebp),%edx
40b455:	50                   	push   %eax
40b456:	e8 d3 01 00 00       	call   0x40b62e
40b45b:	59                   	pop    %ecx
40b45c:	84 c0                	test   %al,%al
40b45e:	74 29                	je     0x40b489
40b460:	53                   	push   %ebx
40b461:	8d 85 00 f0 ff ff    	lea    -0x1000(%ebp),%eax
40b467:	6a 00                	push   $0x0
40b469:	50                   	push   %eax
40b46a:	e8 e3 5b ff ff       	call   0x401052
40b46f:	83 c4 0c             	add    $0xc,%esp
40b472:	8d 85 00 f0 ff ff    	lea    -0x1000(%ebp),%eax
40b478:	6a 00                	push   $0x0
40b47a:	53                   	push   %ebx
40b47b:	50                   	push   %eax
40b47c:	ff 36                	push   (%esi)
40b47e:	ff 15 10 23 41 00    	call   *0x412310
40b484:	83 f8 ff             	cmp    $0xffffffff,%eax
40b487:	75 c3                	jne    0x40b44c
40b489:	5e                   	pop    %esi
40b48a:	33 c0                	xor    %eax,%eax
40b48c:	5b                   	pop    %ebx
40b48d:	c9                   	leave
40b48e:	c2 04 00             	ret    $0x4
40b491:	55                   	push   %ebp
40b492:	8b ec                	mov    %esp,%ebp
40b494:	b8 00 10 00 00       	mov    $0x1000,%eax
40b499:	e8 92 5c ff ff       	call   0x401130
40b49e:	53                   	push   %ebx
40b49f:	56                   	push   %esi
40b4a0:	bb 00 10 00 00       	mov    $0x1000,%ebx
40b4a5:	8d 85 00 f0 ff ff    	lea    -0x1000(%ebp),%eax
40b4ab:	53                   	push   %ebx
40b4ac:	6a 00                	push   $0x0
40b4ae:	50                   	push   %eax
40b4af:	e8 9e 5b ff ff       	call   0x401052
40b4b4:	8b 75 08             	mov    0x8(%ebp),%esi
40b4b7:	eb 22                	jmp    0x40b4db
40b4b9:	8b 0e                	mov    (%esi),%ecx
40b4bb:	8d 95 00 f0 ff ff    	lea    -0x1000(%ebp),%edx
40b4c1:	50                   	push   %eax
40b4c2:	e8 67 01 00 00       	call   0x40b62e
40b4c7:	59                   	pop    %ecx
40b4c8:	84 c0                	test   %al,%al
40b4ca:	74 2a                	je     0x40b4f6
40b4cc:	53                   	push   %ebx
40b4cd:	8d 85 00 f0 ff ff    	lea    -0x1000(%ebp),%eax
40b4d3:	6a 00                	push   $0x0
40b4d5:	50                   	push   %eax
40b4d6:	e8 77 5b ff ff       	call   0x401052
40b4db:	83 c4 0c             	add    $0xc,%esp
40b4de:	8d 85 00 f0 ff ff    	lea    -0x1000(%ebp),%eax
40b4e4:	6a 00                	push   $0x0
40b4e6:	53                   	push   %ebx
40b4e7:	50                   	push   %eax
40b4e8:	ff 76 04             	push   0x4(%esi)
40b4eb:	ff 15 10 23 41 00    	call   *0x412310
40b4f1:	83 f8 ff             	cmp    $0xffffffff,%eax
40b4f4:	75 c3                	jne    0x40b4b9
40b4f6:	5e                   	pop    %esi
40b4f7:	33 c0                	xor    %eax,%eax
40b4f9:	5b                   	pop    %ebx
40b4fa:	c9                   	leave
40b4fb:	c2 04 00             	ret    $0x4
40b4fe:	55                   	push   %ebp
40b4ff:	8b ec                	mov    %esp,%ebp
40b501:	51                   	push   %ecx
40b502:	51                   	push   %ecx
40b503:	53                   	push   %ebx
40b504:	56                   	push   %esi
40b505:	57                   	push   %edi
40b506:	8b f9                	mov    %ecx,%edi
40b508:	8d 9f d8 03 00 00    	lea    0x3d8(%edi),%ebx
40b50e:	53                   	push   %ebx
40b50f:	ff 15 3c 21 41 00    	call   *0x41213c
40b515:	83 bf ec 01 00 00 00 	cmpl   $0x0,0x1ec(%edi)
40b51c:	8b 75 08             	mov    0x8(%ebp),%esi
40b51f:	75 1e                	jne    0x40b53f
40b521:	ff 76 0c             	push   0xc(%esi)
40b524:	8d 46 08             	lea    0x8(%esi),%eax
40b527:	51                   	push   %ecx
40b528:	8b cc                	mov    %esp,%ecx
40b52a:	50                   	push   %eax
40b52b:	e8 f2 7c ff ff       	call   0x403222
40b530:	8d 8f e4 01 00 00    	lea    0x1e4(%edi),%ecx
40b536:	e8 54 9e ff ff       	call   0x40538f
40b53b:	85 c0                	test   %eax,%eax
40b53d:	74 1e                	je     0x40b55d
40b53f:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
40b543:	75 27                	jne    0x40b56c
40b545:	ff 76 04             	push   0x4(%esi)
40b548:	51                   	push   %ecx
40b549:	8b cc                	mov    %esp,%ecx
40b54b:	56                   	push   %esi
40b54c:	e8 d1 7c ff ff       	call   0x403222
40b551:	8d 4f 04             	lea    0x4(%edi),%ecx
40b554:	e8 36 9e ff ff       	call   0x40538f
40b559:	85 c0                	test   %eax,%eax
40b55b:	75 0f                	jne    0x40b56c
40b55d:	53                   	push   %ebx
40b55e:	ff 15 40 21 41 00    	call   *0x412140
40b564:	33 c0                	xor    %eax,%eax
40b566:	40                   	inc    %eax
40b567:	e9 a8 00 00 00       	jmp    0x40b614
40b56c:	8d b7 c4 03 00 00    	lea    0x3c4(%edi),%esi
40b572:	6a 00                	push   $0x0
40b574:	8b ce                	mov    %esi,%ecx
40b576:	e8 39 6b ff ff       	call   0x4020b4
40b57b:	85 c0                	test   %eax,%eax
40b57d:	75 07                	jne    0x40b586
40b57f:	8b ce                	mov    %esi,%ecx
40b581:	e8 14 69 ff ff       	call   0x401e9a
40b586:	8d 8f cc 03 00 00    	lea    0x3cc(%edi),%ecx
40b58c:	6a 00                	push   $0x0
40b58e:	e8 21 6b ff ff       	call   0x4020b4
40b593:	85 c0                	test   %eax,%eax
40b595:	75 0b                	jne    0x40b5a2
40b597:	8d 8f cc 03 00 00    	lea    0x3cc(%edi),%ecx
40b59d:	e8 f8 68 ff ff       	call   0x401e9a
40b5a2:	8b 47 10             	mov    0x10(%edi),%eax
40b5a5:	8b ce                	mov    %esi,%ecx
40b5a7:	89 45 f8             	mov    %eax,-0x8(%ebp)
40b5aa:	8b 87 f0 01 00 00    	mov    0x1f0(%edi),%eax
40b5b0:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b5b3:	8d 45 f8             	lea    -0x8(%ebp),%eax
40b5b6:	50                   	push   %eax
40b5b7:	68 24 b4 40 00       	push   $0x40b424
40b5bc:	e8 ae 68 ff ff       	call   0x401e6f
40b5c1:	8d 45 f8             	lea    -0x8(%ebp),%eax
40b5c4:	50                   	push   %eax
40b5c5:	68 91 b4 40 00       	push   $0x40b491
40b5ca:	8d 8f cc 03 00 00    	lea    0x3cc(%edi),%ecx
40b5d0:	e8 9a 68 ff ff       	call   0x401e6f
40b5d5:	8b 35 40 21 41 00    	mov    0x412140,%esi
40b5db:	53                   	push   %ebx
40b5dc:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
40b5e2:	ff d6                	call   *%esi
40b5e4:	6a ff                	push   $0xffffffff
40b5e6:	8d 8f c4 03 00 00    	lea    0x3c4(%edi),%ecx
40b5ec:	e8 c3 6a ff ff       	call   0x4020b4
40b5f1:	6a ff                	push   $0xffffffff
40b5f3:	8d 8f cc 03 00 00    	lea    0x3cc(%edi),%ecx
40b5f9:	e8 b6 6a ff ff       	call   0x4020b4
40b5fe:	53                   	push   %ebx
40b5ff:	ff 15 3c 21 41 00    	call   *0x41213c
40b605:	83 27 00             	andl   $0x0,(%edi)
40b608:	53                   	push   %ebx
40b609:	ff d6                	call   *%esi
40b60b:	8b cf                	mov    %edi,%ecx
40b60d:	e8 97 00 00 00       	call   0x40b6a9
40b612:	33 c0                	xor    %eax,%eax
40b614:	5f                   	pop    %edi
40b615:	5e                   	pop    %esi
40b616:	5b                   	pop    %ebx
40b617:	c9                   	leave
40b618:	c2 04 00             	ret    $0x4
40b61b:	55                   	push   %ebp
40b61c:	8b ec                	mov    %esp,%ebp
40b61e:	8b 4d 08             	mov    0x8(%ebp),%ecx
40b621:	51                   	push   %ecx
40b622:	8b 49 10             	mov    0x10(%ecx),%ecx
40b625:	e8 d4 fe ff ff       	call   0x40b4fe
40b62a:	5d                   	pop    %ebp
40b62b:	c2 04 00             	ret    $0x4
40b62e:	55                   	push   %ebp
40b62f:	8b ec                	mov    %esp,%ebp
40b631:	51                   	push   %ecx
40b632:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40b636:	53                   	push   %ebx
40b637:	56                   	push   %esi
40b638:	8b da                	mov    %edx,%ebx
40b63a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40b63d:	74 25                	je     0x40b664
40b63f:	8b 75 08             	mov    0x8(%ebp),%esi
40b642:	6a 00                	push   $0x0
40b644:	8b c3                	mov    %ebx,%eax
40b646:	2b c6                	sub    %esi,%eax
40b648:	03 45 08             	add    0x8(%ebp),%eax
40b64b:	56                   	push   %esi
40b64c:	50                   	push   %eax
40b64d:	51                   	push   %ecx
40b64e:	ff 15 dc 22 41 00    	call   *0x4122dc
40b654:	83 f8 ff             	cmp    $0xffffffff,%eax
40b657:	74 0b                	je     0x40b664
40b659:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b65c:	2b f0                	sub    %eax,%esi
40b65e:	75 e2                	jne    0x40b642
40b660:	b0 01                	mov    $0x1,%al
40b662:	eb 02                	jmp    0x40b666
40b664:	32 c0                	xor    %al,%al
40b666:	5e                   	pop    %esi
40b667:	5b                   	pop    %ebx
40b668:	c9                   	leave
40b669:	c3                   	ret
40b66a:	68 f8 7b 41 00       	push   $0x417bf8
40b66f:	ff 15 48 21 41 00    	call   *0x412148
40b675:	a1 ec 7b 41 00       	mov    0x417bec,%eax
40b67a:	85 c0                	test   %eax,%eax
40b67c:	74 07                	je     0x40b685
40b67e:	50                   	push   %eax
40b67f:	ff 15 00 22 41 00    	call   *0x412200
40b685:	a1 e4 7b 41 00       	mov    0x417be4,%eax
40b68a:	85 c0                	test   %eax,%eax
40b68c:	74 07                	je     0x40b695
40b68e:	50                   	push   %eax
40b68f:	ff 15 00 22 41 00    	call   *0x412200
40b695:	b9 04 7a 41 00       	mov    $0x417a04,%ecx
40b69a:	e8 6e 9a ff ff       	call   0x40510d
40b69f:	b9 24 78 41 00       	mov    $0x417824,%ecx
40b6a4:	e9 64 9a ff ff       	jmp    0x40510d
40b6a9:	56                   	push   %esi
40b6aa:	8b f1                	mov    %ecx,%esi
40b6ac:	57                   	push   %edi
40b6ad:	8d be d8 03 00 00    	lea    0x3d8(%esi),%edi
40b6b3:	57                   	push   %edi
40b6b4:	ff 15 3c 21 41 00    	call   *0x41213c
40b6ba:	8d 8e c4 03 00 00    	lea    0x3c4(%esi),%ecx
40b6c0:	e8 d5 67 ff ff       	call   0x401e9a
40b6c5:	8d 8e cc 03 00 00    	lea    0x3cc(%esi),%ecx
40b6cb:	e8 ca 67 ff ff       	call   0x401e9a
40b6d0:	8d 4e 04             	lea    0x4(%esi),%ecx
40b6d3:	e8 61 9a ff ff       	call   0x405139
40b6d8:	8d 8e e4 01 00 00    	lea    0x1e4(%esi),%ecx
40b6de:	e8 56 9a ff ff       	call   0x405139
40b6e3:	57                   	push   %edi
40b6e4:	ff 15 40 21 41 00    	call   *0x412140
40b6ea:	5f                   	pop    %edi
40b6eb:	5e                   	pop    %esi
40b6ec:	c3                   	ret
40b6ed:	55                   	push   %ebp
40b6ee:	8b ec                	mov    %esp,%ebp
40b6f0:	51                   	push   %ecx
40b6f1:	51                   	push   %ecx
40b6f2:	8b 45 08             	mov    0x8(%ebp),%eax
40b6f5:	56                   	push   %esi
40b6f6:	6a 14                	push   $0x14
40b6f8:	59                   	pop    %ecx
40b6f9:	a3 f4 7b 41 00       	mov    %eax,0x417bf4
40b6fe:	e8 84 a3 ff ff       	call   0x405a87
40b703:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40b707:	8b f0                	mov    %eax,%esi
40b709:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40b70d:	8d 45 14             	lea    0x14(%ebp),%eax
40b710:	50                   	push   %eax
40b711:	8b ce                	mov    %esi,%ecx
40b713:	e8 3a 78 ff ff       	call   0x402f52
40b718:	8d 45 0c             	lea    0xc(%ebp),%eax
40b71b:	c7 46 04 3d 0d 00 00 	movl   $0xd3d,0x4(%esi)
40b722:	50                   	push   %eax
40b723:	8d 4e 08             	lea    0x8(%esi),%ecx
40b726:	e8 27 78 ff ff       	call   0x402f52
40b72b:	8b 45 10             	mov    0x10(%ebp),%eax
40b72e:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40b731:	56                   	push   %esi
40b732:	68 1b b6 40 00       	push   $0x40b61b
40b737:	89 46 0c             	mov    %eax,0xc(%esi)
40b73a:	c7 46 10 20 78 41 00 	movl   $0x417820,0x10(%esi)
40b741:	e8 29 67 ff ff       	call   0x401e6f
40b746:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40b74a:	5e                   	pop    %esi
40b74b:	74 09                	je     0x40b756
40b74d:	ff 75 f8             	push   -0x8(%ebp)
40b750:	ff 15 00 22 41 00    	call   *0x412200
40b756:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b759:	e8 cf a2 ff ff       	call   0x405a2d
40b75e:	8b 4d 14             	mov    0x14(%ebp),%ecx
40b761:	e8 c7 a2 ff ff       	call   0x405a2d
40b766:	c9                   	leave
40b767:	c2 14 00             	ret    $0x14
40b76a:	b9 24 78 41 00       	mov    $0x417824,%ecx
40b76f:	e8 f3 9c ff ff       	call   0x405467
40b774:	b9 04 7a 41 00       	mov    $0x417a04,%ecx
40b779:	e8 e9 9c ff ff       	call   0x405467
40b77e:	0f 57 c0             	xorps  %xmm0,%xmm0
40b781:	68 f8 7b 41 00       	push   $0x417bf8
40b786:	0f 11 05 e4 7b 41 00 	movups %xmm0,0x417be4
40b78d:	ff 15 44 21 41 00    	call   *0x412144
40b793:	b8 20 78 41 00       	mov    $0x417820,%eax
40b798:	c3                   	ret
40b799:	55                   	push   %ebp
40b79a:	8b ec                	mov    %esp,%ebp
40b79c:	83 ec 24             	sub    $0x24,%esp
40b79f:	53                   	push   %ebx
40b7a0:	56                   	push   %esi
40b7a1:	8b 75 08             	mov    0x8(%ebp),%esi
40b7a4:	33 c0                	xor    %eax,%eax
40b7a6:	57                   	push   %edi
40b7a7:	6a 08                	push   $0x8
40b7a9:	59                   	pop    %ecx
40b7aa:	8d 7d e0             	lea    -0x20(%ebp),%edi
40b7ad:	33 db                	xor    %ebx,%ebx
40b7af:	f3 ab                	rep stos %eax,%es:(%edi)
40b7b1:	8b 06                	mov    (%esi),%eax
40b7b3:	33 ff                	xor    %edi,%edi