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)
ab98b6:	89 06                	mov    %eax,(%esi)
ab98b8:	80 f9 30             	cmp    $0x30,%cl
ab98bb:	74 f1                	je     0xab98ae
ab98bd:	33 d2                	xor    %edx,%edx
ab98bf:	38 55 ff             	cmp    %dl,-0x1(%ebp)
ab98c2:	0f 94 c2             	sete   %dl
ab98c5:	4a                   	dec    %edx
ab98c6:	83 e2 06             	and    $0x6,%edx
ab98c9:	83 c2 09             	add    $0x9,%edx
ab98cc:	8a c1                	mov    %cl,%al
ab98ce:	2c 30                	sub    $0x30,%al
ab98d0:	3c 09                	cmp    $0x9,%al
ab98d2:	77 08                	ja     0xab98dc
ab98d4:	0f be c1             	movsbl %cl,%eax
ab98d7:	83 e8 30             	sub    $0x30,%eax
ab98da:	eb 23                	jmp    0xab98ff
ab98dc:	8a c1                	mov    %cl,%al
ab98de:	2c 61                	sub    $0x61,%al
ab98e0:	3c 19                	cmp    $0x19,%al
ab98e2:	77 08                	ja     0xab98ec
ab98e4:	0f be c1             	movsbl %cl,%eax
ab98e7:	83 e8 57             	sub    $0x57,%eax
ab98ea:	eb 13                	jmp    0xab98ff
ab98ec:	8a c1                	mov    %cl,%al
ab98ee:	2c 41                	sub    $0x41,%al
ab98f0:	3c 19                	cmp    $0x19,%al
ab98f2:	77 08                	ja     0xab98fc
ab98f4:	0f be c1             	movsbl %cl,%eax
ab98f7:	83 e8 37             	sub    $0x37,%eax
ab98fa:	eb 03                	jmp    0xab98ff
ab98fc:	83 c8 ff             	or     $0xffffffff,%eax
ab98ff:	3b c2                	cmp    %edx,%eax
ab9901:	77 17                	ja     0xab991a
ab9903:	b5 01                	mov    $0x1,%ch
ab9905:	3b 7d ec             	cmp    -0x14(%ebp),%edi
ab9908:	74 03                	je     0xab990d
ab990a:	88 07                	mov    %al,(%edi)
ab990c:	47                   	inc    %edi
ab990d:	8b 06                	mov    (%esi),%eax
ab990f:	43                   	inc    %ebx
ab9910:	8a 08                	mov    (%eax),%cl
ab9912:	40                   	inc    %eax
ab9913:	88 4d fb             	mov    %cl,-0x5(%ebp)
ab9916:	89 06                	mov    %eax,(%esi)
ab9918:	eb b2                	jmp    0xab98cc
ab991a:	8b 45 08             	mov    0x8(%ebp),%eax
ab991d:	6a 00                	push   $0x0
ab991f:	89 5d f4             	mov    %ebx,-0xc(%ebp)
ab9922:	5b                   	pop    %ebx
ab9923:	8b 00                	mov    (%eax),%eax
ab9925:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
ab992b:	8b 00                	mov    (%eax),%eax
ab992d:	3a 08                	cmp    (%eax),%cl
ab992f:	75 73                	jne    0xab99a4
ab9931:	8b 06                	mov    (%esi),%eax
ab9933:	8a 08                	mov    (%eax),%cl
ab9935:	40                   	inc    %eax
ab9936:	88 4d fb             	mov    %cl,-0x5(%ebp)
ab9939:	89 06                	mov    %eax,(%esi)
ab993b:	3b 7d e8             	cmp    -0x18(%ebp),%edi
ab993e:	75 17                	jne    0xab9957
ab9940:	80 f9 30             	cmp    $0x30,%cl
ab9943:	75 12                	jne    0xab9957
ab9945:	b5 01                	mov    $0x1,%ch
ab9947:	8a 08                	mov    (%eax),%cl
ab9949:	ff 4d f4             	decl   -0xc(%ebp)
ab994c:	40                   	inc    %eax
ab994d:	88 4d fb             	mov    %cl,-0x5(%ebp)
ab9950:	89 06                	mov    %eax,(%esi)
ab9952:	80 f9 30             	cmp    $0x30,%cl
ab9955:	74 f0                	je     0xab9947
ab9957:	8a c1                	mov    %cl,%al
ab9959:	2c 30                	sub    $0x30,%al
ab995b:	3c 09                	cmp    $0x9,%al
ab995d:	77 08                	ja     0xab9967
ab995f:	0f be c1             	movsbl %cl,%eax
ab9962:	83 e8 30             	sub    $0x30,%eax
ab9965:	eb 23                	jmp    0xab998a
ab9967:	8a c1                	mov    %cl,%al
ab9969:	2c 61                	sub    $0x61,%al
ab996b:	3c 19                	cmp    $0x19,%al
ab996d:	77 08                	ja     0xab9977
ab996f:	0f be c1             	movsbl %cl,%eax
ab9972:	83 e8 57             	sub    $0x57,%eax
ab9975:	eb 13                	jmp    0xab998a
ab9977:	8a c1                	mov    %cl,%al
ab9979:	2c 41                	sub    $0x41,%al
ab997b:	3c 19                	cmp    $0x19,%al
ab997d:	77 08                	ja     0xab9987
ab997f:	0f be c1             	movsbl %cl,%eax
ab9982:	83 e8 37             	sub    $0x37,%eax
ab9985:	eb 03                	jmp    0xab998a
ab9987:	83 c8 ff             	or     $0xffffffff,%eax
ab998a:	3b c2                	cmp    %edx,%eax
ab998c:	77 16                	ja     0xab99a4
ab998e:	b5 01                	mov    $0x1,%ch
ab9990:	3b 7d ec             	cmp    -0x14(%ebp),%edi
ab9993:	74 03                	je     0xab9998
ab9995:	88 07                	mov    %al,(%edi)
ab9997:	47                   	inc    %edi
ab9998:	8b 06                	mov    (%esi),%eax
ab999a:	8a 08                	mov    (%eax),%cl
ab999c:	40                   	inc    %eax
ab999d:	88 4d fb             	mov    %cl,-0x5(%ebp)
ab99a0:	89 06                	mov    %eax,(%esi)
ab99a2:	eb b3                	jmp    0xab9957
ab99a4:	84 ed                	test   %ch,%ch
ab99a6:	75 24                	jne    0xab99cc
ab99a8:	8d 4d dc             	lea    -0x24(%ebp),%ecx
ab99ab:	e8 a1 1c 00 00       	call   0xabb651
ab99b0:	84 c0                	test   %al,%al
ab99b2:	0f 84 a1 01 00 00    	je     0xab9b59
ab99b8:	33 c0                	xor    %eax,%eax
ab99ba:	38 45 ff             	cmp    %al,-0x1(%ebp)
ab99bd:	0f 94 c0             	sete   %al
ab99c0:	48                   	dec    %eax
ab99c1:	83 e0 fb             	and    $0xfffffffb,%eax
ab99c4:	83 c0 07             	add    $0x7,%eax
ab99c7:	e9 d0 01 00 00       	jmp    0xab9b9c
ab99cc:	ff 75 fb             	push   -0x5(%ebp)
ab99cf:	8b ce                	mov    %esi,%ecx
ab99d1:	e8 9c c5 96 ff       	call   0x425f72
ab99d6:	8b 06                	mov    (%esi),%eax
ab99d8:	89 45 f0             	mov    %eax,-0x10(%ebp)
ab99db:	8a 08                	mov    (%eax),%cl
ab99dd:	8d 50 01             	lea    0x1(%eax),%edx
ab99e0:	88 4d fb             	mov    %cl,-0x5(%ebp)
ab99e3:	8a c3                	mov    %bl,%al
ab99e5:	89 16                	mov    %edx,(%esi)
ab99e7:	80 f9 45             	cmp    $0x45,%cl
ab99ea:	74 14                	je     0xab9a00
ab99ec:	80 f9 50             	cmp    $0x50,%cl
ab99ef:	74 0a                	je     0xab99fb
ab99f1:	80 f9 65             	cmp    $0x65,%cl
ab99f4:	74 0a                	je     0xab9a00
ab99f6:	80 f9 70             	cmp    $0x70,%cl
ab99f9:	75 0c                	jne    0xab9a07
ab99fb:	8a 45 ff             	mov    -0x1(%ebp),%al
ab99fe:	eb 07                	jmp    0xab9a07
ab9a00:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
ab9a04:	0f 94 c0             	sete   %al
ab9a07:	84 c0                	test   %al,%al
ab9a09:	0f 84 f8 00 00 00    	je     0xab9b07
ab9a0f:	8a 0a                	mov    (%edx),%cl
ab9a11:	8d 42 01             	lea    0x1(%edx),%eax
ab9a14:	80 f9 2d             	cmp    $0x2d,%cl
ab9a17:	88 4d fb             	mov    %cl,-0x5(%ebp)
ab9a1a:	89 06                	mov    %eax,(%esi)
ab9a1c:	0f 94 c5             	sete   %ch
ab9a1f:	80 f9 2b             	cmp    $0x2b,%cl
ab9a22:	74 05                	je     0xab9a29
ab9a24:	80 f9 2d             	cmp    $0x2d,%cl
ab9a27:	75 08                	jne    0xab9a31
ab9a29:	8a 08                	mov    (%eax),%cl
ab9a2b:	40                   	inc    %eax
ab9a2c:	88 4d fb             	mov    %cl,-0x5(%ebp)
ab9a2f:	89 06                	mov    %eax,(%esi)
ab9a31:	8a d3                	mov    %bl,%dl
ab9a33:	80 f9 30             	cmp    $0x30,%cl
ab9a36:	75 11                	jne    0xab9a49
ab9a38:	b2 01                	mov    $0x1,%dl
ab9a3a:	8b 06                	mov    (%esi),%eax
ab9a3c:	8a 08                	mov    (%eax),%cl
ab9a3e:	40                   	inc    %eax
ab9a3f:	88 4d fb             	mov    %cl,-0x5(%ebp)
ab9a42:	89 06                	mov    %eax,(%esi)
ab9a44:	80 f9 30             	cmp    $0x30,%cl
ab9a47:	74 f1                	je     0xab9a3a
ab9a49:	8a c1                	mov    %cl,%al
ab9a4b:	2c 30                	sub    $0x30,%al
ab9a4d:	3c 09                	cmp    $0x9,%al
ab9a4f:	77 08                	ja     0xab9a59
ab9a51:	0f be c1             	movsbl %cl,%eax
ab9a54:	83 e8 30             	sub    $0x30,%eax
ab9a57:	eb 23                	jmp    0xab9a7c