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
ab9a59:	8a c1                	mov    %cl,%al
ab9a5b:	2c 61                	sub    $0x61,%al
ab9a5d:	3c 19                	cmp    $0x19,%al
ab9a5f:	77 08                	ja     0xab9a69
ab9a61:	0f be c1             	movsbl %cl,%eax
ab9a64:	83 e8 57             	sub    $0x57,%eax
ab9a67:	eb 13                	jmp    0xab9a7c
ab9a69:	8a c1                	mov    %cl,%al
ab9a6b:	2c 41                	sub    $0x41,%al
ab9a6d:	3c 19                	cmp    $0x19,%al
ab9a6f:	77 08                	ja     0xab9a79
ab9a71:	0f be c1             	movsbl %cl,%eax
ab9a74:	83 e8 37             	sub    $0x37,%eax
ab9a77:	eb 03                	jmp    0xab9a7c
ab9a79:	83 c8 ff             	or     $0xffffffff,%eax
ab9a7c:	83 f8 0a             	cmp    $0xa,%eax
ab9a7f:	73 20                	jae    0xab9aa1
ab9a81:	6b db 0a             	imul   $0xa,%ebx,%ebx
ab9a84:	b2 01                	mov    $0x1,%dl
ab9a86:	03 d8                	add    %eax,%ebx
ab9a88:	81 fb 50 14 00 00    	cmp    $0x1450,%ebx
ab9a8e:	7f 0c                	jg     0xab9a9c
ab9a90:	8b 06                	mov    (%esi),%eax
ab9a92:	8a 08                	mov    (%eax),%cl
ab9a94:	40                   	inc    %eax
ab9a95:	88 4d fb             	mov    %cl,-0x5(%ebp)
ab9a98:	89 06                	mov    %eax,(%esi)
ab9a9a:	eb ad                	jmp    0xab9a49
ab9a9c:	bb 51 14 00 00       	mov    $0x1451,%ebx
ab9aa1:	8a c1                	mov    %cl,%al
ab9aa3:	2c 30                	sub    $0x30,%al
ab9aa5:	3c 09                	cmp    $0x9,%al
ab9aa7:	77 08                	ja     0xab9ab1
ab9aa9:	0f be c1             	movsbl %cl,%eax
ab9aac:	83 e8 30             	sub    $0x30,%eax
ab9aaf:	eb 23                	jmp    0xab9ad4
ab9ab1:	8a c1                	mov    %cl,%al
ab9ab3:	2c 61                	sub    $0x61,%al
ab9ab5:	3c 19                	cmp    $0x19,%al
ab9ab7:	77 08                	ja     0xab9ac1
ab9ab9:	0f be c1             	movsbl %cl,%eax
ab9abc:	83 e8 57             	sub    $0x57,%eax
ab9abf:	eb 13                	jmp    0xab9ad4
ab9ac1:	8a c1                	mov    %cl,%al
ab9ac3:	2c 41                	sub    $0x41,%al
ab9ac5:	3c 19                	cmp    $0x19,%al
ab9ac7:	77 08                	ja     0xab9ad1
ab9ac9:	0f be c1             	movsbl %cl,%eax
ab9acc:	83 e8 37             	sub    $0x37,%eax
ab9acf:	eb 03                	jmp    0xab9ad4
ab9ad1:	83 c8 ff             	or     $0xffffffff,%eax
ab9ad4:	83 f8 0a             	cmp    $0xa,%eax
ab9ad7:	73 0c                	jae    0xab9ae5
ab9ad9:	8b 06                	mov    (%esi),%eax
ab9adb:	8a 08                	mov    (%eax),%cl
ab9add:	40                   	inc    %eax
ab9ade:	88 4d fb             	mov    %cl,-0x5(%ebp)
ab9ae1:	89 06                	mov    %eax,(%esi)
ab9ae3:	eb bc                	jmp    0xab9aa1
ab9ae5:	84 ed                	test   %ch,%ch
ab9ae7:	74 02                	je     0xab9aeb
ab9ae9:	f7 db                	neg    %ebx
ab9aeb:	84 d2                	test   %dl,%dl
ab9aed:	75 18                	jne    0xab9b07
ab9aef:	8d 4d dc             	lea    -0x24(%ebp),%ecx
ab9af2:	e8 5a 1b 00 00       	call   0xabb651
ab9af7:	84 c0                	test   %al,%al
ab9af9:	74 5e                	je     0xab9b59
ab9afb:	8b 0e                	mov    (%esi),%ecx
ab9afd:	8a 01                	mov    (%ecx),%al
ab9aff:	88 45 fb             	mov    %al,-0x5(%ebp)
ab9b02:	8d 41 01             	lea    0x1(%ecx),%eax
ab9b05:	89 06                	mov    %eax,(%esi)
ab9b07:	ff 75 fb             	push   -0x5(%ebp)
ab9b0a:	8b ce                	mov    %esi,%ecx
ab9b0c:	e8 61 c4 96 ff       	call   0x425f72
ab9b11:	8b 55 e8             	mov    -0x18(%ebp),%edx
ab9b14:	3b fa                	cmp    %edx,%edi
ab9b16:	74 60                	je     0xab9b78
ab9b18:	80 7f ff 00          	cmpb   $0x0,-0x1(%edi)
ab9b1c:	75 05                	jne    0xab9b23
ab9b1e:	4f                   	dec    %edi
ab9b1f:	3b fa                	cmp    %edx,%edi
ab9b21:	75 f5                	jne    0xab9b18
ab9b23:	3b fa                	cmp    %edx,%edi
ab9b25:	74 51                	je     0xab9b78
ab9b27:	81 fb 50 14 00 00    	cmp    $0x1450,%ebx
ab9b2d:	7f 26                	jg     0xab9b55
ab9b2f:	be b0 eb ff ff       	mov    $0xffffebb0,%esi
ab9b34:	3b de                	cmp    %esi,%ebx
ab9b36:	7c 29                	jl     0xab9b61
ab9b38:	8a 4d ff             	mov    -0x1(%ebp),%cl
ab9b3b:	33 c0                	xor    %eax,%eax
ab9b3d:	84 c9                	test   %cl,%cl
ab9b3f:	0f 94 c0             	sete   %al
ab9b42:	48                   	dec    %eax
ab9b43:	83 e0 03             	and    $0x3,%eax
ab9b46:	40                   	inc    %eax
ab9b47:	0f af 45 f4          	imul   -0xc(%ebp),%eax
ab9b4b:	03 d8                	add    %eax,%ebx
ab9b4d:	81 fb 50 14 00 00    	cmp    $0x1450,%ebx
ab9b53:	7e 08                	jle    0xab9b5d
ab9b55:	6a 09                	push   $0x9
ab9b57:	eb 21                	jmp    0xab9b7a
ab9b59:	6a 07                	push   $0x7
ab9b5b:	eb 1d                	jmp    0xab9b7a
ab9b5d:	3b de                	cmp    %esi,%ebx
ab9b5f:	7d 04                	jge    0xab9b65
ab9b61:	6a 08                	push   $0x8
ab9b63:	eb 15                	jmp    0xab9b7a
ab9b65:	8b 45 10             	mov    0x10(%ebp),%eax
ab9b68:	2b fa                	sub    %edx,%edi
ab9b6a:	89 18                	mov    %ebx,(%eax)
ab9b6c:	89 78 04             	mov    %edi,0x4(%eax)
ab9b6f:	33 c0                	xor    %eax,%eax
ab9b71:	84 c9                	test   %cl,%cl
ab9b73:	0f 95 c0             	setne  %al
ab9b76:	eb 24                	jmp    0xab9b9c
ab9b78:	6a 02                	push   $0x2
ab9b7a:	58                   	pop    %eax
ab9b7b:	eb 1f                	jmp    0xab9b9c
ab9b7d:	ff 75 f0             	push   -0x10(%ebp)
ab9b80:	8d 45 fb             	lea    -0x5(%ebp),%eax
ab9b83:	56                   	push   %esi
ab9b84:	50                   	push   %eax
ab9b85:	e8 78 26 95 ff       	call   0x40c202
ab9b8a:	eb 0d                	jmp    0xab9b99
ab9b8c:	ff 75 f0             	push   -0x10(%ebp)
ab9b8f:	8d 45 fb             	lea    -0x5(%ebp),%eax
ab9b92:	56                   	push   %esi
ab9b93:	50                   	push   %eax
ab9b94:	e8 61 ca 94 ff       	call   0x4065fa
ab9b99:	83 c4 0c             	add    $0xc,%esp
ab9b9c:	5b                   	pop    %ebx
ab9b9d:	5f                   	pop    %edi
ab9b9e:	5e                   	pop    %esi
ab9b9f:	8b e5                	mov    %ebp,%esp
ab9ba1:	5d                   	pop    %ebp
ab9ba2:	c3                   	ret
ab9ba3:	cc                   	int3
ab9ba4:	cc                   	int3
ab9ba5:	cc                   	int3
ab9ba6:	cc                   	int3
ab9ba7:	cc                   	int3
ab9ba8:	cc                   	int3
ab9ba9:	cc                   	int3
ab9baa:	cc                   	int3
ab9bab:	cc                   	int3
ab9bac:	cc                   	int3
ab9bad:	cc                   	int3
ab9bae:	cc                   	int3
ab9baf:	cc                   	int3
ab9bb0:	cc                   	int3
ab9bb1:	cc                   	int3
ab9bb2:	cc                   	int3
ab9bb3:	cc                   	int3
ab9bb4:	cc                   	int3
ab9bb5:	cc                   	int3
ab9bb6:	cc                   	int3
ab9bb7:	cc                   	int3
ab9bb8:	cc                   	int3
ab9bb9:	cc                   	int3
ab9bba:	cc                   	int3
ab9bbb:	cc                   	int3
ab9bbc:	cc                   	int3
ab9bbd:	cc                   	int3
ab9bbe:	cc                   	int3
ab9bbf:	cc                   	int3
ab9bc0:	cc                   	int3
ab9bc1:	cc                   	int3
ab9bc2:	cc                   	int3
ab9bc3:	cc                   	int3
ab9bc4:	cc                   	int3
ab9bc5:	cc                   	int3
ab9bc6:	cc                   	int3