a97ae1:	8b 75 14             	mov    0x14(%ebp),%esi
a97ae4:	85 f6                	test   %esi,%esi
a97ae6:	75 04                	jne    0xa97aec
a97ae8:	33 c0                	xor    %eax,%eax
a97aea:	eb 70                	jmp    0xa97b5c
a97aec:	8b 4d 08             	mov    0x8(%ebp),%ecx
a97aef:	85 c9                	test   %ecx,%ecx
a97af1:	75 13                	jne    0xa97b06
a97af3:	e8 77 6d 9a ff       	call   0x43e86f
a97af8:	6a 16                	push   $0x16
a97afa:	5e                   	pop    %esi
a97afb:	89 30                	mov    %esi,(%eax)
a97afd:	e8 f6 77 98 ff       	call   0x41f2f8
a97b02:	8b c6                	mov    %esi,%eax
a97b04:	eb 56                	jmp    0xa97b5c
a97b06:	57                   	push   %edi
a97b07:	8b 7d 10             	mov    0x10(%ebp),%edi
a97b0a:	85 ff                	test   %edi,%edi
a97b0c:	74 17                	je     0xa97b25
a97b0e:	39 75 0c             	cmp    %esi,0xc(%ebp)
a97b11:	72 12                	jb     0xa97b25
a97b13:	8d 04 36             	lea    (%esi,%esi,1),%eax
a97b16:	50                   	push   %eax
a97b17:	57                   	push   %edi
a97b18:	51                   	push   %ecx
a97b19:	e8 64 cb 97 ff       	call   0x414682
a97b1e:	83 c4 0c             	add    $0xc,%esp
a97b21:	33 c0                	xor    %eax,%eax
a97b23:	eb 36                	jmp    0xa97b5b
a97b25:	ff 75 0c             	push   0xc(%ebp)
a97b28:	6a 00                	push   $0x0
a97b2a:	51                   	push   %ecx
a97b2b:	e8 d7 3a 99 ff       	call   0x42b607
a97b30:	83 c4 0c             	add    $0xc,%esp
a97b33:	85 ff                	test   %edi,%edi
a97b35:	75 09                	jne    0xa97b40
a97b37:	e8 33 6d 9a ff       	call   0x43e86f
a97b3c:	6a 16                	push   $0x16
a97b3e:	eb 0c                	jmp    0xa97b4c
a97b40:	39 75 0c             	cmp    %esi,0xc(%ebp)
a97b43:	73 13                	jae    0xa97b58
a97b45:	e8 25 6d 9a ff       	call   0x43e86f
a97b4a:	6a 22                	push   $0x22
a97b4c:	5e                   	pop    %esi
a97b4d:	89 30                	mov    %esi,(%eax)
a97b4f:	e8 a4 77 98 ff       	call   0x41f2f8
a97b54:	8b c6                	mov    %esi,%eax
a97b56:	eb 03                	jmp    0xa97b5b
a97b58:	6a 16                	push   $0x16
a97b5a:	58                   	pop    %eax
a97b5b:	5f                   	pop    %edi
a97b5c:	5e                   	pop    %esi
a97b5d:	5d                   	pop    %ebp
a97b5e:	c3                   	ret
a97b5f:	cc                   	int3
a97b60:	cc                   	int3
a97b61:	cc                   	int3
a97b62:	cc                   	int3
a97b63:	cc                   	int3
a97b64:	cc                   	int3
a97b65:	cc                   	int3
a97b66:	cc                   	int3
a97b67:	cc                   	int3
a97b68:	cc                   	int3
a97b69:	cc                   	int3
a97b6a:	cc                   	int3
a97b6b:	cc                   	int3
a97b6c:	cc                   	int3
a97b6d:	cc                   	int3
a97b6e:	cc                   	int3
a97b6f:	cc                   	int3
a97b70:	cc                   	int3
a97b71:	cc                   	int3
a97b72:	cc                   	int3
a97b73:	cc                   	int3
a97b74:	cc                   	int3
a97b75:	cc                   	int3
a97b76:	cc                   	int3
a97b77:	cc                   	int3
a97b78:	cc                   	int3
a97b79:	cc                   	int3
a97b7a:	cc                   	int3
a97b7b:	cc                   	int3
a97b7c:	cc                   	int3
a97b7d:	cc                   	int3
a97b7e:	cc                   	int3
a97b7f:	cc                   	int3
a97b80:	8b ff                	mov    %edi,%edi
a97b82:	55                   	push   %ebp
a97b83:	8b ec                	mov    %esp,%ebp
a97b85:	5d                   	pop    %ebp
a97b86:	e9 99 ff 98 ff       	jmp    0x427b24
a97b8b:	cc                   	int3
a97b8c:	cc                   	int3
a97b8d:	8b ff                	mov    %edi,%edi
a97b8f:	55                   	push   %ebp
a97b90:	8b ec                	mov    %esp,%ebp
a97b92:	5d                   	pop    %ebp
a97b93:	e9 39 80 98 ff       	jmp    0x41fbd1
a97b98:	cc                   	int3
a97b99:	cc                   	int3
a97b9a:	8b ff                	mov    %edi,%edi
a97b9c:	55                   	push   %ebp
a97b9d:	8b ec                	mov    %esp,%ebp
a97b9f:	56                   	push   %esi
a97ba0:	8b 75 0c             	mov    0xc(%ebp),%esi
a97ba3:	85 f6                	test   %esi,%esi
a97ba5:	74 1b                	je     0xa97bc2
a97ba7:	6a e0                	push   $0xffffffe0
a97ba9:	33 d2                	xor    %edx,%edx
a97bab:	58                   	pop    %eax
a97bac:	f7 f6                	div    %esi
a97bae:	3b 45 10             	cmp    0x10(%ebp),%eax
a97bb1:	73 0f                	jae    0xa97bc2
a97bb3:	e8 b7 6c 9a ff       	call   0x43e86f
a97bb8:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
a97bbe:	33 c0                	xor    %eax,%eax
a97bc0:	eb 42                	jmp    0xa97c04
a97bc2:	53                   	push   %ebx
a97bc3:	8b 5d 08             	mov    0x8(%ebp),%ebx
a97bc6:	57                   	push   %edi
a97bc7:	85 db                	test   %ebx,%ebx
a97bc9:	74 0b                	je     0xa97bd6
a97bcb:	53                   	push   %ebx
a97bcc:	e8 87 56 9a ff       	call   0x43d258
a97bd1:	59                   	pop    %ecx
a97bd2:	8b f8                	mov    %eax,%edi
a97bd4:	eb 02                	jmp    0xa97bd8
a97bd6:	33 ff                	xor    %edi,%edi
a97bd8:	0f af 75 10          	imul   0x10(%ebp),%esi
a97bdc:	56                   	push   %esi
a97bdd:	53                   	push   %ebx
a97bde:	e8 e5 8d 98 ff       	call   0x4209c8
a97be3:	8b d8                	mov    %eax,%ebx
a97be5:	59                   	pop    %ecx
a97be6:	59                   	pop    %ecx
a97be7:	85 db                	test   %ebx,%ebx
a97be9:	74 15                	je     0xa97c00
a97beb:	3b fe                	cmp    %esi,%edi
a97bed:	73 11                	jae    0xa97c00
a97bef:	2b f7                	sub    %edi,%esi
a97bf1:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
a97bf4:	56                   	push   %esi
a97bf5:	6a 00                	push   $0x0
a97bf7:	50                   	push   %eax
a97bf8:	e8 bb cb 97 ff       	call   0x4147b8
a97bfd:	83 c4 0c             	add    $0xc,%esp
a97c00:	5f                   	pop    %edi
a97c01:	8b c3                	mov    %ebx,%eax
a97c03:	5b                   	pop    %ebx
a97c04:	5e                   	pop    %esi
a97c05:	5d                   	pop    %ebp
a97c06:	c3                   	ret
a97c07:	cc                   	int3
a97c08:	cc                   	int3
a97c09:	cc                   	int3
a97c0a:	cc                   	int3
a97c0b:	cc                   	int3
a97c0c:	cc                   	int3
a97c0d:	cc                   	int3
a97c0e:	cc                   	int3
a97c0f:	cc                   	int3
a97c10:	cc                   	int3
a97c11:	cc                   	int3
a97c12:	cc                   	int3
a97c13:	cc                   	int3
a97c14:	cc                   	int3
a97c15:	cc                   	int3
a97c16:	cc                   	int3
a97c17:	cc                   	int3
a97c18:	cc                   	int3
a97c19:	cc                   	int3
a97c1a:	cc                   	int3
a97c1b:	cc                   	int3
a97c1c:	cc                   	int3
a97c1d:	cc                   	int3
a97c1e:	cc                   	int3
a97c1f:	cc                   	int3
a97c20:	cc                   	int3
a97c21:	cc                   	int3
a97c22:	8b ff                	mov    %edi,%edi
a97c24:	55                   	push   %ebp
a97c25:	8b ec                	mov    %esp,%ebp
a97c27:	51                   	push   %ecx
a97c28:	51                   	push   %ecx
a97c29:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
a97c2d:	8d 45 f8             	lea    -0x8(%ebp),%eax
a97c30:	6a 01                	push   $0x1
a97c32:	50                   	push   %eax
a97c33:	e8 7a 00 00 00       	call   0xa97cb2
a97c38:	59                   	pop    %ecx
a97c39:	59                   	pop    %ecx
a97c3a:	83 f8 01             	cmp    $0x1,%eax
a97c3d:	74 05                	je     0xa97c44
a97c3f:	83 c8 ff             	or     $0xffffffff,%eax
a97c42:	eb 03                	jmp    0xa97c47
a97c44:	8b 45 f8             	mov    -0x8(%ebp),%eax
a97c47:	8b 4d 08             	mov    0x8(%ebp),%ecx
a97c4a:	85 c9                	test   %ecx,%ecx
a97c4c:	74 02                	je     0xa97c50
a97c4e:	89 01                	mov    %eax,(%ecx)
a97c50:	8b e5                	mov    %ebp,%esp
a97c52:	5d                   	pop    %ebp
a97c53:	c3                   	ret
a97c54:	cc                   	int3
a97c55:	cc                   	int3
a97c56:	cc                   	int3
a97c57:	cc                   	int3
a97c58:	cc                   	int3
a97c59:	cc                   	int3
a97c5a:	cc                   	int3
a97c5b:	cc                   	int3
a97c5c:	cc                   	int3
a97c5d:	cc                   	int3
a97c5e:	cc                   	int3
a97c5f:	cc                   	int3
a97c60:	8b ff                	mov    %edi,%edi
a97c62:	55                   	push   %ebp
a97c63:	8b ec                	mov    %esp,%ebp
a97c65:	83 ec 10             	sub    $0x10,%esp
a97c68:	33 c0                	xor    %eax,%eax
a97c6a:	57                   	push   %edi
a97c6b:	8d 7d f0             	lea    -0x10(%ebp),%edi
a97c6e:	ab                   	stos   %eax,%es:(%edi)
a97c6f:	6a 01                	push   $0x1
a97c71:	ab                   	stos   %eax,%es:(%edi)
a97c72:	ab                   	stos   %eax,%es:(%edi)
a97c73:	ab                   	stos   %eax,%es:(%edi)
a97c74:	8d 45 f0             	lea    -0x10(%ebp),%eax
a97c77:	50                   	push   %eax
a97c78:	e8 ce 00 00 00       	call   0xa97d4b
a97c7d:	59                   	pop    %ecx
a97c7e:	59                   	pop    %ecx
a97c7f:	5f                   	pop    %edi
a97c80:	83 f8 01             	cmp    $0x1,%eax
a97c83:	74 07                	je     0xa97c8c
a97c85:	83 c8 ff             	or     $0xffffffff,%eax
a97c88:	8b d0                	mov    %eax,%edx
a97c8a:	eb 06                	jmp    0xa97c92
a97c8c:	8b 55 f4             	mov    -0xc(%ebp),%edx
a97c8f:	8b 45 f0             	mov    -0x10(%ebp),%eax
a97c92:	8b 4d 08             	mov    0x8(%ebp),%ecx
a97c95:	85 c9                	test   %ecx,%ecx
a97c97:	74 05                	je     0xa97c9e
a97c99:	89 01                	mov    %eax,(%ecx)
a97c9b:	89 51 04             	mov    %edx,0x4(%ecx)
a97c9e:	8b e5                	mov    %ebp,%esp
a97ca0:	5d                   	pop    %ebp
a97ca1:	c3                   	ret
a97ca2:	cc                   	int3
a97ca3:	cc                   	int3
a97ca4:	cc                   	int3
a97ca5:	cc                   	int3
a97ca6:	cc                   	int3
a97ca7:	cc                   	int3
a97ca8:	cc                   	int3
a97ca9:	cc                   	int3
a97caa:	cc                   	int3
a97cab:	cc                   	int3
a97cac:	cc                   	int3
a97cad:	cc                   	int3
a97cae:	cc                   	int3
a97caf:	cc                   	int3
a97cb0:	cc                   	int3
a97cb1:	cc                   	int3
a97cb2:	8b ff                	mov    %edi,%edi
a97cb4:	55                   	push   %ebp
a97cb5:	8b ec                	mov    %esp,%ebp
a97cb7:	51                   	push   %ecx
a97cb8:	51                   	push   %ecx
a97cb9:	56                   	push   %esi
a97cba:	8b 75 08             	mov    0x8(%ebp),%esi
a97cbd:	85 f6                	test   %esi,%esi
a97cbf:	75 14                	jne    0xa97cd5
a97cc1:	e8 a9 6b 9a ff       	call   0x43e86f
a97cc6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
a97ccc:	e8 27 76 98 ff       	call   0x41f2f8
a97cd1:	33 c0                	xor    %eax,%eax
a97cd3:	eb 53                	jmp    0xa97d28
a97cd5:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
a97cd9:	75 f6                	jne    0xa97cd1
a97cdb:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
a97cdf:	8d 45 f8             	lea    -0x8(%ebp),%eax
a97ce2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a97ce6:	53                   	push   %ebx
a97ce7:	50                   	push   %eax
a97ce8:	e8 24 0b 9a ff       	call   0x438811
a97ced:	8b 4d f8             	mov    -0x8(%ebp),%ecx
a97cf0:	8b 45 fc             	mov    -0x4(%ebp),%eax
a97cf3:	81 e9 00 80 3e d5    	sub    $0xd53e8000,%ecx
a97cf9:	6a 00                	push   $0x0
a97cfb:	68 80 96 98 00       	push   $0x989680
a97d00:	1d de b1 9d 01       	sbb    $0x19db1de,%eax
a97d05:	50                   	push   %eax
a97d06:	51                   	push   %ecx
a97d07:	e8 70 a7 97 ff       	call   0x41247c
a97d0c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
a97d0f:	5b                   	pop    %ebx
a97d10:	85 d2                	test   %edx,%edx
a97d12:	7c 09                	jl     0xa97d1d
a97d14:	7f bb                	jg     0xa97cd1
a97d16:	3d 7f d2 ff 7f       	cmp    $0x7fffd27f,%eax
a97d1b:	77 b4                	ja     0xa97cd1
a97d1d:	6b c9 64             	imul   $0x64,%ecx,%ecx
a97d20:	89 06                	mov    %eax,(%esi)
a97d22:	33 c0                	xor    %eax,%eax
a97d24:	40                   	inc    %eax
a97d25:	89 4e 04             	mov    %ecx,0x4(%esi)
a97d28:	5e                   	pop    %esi
a97d29:	8b e5                	mov    %ebp,%esp
a97d2b:	5d                   	pop    %ebp
a97d2c:	c3                   	ret
a97d2d:	cc                   	int3
a97d2e:	cc                   	int3
a97d2f:	cc                   	int3
a97d30:	cc                   	int3
a97d31:	cc                   	int3
a97d32:	cc                   	int3
a97d33:	cc                   	int3
a97d34:	cc                   	int3
a97d35:	cc                   	int3
a97d36:	cc                   	int3
a97d37:	cc                   	int3
a97d38:	cc                   	int3
a97d39:	cc                   	int3
a97d3a:	cc                   	int3
a97d3b:	cc                   	int3
a97d3c:	cc                   	int3
a97d3d:	cc                   	int3
a97d3e:	cc                   	int3
a97d3f:	cc                   	int3
a97d40:	cc                   	int3
a97d41:	cc                   	int3
a97d42:	cc                   	int3
a97d43:	cc                   	int3
a97d44:	cc                   	int3
a97d45:	cc                   	int3
a97d46:	cc                   	int3
a97d47:	cc                   	int3
a97d48:	cc                   	int3
a97d49:	cc                   	int3
a97d4a:	cc                   	int3
a97d4b:	8b ff                	mov    %edi,%edi
a97d4d:	55                   	push   %ebp
a97d4e:	8b ec                	mov    %esp,%ebp
a97d50:	51                   	push   %ecx
a97d51:	51                   	push   %ecx
a97d52:	56                   	push   %esi
a97d53:	8b 75 08             	mov    0x8(%ebp),%esi
a97d56:	85 f6                	test   %esi,%esi