40153f:	56                   	push   %esi
401540:	e8 db 05 00 00       	call   0x401b20
401545:	56                   	push   %esi
401546:	e8 25 06 00 00       	call   0x401b70
40154b:	56                   	push   %esi
40154c:	e8 af 06 00 00       	call   0x401c00
401551:	56                   	push   %esi
401552:	e8 39 07 00 00       	call   0x401c90
401557:	56                   	push   %esi
401558:	e8 73 08 00 00       	call   0x401dd0
40155d:	56                   	push   %esi
40155e:	e8 fd 0c 00 00       	call   0x402260
401563:	56                   	push   %esi
401564:	e8 57 0d 00 00       	call   0x4022c0
401569:	56                   	push   %esi
40156a:	e8 71 11 00 00       	call   0x4026e0
40156f:	56                   	push   %esi
401570:	e8 3b 12 00 00       	call   0x4027b0
401575:	56                   	push   %esi
401576:	e8 45 13 00 00       	call   0x4028c0
40157b:	56                   	push   %esi
40157c:	e8 1f 16 00 00       	call   0x402ba0
401581:	56                   	push   %esi
401582:	e8 79 18 00 00       	call   0x402e00
401587:	56                   	push   %esi
401588:	e8 c3 1c 00 00       	call   0x403250
40158d:	56                   	push   %esi
40158e:	e8 6d 1d 00 00       	call   0x403300
401593:	83 c4 40             	add    $0x40,%esp
401596:	56                   	push   %esi
401597:	e8 94 1f 00 00       	call   0x403530
40159c:	56                   	push   %esi
40159d:	e8 1e 20 00 00       	call   0x4035c0
4015a2:	e8 b9 fe ff ff       	call   0x401460
4015a7:	68 34 8d 40 00       	push   $0x408d34
4015ac:	e8 9f 00 00 00       	call   0x401650
4015b1:	68 4c 8d 40 00       	push   $0x408d4c
4015b6:	a3 d8 ae 40 00       	mov    %eax,0x40aed8
4015bb:	e8 90 00 00 00       	call   0x401650
4015c0:	68 64 8d 40 00       	push   $0x408d64
4015c5:	a3 f8 ad 40 00       	mov    %eax,0x40adf8
4015ca:	e8 81 00 00 00       	call   0x401650
4015cf:	56                   	push   %esi
4015d0:	a3 b8 ad 40 00       	mov    %eax,0x40adb8
4015d5:	e8 46 01 00 00       	call   0x401720
4015da:	83 c4 18             	add    $0x18,%esp
4015dd:	83 3d f8 ad 40 00 00 	cmpl   $0x0,0x40adf8
4015e4:	74 27                	je     0x40160d
4015e6:	68 c0 8c 40 00       	push   $0x408cc0
4015eb:	ff d6                	call   *%esi
4015ed:	68 dc 8c 40 00       	push   $0x408cdc
4015f2:	a3 e8 ad 40 00       	mov    %eax,0x40ade8
4015f7:	ff d6                	call   *%esi
4015f9:	68 fc 8c 40 00       	push   $0x408cfc
4015fe:	a3 d0 ad 40 00       	mov    %eax,0x40add0
401603:	ff d6                	call   *%esi
401605:	83 c4 0c             	add    $0xc,%esp
401608:	a3 c4 ad 40 00       	mov    %eax,0x40adc4
40160d:	83 3d b8 ad 40 00 00 	cmpl   $0x0,0x40adb8
401614:	74 0f                	je     0x401625
401616:	68 1c 8d 40 00       	push   $0x408d1c
40161b:	ff d6                	call   *%esi
40161d:	83 c4 04             	add    $0x4,%esp
401620:	a3 9c ad 40 00       	mov    %eax,0x40ad9c
401625:	83 3d f0 ac 40 00 00 	cmpl   $0x0,0x40acf0
40162c:	75 0d                	jne    0x40163b
40162e:	83 3d f4 ac 40 00 00 	cmpl   $0x0,0x40acf4
401635:	0f 84 e3 fe ff ff    	je     0x40151e
40163b:	b8 01 00 00 00       	mov    $0x1,%eax
401640:	5e                   	pop    %esi
401641:	5d                   	pop    %ebp
401642:	c3                   	ret
401643:	cc                   	int3
401644:	cc                   	int3
401645:	cc                   	int3
401646:	cc                   	int3
401647:	cc                   	int3
401648:	cc                   	int3
401649:	cc                   	int3
40164a:	cc                   	int3
40164b:	cc                   	int3
40164c:	cc                   	int3
40164d:	cc                   	int3
40164e:	cc                   	int3
40164f:	cc                   	int3
401650:	55                   	push   %ebp
401651:	8b ec                	mov    %esp,%ebp
401653:	83 3d 2c a0 40 00 03 	cmpl   $0x3,0x40a02c
40165a:	53                   	push   %ebx
40165b:	56                   	push   %esi
40165c:	57                   	push   %edi
40165d:	7d 60                	jge    0x4016bf
40165f:	8b 35 34 a0 40 00    	mov    0x40a034,%esi
401665:	85 f6                	test   %esi,%esi
401667:	74 4f                	je     0x4016b8
401669:	8b 7d 08             	mov    0x8(%ebp),%edi
40166c:	85 ff                	test   %edi,%edi
40166e:	74 48                	je     0x4016b8
401670:	57                   	push   %edi
401671:	56                   	push   %esi
401672:	ff 15 74 50 40 00    	call   *0x405074
401678:	8b d0                	mov    %eax,%edx
40167a:	83 c4 08             	add    $0x8,%esp
40167d:	85 d2                	test   %edx,%edx
40167f:	74 37                	je     0x4016b8
401681:	8b cf                	mov    %edi,%ecx
401683:	8d 59 01             	lea    0x1(%ecx),%ebx
401686:	8a 01                	mov    (%ecx),%al
401688:	41                   	inc    %ecx
401689:	84 c0                	test   %al,%al
40168b:	75 f9                	jne    0x401686
40168d:	2b cb                	sub    %ebx,%ecx
40168f:	03 ca                	add    %edx,%ecx
401691:	3b d6                	cmp    %esi,%edx
401693:	74 06                	je     0x40169b
401695:	80 7a ff 20          	cmpb   $0x20,-0x1(%edx)
401699:	75 0a                	jne    0x4016a5
40169b:	8a 01                	mov    (%ecx),%al
40169d:	3c 20                	cmp    $0x20,%al
40169f:	74 74                	je     0x401715
4016a1:	84 c0                	test   %al,%al
4016a3:	74 70                	je     0x401715
4016a5:	57                   	push   %edi
4016a6:	51                   	push   %ecx
4016a7:	8b f1                	mov    %ecx,%esi
4016a9:	ff 15 74 50 40 00    	call   *0x405074
4016af:	8b d0                	mov    %eax,%edx
4016b1:	83 c4 08             	add    $0x8,%esp
4016b4:	85 d2                	test   %edx,%edx
4016b6:	75 c9                	jne    0x401681
4016b8:	5f                   	pop    %edi
4016b9:	5e                   	pop    %esi
4016ba:	33 c0                	xor    %eax,%eax
4016bc:	5b                   	pop    %ebx
4016bd:	5d                   	pop    %ebp
4016be:	c3                   	ret
4016bf:	8b 3d 28 a0 40 00    	mov    0x40a028,%edi
4016c5:	33 f6                	xor    %esi,%esi
4016c7:	85 ff                	test   %edi,%edi
4016c9:	7e ed                	jle    0x4016b8
4016cb:	8b 5d 08             	mov    0x8(%ebp),%ebx
4016ce:	66 90                	xchg   %ax,%ax
4016d0:	8b 0d 38 a0 40 00    	mov    0x40a038,%ecx
4016d6:	8b c3                	mov    %ebx,%eax
4016d8:	8b 0c b1             	mov    (%ecx,%esi,4),%ecx
4016db:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4016e0:	8a 11                	mov    (%ecx),%dl
4016e2:	3a 10                	cmp    (%eax),%dl
4016e4:	75 1a                	jne    0x401700
4016e6:	84 d2                	test   %dl,%dl
4016e8:	74 12                	je     0x4016fc
4016ea:	8a 51 01             	mov    0x1(%ecx),%dl
4016ed:	3a 50 01             	cmp    0x1(%eax),%dl
4016f0:	75 0e                	jne    0x401700
4016f2:	83 c1 02             	add    $0x2,%ecx
4016f5:	83 c0 02             	add    $0x2,%eax
4016f8:	84 d2                	test   %dl,%dl
4016fa:	75 e4                	jne    0x4016e0
4016fc:	33 c0                	xor    %eax,%eax
4016fe:	eb 05                	jmp    0x401705
401700:	1b c0                	sbb    %eax,%eax
401702:	83 c8 01             	or     $0x1,%eax
401705:	85 c0                	test   %eax,%eax
401707:	74 0c                	je     0x401715
401709:	46                   	inc    %esi
40170a:	3b f7                	cmp    %edi,%esi
40170c:	7c c2                	jl     0x4016d0
40170e:	5f                   	pop    %edi
40170f:	5e                   	pop    %esi
401710:	33 c0                	xor    %eax,%eax
401712:	5b                   	pop    %ebx
401713:	5d                   	pop    %ebp
401714:	c3                   	ret
401715:	5f                   	pop    %edi
401716:	5e                   	pop    %esi
401717:	b8 01 00 00 00       	mov    $0x1,%eax
40171c:	5b                   	pop    %ebx
40171d:	5d                   	pop    %ebp
40171e:	c3                   	ret
40171f:	cc                   	int3
401720:	55                   	push   %ebp
401721:	8b ec                	mov    %esp,%ebp
401723:	83 3d d8 ae 40 00 00 	cmpl   $0x0,0x40aed8
40172a:	0f 84 c8 00 00 00    	je     0x4017f8
401730:	56                   	push   %esi
401731:	8b 75 08             	mov    0x8(%ebp),%esi
401734:	68 f4 8a 40 00       	push   $0x408af4
401739:	ff d6                	call   *%esi
40173b:	68 0c 8b 40 00       	push   $0x408b0c
401740:	a3 d0 ae 40 00       	mov    %eax,0x40aed0
401745:	ff d6                	call   *%esi
401747:	68 2c 8b 40 00       	push   $0x408b2c
40174c:	a3 bc ae 40 00       	mov    %eax,0x40aebc
401751:	ff d6                	call   *%esi
401753:	68 4c 8b 40 00       	push   $0x408b4c
401758:	a3 b4 ae 40 00       	mov    %eax,0x40aeb4
40175d:	ff d6                	call   *%esi
40175f:	68 70 8b 40 00       	push   $0x408b70
401764:	a3 ac ae 40 00       	mov    %eax,0x40aeac
401769:	ff d6                	call   *%esi
40176b:	68 84 8b 40 00       	push   $0x408b84
401770:	a3 90 ae 40 00       	mov    %eax,0x40ae90
401775:	ff d6                	call   *%esi
401777:	68 a4 8b 40 00       	push   $0x408ba4
40177c:	a3 88 ae 40 00       	mov    %eax,0x40ae88
401781:	ff d6                	call   *%esi
401783:	68 c4 8b 40 00       	push   $0x408bc4
401788:	a3 7c ae 40 00       	mov    %eax,0x40ae7c
40178d:	ff d6                	call   *%esi
40178f:	68 dc 8b 40 00       	push   $0x408bdc
401794:	a3 70 ae 40 00       	mov    %eax,0x40ae70
401799:	ff d6                	call   *%esi
40179b:	68 f4 8b 40 00       	push   $0x408bf4
4017a0:	a3 5c ae 40 00       	mov    %eax,0x40ae5c
4017a5:	ff d6                	call   *%esi
4017a7:	68 14 8c 40 00       	push   $0x408c14
4017ac:	a3 4c ae 40 00       	mov    %eax,0x40ae4c
4017b1:	ff d6                	call   *%esi
4017b3:	68 34 8c 40 00       	push   $0x408c34
4017b8:	a3 3c ae 40 00       	mov    %eax,0x40ae3c
4017bd:	ff d6                	call   *%esi
4017bf:	68 54 8c 40 00       	push   $0x408c54
4017c4:	a3 34 ae 40 00       	mov    %eax,0x40ae34
4017c9:	ff d6                	call   *%esi
4017cb:	68 70 8c 40 00       	push   $0x408c70
4017d0:	a3 2c ae 40 00       	mov    %eax,0x40ae2c
4017d5:	ff d6                	call   *%esi
4017d7:	68 88 8c 40 00       	push   $0x408c88
4017dc:	a3 1c ae 40 00       	mov    %eax,0x40ae1c
4017e1:	ff d6                	call   *%esi
4017e3:	68 a4 8c 40 00       	push   $0x408ca4
4017e8:	a3 14 ae 40 00       	mov    %eax,0x40ae14
4017ed:	ff d6                	call   *%esi
4017ef:	83 c4 40             	add    $0x40,%esp
4017f2:	a3 00 ae 40 00       	mov    %eax,0x40ae00
4017f7:	5e                   	pop    %esi
4017f8:	5d                   	pop    %ebp
4017f9:	c3                   	ret
4017fa:	cc                   	int3
4017fb:	cc                   	int3
4017fc:	cc                   	int3
4017fd:	cc                   	int3
4017fe:	cc                   	int3
4017ff:	cc                   	int3
401800:	55                   	push   %ebp
401801:	8b ec                	mov    %esp,%ebp
401803:	83 3d 00 ac 40 00 00 	cmpl   $0x0,0x40ac00
40180a:	0f 84 4e 02 00 00    	je     0x401a5e
401810:	56                   	push   %esi
401811:	8b 75 08             	mov    0x8(%ebp),%esi
401814:	68 30 51 40 00       	push   $0x405130
401819:	ff d6                	call   *%esi
40181b:	68 3c 51 40 00       	push   $0x40513c
401820:	a3 f8 ab 40 00       	mov    %eax,0x40abf8
401825:	ff d6                	call   *%esi
401827:	68 48 51 40 00       	push   $0x405148
40182c:	a3 e8 ab 40 00       	mov    %eax,0x40abe8
401831:	ff d6                	call   *%esi
401833:	68 50 51 40 00       	push   $0x405150
401838:	a3 e0 ab 40 00       	mov    %eax,0x40abe0
40183d:	ff d6                	call   *%esi
40183f:	68 5c 51 40 00       	push   $0x40515c
401844:	a3 d4 ab 40 00       	mov    %eax,0x40abd4
401849:	ff d6                	call   *%esi
40184b:	68 68 51 40 00       	push   $0x405168
401850:	a3 cc ab 40 00       	mov    %eax,0x40abcc
401855:	ff d6                	call   *%esi
401857:	68 78 51 40 00       	push   $0x405178
40185c:	a3 bc ab 40 00       	mov    %eax,0x40abbc
401861:	ff d6                	call   *%esi
401863:	68 84 51 40 00       	push   $0x405184
401868:	a3 ac ab 40 00       	mov    %eax,0x40abac
40186d:	ff d6                	call   *%esi
40186f:	68 94 51 40 00       	push   $0x405194
401874:	a3 98 ab 40 00       	mov    %eax,0x40ab98
401879:	ff d6                	call   *%esi
40187b:	68 a8 51 40 00       	push   $0x4051a8
401880:	a3 88 ab 40 00       	mov    %eax,0x40ab88
401885:	ff d6                	call   *%esi
401887:	68 b8 51 40 00       	push   $0x4051b8
40188c:	a3 70 ab 40 00       	mov    %eax,0x40ab70
401891:	ff d6                	call   *%esi
401893:	68 cc 51 40 00       	push   $0x4051cc
401898:	a3 68 ab 40 00       	mov    %eax,0x40ab68
40189d:	ff d6                	call   *%esi
40189f:	68 dc 51 40 00       	push   $0x4051dc
4018a4:	a3 44 ab 40 00       	mov    %eax,0x40ab44
4018a9:	ff d6                	call   *%esi
4018ab:	68 ec 51 40 00       	push   $0x4051ec
4018b0:	a3 30 ab 40 00       	mov    %eax,0x40ab30
4018b5:	ff d6                	call   *%esi
4018b7:	68 fc 51 40 00       	push   $0x4051fc
4018bc:	a3 20 ab 40 00       	mov    %eax,0x40ab20
4018c1:	ff d6                	call   *%esi
4018c3:	68 04 52 40 00       	push   $0x405204
4018c8:	a3 18 ab 40 00       	mov    %eax,0x40ab18
4018cd:	ff d6                	call   *%esi
4018cf:	83 c4 40             	add    $0x40,%esp
4018d2:	a3 04 ab 40 00       	mov    %eax,0x40ab04
4018d7:	68 14 52 40 00       	push   $0x405214
4018dc:	ff d6                	call   *%esi
4018de:	68 24 52 40 00       	push   $0x405224
4018e3:	a3 f4 aa 40 00       	mov    %eax,0x40aaf4
4018e8:	ff d6                	call   *%esi
4018ea:	68 34 52 40 00       	push   $0x405234
4018ef:	a3 e8 aa 40 00       	mov    %eax,0x40aae8
4018f4:	ff d6                	call   *%esi
4018f6:	68 44 52 40 00       	push   $0x405244
4018fb:	a3 e0 aa 40 00       	mov    %eax,0x40aae0
401900:	ff d6                	call   *%esi
401902:	68 50 52 40 00       	push   $0x405250
401907:	a3 cc aa 40 00       	mov    %eax,0x40aacc
40190c:	ff d6                	call   *%esi
40190e:	68 5c 52 40 00       	push   $0x40525c
401913:	a3 c0 aa 40 00       	mov    %eax,0x40aac0
401918:	ff d6                	call   *%esi
40191a:	68 68 52 40 00       	push   $0x405268
40191f:	a3 b4 aa 40 00       	mov    %eax,0x40aab4
401924:	ff d6                	call   *%esi
401926:	68 74 52 40 00       	push   $0x405274
40192b:	a3 a8 aa 40 00       	mov    %eax,0x40aaa8
401930:	ff d6                	call   *%esi
401932:	68 80 52 40 00       	push   $0x405280
401937:	a3 9c aa 40 00       	mov    %eax,0x40aa9c
40193c:	ff d6                	call   *%esi
40193e:	68 88 52 40 00       	push   $0x405288
401943:	a3 98 aa 40 00       	mov    %eax,0x40aa98
401948:	ff d6                	call   *%esi
40194a:	a3 88 aa 40 00       	mov    %eax,0x40aa88
40194f:	68 94 52 40 00       	push   $0x405294
401954:	ff d6                	call   *%esi
401956:	68 a0 52 40 00       	push   $0x4052a0
40195b:	a3 84 aa 40 00       	mov    %eax,0x40aa84
401960:	ff d6                	call   *%esi
401962:	68 b0 52 40 00       	push   $0x4052b0
401967:	a3 70 aa 40 00       	mov    %eax,0x40aa70
40196c:	ff d6                	call   *%esi
40196e:	68 bc 52 40 00       	push   $0x4052bc
401973:	a3 64 aa 40 00       	mov    %eax,0x40aa64
401978:	ff d6                	call   *%esi
40197a:	68 c8 52 40 00       	push   $0x4052c8
40197f:	a3 54 aa 40 00       	mov    %eax,0x40aa54
401984:	ff d6                	call   *%esi
401986:	68 d8 52 40 00       	push   $0x4052d8
40198b:	a3 44 aa 40 00       	mov    %eax,0x40aa44
401990:	ff d6                	call   *%esi
401992:	83 c4 40             	add    $0x40,%esp
401995:	a3 3c aa 40 00       	mov    %eax,0x40aa3c
40199a:	68 e8 52 40 00       	push   $0x4052e8
40199f:	ff d6                	call   *%esi