463c1a:	e8 01 d8 fe ff       	call   0x451420
463c1f:	8b 55 c4             	mov    -0x3c(%ebp),%edx
463c22:	89 45 e8             	mov    %eax,-0x18(%ebp)
463c25:	eb 07                	jmp    0x463c2e
463c27:	c7 45 e8 ff ff ff ff 	movl   $0xffffffff,-0x18(%ebp)
463c2e:	8b fa                	mov    %edx,%edi
463c30:	33 c0                	xor    %eax,%eax
463c32:	b9 02 00 00 00       	mov    $0x2,%ecx
463c37:	f3 ab                	rep stos %eax,%es:(%edi)
463c39:	52                   	push   %edx
463c3a:	e8 43 5a 01 00       	call   0x479682
463c3f:	83 c4 04             	add    $0x4,%esp
463c42:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
463c46:	0f 8f 6d 03 00 00    	jg     0x463fb9
463c4c:	8b ce                	mov    %esi,%ecx
463c4e:	e8 ed c5 fe ff       	call   0x450240
463c53:	8b 56 10             	mov    0x10(%esi),%edx
463c56:	83 fa 01             	cmp    $0x1,%edx
463c59:	74 2a                	je     0x463c85
463c5b:	8b 4e 0c             	mov    0xc(%esi),%ecx
463c5e:	83 39 00             	cmpl   $0x0,(%ecx)
463c61:	0f 85 b1 00 00 00    	jne    0x463d18
463c67:	8b 46 08             	mov    0x8(%esi),%eax
463c6a:	85 c0                	test   %eax,%eax
463c6c:	74 17                	je     0x463c85
463c6e:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
463c71:	83 c1 fc             	add    $0xfffffffc,%ecx
463c74:	83 39 00             	cmpl   $0x0,(%ecx)
463c77:	0f 85 9b 00 00 00    	jne    0x463d18
463c7d:	83 e9 04             	sub    $0x4,%ecx
463c80:	83 e8 01             	sub    $0x1,%eax
463c83:	75 ef                	jne    0x463c74
463c85:	8b 7d ec             	mov    -0x14(%ebp),%edi
463c88:	89 7d ec             	mov    %edi,-0x14(%ebp)
463c8b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
463c90:	3b 7d a0             	cmp    -0x60(%ebp),%edi
463c93:	0f 83 48 01 00 00    	jae    0x463de1
463c99:	0f b7 37             	movzwl (%edi),%esi
463c9c:	8d 4d bc             	lea    -0x44(%ebp),%ecx
463c9f:	e8 ec a4 fe ff       	call   0x44e190
463ca4:	51                   	push   %ecx
463ca5:	6a 02                	push   $0x2
463ca7:	c7 45 b8 dc 6b 4b 00 	movl   $0x4b6bdc,-0x48(%ebp)
463cae:	c7 45 c0 02 00 00 00 	movl   $0x2,-0x40(%ebp)
463cb5:	e8 c6 fa fe ff       	call   0x453780
463cba:	8b ce                	mov    %esi,%ecx
463cbc:	89 45 c4             	mov    %eax,-0x3c(%ebp)
463cbf:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
463cc6:	89 08                	mov    %ecx,(%eax)
463cc8:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
463ccf:	ff 75 0c             	push   0xc(%ebp)
463cd2:	8d 45 cc             	lea    -0x34(%ebp),%eax
463cd5:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
463cd9:	83 cb 01             	or     $0x1,%ebx
463cdc:	8d 4d b8             	lea    -0x48(%ebp),%ecx
463cdf:	50                   	push   %eax
463ce0:	89 5d e8             	mov    %ebx,-0x18(%ebp)
463ce3:	e8 38 d5 fe ff       	call   0x451220
463ce8:	83 cb 08             	or     $0x8,%ebx
463ceb:	8b 4d 08             	mov    0x8(%ebp),%ecx
463cee:	83 cb 02             	or     $0x2,%ebx
463cf1:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
463cf8:	83 7d dc 01          	cmpl   $0x1,-0x24(%ebp)
463cfc:	89 5d e8             	mov    %ebx,-0x18(%ebp)
463cff:	8b 41 10             	mov    0x10(%ecx),%eax
463d02:	74 5d                	je     0x463d61
463d04:	83 f8 01             	cmp    $0x1,%eax
463d07:	0f 84 ce 00 00 00    	je     0x463ddb
463d0d:	51                   	push   %ecx
463d0e:	8d 4d cc             	lea    -0x34(%ebp),%ecx
463d11:	e8 0a d7 fe ff       	call   0x451420
463d16:	eb 59                	jmp    0x463d71
463d18:	8b 46 0c             	mov    0xc(%esi),%eax
463d1b:	8b 4d 88             	mov    -0x78(%ebp),%ecx
463d1e:	8b 38                	mov    (%eax),%edi
463d20:	8b c7                	mov    %edi,%eax
463d22:	f7 d8                	neg    %eax
463d24:	85 d2                	test   %edx,%edx
463d26:	0f 45 f8             	cmovne %eax,%edi
463d29:	85 c9                	test   %ecx,%ecx
463d2b:	7e 2c                	jle    0x463d59
463d2d:	8b 5d ec             	mov    -0x14(%ebp),%ebx
463d30:	8b d1                	mov    %ecx,%edx
463d32:	d1 ea                	shr    $1,%edx
463d34:	0f b7 04 53          	movzwl (%ebx,%edx,2),%eax
463d38:	8d 34 53             	lea    (%ebx,%edx,2),%esi
463d3b:	3b f8                	cmp    %eax,%edi
463d3d:	73 04                	jae    0x463d43
463d3f:	8b ca                	mov    %edx,%ecx
463d41:	eb 0a                	jmp    0x463d4d
463d43:	83 c8 ff             	or     $0xffffffff,%eax
463d46:	8d 5e 02             	lea    0x2(%esi),%ebx
463d49:	2b c2                	sub    %edx,%eax
463d4b:	03 c8                	add    %eax,%ecx
463d4d:	85 c9                	test   %ecx,%ecx
463d4f:	7f df                	jg     0x463d30
463d51:	89 5d ec             	mov    %ebx,-0x14(%ebp)
463d54:	bb 10 00 00 00       	mov    $0x10,%ebx
463d59:	8b 7d ec             	mov    -0x14(%ebp),%edi
463d5c:	e9 2f ff ff ff       	jmp    0x463c90
463d61:	83 f8 01             	cmp    $0x1,%eax
463d64:	75 75                	jne    0x463ddb
463d66:	51                   	push   %ecx
463d67:	8d 4d cc             	lea    -0x34(%ebp),%ecx
463d6a:	e8 b1 d6 fe ff       	call   0x451420
463d6f:	f7 d8                	neg    %eax
463d71:	85 c0                	test   %eax,%eax
463d73:	75 66                	jne    0x463ddb
463d75:	39 45 10             	cmp    %eax,0x10(%ebp)
463d78:	74 67                	je     0x463de1
463d7a:	0f b7 37             	movzwl (%edi),%esi
463d7d:	8d 4d a8             	lea    -0x58(%ebp),%ecx
463d80:	e8 0b a4 fe ff       	call   0x44e190
463d85:	51                   	push   %ecx
463d86:	6a 02                	push   $0x2
463d88:	c7 45 a4 dc 6b 4b 00 	movl   $0x4b6bdc,-0x5c(%ebp)
463d8f:	c7 45 ac 02 00 00 00 	movl   $0x2,-0x54(%ebp)
463d96:	e8 e5 f9 fe ff       	call   0x453780
463d9b:	89 45 b0             	mov    %eax,-0x50(%ebp)
463d9e:	8b ce                	mov    %esi,%ecx
463da0:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
463da7:	89 08                	mov    %ecx,(%eax)
463da9:	8b 45 b0             	mov    -0x50(%ebp),%eax
463dac:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
463db3:	8b 7d 10             	mov    0x10(%ebp),%edi
463db6:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
463db9:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
463dc0:	83 cb 04             	or     $0x4,%ebx
463dc3:	51                   	push   %ecx
463dc4:	89 5d e8             	mov    %ebx,-0x18(%ebp)
463dc7:	8b 07                	mov    (%edi),%eax
463dc9:	8b 30                	mov    (%eax),%esi
463dcb:	8b ce                	mov    %esi,%ecx
463dcd:	ff 15 d4 e2 49 00    	call   *0x49e2d4
463dd3:	8b cf                	mov    %edi,%ecx
463dd5:	ff d6                	call   *%esi
463dd7:	84 c0                	test   %al,%al
463dd9:	75 06                	jne    0x463de1
463ddb:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
463ddf:	eb 04                	jmp    0x463de5
463de1:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
463de5:	f6 c3 04             	test   $0x4,%bl
463de8:	74 2d                	je     0x463e17
463dea:	8b 55 ac             	mov    -0x54(%ebp),%edx
463ded:	33 c0                	xor    %eax,%eax
463def:	8b 75 b0             	mov    -0x50(%ebp),%esi
463df2:	8b ca                	mov    %edx,%ecx
463df4:	8b fe                	mov    %esi,%edi
463df6:	83 e3 fb             	and    $0xfffffffb,%ebx
463df9:	f3 ab                	rep stos %eax,%es:(%edi)
463dfb:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
463e02:	56                   	push   %esi
463e03:	83 f8 10             	cmp    $0x10,%eax
463e06:	72 07                	jb     0x463e0f
463e08:	e8 53 21 03 00       	call   0x495f60
463e0d:	eb 05                	jmp    0x463e14
463e0f:	e8 6e 58 01 00       	call   0x479682
463e14:	83 c4 04             	add    $0x4,%esp
463e17:	f6 c3 02             	test   $0x2,%bl
463e1a:	74 2d                	je     0x463e49
463e1c:	8b 55 d4             	mov    -0x2c(%ebp),%edx
463e1f:	33 c0                	xor    %eax,%eax
463e21:	8b 75 d8             	mov    -0x28(%ebp),%esi
463e24:	8b ca                	mov    %edx,%ecx
463e26:	8b fe                	mov    %esi,%edi
463e28:	83 e3 fd             	and    $0xfffffffd,%ebx
463e2b:	f3 ab                	rep stos %eax,%es:(%edi)
463e2d:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
463e34:	56                   	push   %esi
463e35:	83 f8 10             	cmp    $0x10,%eax
463e38:	72 07                	jb     0x463e41
463e3a:	e8 21 21 03 00       	call   0x495f60
463e3f:	eb 05                	jmp    0x463e46
463e41:	e8 3c 58 01 00       	call   0x479682
463e46:	83 c4 04             	add    $0x4,%esp
463e49:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
463e50:	f6 c3 01             	test   $0x1,%bl
463e53:	74 2d                	je     0x463e82
463e55:	8b 55 c0             	mov    -0x40(%ebp),%edx
463e58:	33 c0                	xor    %eax,%eax
463e5a:	8b 75 c4             	mov    -0x3c(%ebp),%esi
463e5d:	8b ca                	mov    %edx,%ecx
463e5f:	8b fe                	mov    %esi,%edi
463e61:	83 e3 fe             	and    $0xfffffffe,%ebx
463e64:	f3 ab                	rep stos %eax,%es:(%edi)
463e66:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
463e6d:	56                   	push   %esi
463e6e:	83 f8 10             	cmp    $0x10,%eax
463e71:	72 07                	jb     0x463e7a
463e73:	e8 e8 20 03 00       	call   0x495f60
463e78:	eb 05                	jmp    0x463e7f
463e7a:	e8 03 58 01 00       	call   0x479682
463e7f:	83 c4 04             	add    $0x4,%esp
463e82:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
463e86:	74 0b                	je     0x463e93
463e88:	8b 7d ec             	mov    -0x14(%ebp),%edi
463e8b:	83 c7 02             	add    $0x2,%edi
463e8e:	e9 f5 fd ff ff       	jmp    0x463c88
463e93:	8b 4d ec             	mov    -0x14(%ebp),%ecx
463e96:	8b 45 a0             	mov    -0x60(%ebp),%eax
463e99:	3b c8                	cmp    %eax,%ecx
463e9b:	0f 83 b6 00 00 00    	jae    0x463f57
463ea1:	0f b7 31             	movzwl (%ecx),%esi
463ea4:	8d 4d d0             	lea    -0x30(%ebp),%ecx
463ea7:	e8 e4 a2 fe ff       	call   0x44e190
463eac:	51                   	push   %ecx
463ead:	6a 02                	push   $0x2
463eaf:	c7 45 cc dc 6b 4b 00 	movl   $0x4b6bdc,-0x34(%ebp)
463eb6:	c7 45 d4 02 00 00 00 	movl   $0x2,-0x2c(%ebp)
463ebd:	e8 be f8 fe ff       	call   0x453780
463ec2:	8b d8                	mov    %eax,%ebx
463ec4:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
463ecb:	8b ce                	mov    %esi,%ecx
463ecd:	89 5d d8             	mov    %ebx,-0x28(%ebp)
463ed0:	89 0b                	mov    %ecx,(%ebx)
463ed2:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
463ed9:	8b 75 e4             	mov    -0x1c(%ebp),%esi
463edc:	8d 45 cc             	lea    -0x34(%ebp),%eax
463edf:	50                   	push   %eax
463ee0:	8b ce                	mov    %esi,%ecx
463ee2:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
463ee6:	e8 45 a7 fe ff       	call   0x44e630
463eeb:	33 c0                	xor    %eax,%eax
463eed:	8b fb                	mov    %ebx,%edi
463eef:	b9 02 00 00 00       	mov    $0x2,%ecx
463ef4:	f3 ab                	rep stos %eax,%es:(%edi)
463ef6:	53                   	push   %ebx
463ef7:	e8 86 57 01 00       	call   0x479682
463efc:	8b 4d e0             	mov    -0x20(%ebp),%ecx
463eff:	83 c4 04             	add    $0x4,%esp
463f02:	83 7e 10 01          	cmpl   $0x1,0x10(%esi)
463f06:	8b 41 10             	mov    0x10(%ecx),%eax
463f09:	74 26                	je     0x463f31
463f0b:	83 f8 01             	cmp    $0x1,%eax
463f0e:	74 12                	je     0x463f22
463f10:	51                   	push   %ecx
463f11:	8b ce                	mov    %esi,%ecx
463f13:	e8 08 d5 fe ff       	call   0x451420
463f18:	85 c0                	test   %eax,%eax
463f1a:	0f 9e c3             	setle  %bl
463f1d:	e9 a2 04 00 00       	jmp    0x4643c4
463f22:	b8 01 00 00 00       	mov    $0x1,%eax
463f27:	85 c0                	test   %eax,%eax
463f29:	0f 9e c3             	setle  %bl
463f2c:	e9 93 04 00 00       	jmp    0x4643c4
463f31:	83 f8 01             	cmp    $0x1,%eax
463f34:	74 0d                	je     0x463f43
463f36:	83 c8 ff             	or     $0xffffffff,%eax
463f39:	85 c0                	test   %eax,%eax
463f3b:	0f 9e c3             	setle  %bl
463f3e:	e9 81 04 00 00       	jmp    0x4643c4
463f43:	51                   	push   %ecx
463f44:	8b ce                	mov    %esi,%ecx
463f46:	e8 d5 d4 fe ff       	call   0x451420
463f4b:	f7 d8                	neg    %eax
463f4d:	85 c0                	test   %eax,%eax
463f4f:	0f 9e c3             	setle  %bl
463f52:	e9 6d 04 00 00       	jmp    0x4643c4
463f57:	0f b7 70 fe          	movzwl -0x2(%eax),%esi
463f5b:	8d 4d d0             	lea    -0x30(%ebp),%ecx
463f5e:	e8 2d a2 fe ff       	call   0x44e190
463f63:	51                   	push   %ecx
463f64:	6a 02                	push   $0x2
463f66:	c7 45 cc dc 6b 4b 00 	movl   $0x4b6bdc,-0x34(%ebp)
463f6d:	c7 45 d4 02 00 00 00 	movl   $0x2,-0x2c(%ebp)
463f74:	e8 07 f8 fe ff       	call   0x453780
463f79:	8b d8                	mov    %eax,%ebx
463f7b:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
463f82:	46                   	inc    %esi
463f83:	89 5d d8             	mov    %ebx,-0x28(%ebp)
463f86:	89 33                	mov    %esi,(%ebx)
463f88:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
463f8f:	8b 75 e4             	mov    -0x1c(%ebp),%esi
463f92:	8d 45 cc             	lea    -0x34(%ebp),%eax
463f95:	50                   	push   %eax
463f96:	8b ce                	mov    %esi,%ecx
463f98:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
463f9c:	e8 8f a6 fe ff       	call   0x44e630
463fa1:	33 c0                	xor    %eax,%eax
463fa3:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
463fa7:	8b fb                	mov    %ebx,%edi
463fa9:	b9 02 00 00 00       	mov    $0x2,%ecx
463fae:	f3 ab                	rep stos %eax,%es:(%edi)
463fb0:	53                   	push   %ebx
463fb1:	e8 cc 56 01 00       	call   0x479682
463fb6:	83 c4 04             	add    $0x4,%esp
463fb9:	8b 7d 0c             	mov    0xc(%ebp),%edi
463fbc:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
463fc0:	0f 86 05 02 00 00    	jbe    0x4641cb
463fc6:	8b 47 0c             	mov    0xc(%edi),%eax
463fc9:	f6 00 01             	testb  $0x1,(%eax)
463fcc:	0f 84 f9 01 00 00    	je     0x4641cb
463fd2:	8d 4d d0             	lea    -0x30(%ebp),%ecx
463fd5:	e8 b6 a1 fe ff       	call   0x44e190
463fda:	51                   	push   %ecx
463fdb:	6a 02                	push   $0x2
463fdd:	c7 45 cc dc 6b 4b 00 	movl   $0x4b6bdc,-0x34(%ebp)
463fe4:	c7 45 d4 02 00 00 00 	movl   $0x2,-0x2c(%ebp)
463feb:	e8 90 f7 fe ff       	call   0x453780
463ff0:	89 45 d8             	mov    %eax,-0x28(%ebp)
463ff3:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
463ffa:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
464000:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
464007:	8d 4d bc             	lea    -0x44(%ebp),%ecx
46400a:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
46400e:	e8 7d a1 fe ff       	call   0x44e190
464013:	51                   	push   %ecx
464014:	6a 02                	push   $0x2
464016:	c7 45 b8 dc 6b 4b 00 	movl   $0x4b6bdc,-0x48(%ebp)
46401d:	c7 45 c0 02 00 00 00 	movl   $0x2,-0x40(%ebp)
464024:	e8 57 f7 fe ff       	call   0x453780
464029:	89 45 c4             	mov    %eax,-0x3c(%ebp)
46402c:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
464033:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
464039:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
464040:	8d 4d a8             	lea    -0x58(%ebp),%ecx
464043:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
464047:	e8 44 a1 fe ff       	call   0x44e190
46404c:	51                   	push   %ecx
46404d:	6a 02                	push   $0x2
46404f:	c7 45 a4 dc 6b 4b 00 	movl   $0x4b6bdc,-0x5c(%ebp)
464056:	c7 45 ac 02 00 00 00 	movl   $0x2,-0x54(%ebp)
46405d:	e8 1e f7 fe ff       	call   0x453780
464062:	89 45 b0             	mov    %eax,-0x50(%ebp)
464065:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
46406c:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
464072:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
464079:	57                   	push   %edi
46407a:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
464080:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
464084:	e8 b7 a3 fe ff       	call   0x44e440
464089:	6a 01                	push   $0x1
46408b:	8b c8                	mov    %eax,%ecx
46408d:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
464091:	e8 ca c8 fe ff       	call   0x450960
464096:	50                   	push   %eax
464097:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
46409d:	e8 9e a3 fe ff       	call   0x44e440
4640a2:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
4640a8:	33 c0                	xor    %eax,%eax
4640aa:	8b 9d 58 ff ff ff    	mov    -0xa8(%ebp),%ebx
4640b0:	8b ca                	mov    %edx,%ecx
4640b2:	8b fb                	mov    %ebx,%edi
4640b4:	f3 ab                	rep stos %eax,%es:(%edi)
4640b6:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
4640bd:	53                   	push   %ebx
4640be:	83 f8 10             	cmp    $0x10,%eax
4640c1:	72 07                	jb     0x4640ca
4640c3:	e8 98 1e 03 00       	call   0x495f60
4640c8:	eb 05                	jmp    0x4640cf