475b48:	74 30                	je     0x475b7a
475b4a:	85 f6                	test   %esi,%esi
475b4c:	74 2c                	je     0x475b7a
475b4e:	8b 07                	mov    (%edi),%eax
475b50:	8a 40 40             	mov    0x40(%eax),%al
475b53:	34 01                	xor    $0x1,%al
475b55:	84 d8                	test   %bl,%al
475b57:	74 21                	je     0x475b7a
475b59:	8b 07                	mov    (%edi),%eax
475b5b:	f6 80 b3 00 00 00 02 	testb  $0x2,0xb3(%eax)
475b62:	75 16                	jne    0x475b7a
475b64:	8b 07                	mov    (%edi),%eax
475b66:	83 b8 90 00 00 00 00 	cmpl   $0x0,0x90(%eax)
475b6d:	74 09                	je     0x475b78
475b6f:	8b 46 1c             	mov    0x1c(%esi),%eax
475b72:	f6 40 64 01          	testb  $0x1,0x64(%eax)
475b76:	75 02                	jne    0x475b7a
475b78:	33 f6                	xor    %esi,%esi
475b7a:	b1 01                	mov    $0x1,%cl
475b7c:	8b d6                	mov    %esi,%edx
475b7e:	8b 07                	mov    (%edi),%eax
475b80:	e8 87 fb ff ff       	call   0x47570c
475b85:	55                   	push   %ebp
475b86:	33 c0                	xor    %eax,%eax
475b88:	e8 17 fe ff ff       	call   0x4759a4
475b8d:	59                   	pop    %ecx
475b8e:	84 c0                	test   %al,%al
475b90:	74 21                	je     0x475bb3
475b92:	b2 03                	mov    $0x3,%dl
475b94:	8b 07                	mov    (%edi),%eax
475b96:	e8 dd f8 ff ff       	call   0x475478
475b9b:	8b 07                	mov    (%edi),%eax
475b9d:	f6 40 30 04          	testb  $0x4,0x30(%eax)
475ba1:	75 50                	jne    0x475bf3
475ba3:	b9 64 00 00 00       	mov    $0x64,%ecx
475ba8:	b2 02                	mov    $0x2,%dl
475baa:	8b 07                	mov    (%edi),%eax
475bac:	e8 4b f8 ff ff       	call   0x4753fc
475bb1:	eb 40                	jmp    0x475bf3
475bb3:	55                   	push   %ebp
475bb4:	b0 01                	mov    $0x1,%al
475bb6:	e8 e9 fd ff ff       	call   0x4759a4
475bbb:	59                   	pop    %ecx
475bbc:	84 c0                	test   %al,%al
475bbe:	74 21                	je     0x475be1
475bc0:	b2 02                	mov    $0x2,%dl
475bc2:	8b 07                	mov    (%edi),%eax
475bc4:	e8 af f8 ff ff       	call   0x475478
475bc9:	8b 07                	mov    (%edi),%eax
475bcb:	f6 40 30 08          	testb  $0x8,0x30(%eax)
475bcf:	75 22                	jne    0x475bf3
475bd1:	b9 64 00 00 00       	mov    $0x64,%ecx
475bd6:	b2 03                	mov    $0x3,%dl
475bd8:	8b 07                	mov    (%edi),%eax
475bda:	e8 1d f8 ff ff       	call   0x4753fc
475bdf:	eb 12                	jmp    0x475bf3
475be1:	b2 02                	mov    $0x2,%dl
475be3:	8b 07                	mov    (%edi),%eax
475be5:	e8 8e f8 ff ff       	call   0x475478
475bea:	b2 03                	mov    $0x3,%dl
475bec:	8b 07                	mov    (%edi),%eax
475bee:	e8 85 f8 ff ff       	call   0x475478
475bf3:	5f                   	pop    %edi
475bf4:	5e                   	pop    %esi
475bf5:	5b                   	pop    %ebx
475bf6:	8b e5                	mov    %ebp,%esp
475bf8:	5d                   	pop    %ebp
475bf9:	c3                   	ret
475bfa:	8b c0                	mov    %eax,%eax
475bfc:	53                   	push   %ebx
475bfd:	56                   	push   %esi
475bfe:	57                   	push   %edi
475bff:	55                   	push   %ebp
475c00:	8b d8                	mov    %eax,%ebx
475c02:	8b c3                	mov    %ebx,%eax
475c04:	e8 5b f9 ff ff       	call   0x475564
475c09:	33 d2                	xor    %edx,%edx
475c0b:	8b c3                	mov    %ebx,%eax
475c0d:	e8 f2 fa ff ff       	call   0x475704
475c12:	8b c3                	mov    %ebx,%eax
475c14:	8b 10                	mov    (%eax),%edx
475c16:	ff 52 54             	call   *0x54(%edx)
475c19:	8d 83 a0 00 00 00    	lea    0xa0(%ebx),%eax
475c1f:	e8 38 8e f9 ff       	call   0x40ea5c
475c24:	8b c3                	mov    %ebx,%eax
475c26:	e8 d1 ef ff ff       	call   0x474bfc
475c2b:	33 c0                	xor    %eax,%eax
475c2d:	89 43 6c             	mov    %eax,0x6c(%ebx)
475c30:	33 c0                	xor    %eax,%eax
475c32:	89 43 68             	mov    %eax,0x68(%ebx)
475c35:	8b c3                	mov    %ebx,%eax
475c37:	8b 10                	mov    (%eax),%edx
475c39:	ff 52 44             	call   *0x44(%edx)
475c3c:	8b f8                	mov    %eax,%edi
475c3e:	85 ff                	test   %edi,%edi
475c40:	74 18                	je     0x475c5a
475c42:	6a 00                	push   $0x0
475c44:	6a 00                	push   $0x0
475c46:	6a 00                	push   $0x0
475c48:	8b cf                	mov    %edi,%ecx
475c4a:	8b 93 c0 00 00 00    	mov    0xc0(%ebx),%edx
475c50:	8b c3                	mov    %ebx,%eax
475c52:	e8 c1 f1 ff ff       	call   0x474e18
475c57:	01 43 6c             	add    %eax,0x6c(%ebx)
475c5a:	8b 43 54             	mov    0x54(%ebx),%eax
475c5d:	85 c0                	test   %eax,%eax
475c5f:	74 2b                	je     0x475c8c
475c61:	8b 70 60             	mov    0x60(%eax),%esi
475c64:	4e                   	dec    %esi
475c65:	85 f6                	test   %esi,%esi
475c67:	7c 23                	jl     0x475c8c
475c69:	46                   	inc    %esi
475c6a:	33 ed                	xor    %ebp,%ebp
475c6c:	6a 00                	push   $0x0
475c6e:	6a 01                	push   $0x1
475c70:	6a 00                	push   $0x0
475c72:	8b 43 54             	mov    0x54(%ebx),%eax
475c75:	8b 40 5c             	mov    0x5c(%eax),%eax
475c78:	8b 0c a8             	mov    (%eax,%ebp,4),%ecx
475c7b:	8b 93 c0 00 00 00    	mov    0xc0(%ebx),%edx
475c81:	8b c3                	mov    %ebx,%eax
475c83:	e8 90 f1 ff ff       	call   0x474e18
475c88:	45                   	inc    %ebp
475c89:	4e                   	dec    %esi
475c8a:	75 e0                	jne    0x475c6c
475c8c:	8b c3                	mov    %ebx,%eax
475c8e:	8b 10                	mov    (%eax),%edx
475c90:	ff 52 40             	call   *0x40(%edx)
475c93:	8b f8                	mov    %eax,%edi
475c95:	85 ff                	test   %edi,%edi
475c97:	74 2b                	je     0x475cc4
475c99:	8b 77 60             	mov    0x60(%edi),%esi
475c9c:	4e                   	dec    %esi
475c9d:	85 f6                	test   %esi,%esi
475c9f:	7c 23                	jl     0x475cc4
475ca1:	46                   	inc    %esi
475ca2:	33 ed                	xor    %ebp,%ebp
475ca4:	6a 00                	push   $0x0
475ca6:	6a 00                	push   $0x0
475ca8:	6a 00                	push   $0x0
475caa:	8b 47 5c             	mov    0x5c(%edi),%eax
475cad:	8b 0c a8             	mov    (%eax,%ebp,4),%ecx
475cb0:	8b 93 c0 00 00 00    	mov    0xc0(%ebx),%edx
475cb6:	8b c3                	mov    %ebx,%eax
475cb8:	e8 5b f1 ff ff       	call   0x474e18
475cbd:	01 43 68             	add    %eax,0x68(%ebx)
475cc0:	45                   	inc    %ebp
475cc1:	4e                   	dec    %esi
475cc2:	75 e0                	jne    0x475ca4
475cc4:	8b c3                	mov    %ebx,%eax
475cc6:	8b 10                	mov    (%eax),%edx
475cc8:	ff 52 38             	call   *0x38(%edx)
475ccb:	8b f8                	mov    %eax,%edi
475ccd:	85 ff                	test   %edi,%edi
475ccf:	74 18                	je     0x475ce9
475cd1:	6a 00                	push   $0x0
475cd3:	6a 00                	push   $0x0
475cd5:	6a 00                	push   $0x0
475cd7:	8b cf                	mov    %edi,%ecx
475cd9:	8b 93 c0 00 00 00    	mov    0xc0(%ebx),%edx
475cdf:	8b c3                	mov    %ebx,%eax
475ce1:	e8 32 f1 ff ff       	call   0x474e18
475ce6:	01 43 68             	add    %eax,0x68(%ebx)
475ce9:	5d                   	pop    %ebp
475cea:	5f                   	pop    %edi
475ceb:	5e                   	pop    %esi
475cec:	5b                   	pop    %ebx
475ced:	c3                   	ret
475cee:	8b c0                	mov    %eax,%eax
475cf0:	55                   	push   %ebp
475cf1:	8b ec                	mov    %esp,%ebp
475cf3:	51                   	push   %ecx
475cf4:	53                   	push   %ebx
475cf5:	56                   	push   %esi
475cf6:	33 d2                	xor    %edx,%edx
475cf8:	89 55 fc             	mov    %edx,-0x4(%ebp)
475cfb:	8b 55 08             	mov    0x8(%ebp),%edx
475cfe:	8b 52 fc             	mov    -0x4(%edx),%edx
475d01:	8b 92 c0 00 00 00    	mov    0xc0(%edx),%edx
475d07:	4a                   	dec    %edx
475d08:	2b d0                	sub    %eax,%edx
475d0a:	7c 4c                	jl     0x475d58
475d0c:	42                   	inc    %edx
475d0d:	6b f0 15             	imul   $0x15,%eax,%esi
475d10:	8b 4d 08             	mov    0x8(%ebp),%ecx
475d13:	8b 49 f8             	mov    -0x8(%ecx),%ecx
475d16:	80 7c 31 10 00       	cmpb   $0x0,0x10(%ecx,%esi,1)
475d1b:	74 37                	je     0x475d54
475d1d:	8b 4d 08             	mov    0x8(%ebp),%ecx
475d20:	8b 49 fc             	mov    -0x4(%ecx),%ecx
475d23:	8b 89 c4 00 00 00    	mov    0xc4(%ecx),%ecx
475d29:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
475d2c:	8b 49 1c             	mov    0x1c(%ecx),%ecx
475d2f:	f6 41 64 04          	testb  $0x4,0x64(%ecx)
475d33:	75 23                	jne    0x475d58
475d35:	8b 4d 08             	mov    0x8(%ebp),%ecx
475d38:	8b 49 f8             	mov    -0x8(%ecx),%ecx
475d3b:	03 ce                	add    %esi,%ecx
475d3d:	8b 5d 08             	mov    0x8(%ebp),%ebx
475d40:	80 7b f7 01          	cmpb   $0x1,-0x9(%ebx)
475d44:	74 08                	je     0x475d4e
475d46:	8b 49 08             	mov    0x8(%ecx),%ecx
475d49:	01 4d fc             	add    %ecx,-0x4(%ebp)
475d4c:	eb 06                	jmp    0x475d54
475d4e:	8b 49 0c             	mov    0xc(%ecx),%ecx
475d51:	01 4d fc             	add    %ecx,-0x4(%ebp)
475d54:	40                   	inc    %eax
475d55:	4a                   	dec    %edx
475d56:	75 b5                	jne    0x475d0d
475d58:	8b 45 fc             	mov    -0x4(%ebp),%eax
475d5b:	5e                   	pop    %esi
475d5c:	5b                   	pop    %ebx
475d5d:	59                   	pop    %ecx
475d5e:	5d                   	pop    %ebp
475d5f:	c3                   	ret
475d60:	55                   	push   %ebp
475d61:	8b ec                	mov    %esp,%ebp
475d63:	53                   	push   %ebx
475d64:	56                   	push   %esi
475d65:	57                   	push   %edi
475d66:	8b 45 08             	mov    0x8(%ebp),%eax
475d69:	8b 40 fc             	mov    -0x4(%eax),%eax
475d6c:	8b 90 c0 00 00 00    	mov    0xc0(%eax),%edx
475d72:	4a                   	dec    %edx
475d73:	85 d2                	test   %edx,%edx
475d75:	7c 33                	jl     0x475daa
475d77:	42                   	inc    %edx
475d78:	33 c9                	xor    %ecx,%ecx
475d7a:	6b c1 15             	imul   $0x15,%ecx,%eax
475d7d:	8b 5d 08             	mov    0x8(%ebp),%ebx
475d80:	8b 5b f8             	mov    -0x8(%ebx),%ebx
475d83:	8d 04 03             	lea    (%ebx,%eax,1),%eax
475d86:	80 78 10 00          	cmpb   $0x0,0x10(%eax)
475d8a:	74 1a                	je     0x475da6
475d8c:	8b 5d 08             	mov    0x8(%ebp),%ebx
475d8f:	8b 73 0c             	mov    0xc(%ebx),%esi
475d92:	8b 36                	mov    (%esi),%esi
475d94:	8b de                	mov    %esi,%ebx
475d96:	2b 18                	sub    (%eax),%ebx
475d98:	8b 7d 08             	mov    0x8(%ebp),%edi
475d9b:	8b 7f 0c             	mov    0xc(%edi),%edi
475d9e:	2b 70 08             	sub    0x8(%eax),%esi
475da1:	89 30                	mov    %esi,(%eax)
475da3:	89 58 08             	mov    %ebx,0x8(%eax)
475da6:	41                   	inc    %ecx
475da7:	4a                   	dec    %edx
475da8:	75 d0                	jne    0x475d7a
475daa:	5f                   	pop    %edi
475dab:	5e                   	pop    %esi
475dac:	5b                   	pop    %ebx
475dad:	5d                   	pop    %ebp
475dae:	c3                   	ret
475daf:	90                   	nop
475db0:	55                   	push   %ebp
475db1:	8b ec                	mov    %esp,%ebp
475db3:	83 c4 f8             	add    $0xfffffff8,%esp
475db6:	53                   	push   %ebx
475db7:	56                   	push   %esi
475db8:	57                   	push   %edi
475db9:	8b 7d 08             	mov    0x8(%ebp),%edi
475dbc:	83 c7 fc             	add    $0xfffffffc,%edi
475dbf:	8b 07                	mov    (%edi),%eax
475dc1:	c6 80 b2 00 00 00 00 	movb   $0x0,0xb2(%eax)
475dc8:	8b 07                	mov    (%edi),%eax
475dca:	c6 80 b1 00 00 00 00 	movb   $0x0,0xb1(%eax)
475dd1:	8b 07                	mov    (%edi),%eax
475dd3:	8b 40 74             	mov    0x74(%eax),%eax
475dd6:	85 c0                	test   %eax,%eax
475dd8:	0f 8e 3c 01 00 00    	jle    0x475f1a
475dde:	8b 55 08             	mov    0x8(%ebp),%edx
475de1:	8b 52 0c             	mov    0xc(%edx),%edx
475de4:	3b 42 04             	cmp    0x4(%edx),%eax
475de7:	0f 8d 2d 01 00 00    	jge    0x475f1a
475ded:	8b 55 08             	mov    0x8(%ebp),%edx
475df0:	8b 52 0c             	mov    0xc(%edx),%edx
475df3:	8b 52 04             	mov    0x4(%edx),%edx
475df6:	2b d0                	sub    %eax,%edx
475df8:	8b c2                	mov    %edx,%eax
475dfa:	8b 17                	mov    (%edi),%edx
475dfc:	3b 82 a8 00 00 00    	cmp    0xa8(%edx),%eax
475e02:	7d 08                	jge    0x475e0c
475e04:	8b 17                	mov    (%edi),%edx
475e06:	89 82 a8 00 00 00    	mov    %eax,0xa8(%edx)
475e0c:	8b 17                	mov    (%edi),%edx
475e0e:	83 ba a8 00 00 00 00 	cmpl   $0x0,0xa8(%edx)
475e15:	7d 0a                	jge    0x475e21
475e17:	8b 17                	mov    (%edi),%edx
475e19:	33 c9                	xor    %ecx,%ecx
475e1b:	89 8a a8 00 00 00    	mov    %ecx,0xa8(%edx)
475e21:	8b 17                	mov    (%edi),%edx
475e23:	83 ba a8 00 00 00 00 	cmpl   $0x0,0xa8(%edx)
475e2a:	0f 9f c2             	setg   %dl
475e2d:	8b 0f                	mov    (%edi),%ecx
475e2f:	88 91 b2 00 00 00    	mov    %dl,0xb2(%ecx)
475e35:	8b 17                	mov    (%edi),%edx
475e37:	3b 82 a8 00 00 00    	cmp    0xa8(%edx),%eax
475e3d:	0f 9f c2             	setg   %dl
475e40:	8b 07                	mov    (%edi),%eax
475e42:	88 90 b1 00 00 00    	mov    %dl,0xb1(%eax)
475e48:	33 c0                	xor    %eax,%eax
475e4a:	89 45 fc             	mov    %eax,-0x4(%ebp)
475e4d:	8b 07                	mov    (%edi),%eax
475e4f:	80 b8 b2 00 00 00 00 	cmpb   $0x0,0xb2(%eax)
475e56:	74 07                	je     0x475e5f
475e58:	c7 45 fc 13 00 00 00 	movl   $0x13,-0x4(%ebp)
475e5f:	8b 07                	mov    (%edi),%eax
475e61:	8b 40 74             	mov    0x74(%eax),%eax
475e64:	89 45 f8             	mov    %eax,-0x8(%ebp)
475e67:	84 d2                	test   %dl,%dl
475e69:	74 04                	je     0x475e6f
475e6b:	83 6d f8 13          	subl   $0x13,-0x8(%ebp)
475e6f:	8b 07                	mov    (%edi),%eax
475e71:	8b b0 c0 00 00 00    	mov    0xc0(%eax),%esi
475e77:	4e                   	dec    %esi
475e78:	85 f6                	test   %esi,%esi
475e7a:	0f 8c 8a 00 00 00    	jl     0x475f0a
475e80:	46                   	inc    %esi
475e81:	33 db                	xor    %ebx,%ebx
475e83:	6b c3 15             	imul   $0x15,%ebx,%eax
475e86:	8b 55 08             	mov    0x8(%ebp),%edx
475e89:	8b 52 f8             	mov    -0x8(%edx),%edx
475e8c:	8d 04 02             	lea    (%edx,%eax,1),%eax
475e8f:	50                   	push   %eax
475e90:	e8 4b 1d f9 ff       	call   0x407be0
475e95:	85 c0                	test   %eax,%eax
475e97:	75 69                	jne    0x475f02
475e99:	8b 07                	mov    (%edi),%eax
475e9b:	8b 80 a8 00 00 00    	mov    0xa8(%eax),%eax
475ea1:	f7 d8                	neg    %eax
475ea3:	50                   	push   %eax
475ea4:	6a 00                	push   $0x0
475ea6:	6b c3 15             	imul   $0x15,%ebx,%eax
475ea9:	8b 55 08             	mov    0x8(%ebp),%edx
475eac:	8b 52 f8             	mov    -0x8(%edx),%edx
475eaf:	8d 04 02             	lea    (%edx,%eax,1),%eax
475eb2:	50                   	push   %eax
475eb3:	e8 c0 1d f9 ff       	call   0x407c78
475eb8:	6b d3 15             	imul   $0x15,%ebx,%edx
475ebb:	8b 4d 08             	mov    0x8(%ebp),%ecx
475ebe:	8b 49 f8             	mov    -0x8(%ecx),%ecx
475ec1:	80 7c 11 10 00       	cmpb   $0x0,0x10(%ecx,%edx,1)
475ec6:	74 3a                	je     0x475f02
475ec8:	6b c3 15             	imul   $0x15,%ebx,%eax
475ecb:	8b 55 08             	mov    0x8(%ebp),%edx
475ece:	8b 52 f8             	mov    -0x8(%edx),%edx
475ed1:	8b 54 02 04          	mov    0x4(%edx,%eax,1),%edx
475ed5:	3b 55 fc             	cmp    -0x4(%ebp),%edx
475ed8:	7c 0f                	jl     0x475ee9
475eda:	8b 55 08             	mov    0x8(%ebp),%edx
475edd:	8b 52 f8             	mov    -0x8(%edx),%edx