408324:	8b cc                	mov    %esp,%ecx
408326:	50                   	push   %eax
408327:	e8 e6 b0 ff ff       	call   0x403412
40832c:	8d 4c 24 6c          	lea    0x6c(%esp),%ecx
408330:	e8 90 5b 00 00       	call   0x40dec5
408335:	8b 1d 90 66 41 00    	mov    0x416690,%ebx
40833b:	8b f8                	mov    %eax,%edi
40833d:	59                   	pop    %ecx
40833e:	8d 8b 18 0a 00 00    	lea    0xa18(%ebx),%ecx
408344:	e8 cc 94 ff ff       	call   0x401815
408349:	33 f6                	xor    %esi,%esi
40834b:	39 77 08             	cmp    %esi,0x8(%edi)
40834e:	76 1f                	jbe    0x40836f
408350:	83 ec 18             	sub    $0x18,%esp
408353:	8b cf                	mov    %edi,%ecx
408355:	8b c4                	mov    %esp,%eax
408357:	56                   	push   %esi
408358:	50                   	push   %eax
408359:	e8 04 95 ff ff       	call   0x401862
40835e:	8d 8b 18 0a 00 00    	lea    0xa18(%ebx),%ecx
408364:	e8 ad 93 ff ff       	call   0x401716
408369:	46                   	inc    %esi
40836a:	3b 77 08             	cmp    0x8(%edi),%esi
40836d:	72 e1                	jb     0x408350
40836f:	8b 4c 24 68          	mov    0x68(%esp),%ecx
408373:	85 c9                	test   %ecx,%ecx
408375:	74 06                	je     0x40837d
408377:	51                   	push   %ecx
408378:	e8 f8 96 ff ff       	call   0x401a75
40837d:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
408381:	33 ff                	xor    %edi,%edi
408383:	6a 04                	push   $0x4
408385:	5a                   	pop    %edx
408386:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
40838a:	e8 45 af ff ff       	call   0x4032d4
40838f:	68 2c 29 41 00       	push   $0x41292c
408394:	8d 4c 24 14          	lea    0x14(%esp),%ecx
408398:	8b f0                	mov    %eax,%esi
40839a:	e8 f8 ae ff ff       	call   0x403297
40839f:	56                   	push   %esi
4083a0:	8b c8                	mov    %eax,%ecx
4083a2:	e8 bb ad ff ff       	call   0x403162
4083a7:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4083ab:	e8 7d d6 ff ff       	call   0x405a2d
4083b0:	a1 90 66 41 00       	mov    0x416690,%eax
4083b5:	89 7c 24 0c          	mov    %edi,0xc(%esp)
4083b9:	39 b8 14 0a 00 00    	cmp    %edi,0xa14(%eax)
4083bf:	0f 84 94 00 00 00    	je     0x408459
4083c5:	8d 44 24 14          	lea    0x14(%esp),%eax
4083c9:	50                   	push   %eax
4083ca:	ff 15 9c 20 41 00    	call   *0x41209c
4083d0:	0f b7 44 24 20       	movzwl 0x20(%esp),%eax
4083d5:	50                   	push   %eax
4083d6:	0f b7 44 24 22       	movzwl 0x22(%esp),%eax
4083db:	50                   	push   %eax
4083dc:	0f b7 44 24 24       	movzwl 0x24(%esp),%eax
4083e1:	50                   	push   %eax
4083e2:	0f b7 44 24 20       	movzwl 0x20(%esp),%eax
4083e7:	50                   	push   %eax
4083e8:	0f b7 44 24 26       	movzwl 0x26(%esp),%eax
4083ed:	50                   	push   %eax
4083ee:	0f b7 44 24 2e       	movzwl 0x2e(%esp),%eax
4083f3:	50                   	push   %eax
4083f4:	8d 84 24 90 00 00 00 	lea    0x90(%esp),%eax
4083fb:	68 54 29 41 00       	push   $0x412954
408400:	50                   	push   %eax
408401:	ff 15 9c 22 41 00    	call   *0x41229c
408407:	8b 0d 90 66 41 00    	mov    0x416690,%ecx
40840d:	8d 84 24 98 00 00 00 	lea    0x98(%esp),%eax
408414:	83 c4 20             	add    $0x20,%esp
408417:	50                   	push   %eax
408418:	8d 41 10             	lea    0x10(%ecx),%eax
40841b:	83 c1 0c             	add    $0xc,%ecx
40841e:	50                   	push   %eax
40841f:	e8 73 ae ff ff       	call   0x403297
408424:	8b c8                	mov    %eax,%ecx
408426:	e8 6c ae ff ff       	call   0x403297
40842b:	a1 90 66 41 00       	mov    0x416690,%eax
408430:	57                   	push   %edi
408431:	68 80 00 00 00       	push   $0x80
408436:	6a 02                	push   $0x2
408438:	57                   	push   %edi
408439:	6a 01                	push   $0x1
40843b:	68 00 00 00 10       	push   $0x10000000
408440:	ff 70 0c             	push   0xc(%eax)
408443:	ff 15 94 20 41 00    	call   *0x412094
408449:	8b 0d 90 66 41 00    	mov    0x416690,%ecx
40844f:	50                   	push   %eax
408450:	89 41 04             	mov    %eax,0x4(%ecx)
408453:	ff 15 00 22 41 00    	call   *0x412200
408459:	8b 44 24 10          	mov    0x10(%esp),%eax
40845d:	89 44 24 64          	mov    %eax,0x64(%esp)
408461:	8d 44 24 40          	lea    0x40(%esp),%eax
408465:	50                   	push   %eax
408466:	c7 44 24 48 b3 7c 40 	movl   $0x407cb3,0x48(%esp)
40846d:	00
40846e:	89 5c 24 54          	mov    %ebx,0x54(%esp)
408472:	ff 15 ac 22 41 00    	call   *0x4122ac
408478:	ff 75 08             	push   0x8(%ebp)
40847b:	53                   	push   %ebx
40847c:	57                   	push   %edi
40847d:	6a fd                	push   $0xfffffffd
40847f:	57                   	push   %edi
408480:	57                   	push   %edi
408481:	57                   	push   %edi
408482:	57                   	push   %edi
408483:	57                   	push   %edi
408484:	57                   	push   %edi
408485:	ff b4 24 8c 00 00 00 	push   0x8c(%esp)
40848c:	57                   	push   %edi
40848d:	ff 15 94 22 41 00    	call   *0x412294
408493:	6a 07                	push   $0x7
408495:	59                   	pop    %ecx
408496:	8b d8                	mov    %eax,%ebx
408498:	8d 7c 24 24          	lea    0x24(%esp),%edi
40849c:	33 c0                	xor    %eax,%eax
40849e:	50                   	push   %eax
40849f:	50                   	push   %eax
4084a0:	f3 ab                	rep stos %eax,%es:(%edi)
4084a2:	8b 3d 8c 22 41 00    	mov    0x41228c,%edi
4084a8:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4084ac:	53                   	push   %ebx
4084ad:	50                   	push   %eax
4084ae:	ff d7                	call   *%edi
4084b0:	85 c0                	test   %eax,%eax
4084b2:	74 2d                	je     0x4084e1
4084b4:	83 ce ff             	or     $0xffffffff,%esi
4084b7:	3b c6                	cmp    %esi,%eax
4084b9:	74 2a                	je     0x4084e5
4084bb:	8d 44 24 24          	lea    0x24(%esp),%eax
4084bf:	50                   	push   %eax
4084c0:	ff 15 c0 22 41 00    	call   *0x4122c0
4084c6:	8d 44 24 24          	lea    0x24(%esp),%eax
4084ca:	50                   	push   %eax
4084cb:	ff 15 90 22 41 00    	call   *0x412290
4084d1:	6a 00                	push   $0x0
4084d3:	6a 00                	push   $0x0
4084d5:	53                   	push   %ebx
4084d6:	8d 44 24 30          	lea    0x30(%esp),%eax
4084da:	50                   	push   %eax
4084db:	ff d7                	call   *%edi
4084dd:	85 c0                	test   %eax,%eax
4084df:	75 d6                	jne    0x4084b7
4084e1:	8b 74 24 2c          	mov    0x2c(%esp),%esi
4084e5:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4084e9:	e8 3f d5 ff ff       	call   0x405a2d
4084ee:	5f                   	pop    %edi
4084ef:	8b c6                	mov    %esi,%eax
4084f1:	5e                   	pop    %esi
4084f2:	5b                   	pop    %ebx
4084f3:	8b e5                	mov    %ebp,%esp
4084f5:	5d                   	pop    %ebp
4084f6:	c2 04 00             	ret    $0x4
4084f9:	a1 90 66 41 00       	mov    0x416690,%eax
4084fe:	8b 80 50 0a 00 00    	mov    0xa50(%eax),%eax
408504:	c3                   	ret
408505:	a1 14 78 41 00       	mov    0x417814,%eax
40850a:	56                   	push   %esi
40850b:	8b 35 00 22 41 00    	mov    0x412200,%esi
408511:	85 c0                	test   %eax,%eax
408513:	74 03                	je     0x408518
408515:	50                   	push   %eax
408516:	ff d6                	call   *%esi
408518:	a1 0c 78 41 00       	mov    0x41780c,%eax
40851d:	85 c0                	test   %eax,%eax
40851f:	74 03                	je     0x408524
408521:	50                   	push   %eax
408522:	ff d6                	call   *%esi
408524:	b9 f4 77 41 00       	mov    $0x4177f4,%ecx
408529:	e8 5d 59 00 00       	call   0x40de8b
40852e:	68 c8 77 41 00       	push   $0x4177c8
408533:	ff 15 48 21 41 00    	call   *0x412148
408539:	8b 0d b8 77 41 00    	mov    0x4177b8,%ecx
40853f:	85 c9                	test   %ecx,%ecx
408541:	74 06                	je     0x408549
408543:	51                   	push   %ecx
408544:	e8 2c 95 ff ff       	call   0x401a75
408549:	8b 0d ac 6d 41 00    	mov    0x416dac,%ecx
40854f:	33 f6                	xor    %esi,%esi
408551:	89 35 b8 77 41 00    	mov    %esi,0x4177b8
408557:	89 35 c0 77 41 00    	mov    %esi,0x4177c0
40855d:	89 35 bc 77 41 00    	mov    %esi,0x4177bc
408563:	e8 c5 d4 ff ff       	call   0x405a2d
408568:	89 35 ac 6d 41 00    	mov    %esi,0x416dac
40856e:	5e                   	pop    %esi
40856f:	c3                   	ret
408570:	56                   	push   %esi
408571:	be c8 77 41 00       	mov    $0x4177c8,%esi
408576:	56                   	push   %esi
408577:	ff 15 3c 21 41 00    	call   *0x41213c
40857d:	83 3d a0 6d 41 00 00 	cmpl   $0x0,0x416da0
408584:	74 25                	je     0x4085ab
408586:	b9 0c 78 41 00       	mov    $0x41780c,%ecx
40858b:	e8 0a 99 ff ff       	call   0x401e9a
408590:	83 25 a0 6d 41 00 00 	andl   $0x0,0x416da0
408597:	b9 14 78 41 00       	mov    $0x417814,%ecx
40859c:	68 a0 6d 41 00       	push   $0x416da0
4085a1:	68 b4 74 40 00       	push   $0x4074b4
4085a6:	e8 c4 98 ff ff       	call   0x401e6f
4085ab:	56                   	push   %esi
4085ac:	ff 15 40 21 41 00    	call   *0x412140
4085b2:	5e                   	pop    %esi
4085b3:	c2 04 00             	ret    $0x4
4085b6:	55                   	push   %ebp
4085b7:	8b ec                	mov    %esp,%ebp
4085b9:	83 ec 18             	sub    $0x18,%esp
4085bc:	8d 45 e8             	lea    -0x18(%ebp),%eax
4085bf:	56                   	push   %esi
4085c0:	57                   	push   %edi
4085c1:	50                   	push   %eax
4085c2:	ff 15 44 21 41 00    	call   *0x412144
4085c8:	6a 06                	push   $0x6
4085ca:	59                   	pop    %ecx
4085cb:	8d 45 e8             	lea    -0x18(%ebp),%eax
4085ce:	bf c8 77 41 00       	mov    $0x4177c8,%edi
4085d3:	8d 75 e8             	lea    -0x18(%ebp),%esi
4085d6:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4085d8:	50                   	push   %eax
4085d9:	ff 15 48 21 41 00    	call   *0x412148
4085df:	bf c8 77 41 00       	mov    $0x4177c8,%edi
4085e4:	57                   	push   %edi
4085e5:	ff 15 3c 21 41 00    	call   *0x41213c
4085eb:	8b 45 08             	mov    0x8(%ebp),%eax
4085ee:	6a 00                	push   $0x0
4085f0:	a3 f0 77 41 00       	mov    %eax,0x4177f0
4085f5:	ff 15 ac 21 41 00    	call   *0x4121ac
4085fb:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4085ff:	be a0 6d 41 00       	mov    $0x416da0,%esi
408604:	89 35 90 66 41 00    	mov    %esi,0x416690
40860a:	b9 14 78 41 00       	mov    $0x417814,%ecx
40860f:	74 17                	je     0x408628
408611:	56                   	push   %esi
408612:	68 b4 74 40 00       	push   $0x4074b4
408617:	e8 53 98 ff ff       	call   0x401e6f
40861c:	c7 05 b4 77 41 00 01 	movl   $0x1,0x4177b4
408623:	00 00 00
408626:	eb 1f                	jmp    0x408647
408628:	e8 6d 98 ff ff       	call   0x401e9a
40862d:	56                   	push   %esi
40862e:	68 2f 82 40 00       	push   $0x40822f
408633:	b9 0c 78 41 00       	mov    $0x41780c,%ecx
408638:	c7 05 a0 6d 41 00 01 	movl   $0x1,0x416da0
40863f:	00 00 00
408642:	e8 28 98 ff ff       	call   0x401e6f
408647:	57                   	push   %edi
408648:	ff 15 40 21 41 00    	call   *0x412140
40864e:	5f                   	pop    %edi
40864f:	5e                   	pop    %esi
408650:	c9                   	leave
408651:	c2 08 00             	ret    $0x8
408654:	56                   	push   %esi
408655:	6a 05                	push   $0x5
408657:	58                   	pop    %eax
408658:	33 f6                	xor    %esi,%esi
40865a:	a3 c4 77 41 00       	mov    %eax,0x4177c4
40865f:	b9 b8 77 41 00       	mov    $0x4177b8,%ecx
408664:	89 35 ac 6d 41 00    	mov    %esi,0x416dac
40866a:	a3 bc 77 41 00       	mov    %eax,0x4177bc
40866f:	89 35 c0 77 41 00    	mov    %esi,0x4177c0
408675:	e8 9b 91 ff ff       	call   0x401815
40867a:	68 c8 77 41 00       	push   $0x4177c8
40867f:	ff 15 44 21 41 00    	call   *0x412144
408685:	b9 f4 77 41 00       	mov    $0x4177f4,%ecx
40868a:	e8 dd 57 00 00       	call   0x40de6c
40868f:	0f 57 c0             	xorps  %xmm0,%xmm0
408692:	89 35 e0 77 41 00    	mov    %esi,0x4177e0
408698:	68 e4 28 41 00       	push   $0x4128e4
40869d:	0f 11 05 0c 78 41 00 	movups %xmm0,0x41780c
4086a4:	89 35 f0 77 41 00    	mov    %esi,0x4177f0
4086aa:	ff 15 98 20 41 00    	call   *0x412098
4086b0:	8b f0                	mov    %eax,%esi
4086b2:	ba fc 28 41 00       	mov    $0x4128fc,%edx
4086b7:	51                   	push   %ecx
4086b8:	8b ce                	mov    %esi,%ecx
4086ba:	e8 48 62 00 00       	call   0x40e907
4086bf:	ba 0c 29 41 00       	mov    $0x41290c,%edx
4086c4:	a3 e4 77 41 00       	mov    %eax,0x4177e4
4086c9:	8b ce                	mov    %esi,%ecx
4086cb:	e8 37 62 00 00       	call   0x40e907
4086d0:	ba 18 29 41 00       	mov    $0x412918,%edx
4086d5:	a3 ec 77 41 00       	mov    %eax,0x4177ec
4086da:	8b ce                	mov    %esi,%ecx
4086dc:	e8 26 62 00 00       	call   0x40e907
4086e1:	59                   	pop    %ecx
4086e2:	a3 e8 77 41 00       	mov    %eax,0x4177e8
4086e7:	b8 a0 6d 41 00       	mov    $0x416da0,%eax
4086ec:	5e                   	pop    %esi
4086ed:	c3                   	ret
4086ee:	8b 49 04             	mov    0x4(%ecx),%ecx
4086f1:	e9 cd 59 00 00       	jmp    0x40e0c3
4086f6:	55                   	push   %ebp
4086f7:	8b ec                	mov    %esp,%ebp
4086f9:	83 ec 0c             	sub    $0xc,%esp
4086fc:	8d 45 fc             	lea    -0x4(%ebp),%eax
4086ff:	56                   	push   %esi
408700:	8b f1                	mov    %ecx,%esi
408702:	8b 4d 08             	mov    0x8(%ebp),%ecx
408705:	50                   	push   %eax
408706:	e8 76 ac ff ff       	call   0x403381
40870b:	51                   	push   %ecx
40870c:	51                   	push   %ecx
40870d:	8b 4e 04             	mov    0x4(%esi),%ecx
408710:	e8 79 56 00 00       	call   0x40dd8e
408715:	85 c0                	test   %eax,%eax
408717:	74 28                	je     0x408741
408719:	51                   	push   %ecx
40871a:	8d 45 fc             	lea    -0x4(%ebp),%eax
40871d:	50                   	push   %eax
40871e:	8d 4d f4             	lea    -0xc(%ebp),%ecx
408721:	e8 0d a7 ff ff       	call   0x402e33
408726:	8b 4e 04             	mov    0x4(%esi),%ecx
408729:	50                   	push   %eax
40872a:	e8 ac 59 00 00       	call   0x40e0db
40872f:	8d 4d f4             	lea    -0xc(%ebp),%ecx
408732:	e8 2f a7 ff ff       	call   0x402e66
408737:	8b 4e 04             	mov    0x4(%esi),%ecx
40873a:	e8 84 59 00 00       	call   0x40e0c3
40873f:	eb 06                	jmp    0x408747
408741:	ff 15 0c 22 41 00    	call   *0x41220c
408747:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40874a:	e8 de d2 ff ff       	call   0x405a2d
40874f:	5e                   	pop    %esi
408750:	c9                   	leave
408751:	c2 04 00             	ret    $0x4
408754:	55                   	push   %ebp
408755:	8b ec                	mov    %esp,%ebp
408757:	56                   	push   %esi
408758:	57                   	push   %edi
408759:	8b f9                	mov    %ecx,%edi
40875b:	6a 18                	push   $0x18
40875d:	59                   	pop    %ecx
40875e:	e8 78 d3 ff ff       	call   0x405adb
408763:	8b f0                	mov    %eax,%esi
408765:	85 f6                	test   %esi,%esi
408767:	74 16                	je     0x40877f
408769:	6a 01                	push   $0x1
40876b:	51                   	push   %ecx
40876c:	8b cc                	mov    %esp,%ecx
40876e:	ff 75 08             	push   0x8(%ebp)
408771:	e8 e4 ac ff ff       	call   0x40345a
408776:	8b ce                	mov    %esi,%ecx
408778:	e8 24 5a 00 00       	call   0x40e1a1
40877d:	eb 02                	jmp    0x408781
40877f:	33 c0                	xor    %eax,%eax
408781:	89 47 04             	mov    %eax,0x4(%edi)
408784:	5f                   	pop    %edi
408785:	5e                   	pop    %esi
408786:	5d                   	pop    %ebp
408787:	c2 04 00             	ret    $0x4
40878a:	c3                   	ret