40c3ba:	e8 1d fa ff ff       	call   0x40bddc
40c3bf:	85 c0                	test   %eax,%eax
40c3c1:	75 18                	jne    0x40c3db
40c3c3:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40c3c7:	e8 e8 11 00 00       	call   0x40d5b4
40c3cc:	8d 47 5c             	lea    0x5c(%edi),%eax
40c3cf:	50                   	push   %eax
40c3d0:	8d 47 58             	lea    0x58(%edi),%eax
40c3d3:	50                   	push   %eax
40c3d4:	6a 04                	push   $0x4
40c3d6:	e9 2a 01 00 00       	jmp    0x40c505
40c3db:	51                   	push   %ecx
40c3dc:	8b cf                	mov    %edi,%ecx
40c3de:	e8 54 f9 ff ff       	call   0x40bd37
40c3e3:	85 c0                	test   %eax,%eax
40c3e5:	75 18                	jne    0x40c3ff
40c3e7:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40c3eb:	e8 c4 11 00 00       	call   0x40d5b4
40c3f0:	8d 47 5c             	lea    0x5c(%edi),%eax
40c3f3:	50                   	push   %eax
40c3f4:	8d 47 58             	lea    0x58(%edi),%eax
40c3f7:	50                   	push   %eax
40c3f8:	6a 06                	push   $0x6
40c3fa:	e9 06 01 00 00       	jmp    0x40c505
40c3ff:	e8 b3 fb ff ff       	call   0x40bfb7
40c404:	68 70 36 41 00       	push   $0x413670
40c409:	8d 4c 24 14          	lea    0x14(%esp),%ecx
40c40d:	e8 00 70 ff ff       	call   0x403412
40c412:	8b f0                	mov    %eax,%esi
40c414:	ff 15 e8 20 41 00    	call   *0x4120e8
40c41a:	8b d6                	mov    %esi,%edx
40c41c:	8b c8                	mov    %eax,%ecx
40c41e:	e8 e6 11 00 00       	call   0x40d609
40c423:	8b 4c 24 10          	mov    0x10(%esp),%ecx
40c427:	8b f0                	mov    %eax,%esi
40c429:	e8 ff 95 ff ff       	call   0x405a2d
40c42e:	85 f6                	test   %esi,%esi
40c430:	75 18                	jne    0x40c44a
40c432:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40c436:	e8 79 11 00 00       	call   0x40d5b4
40c43b:	8d 47 5c             	lea    0x5c(%edi),%eax
40c43e:	50                   	push   %eax
40c43f:	8d 47 58             	lea    0x58(%edi),%eax
40c442:	50                   	push   %eax
40c443:	6a 03                	push   $0x3
40c445:	e9 bb 00 00 00       	jmp    0x40c505
40c44a:	8b 4f 2c             	mov    0x2c(%edi),%ecx
40c44d:	e8 42 28 00 00       	call   0x40ec94
40c452:	85 c0                	test   %eax,%eax
40c454:	75 18                	jne    0x40c46e
40c456:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40c45a:	e8 55 11 00 00       	call   0x40d5b4
40c45f:	8d 47 5c             	lea    0x5c(%edi),%eax
40c462:	50                   	push   %eax
40c463:	8d 47 58             	lea    0x58(%edi),%eax
40c466:	50                   	push   %eax
40c467:	6a 05                	push   $0x5
40c469:	e9 97 00 00 00       	jmp    0x40c505
40c46e:	8b 35 e4 21 41 00    	mov    0x4121e4,%esi
40c474:	68 e8 03 00 00       	push   $0x3e8
40c479:	ff d6                	call   *%esi
40c47b:	8b 47 48             	mov    0x48(%edi),%eax
40c47e:	85 c0                	test   %eax,%eax
40c480:	74 41                	je     0x40c4c3
40c482:	8b f3                	mov    %ebx,%esi
40c484:	3b f0                	cmp    %eax,%esi
40c486:	0f 92 c1             	setb   %cl
40c489:	e8 9d 93 ff ff       	call   0x40582b
40c48e:	8b 47 40             	mov    0x40(%edi),%eax
40c491:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40c495:	8d 04 b0             	lea    (%eax,%esi,4),%eax
40c498:	50                   	push   %eax
40c499:	e8 bc 6f ff ff       	call   0x40345a
40c49e:	8d 44 24 10          	lea    0x10(%esp),%eax
40c4a2:	50                   	push   %eax
40c4a3:	e8 e1 f3 ff ff       	call   0x40b889
40c4a8:	8b 4c 24 10          	mov    0x10(%esp),%ecx
40c4ac:	e8 7c 95 ff ff       	call   0x405a2d
40c4b1:	8b 47 48             	mov    0x48(%edi),%eax
40c4b4:	46                   	inc    %esi
40c4b5:	89 5c 24 10          	mov    %ebx,0x10(%esp)
40c4b9:	3b f0                	cmp    %eax,%esi
40c4bb:	72 c9                	jb     0x40c486
40c4bd:	8b 35 e4 21 41 00    	mov    0x4121e4,%esi
40c4c3:	68 f4 01 00 00       	push   $0x1f4
40c4c8:	ff d6                	call   *%esi
40c4ca:	8d 47 28             	lea    0x28(%edi),%eax
40c4cd:	50                   	push   %eax
40c4ce:	8d 4c 24 14          	lea    0x14(%esp),%ecx
40c4d2:	e8 83 6f ff ff       	call   0x40345a
40c4d7:	8d 44 24 10          	lea    0x10(%esp),%eax
40c4db:	50                   	push   %eax
40c4dc:	e8 a8 f3 ff ff       	call   0x40b889
40c4e1:	8b 4c 24 10          	mov    0x10(%esp),%ecx
40c4e5:	e8 43 95 ff ff       	call   0x405a2d
40c4ea:	68 f4 01 00 00       	push   $0x1f4
40c4ef:	ff d6                	call   *%esi
40c4f1:	51                   	push   %ecx
40c4f2:	e8 c5 f4 ff ff       	call   0x40b9bc
40c4f7:	85 c0                	test   %eax,%eax
40c4f9:	75 2e                	jne    0x40c529
40c4fb:	8d 47 5c             	lea    0x5c(%edi),%eax
40c4fe:	50                   	push   %eax
40c4ff:	8d 47 58             	lea    0x58(%edi),%eax
40c502:	50                   	push   %eax
40c503:	6a 07                	push   $0x7
40c505:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
40c509:	e8 e3 82 ff ff       	call   0x4047f1
40c50e:	8b 4f 60             	mov    0x60(%edi),%ecx
40c511:	50                   	push   %eax
40c512:	e8 3c 86 ff ff       	call   0x404b53
40c517:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40c51b:	e8 ae 82 ff ff       	call   0x4047ce
40c520:	57                   	push   %edi
40c521:	ff 15 40 21 41 00    	call   *0x412140
40c527:	eb 41                	jmp    0x40c56a
40c529:	e8 c5 16 00 00       	call   0x40dbf3
40c52e:	83 f8 01             	cmp    $0x1,%eax
40c531:	75 09                	jne    0x40c53c
40c533:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40c537:	e8 78 10 00 00       	call   0x40d5b4
40c53c:	8d 47 5c             	lea    0x5c(%edi),%eax
40c53f:	50                   	push   %eax
40c540:	8d 47 58             	lea    0x58(%edi),%eax
40c543:	50                   	push   %eax
40c544:	53                   	push   %ebx
40c545:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
40c549:	e8 a3 82 ff ff       	call   0x4047f1
40c54e:	8b 4f 60             	mov    0x60(%edi),%ecx
40c551:	50                   	push   %eax
40c552:	e8 fc 85 ff ff       	call   0x404b53
40c557:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40c55b:	e8 6e 82 ff ff       	call   0x4047ce
40c560:	57                   	push   %edi
40c561:	ff 15 40 21 41 00    	call   *0x412140
40c567:	6a 08                	push   $0x8
40c569:	5b                   	pop    %ebx
40c56a:	8d 4c 24 20          	lea    0x20(%esp),%ecx
40c56e:	e8 f3 68 ff ff       	call   0x402e66
40c573:	5f                   	pop    %edi
40c574:	5e                   	pop    %esi
40c575:	8b c3                	mov    %ebx,%eax
40c577:	5b                   	pop    %ebx
40c578:	8b e5                	mov    %ebp,%esp
40c57a:	5d                   	pop    %ebp
40c57b:	c3                   	ret
40c57c:	55                   	push   %ebp
40c57d:	8b ec                	mov    %esp,%ebp
40c57f:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c582:	e8 cc fc ff ff       	call   0x40c253
40c587:	5d                   	pop    %ebp
40c588:	c2 04 00             	ret    $0x4
40c58b:	8b 0d 34 7d 41 00    	mov    0x417d34,%ecx
40c591:	53                   	push   %ebx
40c592:	e8 96 94 ff ff       	call   0x405a2d
40c597:	8b 0d 30 7d 41 00    	mov    0x417d30,%ecx
40c59d:	33 db                	xor    %ebx,%ebx
40c59f:	89 1d 34 7d 41 00    	mov    %ebx,0x417d34
40c5a5:	e8 83 94 ff ff       	call   0x405a2d
40c5aa:	a1 18 7d 41 00       	mov    0x417d18,%eax
40c5af:	89 1d 30 7d 41 00    	mov    %ebx,0x417d30
40c5b5:	85 c0                	test   %eax,%eax
40c5b7:	74 1f                	je     0x40c5d8
40c5b9:	56                   	push   %esi
40c5ba:	8b 70 fc             	mov    -0x4(%eax),%esi
40c5bd:	57                   	push   %edi
40c5be:	8d 3c b0             	lea    (%eax,%esi,4),%edi
40c5c1:	85 f6                	test   %esi,%esi
40c5c3:	74 11                	je     0x40c5d6
40c5c5:	8d 7f fc             	lea    -0x4(%edi),%edi
40c5c8:	8b 0f                	mov    (%edi),%ecx
40c5ca:	e8 5e 94 ff ff       	call   0x405a2d
40c5cf:	89 1f                	mov    %ebx,(%edi)
40c5d1:	83 ee 01             	sub    $0x1,%esi
40c5d4:	75 ef                	jne    0x40c5c5
40c5d6:	5f                   	pop    %edi
40c5d7:	5e                   	pop    %esi
40c5d8:	8b 0d 14 7d 41 00    	mov    0x417d14,%ecx
40c5de:	89 1d 18 7d 41 00    	mov    %ebx,0x417d18
40c5e4:	89 1d 20 7d 41 00    	mov    %ebx,0x417d20
40c5ea:	89 1d 1c 7d 41 00    	mov    %ebx,0x417d1c
40c5f0:	e8 38 94 ff ff       	call   0x405a2d
40c5f5:	8b 0d 10 7d 41 00    	mov    0x417d10,%ecx
40c5fb:	89 1d 14 7d 41 00    	mov    %ebx,0x417d14
40c601:	e8 27 94 ff ff       	call   0x405a2d
40c606:	8b 0d 0c 7d 41 00    	mov    0x417d0c,%ecx
40c60c:	89 1d 10 7d 41 00    	mov    %ebx,0x417d10
40c612:	e8 16 94 ff ff       	call   0x405a2d
40c617:	8b 0d 08 7d 41 00    	mov    0x417d08,%ecx
40c61d:	89 1d 0c 7d 41 00    	mov    %ebx,0x417d0c
40c623:	e8 05 94 ff ff       	call   0x405a2d
40c628:	8b 0d 00 7d 41 00    	mov    0x417d00,%ecx
40c62e:	89 1d 08 7d 41 00    	mov    %ebx,0x417d08
40c634:	e8 f4 93 ff ff       	call   0x405a2d
40c639:	8b 0d fc 7c 41 00    	mov    0x417cfc,%ecx
40c63f:	89 1d 00 7d 41 00    	mov    %ebx,0x417d00
40c645:	e8 e3 93 ff ff       	call   0x405a2d
40c64a:	8b 0d f8 7c 41 00    	mov    0x417cf8,%ecx
40c650:	89 1d fc 7c 41 00    	mov    %ebx,0x417cfc
40c656:	e8 d2 93 ff ff       	call   0x405a2d
40c65b:	a1 f0 7c 41 00       	mov    0x417cf0,%eax
40c660:	89 1d f8 7c 41 00    	mov    %ebx,0x417cf8
40c666:	5b                   	pop    %ebx
40c667:	85 c0                	test   %eax,%eax
40c669:	74 07                	je     0x40c672
40c66b:	50                   	push   %eax
40c66c:	ff 15 00 22 41 00    	call   *0x412200
40c672:	68 d8 7c 41 00       	push   $0x417cd8
40c677:	ff 15 48 21 41 00    	call   *0x412148
40c67d:	c3                   	ret
40c67e:	55                   	push   %ebp
40c67f:	8b ec                	mov    %esp,%ebp
40c681:	83 ec 28             	sub    $0x28,%esp
40c684:	8d 45 d8             	lea    -0x28(%ebp),%eax
40c687:	53                   	push   %ebx
40c688:	56                   	push   %esi
40c689:	57                   	push   %edi
40c68a:	50                   	push   %eax
40c68b:	ff 15 44 21 41 00    	call   *0x412144
40c691:	6a 06                	push   $0x6
40c693:	59                   	pop    %ecx
40c694:	8d 45 d8             	lea    -0x28(%ebp),%eax
40c697:	bf d8 7c 41 00       	mov    $0x417cd8,%edi
40c69c:	8d 75 d8             	lea    -0x28(%ebp),%esi
40c69f:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40c6a1:	50                   	push   %eax
40c6a2:	ff 15 48 21 41 00    	call   *0x412148
40c6a8:	be d8 7c 41 00       	mov    $0x417cd8,%esi
40c6ad:	56                   	push   %esi
40c6ae:	ff 15 3c 21 41 00    	call   *0x41213c
40c6b4:	8b 7d 08             	mov    0x8(%ebp),%edi
40c6b7:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40c6ba:	89 3d 38 7d 41 00    	mov    %edi,0x417d38
40c6c0:	c7 05 2c 7d 41 00 b8 	movl   $0x416cb8,0x417d2c
40c6c7:	6c 41 00
40c6ca:	89 1d 28 7d 41 00    	mov    %ebx,0x417d28
40c6d0:	e8 cb fa ff ff       	call   0x40c1a0
40c6d5:	85 c0                	test   %eax,%eax
40c6d7:	0f 84 fb 00 00 00    	je     0x40c7d8
40c6dd:	68 04 36 41 00       	push   $0x413604
40c6e2:	8d 4d 08             	lea    0x8(%ebp),%ecx
40c6e5:	e8 28 6d ff ff       	call   0x403412
40c6ea:	50                   	push   %eax
40c6eb:	8d 45 0c             	lea    0xc(%ebp),%eax
40c6ee:	8b cb                	mov    %ebx,%ecx
40c6f0:	50                   	push   %eax
40c6f1:	e8 9f 2d 00 00       	call   0x40f495
40c6f6:	50                   	push   %eax
40c6f7:	b9 30 7d 41 00       	mov    $0x417d30,%ecx
40c6fc:	e8 63 6b ff ff       	call   0x403264
40c701:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40c704:	e8 24 93 ff ff       	call   0x405a2d
40c709:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c70c:	33 f6                	xor    %esi,%esi
40c70e:	89 75 0c             	mov    %esi,0xc(%ebp)
40c711:	e8 17 93 ff ff       	call   0x405a2d
40c716:	68 10 36 41 00       	push   $0x413610
40c71b:	8d 4d 08             	lea    0x8(%ebp),%ecx
40c71e:	e8 ef 6c ff ff       	call   0x403412
40c723:	50                   	push   %eax
40c724:	8d 45 0c             	lea    0xc(%ebp),%eax
40c727:	8b cb                	mov    %ebx,%ecx
40c729:	50                   	push   %eax
40c72a:	e8 66 2d 00 00       	call   0x40f495
40c72f:	bb 34 7d 41 00       	mov    $0x417d34,%ebx
40c734:	50                   	push   %eax
40c735:	8b cb                	mov    %ebx,%ecx
40c737:	e8 28 6b ff ff       	call   0x403264
40c73c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40c73f:	e8 e9 92 ff ff       	call   0x405a2d
40c744:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c747:	89 75 0c             	mov    %esi,0xc(%ebp)
40c74a:	e8 de 92 ff ff       	call   0x405a2d
40c74f:	b9 30 7d 41 00       	mov    $0x417d30,%ecx
40c754:	e8 35 69 ff ff       	call   0x40308e
40c759:	85 c0                	test   %eax,%eax
40c75b:	75 53                	jne    0x40c7b0
40c75d:	8b cb                	mov    %ebx,%ecx
40c75f:	e8 2a 69 ff ff       	call   0x40308e
40c764:	85 c0                	test   %eax,%eax
40c766:	75 48                	jne    0x40c7b0
40c768:	bb 08 26 41 00       	mov    $0x412608,%ebx
40c76d:	8d 4d 08             	lea    0x8(%ebp),%ecx
40c770:	53                   	push   %ebx
40c771:	e8 9c 6c ff ff       	call   0x403412
40c776:	50                   	push   %eax
40c777:	53                   	push   %ebx
40c778:	8d 4d 0c             	lea    0xc(%ebp),%ecx
40c77b:	e8 92 6c ff ff       	call   0x403412
40c780:	50                   	push   %eax
40c781:	6a 08                	push   $0x8
40c783:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40c786:	e8 66 80 ff ff       	call   0x4047f1
40c78b:	50                   	push   %eax
40c78c:	8b cf                	mov    %edi,%ecx
40c78e:	e8 c0 83 ff ff       	call   0x404b53
40c793:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40c796:	e8 33 80 ff ff       	call   0x4047ce
40c79b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40c79e:	e8 8a 92 ff ff       	call   0x405a2d
40c7a3:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c7a6:	89 75 0c             	mov    %esi,0xc(%ebp)
40c7a9:	e8 7f 92 ff ff       	call   0x405a2d
40c7ae:	eb 20                	jmp    0x40c7d0
40c7b0:	53                   	push   %ebx
40c7b1:	68 30 7d 41 00       	push   $0x417d30
40c7b6:	6a 08                	push   $0x8
40c7b8:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40c7bb:	e8 31 80 ff ff       	call   0x4047f1
40c7c0:	50                   	push   %eax
40c7c1:	8b cf                	mov    %edi,%ecx
40c7c3:	e8 8b 83 ff ff       	call   0x404b53
40c7c8:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40c7cb:	e8 fe 7f ff ff       	call   0x4047ce
40c7d0:	33 f6                	xor    %esi,%esi
40c7d2:	46                   	inc    %esi
40c7d3:	e9 04 01 00 00       	jmp    0x40c8dc
40c7d8:	e8 db 0c 00 00       	call   0x40d4b8
40c7dd:	83 f8 06             	cmp    $0x6,%eax
40c7e0:	0f 82 6d 01 00 00    	jb     0x40c953
40c7e6:	e8 7e 0c 00 00       	call   0x40d469
40c7eb:	85 c0                	test   %eax,%eax
40c7ed:	0f 85 60 01 00 00    	jne    0x40c953
40c7f3:	e8 9f 13 00 00       	call   0x40db97
40c7f8:	83 f8 01             	cmp    $0x1,%eax
40c7fb:	74 2b                	je     0x40c828
40c7fd:	68 34 7d 41 00       	push   $0x417d34
40c802:	68 30 7d 41 00       	push   $0x417d30
40c807:	6a 01                	push   $0x1
40c809:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40c80c:	e8 e0 7f ff ff       	call   0x4047f1
40c811:	50                   	push   %eax
40c812:	8b cf                	mov    %edi,%ecx
40c814:	e8 3a 83 ff ff       	call   0x404b53
40c819:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40c81c:	e8 ad 7f ff ff       	call   0x4047ce
40c821:	33 f6                	xor    %esi,%esi
40c823:	e9 b4 00 00 00       	jmp    0x40c8dc
40c828:	6a 08                	push   $0x8
40c82a:	5a                   	pop    %edx
40c82b:	8d 4d 08             	lea    0x8(%ebp),%ecx
40c82e:	e8 a1 6a ff ff       	call   0x4032d4
40c833:	50                   	push   %eax
40c834:	b9 30 7d 41 00       	mov    $0x417d30,%ecx
40c839:	e8 26 6a ff ff       	call   0x403264
40c83e:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c841:	e8 e7 91 ff ff       	call   0x405a2d
40c846:	6a 08                	push   $0x8
40c848:	5a                   	pop    %edx
40c849:	8d 4d 08             	lea    0x8(%ebp),%ecx