a99b1f:	51                   	push   %ecx
a99b20:	e8 6f 84 98 ff       	call   0x421f94
a99b25:	83 c4 0c             	add    $0xc,%esp
a99b28:	85 c0                	test   %eax,%eax
a99b2a:	0f 85 f0 04 00 00    	jne    0xa9a020
a99b30:	8b 55 e8             	mov    -0x18(%ebp),%edx
a99b33:	8b 0b                	mov    (%ebx),%ecx
a99b35:	8d 41 01             	lea    0x1(%ecx),%eax
a99b38:	89 45 e8             	mov    %eax,-0x18(%ebp)
a99b3b:	8a 01                	mov    (%ecx),%al
a99b3d:	41                   	inc    %ecx
a99b3e:	84 c0                	test   %al,%al
a99b40:	75 f9                	jne    0xa99b3b
a99b42:	2b 4d e8             	sub    -0x18(%ebp),%ecx
a99b45:	47                   	inc    %edi
a99b46:	03 f9                	add    %ecx,%edi
a99b48:	83 c3 04             	add    $0x4,%ebx
a99b4b:	42                   	inc    %edx
a99b4c:	89 55 e8             	mov    %edx,-0x18(%ebp)
a99b4f:	83 fa 02             	cmp    $0x2,%edx
a99b52:	72 b2                	jb     0xa99b06
a99b54:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
a99b58:	8b 5d f4             	mov    -0xc(%ebp),%ebx
a99b5b:	75 29                	jne    0xa99b86
a99b5d:	8b 45 fc             	mov    -0x4(%ebp),%eax
a99b60:	8d 0c 3b             	lea    (%ebx,%edi,1),%ecx
a99b63:	89 8b a0 00 00 00    	mov    %ecx,0xa0(%ebx)
a99b69:	ff b0 a0 00 00 00    	push   0xa0(%eax)
a99b6f:	8b 45 f0             	mov    -0x10(%ebp),%eax
a99b72:	2b c7                	sub    %edi,%eax
a99b74:	50                   	push   %eax
a99b75:	51                   	push   %ecx
a99b76:	e8 19 84 98 ff       	call   0x421f94
a99b7b:	83 c4 0c             	add    $0xc,%esp
a99b7e:	85 c0                	test   %eax,%eax
a99b80:	0f 85 9a 04 00 00    	jne    0xa9a020
a99b86:	8b 45 fc             	mov    -0x4(%ebp),%eax
a99b89:	8b 88 a0 00 00 00    	mov    0xa0(%eax),%ecx
a99b8f:	8d 51 01             	lea    0x1(%ecx),%edx
a99b92:	8a 01                	mov    (%ecx),%al
a99b94:	41                   	inc    %ecx
a99b95:	84 c0                	test   %al,%al
a99b97:	75 f9                	jne    0xa99b92
a99b99:	2b ca                	sub    %edx,%ecx
a99b9b:	47                   	inc    %edi
a99b9c:	03 f9                	add    %ecx,%edi
a99b9e:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
a99ba2:	75 29                	jne    0xa99bcd
a99ba4:	8b 45 fc             	mov    -0x4(%ebp),%eax
a99ba7:	8d 0c 3b             	lea    (%ebx,%edi,1),%ecx
a99baa:	89 8b a4 00 00 00    	mov    %ecx,0xa4(%ebx)
a99bb0:	ff b0 a4 00 00 00    	push   0xa4(%eax)
a99bb6:	8b 45 f0             	mov    -0x10(%ebp),%eax
a99bb9:	2b c7                	sub    %edi,%eax
a99bbb:	50                   	push   %eax
a99bbc:	51                   	push   %ecx
a99bbd:	e8 d2 83 98 ff       	call   0x421f94
a99bc2:	83 c4 0c             	add    $0xc,%esp
a99bc5:	85 c0                	test   %eax,%eax
a99bc7:	0f 85 53 04 00 00    	jne    0xa9a020
a99bcd:	8b 45 fc             	mov    -0x4(%ebp),%eax
a99bd0:	8b 88 a4 00 00 00    	mov    0xa4(%eax),%ecx
a99bd6:	8d 51 01             	lea    0x1(%ecx),%edx
a99bd9:	8a 01                	mov    (%ecx),%al
a99bdb:	41                   	inc    %ecx
a99bdc:	84 c0                	test   %al,%al
a99bde:	75 f9                	jne    0xa99bd9
a99be0:	2b ca                	sub    %edx,%ecx
a99be2:	47                   	inc    %edi
a99be3:	03 f9                	add    %ecx,%edi
a99be5:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
a99be9:	75 29                	jne    0xa99c14
a99beb:	8b 45 fc             	mov    -0x4(%ebp),%eax
a99bee:	8d 0c 3b             	lea    (%ebx,%edi,1),%ecx
a99bf1:	89 8b a8 00 00 00    	mov    %ecx,0xa8(%ebx)
a99bf7:	ff b0 a8 00 00 00    	push   0xa8(%eax)
a99bfd:	8b 45 f0             	mov    -0x10(%ebp),%eax
a99c00:	2b c7                	sub    %edi,%eax
a99c02:	50                   	push   %eax
a99c03:	51                   	push   %ecx
a99c04:	e8 8b 83 98 ff       	call   0x421f94
a99c09:	83 c4 0c             	add    $0xc,%esp
a99c0c:	85 c0                	test   %eax,%eax
a99c0e:	0f 85 0c 04 00 00    	jne    0xa9a020
a99c14:	8b 45 fc             	mov    -0x4(%ebp),%eax
a99c17:	8b 88 a8 00 00 00    	mov    0xa8(%eax),%ecx
a99c1d:	8d 51 01             	lea    0x1(%ecx),%edx
a99c20:	8a 01                	mov    (%ecx),%al
a99c22:	41                   	inc    %ecx
a99c23:	84 c0                	test   %al,%al
a99c25:	75 f9                	jne    0xa99c20
a99c27:	2b ca                	sub    %edx,%ecx
a99c29:	8b 55 f8             	mov    -0x8(%ebp),%edx
a99c2c:	8d 59 01             	lea    0x1(%ecx),%ebx
a99c2f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
a99c32:	03 df                	add    %edi,%ebx
a99c34:	83 fa 01             	cmp    $0x1,%edx
a99c37:	75 15                	jne    0xa99c4e
a99c39:	8b 45 fc             	mov    -0x4(%ebp),%eax
a99c3c:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
a99c42:	89 81 ac 00 00 00    	mov    %eax,0xac(%ecx)
a99c48:	89 b1 b0 00 00 00    	mov    %esi,0xb0(%ecx)
a99c4e:	8b 7d fc             	mov    -0x4(%ebp),%edi
a99c51:	89 75 e8             	mov    %esi,-0x18(%ebp)
a99c54:	81 c7 b4 00 00 00    	add    $0xb4,%edi
a99c5a:	eb 01                	jmp    0xa99c5d
a99c5c:	43                   	inc    %ebx
a99c5d:	f6 c3 01             	test   $0x1,%bl
a99c60:	75 fa                	jne    0xa99c5c
a99c62:	83 fa 01             	cmp    $0x1,%edx
a99c65:	75 28                	jne    0xa99c8f
a99c67:	8b c3                	mov    %ebx,%eax
a99c69:	d1 e8                	shr    $1,%eax
a99c6b:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
a99c6e:	8b 45 ec             	mov    -0x14(%ebp),%eax
a99c71:	89 0c 07             	mov    %ecx,(%edi,%eax,1)
a99c74:	8b 45 f0             	mov    -0x10(%ebp),%eax
a99c77:	ff 37                	push   (%edi)
a99c79:	2b c3                	sub    %ebx,%eax
a99c7b:	d1 e8                	shr    $1,%eax
a99c7d:	50                   	push   %eax
a99c7e:	51                   	push   %ecx
a99c7f:	e8 e7 89 97 ff       	call   0x41266b
a99c84:	83 c4 0c             	add    $0xc,%esp
a99c87:	85 c0                	test   %eax,%eax
a99c89:	0f 85 91 03 00 00    	jne    0xa9a020
a99c8f:	8b 0f                	mov    (%edi),%ecx
a99c91:	8d 51 02             	lea    0x2(%ecx),%edx
a99c94:	66 8b 01             	mov    (%ecx),%ax
a99c97:	83 c1 02             	add    $0x2,%ecx
a99c9a:	66 3b c6             	cmp    %si,%ax
a99c9d:	75 f5                	jne    0xa99c94
a99c9f:	8b 45 e8             	mov    -0x18(%ebp),%eax
a99ca2:	2b ca                	sub    %edx,%ecx
a99ca4:	8b 55 f8             	mov    -0x8(%ebp),%edx
a99ca7:	83 c7 04             	add    $0x4,%edi
a99caa:	d1 f9                	sar    $1,%ecx
a99cac:	8d 1c 4b             	lea    (%ebx,%ecx,2),%ebx
a99caf:	8b 4d f4             	mov    -0xc(%ebp),%ecx
a99cb2:	83 c3 02             	add    $0x2,%ebx
a99cb5:	40                   	inc    %eax
a99cb6:	89 45 e8             	mov    %eax,-0x18(%ebp)
a99cb9:	83 f8 07             	cmp    $0x7,%eax
a99cbc:	72 9f                	jb     0xa99c5d
a99cbe:	8b 7d fc             	mov    -0x4(%ebp),%edi
a99cc1:	89 75 e8             	mov    %esi,-0x18(%ebp)
a99cc4:	81 c7 d0 00 00 00    	add    $0xd0,%edi
a99cca:	eb 01                	jmp    0xa99ccd
a99ccc:	43                   	inc    %ebx
a99ccd:	f6 c3 01             	test   $0x1,%bl
a99cd0:	75 fa                	jne    0xa99ccc
a99cd2:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
a99cd6:	75 2b                	jne    0xa99d03
a99cd8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
a99cdb:	8b c3                	mov    %ebx,%eax
a99cdd:	d1 e8                	shr    $1,%eax
a99cdf:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
a99ce2:	8b 45 ec             	mov    -0x14(%ebp),%eax
a99ce5:	89 0c 07             	mov    %ecx,(%edi,%eax,1)
a99ce8:	8b 45 f0             	mov    -0x10(%ebp),%eax
a99ceb:	ff 37                	push   (%edi)
a99ced:	2b c3                	sub    %ebx,%eax
a99cef:	d1 e8                	shr    $1,%eax
a99cf1:	50                   	push   %eax
a99cf2:	51                   	push   %ecx
a99cf3:	e8 73 89 97 ff       	call   0x41266b
a99cf8:	83 c4 0c             	add    $0xc,%esp
a99cfb:	85 c0                	test   %eax,%eax
a99cfd:	0f 85 1d 03 00 00    	jne    0xa9a020
a99d03:	8b 0f                	mov    (%edi),%ecx
a99d05:	8d 51 02             	lea    0x2(%ecx),%edx
a99d08:	66 8b 01             	mov    (%ecx),%ax
a99d0b:	83 c1 02             	add    $0x2,%ecx
a99d0e:	66 3b c6             	cmp    %si,%ax
a99d11:	75 f5                	jne    0xa99d08
a99d13:	8b 45 e8             	mov    -0x18(%ebp),%eax
a99d16:	2b ca                	sub    %edx,%ecx
a99d18:	d1 f9                	sar    $1,%ecx
a99d1a:	83 c7 04             	add    $0x4,%edi
a99d1d:	8d 1c 4b             	lea    (%ebx,%ecx,2),%ebx
a99d20:	83 c3 02             	add    $0x2,%ebx
a99d23:	40                   	inc    %eax
a99d24:	89 45 e8             	mov    %eax,-0x18(%ebp)
a99d27:	83 f8 07             	cmp    $0x7,%eax
a99d2a:	72 a1                	jb     0xa99ccd
a99d2c:	8b 7d fc             	mov    -0x4(%ebp),%edi
a99d2f:	89 75 e8             	mov    %esi,-0x18(%ebp)
a99d32:	81 c7 ec 00 00 00    	add    $0xec,%edi
a99d38:	eb 01                	jmp    0xa99d3b
a99d3a:	43                   	inc    %ebx
a99d3b:	f6 c3 01             	test   $0x1,%bl
a99d3e:	75 fa                	jne    0xa99d3a
a99d40:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
a99d44:	75 2b                	jne    0xa99d71
a99d46:	8b 4d f4             	mov    -0xc(%ebp),%ecx
a99d49:	8b c3                	mov    %ebx,%eax
a99d4b:	d1 e8                	shr    $1,%eax
a99d4d:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
a99d50:	8b 45 ec             	mov    -0x14(%ebp),%eax
a99d53:	89 0c 07             	mov    %ecx,(%edi,%eax,1)
a99d56:	8b 45 f0             	mov    -0x10(%ebp),%eax
a99d59:	ff 37                	push   (%edi)
a99d5b:	2b c3                	sub    %ebx,%eax
a99d5d:	d1 e8                	shr    $1,%eax
a99d5f:	50                   	push   %eax
a99d60:	51                   	push   %ecx
a99d61:	e8 05 89 97 ff       	call   0x41266b
a99d66:	83 c4 0c             	add    $0xc,%esp
a99d69:	85 c0                	test   %eax,%eax
a99d6b:	0f 85 af 02 00 00    	jne    0xa9a020
a99d71:	8b 0f                	mov    (%edi),%ecx
a99d73:	8d 51 02             	lea    0x2(%ecx),%edx
a99d76:	66 8b 01             	mov    (%ecx),%ax
a99d79:	83 c1 02             	add    $0x2,%ecx
a99d7c:	66 3b c6             	cmp    %si,%ax
a99d7f:	75 f5                	jne    0xa99d76
a99d81:	8b 45 e8             	mov    -0x18(%ebp),%eax
a99d84:	2b ca                	sub    %edx,%ecx
a99d86:	d1 f9                	sar    $1,%ecx
a99d88:	83 c7 04             	add    $0x4,%edi
a99d8b:	8d 1c 4b             	lea    (%ebx,%ecx,2),%ebx
a99d8e:	83 c3 02             	add    $0x2,%ebx
a99d91:	40                   	inc    %eax
a99d92:	89 45 e8             	mov    %eax,-0x18(%ebp)
a99d95:	83 f8 0c             	cmp    $0xc,%eax
a99d98:	72 a1                	jb     0xa99d3b
a99d9a:	8b 7d fc             	mov    -0x4(%ebp),%edi
a99d9d:	89 75 e8             	mov    %esi,-0x18(%ebp)
a99da0:	81 c7 1c 01 00 00    	add    $0x11c,%edi
a99da6:	eb 01                	jmp    0xa99da9
a99da8:	43                   	inc    %ebx
a99da9:	f6 c3 01             	test   $0x1,%bl
a99dac:	75 fa                	jne    0xa99da8
a99dae:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
a99db2:	75 2b                	jne    0xa99ddf
a99db4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
a99db7:	8b c3                	mov    %ebx,%eax
a99db9:	d1 e8                	shr    $1,%eax
a99dbb:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
a99dbe:	8b 45 ec             	mov    -0x14(%ebp),%eax
a99dc1:	89 0c 07             	mov    %ecx,(%edi,%eax,1)
a99dc4:	8b 45 f0             	mov    -0x10(%ebp),%eax
a99dc7:	ff 37                	push   (%edi)
a99dc9:	2b c3                	sub    %ebx,%eax
a99dcb:	d1 e8                	shr    $1,%eax
a99dcd:	50                   	push   %eax
a99dce:	51                   	push   %ecx
a99dcf:	e8 97 88 97 ff       	call   0x41266b
a99dd4:	83 c4 0c             	add    $0xc,%esp
a99dd7:	85 c0                	test   %eax,%eax
a99dd9:	0f 85 41 02 00 00    	jne    0xa9a020
a99ddf:	8b 0f                	mov    (%edi),%ecx
a99de1:	8d 51 02             	lea    0x2(%ecx),%edx
a99de4:	66 8b 01             	mov    (%ecx),%ax
a99de7:	83 c1 02             	add    $0x2,%ecx
a99dea:	66 3b c6             	cmp    %si,%ax
a99ded:	75 f5                	jne    0xa99de4
a99def:	8b 45 e8             	mov    -0x18(%ebp),%eax
a99df2:	2b ca                	sub    %edx,%ecx
a99df4:	d1 f9                	sar    $1,%ecx
a99df6:	83 c7 04             	add    $0x4,%edi
a99df9:	8d 1c 4b             	lea    (%ebx,%ecx,2),%ebx
a99dfc:	83 c3 02             	add    $0x2,%ebx
a99dff:	40                   	inc    %eax
a99e00:	89 45 e8             	mov    %eax,-0x18(%ebp)
a99e03:	83 f8 0c             	cmp    $0xc,%eax
a99e06:	72 a1                	jb     0xa99da9
a99e08:	8b 7d fc             	mov    -0x4(%ebp),%edi
a99e0b:	89 75 e8             	mov    %esi,-0x18(%ebp)
a99e0e:	81 c7 4c 01 00 00    	add    $0x14c,%edi
a99e14:	eb 01                	jmp    0xa99e17
a99e16:	43                   	inc    %ebx
a99e17:	f6 c3 01             	test   $0x1,%bl
a99e1a:	75 fa                	jne    0xa99e16
a99e1c:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
a99e20:	75 2b                	jne    0xa99e4d
a99e22:	8b 4d f4             	mov    -0xc(%ebp),%ecx
a99e25:	8b c3                	mov    %ebx,%eax
a99e27:	d1 e8                	shr    $1,%eax
a99e29:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
a99e2c:	8b 45 ec             	mov    -0x14(%ebp),%eax
a99e2f:	89 0c 07             	mov    %ecx,(%edi,%eax,1)
a99e32:	8b 45 f0             	mov    -0x10(%ebp),%eax
a99e35:	ff 37                	push   (%edi)
a99e37:	2b c3                	sub    %ebx,%eax
a99e39:	d1 e8                	shr    $1,%eax
a99e3b:	50                   	push   %eax
a99e3c:	51                   	push   %ecx
a99e3d:	e8 29 88 97 ff       	call   0x41266b
a99e42:	83 c4 0c             	add    $0xc,%esp
a99e45:	85 c0                	test   %eax,%eax
a99e47:	0f 85 d3 01 00 00    	jne    0xa9a020
a99e4d:	8b 0f                	mov    (%edi),%ecx
a99e4f:	8d 51 02             	lea    0x2(%ecx),%edx
a99e52:	66 8b 01             	mov    (%ecx),%ax
a99e55:	83 c1 02             	add    $0x2,%ecx
a99e58:	66 3b c6             	cmp    %si,%ax
a99e5b:	75 f5                	jne    0xa99e52
a99e5d:	8b 45 e8             	mov    -0x18(%ebp),%eax
a99e60:	2b ca                	sub    %edx,%ecx
a99e62:	d1 f9                	sar    $1,%ecx
a99e64:	83 c7 04             	add    $0x4,%edi
a99e67:	8d 1c 4b             	lea    (%ebx,%ecx,2),%ebx
a99e6a:	83 c3 02             	add    $0x2,%ebx
a99e6d:	40                   	inc    %eax
a99e6e:	89 45 e8             	mov    %eax,-0x18(%ebp)
a99e71:	83 f8 02             	cmp    $0x2,%eax
a99e74:	72 a1                	jb     0xa99e17
a99e76:	eb 01                	jmp    0xa99e79
a99e78:	43                   	inc    %ebx
a99e79:	f6 c3 01             	test   $0x1,%bl
a99e7c:	75 fa                	jne    0xa99e78
a99e7e:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
a99e82:	8b 7d f4             	mov    -0xc(%ebp),%edi
a99e85:	75 2f                	jne    0xa99eb6
a99e87:	8b c3                	mov    %ebx,%eax
a99e89:	d1 e8                	shr    $1,%eax
a99e8b:	8d 0c 47             	lea    (%edi,%eax,2),%ecx
a99e8e:	8b 45 fc             	mov    -0x4(%ebp),%eax
a99e91:	89 8f 54 01 00 00    	mov    %ecx,0x154(%edi)
a99e97:	ff b0 54 01 00 00    	push   0x154(%eax)
a99e9d:	8b 45 f0             	mov    -0x10(%ebp),%eax
a99ea0:	2b c3                	sub    %ebx,%eax
a99ea2:	d1 e8                	shr    $1,%eax
a99ea4:	50                   	push   %eax
a99ea5:	51                   	push   %ecx
a99ea6:	e8 c0 87 97 ff       	call   0x41266b
a99eab:	83 c4 0c             	add    $0xc,%esp
a99eae:	85 c0                	test   %eax,%eax
a99eb0:	0f 85 6a 01 00 00    	jne    0xa9a020
a99eb6:	8b 45 fc             	mov    -0x4(%ebp),%eax
a99eb9:	8b 88 54 01 00 00    	mov    0x154(%eax),%ecx
a99ebf:	8d 51 02             	lea    0x2(%ecx),%edx
a99ec2:	66 8b 01             	mov    (%ecx),%ax
a99ec5:	83 c1 02             	add    $0x2,%ecx
a99ec8:	66 3b c6             	cmp    %si,%ax
a99ecb:	75 f5                	jne    0xa99ec2
a99ecd:	2b ca                	sub    %edx,%ecx
a99ecf:	d1 f9                	sar    $1,%ecx
a99ed1:	8d 1c 4b             	lea    (%ebx,%ecx,2),%ebx
a99ed4:	83 c3 02             	add    $0x2,%ebx
a99ed7:	eb 01                	jmp    0xa99eda
a99ed9:	43                   	inc    %ebx
a99eda:	f6 c3 01             	test   $0x1,%bl
a99edd:	75 fa                	jne    0xa99ed9
a99edf:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
a99ee3:	75 2f                	jne    0xa99f14
a99ee5:	8b c3                	mov    %ebx,%eax
a99ee7:	d1 e8                	shr    $1,%eax
a99ee9:	8d 0c 47             	lea    (%edi,%eax,2),%ecx