40156a:	57                   	push   %edi
40156b:	33 c0                	xor    %eax,%eax
40156d:	68 fe 03 00 00       	push   $0x3fe
401572:	50                   	push   %eax
401573:	8d 8d 72 f5 ff ff    	lea    -0xa8e(%ebp),%ecx
401579:	51                   	push   %ecx
40157a:	66 89 85 70 f5 ff ff 	mov    %ax,-0xa90(%ebp)
401581:	e8 5a 6e 01 00       	call   0x4183e0
401586:	68 ff 00 00 00       	push   $0xff
40158b:	8d 95 79 fd ff ff    	lea    -0x287(%ebp),%edx
401591:	6a 00                	push   $0x0
401593:	52                   	push   %edx
401594:	c6 85 78 fd ff ff 00 	movb   $0x0,-0x288(%ebp)
40159b:	e8 40 6e 01 00       	call   0x4183e0
4015a0:	33 c0                	xor    %eax,%eax
4015a2:	68 06 02 00 00       	push   $0x206
4015a7:	50                   	push   %eax
4015a8:	8d 8d 72 fb ff ff    	lea    -0x48e(%ebp),%ecx
4015ae:	51                   	push   %ecx
4015af:	66 89 85 70 fb ff ff 	mov    %ax,-0x490(%ebp)
4015b6:	e8 25 6e 01 00       	call   0x4183e0
4015bb:	33 d2                	xor    %edx,%edx
4015bd:	68 fe 01 00 00       	push   $0x1fe
4015c2:	52                   	push   %edx
4015c3:	8d 85 72 f9 ff ff    	lea    -0x68e(%ebp),%eax
4015c9:	50                   	push   %eax
4015ca:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
4015d1:	66 89 95 70 f9 ff ff 	mov    %dx,-0x690(%ebp)
4015d8:	e8 03 6e 01 00       	call   0x4183e0
4015dd:	8b 75 08             	mov    0x8(%ebp),%esi
4015e0:	8b be d8 07 00 00    	mov    0x7d8(%esi),%edi
4015e6:	33 c0                	xor    %eax,%eax
4015e8:	8d 8d 70 f9 ff ff    	lea    -0x690(%ebp),%ecx
4015ee:	51                   	push   %ecx
4015ef:	56                   	push   %esi
4015f0:	66 c7 45 a4 3a 00    	movw   $0x3a,-0x5c(%ebp)
4015f6:	89 45 a6             	mov    %eax,-0x5a(%ebp)
4015f9:	89 45 aa             	mov    %eax,-0x56(%ebp)
4015fc:	89 45 ae             	mov    %eax,-0x52(%ebp)
4015ff:	66 89 45 b2          	mov    %ax,-0x4e(%ebp)
401603:	66 c7 85 78 ff ff ff 	movw   $0x31,-0x88(%ebp)
40160a:	31 00
40160c:	89 85 7a ff ff ff    	mov    %eax,-0x86(%ebp)
401612:	89 85 7e ff ff ff    	mov    %eax,-0x82(%ebp)
401618:	89 45 82             	mov    %eax,-0x7e(%ebp)
40161b:	66 89 45 86          	mov    %ax,-0x7a(%ebp)
40161f:	c7 45 88 33 2e 39 00 	movl   $0x392e33,-0x78(%ebp)
401626:	89 45 8c             	mov    %eax,-0x74(%ebp)
401629:	89 45 90             	mov    %eax,-0x70(%ebp)
40162c:	89 45 94             	mov    %eax,-0x6c(%ebp)
40162f:	c7 45 dc 46 42 4e 47 	movl   $0x474e4246,-0x24(%ebp)
401636:	66 c7 45 e0 3a 00    	movw   $0x3a,-0x20(%ebp)
40163c:	89 45 e2             	mov    %eax,-0x1e(%ebp)
40163f:	89 45 e6             	mov    %eax,-0x1a(%ebp)
401642:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
401646:	81 c7 00 20 00 00    	add    $0x2000,%edi
40164c:	e8 ff 8f 00 00       	call   0x40a650
401651:	83 c4 38             	add    $0x38,%esp
401654:	85 c0                	test   %eax,%eax
401656:	75 06                	jne    0x40165e
401658:	5f                   	pop    %edi
401659:	5e                   	pop    %esi
40165a:	8b e5                	mov    %ebp,%esp
40165c:	5d                   	pop    %ebp
40165d:	c3                   	ret
40165e:	8d 95 70 f9 ff ff    	lea    -0x690(%ebp),%edx
401664:	53                   	push   %ebx
401665:	52                   	push   %edx
401666:	e8 e5 6f 01 00       	call   0x418650
40166b:	03 c0                	add    %eax,%eax
40166d:	50                   	push   %eax
40166e:	8d 85 70 f9 ff ff    	lea    -0x690(%ebp),%eax
401674:	50                   	push   %eax
401675:	e8 c6 61 00 00       	call   0x407840
40167a:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40167d:	51                   	push   %ecx
40167e:	89 45 ec             	mov    %eax,-0x14(%ebp)
401681:	8d 9f 80 44 00 00    	lea    0x4480(%edi),%ebx
401687:	e8 a4 6f 01 00       	call   0x418630
40168c:	50                   	push   %eax
40168d:	8d 55 dc             	lea    -0x24(%ebp),%edx
401690:	52                   	push   %edx
401691:	53                   	push   %ebx
401692:	e8 c9 6c 01 00       	call   0x418360
401697:	53                   	push   %ebx
401698:	e8 93 6f 01 00       	call   0x418630
40169d:	8d 84 38 80 44 00 00 	lea    0x4480(%eax,%edi,1),%eax
4016a4:	50                   	push   %eax
4016a5:	6a 20                	push   $0x20
4016a7:	89 45 08             	mov    %eax,0x8(%ebp)
4016aa:	8b 45 ec             	mov    -0x14(%ebp),%eax
4016ad:	6a 10                	push   $0x10
4016af:	8d 4e 1c             	lea    0x1c(%esi),%ecx
4016b2:	50                   	push   %eax
4016b3:	51                   	push   %ecx
4016b4:	e8 d7 6e 01 00       	call   0x418590
4016b9:	6a 00                	push   $0x0
4016bb:	8d 4d 88             	lea    -0x78(%ebp),%ecx
4016be:	51                   	push   %ecx
4016bf:	53                   	push   %ebx
4016c0:	e8 9b 70 01 00       	call   0x418760
4016c5:	8b 55 08             	mov    0x8(%ebp),%edx
4016c8:	83 c4 40             	add    $0x40,%esp
4016cb:	6a 04                	push   $0x4
4016cd:	52                   	push   %edx
4016ce:	8d 86 94 0b 00 00    	lea    0xb94(%esi),%eax
4016d4:	50                   	push   %eax
4016d5:	e8 86 6c 01 00       	call   0x418360
4016da:	83 c4 0c             	add    $0xc,%esp
4016dd:	83 be 40 0b 00 00 00 	cmpl   $0x0,0xb40(%esi)
4016e4:	74 19                	je     0x4016ff
4016e6:	6a 00                	push   $0x0
4016e8:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
4016ee:	51                   	push   %ecx
4016ef:	53                   	push   %ebx
4016f0:	c7 47 08 01 00 00 00 	movl   $0x1,0x8(%edi)
4016f7:	e8 64 70 01 00       	call   0x418760
4016fc:	83 c4 0c             	add    $0xc,%esp
4016ff:	6a 00                	push   $0x0
401701:	8d 55 a4             	lea    -0x5c(%ebp),%edx
401704:	52                   	push   %edx
401705:	53                   	push   %ebx
401706:	e8 55 70 01 00       	call   0x418760
40170b:	6a 68                	push   $0x68
40170d:	8d 85 10 ff ff ff    	lea    -0xf0(%ebp),%eax
401713:	6a 00                	push   $0x0
401715:	50                   	push   %eax
401716:	c7 45 f8 20 78 38 36 	movl   $0x36387820,-0x8(%ebp)
40171d:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
401721:	c7 45 f0 20 78 36 34 	movl   $0x34367820,-0x10(%ebp)
401728:	c6 45 f4 00          	movb   $0x0,-0xc(%ebp)
40172c:	c7 85 f8 fe ff ff 50 	movl   $0x720050,-0x108(%ebp)
401733:	00 72 00
401736:	c7 85 fc fe ff ff 6f 	movl   $0x64006f,-0x104(%ebp)
40173d:	00 64 00
401740:	c7 85 00 ff ff ff 75 	movl   $0x630075,-0x100(%ebp)
401747:	00 63 00
40174a:	c7 85 04 ff ff ff 74 	movl   $0x4e0074,-0xfc(%ebp)
401751:	00 4e 00
401754:	c7 85 08 ff ff ff 61 	movl   $0x6d0061,-0xf8(%ebp)
40175b:	00 6d 00
40175e:	c7 85 0c ff ff ff 65 	movl   $0x65,-0xf4(%ebp)
401765:	00 00 00
401768:	e8 73 6c 01 00       	call   0x4183e0
40176d:	6a 01                	push   $0x1
40176f:	6a 0e                	push   $0xe
401771:	8d 95 70 f5 ff ff    	lea    -0xa90(%ebp),%edx
401777:	52                   	push   %edx
401778:	33 c9                	xor    %ecx,%ecx
40177a:	56                   	push   %esi
40177b:	c7 45 b4 20 00 4e 00 	movl   $0x4e0020,-0x4c(%ebp)
401782:	c7 45 b8 54 00 5c 00 	movl   $0x5c0054,-0x48(%ebp)
401789:	c7 45 bc 43 00 75 00 	movl   $0x750043,-0x44(%ebp)
401790:	c7 45 c0 72 00 72 00 	movl   $0x720072,-0x40(%ebp)
401797:	c7 45 c4 65 00 6e 00 	movl   $0x6e0065,-0x3c(%ebp)
40179e:	c7 45 c8 74 00 56 00 	movl   $0x560074,-0x38(%ebp)
4017a5:	c7 45 cc 65 00 72 00 	movl   $0x720065,-0x34(%ebp)
4017ac:	c7 45 d0 73 00 69 00 	movl   $0x690073,-0x30(%ebp)
4017b3:	c7 45 d4 6f 00 6e 00 	movl   $0x6e006f,-0x2c(%ebp)
4017ba:	66 89 4d d8          	mov    %cx,-0x28(%ebp)
4017be:	e8 ad 6f 00 00       	call   0x408770
4017c3:	83 c4 28             	add    $0x28,%esp
4017c6:	6a 01                	push   $0x1
4017c8:	8d 85 70 f5 ff ff    	lea    -0xa90(%ebp),%eax
4017ce:	6a 0f                	push   $0xf
4017d0:	50                   	push   %eax
4017d1:	e8 7a 6e 01 00       	call   0x418650
4017d6:	83 c4 04             	add    $0x4,%esp
4017d9:	8d 8c 45 70 f5 ff ff 	lea    -0xa90(%ebp,%eax,2),%ecx
4017e0:	51                   	push   %ecx
4017e1:	56                   	push   %esi
4017e2:	e8 89 6f 00 00       	call   0x408770
4017e7:	8d 55 b4             	lea    -0x4c(%ebp),%edx
4017ea:	52                   	push   %edx
4017eb:	e8 60 6e 01 00       	call   0x418650
4017f0:	83 c4 14             	add    $0x14,%esp
4017f3:	03 c0                	add    %eax,%eax
4017f5:	50                   	push   %eax
4017f6:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4017f9:	50                   	push   %eax
4017fa:	8d 8d 70 f5 ff ff    	lea    -0xa90(%ebp),%ecx
401800:	51                   	push   %ecx
401801:	e8 4a 6e 01 00       	call   0x418650
401806:	8d 94 45 52 f5 ff ff 	lea    -0xaae(%ebp,%eax,2),%edx
40180d:	83 c4 04             	add    $0x4,%esp
401810:	52                   	push   %edx
401811:	e8 4a 6b 01 00       	call   0x418360
401816:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
40181c:	8b d1                	mov    %ecx,%edx
40181e:	b8 40 00 00 00       	mov    $0x40,%eax
401823:	52                   	push   %edx
401824:	66 89 45 9e          	mov    %ax,-0x62(%ebp)
401828:	89 4d a0             	mov    %ecx,-0x60(%ebp)
40182b:	e8 20 6e 01 00       	call   0x418650
401830:	03 c0                	add    %eax,%eax
401832:	66 89 45 9c          	mov    %ax,-0x64(%ebp)
401836:	68 19 02 02 00       	push   $0x20219
40183b:	8d 85 70 f5 ff ff    	lea    -0xa90(%ebp),%eax
401841:	50                   	push   %eax
401842:	8d 4d 98             	lea    -0x68(%ebp),%ecx
401845:	51                   	push   %ecx
401846:	56                   	push   %esi
401847:	e8 c4 8e 00 00       	call   0x40a710
40184c:	83 c4 20             	add    $0x20,%esp
40184f:	85 c0                	test   %eax,%eax
401851:	74 68                	je     0x4018bb
401853:	8d 55 ec             	lea    -0x14(%ebp),%edx
401856:	52                   	push   %edx
401857:	8b 55 98             	mov    -0x68(%ebp),%edx
40185a:	68 00 01 00 00       	push   $0x100
40185f:	8d 85 70 fb ff ff    	lea    -0x490(%ebp),%eax
401865:	50                   	push   %eax
401866:	6a 01                	push   $0x1
401868:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40186b:	51                   	push   %ecx
40186c:	52                   	push   %edx
40186d:	56                   	push   %esi
40186e:	e8 0d 51 01 00       	call   0x416980
401873:	83 c4 1c             	add    $0x1c,%esp
401876:	85 c0                	test   %eax,%eax
401878:	75 41                	jne    0x4018bb
40187a:	8b 85 78 fb ff ff    	mov    -0x488(%ebp),%eax
401880:	8d 8c 05 70 fb ff ff 	lea    -0x490(%ebp,%eax,1),%ecx
401887:	51                   	push   %ecx
401888:	53                   	push   %ebx
401889:	e8 a2 6d 01 00       	call   0x418630
40188e:	8d 94 38 80 44 00 00 	lea    0x4480(%eax,%edi,1),%edx
401895:	83 c4 04             	add    $0x4,%esp
401898:	52                   	push   %edx
401899:	e8 62 71 01 00       	call   0x418a00
40189e:	8b 85 78 fb ff ff    	mov    -0x488(%ebp),%eax
4018a4:	8d 8c 05 70 fb ff ff 	lea    -0x490(%ebp,%eax,1),%ecx
4018ab:	51                   	push   %ecx
4018ac:	8d 95 78 fd ff ff    	lea    -0x288(%ebp),%edx
4018b2:	52                   	push   %edx
4018b3:	e8 48 71 01 00       	call   0x418a00
4018b8:	83 c4 10             	add    $0x10,%esp
4018bb:	8d 85 78 fd ff ff    	lea    -0x288(%ebp),%eax
4018c1:	50                   	push   %eax
4018c2:	57                   	push   %edi
4018c3:	e8 88 f7 ff ff       	call   0x401050
4018c8:	83 c4 08             	add    $0x8,%esp
4018cb:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
4018cf:	89 86 80 0b 00 00    	mov    %eax,0xb80(%esi)
4018d5:	6a 00                	push   $0x0
4018d7:	74 06                	je     0x4018df
4018d9:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4018dc:	51                   	push   %ecx
4018dd:	eb 04                	jmp    0x4018e3
4018df:	8d 55 f8             	lea    -0x8(%ebp),%edx
4018e2:	52                   	push   %edx
4018e3:	53                   	push   %ebx
4018e4:	e8 77 6e 01 00       	call   0x418760
4018e9:	83 c4 0c             	add    $0xc,%esp
4018ec:	6a 04                	push   $0x4
4018ee:	68 00 30 00 00       	push   $0x3000
4018f3:	68 00 44 1f 00       	push   $0x1f4400
4018f8:	6a 00                	push   $0x0
4018fa:	56                   	push   %esi
4018fb:	e8 c0 69 01 00       	call   0x4182c0
401900:	6a 04                	push   $0x4
401902:	68 00 30 00 00       	push   $0x3000
401907:	68 00 44 1f 00       	push   $0x1f4400
40190c:	6a 00                	push   $0x0
40190e:	56                   	push   %esi
40190f:	89 86 38 0b 00 00    	mov    %eax,0xb38(%esi)
401915:	e8 a6 69 01 00       	call   0x4182c0
40191a:	83 c4 28             	add    $0x28,%esp
40191d:	83 be 38 0b 00 00 00 	cmpl   $0x0,0xb38(%esi)
401924:	89 86 3c 0b 00 00    	mov    %eax,0xb3c(%esi)
40192a:	0f 84 39 01 00 00    	je     0x401a69
401930:	85 c0                	test   %eax,%eax
401932:	0f 84 31 01 00 00    	je     0x401a69
401938:	6a 00                	push   $0x0
40193a:	6a 04                	push   $0x4
40193c:	8d 87 88 48 00 00    	lea    0x4888(%edi),%eax
401942:	50                   	push   %eax
401943:	56                   	push   %esi
401944:	e8 27 6e 00 00       	call   0x408770
401949:	8d 9e 28 0a 00 00    	lea    0xa28(%esi),%ebx
40194f:	8d 8f 88 49 00 00    	lea    0x4988(%edi),%ecx
401955:	53                   	push   %ebx
401956:	51                   	push   %ecx
401957:	e8 34 6f 01 00       	call   0x418890
40195c:	8d 97 c8 4b 00 00    	lea    0x4bc8(%edi),%edx
401962:	53                   	push   %ebx
401963:	52                   	push   %edx
401964:	e8 97 f6 ff ff       	call   0x401000
401969:	53                   	push   %ebx
40196a:	e8 e1 6c 01 00       	call   0x418650
40196f:	8d 44 00 02          	lea    0x2(%eax,%eax,1),%eax
401973:	50                   	push   %eax
401974:	8d 8f c8 49 00 00    	lea    0x49c8(%edi),%ecx
40197a:	53                   	push   %ebx
40197b:	51                   	push   %ecx
40197c:	e8 df 69 01 00       	call   0x418360
401981:	33 d2                	xor    %edx,%edx
401983:	6a 66                	push   $0x66
401985:	52                   	push   %edx
401986:	8d 85 92 fe ff ff    	lea    -0x16e(%ebp),%eax
40198c:	50                   	push   %eax
40198d:	c7 85 78 fe ff ff 50 	movl   $0x720050,-0x188(%ebp)
401994:	00 72 00
401997:	c7 85 7c fe ff ff 6f 	movl   $0x67006f,-0x184(%ebp)
40199e:	00 67 00
4019a1:	c7 85 80 fe ff ff 72 	movl   $0x610072,-0x180(%ebp)
4019a8:	00 61 00
4019ab:	c7 85 84 fe ff ff 6d 	movl   $0x46006d,-0x17c(%ebp)
4019b2:	00 46 00
4019b5:	c7 85 88 fe ff ff 69 	movl   $0x6c0069,-0x178(%ebp)
4019bc:	00 6c 00
4019bf:	c7 85 8c fe ff ff 65 	movl   $0x730065,-0x174(%ebp)
4019c6:	00 73 00
4019c9:	66 89 95 90 fe ff ff 	mov    %dx,-0x170(%ebp)
4019d0:	e8 0b 6a 01 00       	call   0x4183e0
4019d5:	8d 8f 08 49 00 00    	lea    0x4908(%edi),%ecx
4019db:	51                   	push   %ecx
4019dc:	8d 95 78 fe ff ff    	lea    -0x188(%ebp),%edx
4019e2:	52                   	push   %edx
4019e3:	56                   	push   %esi
4019e4:	e8 57 6c 00 00       	call   0x408640
4019e9:	83 c4 48             	add    $0x48,%esp
4019ec:	83 be f4 09 00 00 00 	cmpl   $0x0,0x9f4(%esi)
4019f3:	8d 87 28 d8 1f 00    	lea    0x1fd828(%edi),%eax
4019f9:	89 86 5c 0b 00 00    	mov    %eax,0xb5c(%esi)
4019ff:	74 2d                	je     0x401a2e
401a01:	8b 8e 90 0b 00 00    	mov    0xb90(%esi),%ecx
401a07:	85 c9                	test   %ecx,%ecx
401a09:	74 23                	je     0x401a2e
401a0b:	83 be 8c 0b 00 00 00 	cmpl   $0x0,0xb8c(%esi)
401a12:	74 1a                	je     0x401a2e
401a14:	89 4f 28             	mov    %ecx,0x28(%edi)
401a17:	8b 8e 90 0b 00 00    	mov    0xb90(%esi),%ecx
401a1d:	8b 96 8c 0b 00 00    	mov    0xb8c(%esi),%edx
401a23:	51                   	push   %ecx
401a24:	52                   	push   %edx
401a25:	50                   	push   %eax
401a26:	e8 35 69 01 00       	call   0x418360
401a2b:	83 c4 0c             	add    $0xc,%esp
401a2e:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
401a34:	e8 d7 5e 01 00       	call   0x417910
401a39:	89 87 7c 44 00 00    	mov    %eax,0x447c(%edi)
401a3f:	6a 00                	push   $0x0
401a41:	8d 45 a4             	lea    -0x5c(%ebp),%eax
401a44:	50                   	push   %eax
401a45:	8d b7 80 44 00 00    	lea    0x4480(%edi),%esi
401a4b:	56                   	push   %esi
401a4c:	e8 0f 6d 01 00       	call   0x418760
401a51:	56                   	push   %esi
401a52:	e8 d9 6b 01 00       	call   0x418630