a9f8a8:	56                   	push   %esi
a9f8a9:	8b 75 14             	mov    0x14(%ebp),%esi
a9f8ac:	85 f6                	test   %esi,%esi
a9f8ae:	75 04                	jne    0xa9f8b4
a9f8b0:	33 c0                	xor    %eax,%eax
a9f8b2:	eb 6d                	jmp    0xa9f921
a9f8b4:	8b 45 08             	mov    0x8(%ebp),%eax
a9f8b7:	85 c0                	test   %eax,%eax
a9f8b9:	75 13                	jne    0xa9f8ce
a9f8bb:	e8 af ef 99 ff       	call   0x43e86f
a9f8c0:	6a 16                	push   $0x16
a9f8c2:	5e                   	pop    %esi
a9f8c3:	89 30                	mov    %esi,(%eax)
a9f8c5:	e8 2e fa 97 ff       	call   0x41f2f8
a9f8ca:	8b c6                	mov    %esi,%eax
a9f8cc:	eb 53                	jmp    0xa9f921
a9f8ce:	57                   	push   %edi
a9f8cf:	8b 7d 10             	mov    0x10(%ebp),%edi
a9f8d2:	85 ff                	test   %edi,%edi
a9f8d4:	74 14                	je     0xa9f8ea
a9f8d6:	39 75 0c             	cmp    %esi,0xc(%ebp)
a9f8d9:	72 0f                	jb     0xa9f8ea
a9f8db:	56                   	push   %esi
a9f8dc:	57                   	push   %edi
a9f8dd:	50                   	push   %eax
a9f8de:	e8 9f 4d 97 ff       	call   0x414682
a9f8e3:	83 c4 0c             	add    $0xc,%esp
a9f8e6:	33 c0                	xor    %eax,%eax
a9f8e8:	eb 36                	jmp    0xa9f920
a9f8ea:	ff 75 0c             	push   0xc(%ebp)
a9f8ed:	6a 00                	push   $0x0
a9f8ef:	50                   	push   %eax
a9f8f0:	e8 c3 4e 97 ff       	call   0x4147b8
a9f8f5:	83 c4 0c             	add    $0xc,%esp
a9f8f8:	85 ff                	test   %edi,%edi
a9f8fa:	75 09                	jne    0xa9f905
a9f8fc:	e8 6e ef 99 ff       	call   0x43e86f
a9f901:	6a 16                	push   $0x16
a9f903:	eb 0c                	jmp    0xa9f911
a9f905:	39 75 0c             	cmp    %esi,0xc(%ebp)
a9f908:	73 13                	jae    0xa9f91d
a9f90a:	e8 60 ef 99 ff       	call   0x43e86f
a9f90f:	6a 22                	push   $0x22
a9f911:	5e                   	pop    %esi
a9f912:	89 30                	mov    %esi,(%eax)
a9f914:	e8 df f9 97 ff       	call   0x41f2f8
a9f919:	8b c6                	mov    %esi,%eax
a9f91b:	eb 03                	jmp    0xa9f920
a9f91d:	6a 16                	push   $0x16
a9f91f:	58                   	pop    %eax
a9f920:	5f                   	pop    %edi
a9f921:	5e                   	pop    %esi
a9f922:	5d                   	pop    %ebp
a9f923:	c3                   	ret
a9f924:	cc                   	int3
a9f925:	cc                   	int3
a9f926:	cc                   	int3
a9f927:	cc                   	int3
a9f928:	cc                   	int3
a9f929:	cc                   	int3
a9f92a:	cc                   	int3
a9f92b:	cc                   	int3
a9f92c:	cc                   	int3
a9f92d:	cc                   	int3
a9f92e:	cc                   	int3
a9f92f:	cc                   	int3
a9f930:	cc                   	int3
a9f931:	cc                   	int3
a9f932:	cc                   	int3
a9f933:	cc                   	int3
a9f934:	cc                   	int3
a9f935:	cc                   	int3
a9f936:	cc                   	int3
a9f937:	cc                   	int3
a9f938:	cc                   	int3
a9f939:	cc                   	int3
a9f93a:	cc                   	int3
a9f93b:	cc                   	int3
a9f93c:	cc                   	int3
a9f93d:	cc                   	int3
a9f93e:	cc                   	int3
a9f93f:	cc                   	int3
a9f940:	cc                   	int3
a9f941:	cc                   	int3
a9f942:	cc                   	int3
a9f943:	cc                   	int3
a9f944:	8b ff                	mov    %edi,%edi
a9f946:	55                   	push   %ebp
a9f947:	8b ec                	mov    %esp,%ebp
a9f949:	8b 45 08             	mov    0x8(%ebp),%eax
a9f94c:	a8 04                	test   $0x4,%al
a9f94e:	74 04                	je     0xa9f954
a9f950:	b0 01                	mov    $0x1,%al
a9f952:	5d                   	pop    %ebp
a9f953:	c3                   	ret
a9f954:	a8 01                	test   $0x1,%al
a9f956:	74 1b                	je     0xa9f973
a9f958:	83 e0 02             	and    $0x2,%eax
a9f95b:	74 09                	je     0xa9f966
a9f95d:	81 7d 0c 00 00 00 80 	cmpl   $0x80000000,0xc(%ebp)
a9f964:	77 ea                	ja     0xa9f950
a9f966:	85 c0                	test   %eax,%eax
a9f968:	75 09                	jne    0xa9f973
a9f96a:	81 7d 0c ff ff ff 7f 	cmpl   $0x7fffffff,0xc(%ebp)
a9f971:	77 dd                	ja     0xa9f950
a9f973:	32 c0                	xor    %al,%al
a9f975:	5d                   	pop    %ebp
a9f976:	c3                   	ret
a9f977:	cc                   	int3
a9f978:	cc                   	int3
a9f979:	cc                   	int3
a9f97a:	cc                   	int3
a9f97b:	cc                   	int3
a9f97c:	cc                   	int3
a9f97d:	cc                   	int3
a9f97e:	cc                   	int3
a9f97f:	cc                   	int3
a9f980:	cc                   	int3
a9f981:	cc                   	int3
a9f982:	cc                   	int3
a9f983:	8b ff                	mov    %edi,%edi
a9f985:	55                   	push   %ebp
a9f986:	8b ec                	mov    %esp,%ebp
a9f988:	8b 45 08             	mov    0x8(%ebp),%eax
a9f98b:	a8 04                	test   $0x4,%al
a9f98d:	74 04                	je     0xa9f993
a9f98f:	b0 01                	mov    $0x1,%al
a9f991:	5d                   	pop    %ebp
a9f992:	c3                   	ret
a9f993:	a8 01                	test   $0x1,%al
a9f995:	74 2b                	je     0xa9f9c2
a9f997:	83 e0 02             	and    $0x2,%eax
a9f99a:	74 11                	je     0xa9f9ad
a9f99c:	81 7d 10 00 00 00 80 	cmpl   $0x80000000,0x10(%ebp)
a9f9a3:	72 08                	jb     0xa9f9ad
a9f9a5:	77 e8                	ja     0xa9f98f
a9f9a7:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
a9f9ab:	77 e2                	ja     0xa9f98f
a9f9ad:	85 c0                	test   %eax,%eax
a9f9af:	75 11                	jne    0xa9f9c2
a9f9b1:	81 7d 10 ff ff ff 7f 	cmpl   $0x7fffffff,0x10(%ebp)
a9f9b8:	72 08                	jb     0xa9f9c2
a9f9ba:	77 d3                	ja     0xa9f98f
a9f9bc:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
a9f9c0:	77 cd                	ja     0xa9f98f
a9f9c2:	32 c0                	xor    %al,%al
a9f9c4:	5d                   	pop    %ebp
a9f9c5:	c3                   	ret
a9f9c6:	cc                   	int3
a9f9c7:	cc                   	int3
a9f9c8:	cc                   	int3
a9f9c9:	cc                   	int3
a9f9ca:	cc                   	int3
a9f9cb:	cc                   	int3
a9f9cc:	cc                   	int3
a9f9cd:	cc                   	int3
a9f9ce:	cc                   	int3
a9f9cf:	cc                   	int3
a9f9d0:	cc                   	int3
a9f9d1:	cc                   	int3
a9f9d2:	cc                   	int3
a9f9d3:	cc                   	int3
a9f9d4:	cc                   	int3
a9f9d5:	cc                   	int3
a9f9d6:	8b ff                	mov    %edi,%edi
a9f9d8:	55                   	push   %ebp
a9f9d9:	8b ec                	mov    %esp,%ebp
a9f9db:	8b 45 08             	mov    0x8(%ebp),%eax
a9f9de:	8b 4d 10             	mov    0x10(%ebp),%ecx
a9f9e1:	8b 55 0c             	mov    0xc(%ebp),%edx
a9f9e4:	89 10                	mov    %edx,(%eax)
a9f9e6:	89 48 04             	mov    %ecx,0x4(%eax)
a9f9e9:	85 c9                	test   %ecx,%ecx
a9f9eb:	74 02                	je     0xa9f9ef
a9f9ed:	89 11                	mov    %edx,(%ecx)
a9f9ef:	5d                   	pop    %ebp
a9f9f0:	c3                   	ret
a9f9f1:	cc                   	int3
a9f9f2:	cc                   	int3
a9f9f3:	cc                   	int3
a9f9f4:	cc                   	int3
a9f9f5:	cc                   	int3
a9f9f6:	cc                   	int3
a9f9f7:	8b ff                	mov    %edi,%edi
a9f9f9:	55                   	push   %ebp
a9f9fa:	8b ec                	mov    %esp,%ebp
a9f9fc:	8b 45 08             	mov    0x8(%ebp),%eax
a9f9ff:	8b 4d 10             	mov    0x10(%ebp),%ecx
a9fa02:	8b 55 0c             	mov    0xc(%ebp),%edx
a9fa05:	89 10                	mov    %edx,(%eax)
a9fa07:	89 48 04             	mov    %ecx,0x4(%eax)
a9fa0a:	85 c9                	test   %ecx,%ecx
a9fa0c:	74 02                	je     0xa9fa10
a9fa0e:	89 11                	mov    %edx,(%ecx)
a9fa10:	5d                   	pop    %ebp
a9fa11:	c3                   	ret
a9fa12:	cc                   	int3
a9fa13:	cc                   	int3
a9fa14:	cc                   	int3
a9fa15:	cc                   	int3
a9fa16:	cc                   	int3
a9fa17:	cc                   	int3
a9fa18:	8b ff                	mov    %edi,%edi
a9fa1a:	55                   	push   %ebp
a9fa1b:	8b ec                	mov    %esp,%ebp
a9fa1d:	83 ec 28             	sub    $0x28,%esp
a9fa20:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a9fa23:	53                   	push   %ebx
a9fa24:	57                   	push   %edi
a9fa25:	e8 e7 2b 97 ff       	call   0x412611
a9fa2a:	84 c0                	test   %al,%al
a9fa2c:	74 21                	je     0xa9fa4f
a9fa2e:	8b 7d 14             	mov    0x14(%ebp),%edi
a9fa31:	85 ff                	test   %edi,%edi
a9fa33:	74 30                	je     0xa9fa65
a9fa35:	83 ff 02             	cmp    $0x2,%edi
a9fa38:	7c 05                	jl     0xa9fa3f
a9fa3a:	83 ff 24             	cmp    $0x24,%edi
a9fa3d:	7e 26                	jle    0xa9fa65
a9fa3f:	e8 2b ee 99 ff       	call   0x43e86f
a9fa44:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
a9fa4a:	e8 a9 f8 97 ff       	call   0x41f2f8
a9fa4f:	33 db                	xor    %ebx,%ebx
a9fa51:	8b 55 10             	mov    0x10(%ebp),%edx
a9fa54:	85 d2                	test   %edx,%edx
a9fa56:	74 05                	je     0xa9fa5d
a9fa58:	8b 4d 0c             	mov    0xc(%ebp),%ecx
a9fa5b:	89 0a                	mov    %ecx,(%edx)
a9fa5d:	5f                   	pop    %edi
a9fa5e:	8b c3                	mov    %ebx,%eax
a9fa60:	5b                   	pop    %ebx
a9fa61:	8b e5                	mov    %ebp,%esp
a9fa63:	5d                   	pop    %ebp
a9fa64:	c3                   	ret
a9fa65:	56                   	push   %esi
a9fa66:	ff 75 08             	push   0x8(%ebp)
a9fa69:	8d 4d d8             	lea    -0x28(%ebp),%ecx
a9fa6c:	e8 1b 20 96 ff       	call   0x401a8c
a9fa71:	8b 45 0c             	mov    0xc(%ebp),%eax
a9fa74:	33 f6                	xor    %esi,%esi
a9fa76:	89 75 f4             	mov    %esi,-0xc(%ebp)
a9fa79:	89 45 e8             	mov    %eax,-0x18(%ebp)
a9fa7c:	eb 03                	jmp    0xa9fa81
a9fa7e:	8b 45 0c             	mov    0xc(%ebp),%eax
a9fa81:	8a 18                	mov    (%eax),%bl
a9fa83:	40                   	inc    %eax
a9fa84:	89 45 0c             	mov    %eax,0xc(%ebp)
a9fa87:	8d 45 dc             	lea    -0x24(%ebp),%eax
a9fa8a:	50                   	push   %eax
a9fa8b:	0f b6 c3             	movzbl %bl,%eax
a9fa8e:	6a 08                	push   $0x8
a9fa90:	50                   	push   %eax
a9fa91:	88 5d fc             	mov    %bl,-0x4(%ebp)
a9fa94:	e8 70 98 96 ff       	call   0x409309
a9fa99:	83 c4 0c             	add    $0xc,%esp
a9fa9c:	85 c0                	test   %eax,%eax
a9fa9e:	75 de                	jne    0xa9fa7e
a9faa0:	38 45 18             	cmp    %al,0x18(%ebp)
a9faa3:	0f 95 c0             	setne  %al
a9faa6:	89 45 f8             	mov    %eax,-0x8(%ebp)
a9faa9:	80 fb 2d             	cmp    $0x2d,%bl
a9faac:	75 08                	jne    0xa9fab6
a9faae:	83 c8 02             	or     $0x2,%eax
a9fab1:	89 45 f8             	mov    %eax,-0x8(%ebp)
a9fab4:	eb 05                	jmp    0xa9fabb
a9fab6:	80 fb 2b             	cmp    $0x2b,%bl
a9fab9:	75 0e                	jne    0xa9fac9
a9fabb:	8b 75 0c             	mov    0xc(%ebp),%esi
a9fabe:	8a 1e                	mov    (%esi),%bl
a9fac0:	46                   	inc    %esi
a9fac1:	88 5d fc             	mov    %bl,-0x4(%ebp)
a9fac4:	89 75 0c             	mov    %esi,0xc(%ebp)
a9fac7:	eb 03                	jmp    0xa9facc
a9fac9:	8b 75 0c             	mov    0xc(%ebp),%esi
a9facc:	85 ff                	test   %edi,%edi
a9face:	74 05                	je     0xa9fad5
a9fad0:	83 ff 10             	cmp    $0x10,%edi
a9fad3:	75 78                	jne    0xa9fb4d
a9fad5:	8a c3                	mov    %bl,%al
a9fad7:	2c 30                	sub    $0x30,%al
a9fad9:	3c 09                	cmp    $0x9,%al
a9fadb:	77 08                	ja     0xa9fae5
a9fadd:	0f be c3             	movsbl %bl,%eax
a9fae0:	83 c0 d0             	add    $0xffffffd0,%eax
a9fae3:	eb 23                	jmp    0xa9fb08
a9fae5:	8a c3                	mov    %bl,%al
a9fae7:	2c 61                	sub    $0x61,%al
a9fae9:	3c 19                	cmp    $0x19,%al
a9faeb:	77 08                	ja     0xa9faf5
a9faed:	0f be c3             	movsbl %bl,%eax
a9faf0:	83 c0 a9             	add    $0xffffffa9,%eax
a9faf3:	eb 13                	jmp    0xa9fb08
a9faf5:	8a c3                	mov    %bl,%al
a9faf7:	2c 41                	sub    $0x41,%al
a9faf9:	3c 19                	cmp    $0x19,%al
a9fafb:	77 08                	ja     0xa9fb05
a9fafd:	0f be c3             	movsbl %bl,%eax
a9fb00:	83 c0 c9             	add    $0xffffffc9,%eax
a9fb03:	eb 03                	jmp    0xa9fb08
a9fb05:	83 c8 ff             	or     $0xffffffff,%eax
a9fb08:	85 c0                	test   %eax,%eax
a9fb0a:	74 09                	je     0xa9fb15
a9fb0c:	85 ff                	test   %edi,%edi
a9fb0e:	75 3d                	jne    0xa9fb4d
a9fb10:	6a 0a                	push   $0xa
a9fb12:	5f                   	pop    %edi
a9fb13:	eb 38                	jmp    0xa9fb4d
a9fb15:	8a 06                	mov    (%esi),%al
a9fb17:	46                   	inc    %esi
a9fb18:	88 45 f0             	mov    %al,-0x10(%ebp)
a9fb1b:	89 75 0c             	mov    %esi,0xc(%ebp)
a9fb1e:	3c 78                	cmp    $0x78,%al
a9fb20:	74 1b                	je     0xa9fb3d
a9fb22:	3c 58                	cmp    $0x58,%al
a9fb24:	74 17                	je     0xa9fb3d
a9fb26:	85 ff                	test   %edi,%edi
a9fb28:	75 03                	jne    0xa9fb2d
a9fb2a:	6a 08                	push   $0x8
a9fb2c:	5f                   	pop    %edi
a9fb2d:	ff 75 f0             	push   -0x10(%ebp)
a9fb30:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a9fb33:	e8 3a 64 98 ff       	call   0x425f72
a9fb38:	8b 75 0c             	mov    0xc(%ebp),%esi
a9fb3b:	eb 10                	jmp    0xa9fb4d
a9fb3d:	85 ff                	test   %edi,%edi
a9fb3f:	75 03                	jne    0xa9fb44
a9fb41:	6a 10                	push   $0x10
a9fb43:	5f                   	pop    %edi
a9fb44:	8a 1e                	mov    (%esi),%bl
a9fb46:	46                   	inc    %esi
a9fb47:	88 5d fc             	mov    %bl,-0x4(%ebp)
a9fb4a:	89 75 0c             	mov    %esi,0xc(%ebp)
a9fb4d:	33 d2                	xor    %edx,%edx
a9fb4f:	83 c8 ff             	or     $0xffffffff,%eax
a9fb52:	f7 f7                	div    %edi
a9fb54:	89 55 ec             	mov    %edx,-0x14(%ebp)
a9fb57:	8b 55 f8             	mov    -0x8(%ebp),%edx
a9fb5a:	89 45 f0             	mov    %eax,-0x10(%ebp)
a9fb5d:	8d 4b d0             	lea    -0x30(%ebx),%ecx
a9fb60:	80 f9 09             	cmp    $0x9,%cl
a9fb63:	77 08                	ja     0xa9fb6d
a9fb65:	0f be cb             	movsbl %bl,%ecx
a9fb68:	83 c1 d0             	add    $0xffffffd0,%ecx
a9fb6b:	eb 23                	jmp    0xa9fb90
a9fb6d:	8a c3                	mov    %bl,%al
a9fb6f:	2c 61                	sub    $0x61,%al
a9fb71:	3c 19                	cmp    $0x19,%al
a9fb73:	77 08                	ja     0xa9fb7d
a9fb75:	0f be cb             	movsbl %bl,%ecx
a9fb78:	83 c1 a9             	add    $0xffffffa9,%ecx