ab95d0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
ab95d3:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
ab95da:	8b e5                	mov    %ebp,%esp
ab95dc:	5d                   	pop    %ebp
ab95dd:	c3                   	ret
ab95de:	cc                   	int3
ab95df:	cc                   	int3
ab95e0:	cc                   	int3
ab95e1:	cc                   	int3
ab95e2:	cc                   	int3
ab95e3:	cc                   	int3
ab95e4:	cc                   	int3
ab95e5:	cc                   	int3
ab95e6:	cc                   	int3
ab95e7:	cc                   	int3
ab95e8:	cc                   	int3
ab95e9:	cc                   	int3
ab95ea:	cc                   	int3
ab95eb:	cc                   	int3
ab95ec:	cc                   	int3
ab95ed:	cc                   	int3
ab95ee:	cc                   	int3
ab95ef:	cc                   	int3
ab95f0:	cc                   	int3
ab95f1:	cc                   	int3
ab95f2:	cc                   	int3
ab95f3:	cc                   	int3
ab95f4:	cc                   	int3
ab95f5:	cc                   	int3
ab95f6:	cc                   	int3
ab95f7:	cc                   	int3
ab95f8:	8b ff                	mov    %edi,%edi
ab95fa:	55                   	push   %ebp
ab95fb:	8b ec                	mov    %esp,%ebp
ab95fd:	81 ec 10 03 00 00    	sub    $0x310,%esp
ab9603:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
ab9608:	33 c5                	xor    %ebp,%eax
ab960a:	89 45 fc             	mov    %eax,-0x4(%ebp)
ab960d:	8b 45 08             	mov    0x8(%ebp),%eax
ab9610:	56                   	push   %esi
ab9611:	8b 75 14             	mov    0x14(%ebp),%esi
ab9614:	85 f6                	test   %esi,%esi
ab9616:	74 04                	je     0xab961c
ab9618:	85 c0                	test   %eax,%eax
ab961a:	75 15                	jne    0xab9631
ab961c:	e8 4e 52 98 ff       	call   0x43e86f
ab9621:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
ab9627:	e8 cc 5c 96 ff       	call   0x41f2f8
ab962c:	33 c0                	xor    %eax,%eax
ab962e:	40                   	inc    %eax
ab962f:	eb 22                	jmp    0xab9653
ab9631:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
ab9637:	51                   	push   %ecx
ab9638:	8d 4d 0c             	lea    0xc(%ebp),%ecx
ab963b:	51                   	push   %ecx
ab963c:	50                   	push   %eax
ab963d:	e8 b5 82 94 ff       	call   0x4018f7
ab9642:	56                   	push   %esi
ab9643:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
ab9649:	51                   	push   %ecx
ab964a:	50                   	push   %eax
ab964b:	e8 1c fe 94 ff       	call   0x40946c
ab9650:	83 c4 18             	add    $0x18,%esp
ab9653:	8b 55 10             	mov    0x10(%ebp),%edx
ab9656:	5e                   	pop    %esi
ab9657:	85 d2                	test   %edx,%edx
ab9659:	74 05                	je     0xab9660
ab965b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
ab965e:	89 0a                	mov    %ecx,(%edx)
ab9660:	8b 4d fc             	mov    -0x4(%ebp),%ecx
ab9663:	33 cd                	xor    %ebp,%ecx
ab9665:	e8 4c 21 96 ff       	call   0x41b7b6
ab966a:	8b e5                	mov    %ebp,%esp
ab966c:	5d                   	pop    %ebp
ab966d:	c3                   	ret
ab966e:	cc                   	int3
ab966f:	cc                   	int3
ab9670:	cc                   	int3
ab9671:	cc                   	int3
ab9672:	cc                   	int3
ab9673:	cc                   	int3
ab9674:	cc                   	int3
ab9675:	cc                   	int3
ab9676:	cc                   	int3
ab9677:	cc                   	int3
ab9678:	cc                   	int3
ab9679:	cc                   	int3
ab967a:	cc                   	int3
ab967b:	cc                   	int3
ab967c:	cc                   	int3
ab967d:	cc                   	int3
ab967e:	cc                   	int3
ab967f:	cc                   	int3
ab9680:	cc                   	int3
ab9681:	cc                   	int3
ab9682:	cc                   	int3
ab9683:	cc                   	int3
ab9684:	cc                   	int3
ab9685:	cc                   	int3
ab9686:	cc                   	int3
ab9687:	cc                   	int3
ab9688:	cc                   	int3
ab9689:	cc                   	int3
ab968a:	cc                   	int3
ab968b:	8b ff                	mov    %edi,%edi
ab968d:	55                   	push   %ebp
ab968e:	8b ec                	mov    %esp,%ebp
ab9690:	81 ec 10 03 00 00    	sub    $0x310,%esp
ab9696:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
ab969b:	33 c5                	xor    %ebp,%eax
ab969d:	89 45 fc             	mov    %eax,-0x4(%ebp)
ab96a0:	8b 45 08             	mov    0x8(%ebp),%eax
ab96a3:	56                   	push   %esi
ab96a4:	8b 75 14             	mov    0x14(%ebp),%esi
ab96a7:	85 f6                	test   %esi,%esi
ab96a9:	74 04                	je     0xab96af
ab96ab:	85 c0                	test   %eax,%eax
ab96ad:	75 15                	jne    0xab96c4
ab96af:	e8 bb 51 98 ff       	call   0x43e86f
ab96b4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
ab96ba:	e8 39 5c 96 ff       	call   0x41f2f8
ab96bf:	33 c0                	xor    %eax,%eax
ab96c1:	40                   	inc    %eax
ab96c2:	eb 22                	jmp    0xab96e6
ab96c4:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
ab96ca:	51                   	push   %ecx
ab96cb:	8d 4d 0c             	lea    0xc(%ebp),%ecx
ab96ce:	51                   	push   %ecx
ab96cf:	50                   	push   %eax
ab96d0:	e8 22 82 94 ff       	call   0x4018f7
ab96d5:	56                   	push   %esi
ab96d6:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
ab96dc:	51                   	push   %ecx
ab96dd:	50                   	push   %eax
ab96de:	e8 ea 7e 94 ff       	call   0x4015cd
ab96e3:	83 c4 18             	add    $0x18,%esp
ab96e6:	8b 55 10             	mov    0x10(%ebp),%edx
ab96e9:	5e                   	pop    %esi
ab96ea:	85 d2                	test   %edx,%edx
ab96ec:	74 05                	je     0xab96f3
ab96ee:	8b 4d 0c             	mov    0xc(%ebp),%ecx
ab96f1:	89 0a                	mov    %ecx,(%edx)
ab96f3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
ab96f6:	33 cd                	xor    %ebp,%ecx
ab96f8:	e8 b9 20 96 ff       	call   0x41b7b6
ab96fd:	8b e5                	mov    %ebp,%esp
ab96ff:	5d                   	pop    %ebp
ab9700:	c3                   	ret
ab9701:	cc                   	int3
ab9702:	cc                   	int3
ab9703:	cc                   	int3
ab9704:	cc                   	int3
ab9705:	cc                   	int3
ab9706:	cc                   	int3
ab9707:	cc                   	int3
ab9708:	cc                   	int3
ab9709:	cc                   	int3
ab970a:	cc                   	int3
ab970b:	cc                   	int3
ab970c:	cc                   	int3
ab970d:	cc                   	int3
ab970e:	cc                   	int3
ab970f:	cc                   	int3
ab9710:	cc                   	int3
ab9711:	cc                   	int3
ab9712:	cc                   	int3
ab9713:	cc                   	int3
ab9714:	cc                   	int3
ab9715:	cc                   	int3
ab9716:	cc                   	int3
ab9717:	cc                   	int3
ab9718:	cc                   	int3
ab9719:	cc                   	int3
ab971a:	cc                   	int3
ab971b:	cc                   	int3
ab971c:	cc                   	int3
ab971d:	cc                   	int3
ab971e:	8b ff                	mov    %edi,%edi
ab9720:	55                   	push   %ebp
ab9721:	8b ec                	mov    %esp,%ebp
ab9723:	81 ec 10 03 00 00    	sub    $0x310,%esp
ab9729:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
ab972e:	33 c5                	xor    %ebp,%eax
ab9730:	89 45 fc             	mov    %eax,-0x4(%ebp)
ab9733:	8b 45 08             	mov    0x8(%ebp),%eax
ab9736:	56                   	push   %esi
ab9737:	8b 75 14             	mov    0x14(%ebp),%esi
ab973a:	85 f6                	test   %esi,%esi
ab973c:	74 04                	je     0xab9742
ab973e:	85 c0                	test   %eax,%eax
ab9740:	75 15                	jne    0xab9757
ab9742:	e8 28 51 98 ff       	call   0x43e86f
ab9747:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
ab974d:	e8 a6 5b 96 ff       	call   0x41f2f8
ab9752:	33 c0                	xor    %eax,%eax
ab9754:	40                   	inc    %eax
ab9755:	eb 22                	jmp    0xab9779
ab9757:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
ab975d:	51                   	push   %ecx
ab975e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
ab9761:	51                   	push   %ecx
ab9762:	50                   	push   %eax
ab9763:	e8 51 aa 95 ff       	call   0x4141b9
ab9768:	56                   	push   %esi
ab9769:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
ab976f:	51                   	push   %ecx
ab9770:	50                   	push   %eax
ab9771:	e8 57 7e 94 ff       	call   0x4015cd
ab9776:	83 c4 18             	add    $0x18,%esp
ab9779:	8b 55 10             	mov    0x10(%ebp),%edx
ab977c:	5e                   	pop    %esi
ab977d:	85 d2                	test   %edx,%edx
ab977f:	74 05                	je     0xab9786
ab9781:	8b 4d 0c             	mov    0xc(%ebp),%ecx
ab9784:	89 0a                	mov    %ecx,(%edx)
ab9786:	8b 4d fc             	mov    -0x4(%ebp),%ecx
ab9789:	33 cd                	xor    %ebp,%ecx
ab978b:	e8 26 20 96 ff       	call   0x41b7b6
ab9790:	8b e5                	mov    %ebp,%esp
ab9792:	5d                   	pop    %ebp
ab9793:	c3                   	ret
ab9794:	cc                   	int3
ab9795:	cc                   	int3
ab9796:	cc                   	int3
ab9797:	cc                   	int3
ab9798:	cc                   	int3
ab9799:	cc                   	int3
ab979a:	cc                   	int3
ab979b:	cc                   	int3
ab979c:	cc                   	int3
ab979d:	cc                   	int3
ab979e:	cc                   	int3
ab979f:	cc                   	int3
ab97a0:	cc                   	int3
ab97a1:	cc                   	int3
ab97a2:	cc                   	int3
ab97a3:	cc                   	int3
ab97a4:	cc                   	int3
ab97a5:	cc                   	int3
ab97a6:	cc                   	int3
ab97a7:	cc                   	int3
ab97a8:	cc                   	int3
ab97a9:	cc                   	int3
ab97aa:	cc                   	int3
ab97ab:	cc                   	int3
ab97ac:	cc                   	int3
ab97ad:	cc                   	int3
ab97ae:	cc                   	int3
ab97af:	cc                   	int3
ab97b0:	cc                   	int3
ab97b1:	8b ff                	mov    %edi,%edi
ab97b3:	55                   	push   %ebp
ab97b4:	8b ec                	mov    %esp,%ebp
ab97b6:	83 ec 24             	sub    $0x24,%esp
ab97b9:	56                   	push   %esi
ab97ba:	8b 75 0c             	mov    0xc(%ebp),%esi
ab97bd:	8b ce                	mov    %esi,%ecx
ab97bf:	57                   	push   %edi
ab97c0:	e8 4c 8e 95 ff       	call   0x412611
ab97c5:	84 c0                	test   %al,%al
ab97c7:	75 08                	jne    0xab97d1
ab97c9:	6a 07                	push   $0x7
ab97cb:	58                   	pop    %eax
ab97cc:	e9 cc 03 00 00       	jmp    0xab9b9d
ab97d1:	8b 06                	mov    (%esi),%eax
ab97d3:	89 45 f0             	mov    %eax,-0x10(%ebp)
ab97d6:	53                   	push   %ebx
ab97d7:	8b 5d 08             	mov    0x8(%ebp),%ebx
ab97da:	8a 08                	mov    (%eax),%cl
ab97dc:	40                   	inc    %eax
ab97dd:	89 06                	mov    %eax,(%esi)
ab97df:	8d 45 fb             	lea    -0x5(%ebp),%eax
ab97e2:	89 45 e0             	mov    %eax,-0x20(%ebp)
ab97e5:	8d 45 f0             	lea    -0x10(%ebp),%eax
ab97e8:	89 75 dc             	mov    %esi,-0x24(%ebp)
ab97eb:	89 45 e4             	mov    %eax,-0x1c(%ebp)
ab97ee:	eb 07                	jmp    0xab97f7
ab97f0:	8b 06                	mov    (%esi),%eax
ab97f2:	8a 08                	mov    (%eax),%cl
ab97f4:	40                   	inc    %eax
ab97f5:	89 06                	mov    %eax,(%esi)
ab97f7:	53                   	push   %ebx
ab97f8:	0f b6 c1             	movzbl %cl,%eax
ab97fb:	6a 08                	push   $0x8
ab97fd:	50                   	push   %eax
ab97fe:	88 4d fb             	mov    %cl,-0x5(%ebp)
ab9801:	e8 03 fb 94 ff       	call   0x409309
ab9806:	83 c4 0c             	add    $0xc,%esp
ab9809:	85 c0                	test   %eax,%eax
ab980b:	75 e3                	jne    0xab97f0
ab980d:	8b 55 10             	mov    0x10(%ebp),%edx
ab9810:	8a 4d fb             	mov    -0x5(%ebp),%cl
ab9813:	81 c2 08 03 00 00    	add    $0x308,%edx
ab9819:	80 f9 2d             	cmp    $0x2d,%cl
ab981c:	89 55 ec             	mov    %edx,-0x14(%ebp)
ab981f:	0f 94 c0             	sete   %al
ab9822:	88 02                	mov    %al,(%edx)
ab9824:	80 f9 2d             	cmp    $0x2d,%cl
ab9827:	74 05                	je     0xab982e
ab9829:	80 f9 2b             	cmp    $0x2b,%cl
ab982c:	75 0a                	jne    0xab9838
ab982e:	8b 06                	mov    (%esi),%eax
ab9830:	8a 08                	mov    (%eax),%cl
ab9832:	40                   	inc    %eax
ab9833:	88 4d fb             	mov    %cl,-0x5(%ebp)
ab9836:	89 06                	mov    %eax,(%esi)
ab9838:	80 f9 49             	cmp    $0x49,%cl
ab983b:	0f 84 4b 03 00 00    	je     0xab9b8c
ab9841:	80 f9 69             	cmp    $0x69,%cl
ab9844:	0f 84 42 03 00 00    	je     0xab9b8c
ab984a:	80 f9 4e             	cmp    $0x4e,%cl
ab984d:	0f 84 2a 03 00 00    	je     0xab9b7d
ab9853:	80 f9 6e             	cmp    $0x6e,%cl
ab9856:	0f 84 21 03 00 00    	je     0xab9b7d
ab985c:	33 db                	xor    %ebx,%ebx
ab985e:	88 5d ff             	mov    %bl,-0x1(%ebp)
ab9861:	80 f9 30             	cmp    $0x30,%cl
ab9864:	75 34                	jne    0xab989a
ab9866:	8b 16                	mov    (%esi),%edx
ab9868:	8a 02                	mov    (%edx),%al
ab986a:	8d 7a 01             	lea    0x1(%edx),%edi
ab986d:	88 45 e8             	mov    %al,-0x18(%ebp)
ab9870:	89 3e                	mov    %edi,(%esi)
ab9872:	3c 78                	cmp    $0x78,%al
ab9874:	74 13                	je     0xab9889
ab9876:	3c 58                	cmp    $0x58,%al
ab9878:	74 0f                	je     0xab9889
ab987a:	ff 75 e8             	push   -0x18(%ebp)
ab987d:	8b ce                	mov    %esi,%ecx
ab987f:	e8 ee c6 96 ff       	call   0x425f72
ab9884:	8a 4d fb             	mov    -0x5(%ebp),%cl
ab9887:	eb 11                	jmp    0xab989a
ab9889:	8a 0f                	mov    (%edi),%cl
ab988b:	8d 47 01             	lea    0x1(%edi),%eax
ab988e:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
ab9892:	88 4d fb             	mov    %cl,-0x5(%ebp)
ab9895:	89 06                	mov    %eax,(%esi)
ab9897:	89 55 f0             	mov    %edx,-0x10(%ebp)
ab989a:	8b 45 10             	mov    0x10(%ebp),%eax
ab989d:	8a eb                	mov    %bl,%ch
ab989f:	83 c0 08             	add    $0x8,%eax
ab98a2:	89 45 e8             	mov    %eax,-0x18(%ebp)
ab98a5:	8b f8                	mov    %eax,%edi
ab98a7:	80 f9 30             	cmp    $0x30,%cl
ab98aa:	75 11                	jne    0xab98bd
ab98ac:	b5 01                	mov    $0x1,%ch
ab98ae:	8b 06                	mov    (%esi),%eax
ab98b0:	8a 08                	mov    (%eax),%cl
ab98b2:	40                   	inc    %eax
ab98b3:	88 4d fb             	mov    %cl,-0x5(%ebp)