473af6:	03 42 f8             	add    -0x8(%edx),%eax
473af9:	d1 f8                	sar    $1,%eax
473afb:	79 03                	jns    0x473b00
473afd:	83 d0 00             	adc    $0x0,%eax
473b00:	8b 55 08             	mov    0x8(%ebp),%edx
473b03:	8b 52 f4             	mov    -0xc(%edx),%edx
473b06:	8b 4d 08             	mov    0x8(%ebp),%ecx
473b09:	03 51 fc             	add    -0x4(%ecx),%edx
473b0c:	d1 fa                	sar    $1,%edx
473b0e:	79 03                	jns    0x473b13
473b10:	83 d2 00             	adc    $0x0,%edx
473b13:	8b 4d 08             	mov    0x8(%ebp),%ecx
473b16:	80 79 ef 00          	cmpb   $0x0,-0x11(%ecx)
473b1a:	75 20                	jne    0x473b3c
473b1c:	4a                   	dec    %edx
473b1d:	8b c8                	mov    %eax,%ecx
473b1f:	83 e9 02             	sub    $0x2,%ecx
473b22:	89 4d e8             	mov    %ecx,-0x18(%ebp)
473b25:	89 55 ec             	mov    %edx,-0x14(%ebp)
473b28:	8d 48 02             	lea    0x2(%eax),%ecx
473b2b:	89 4d f0             	mov    %ecx,-0x10(%ebp)
473b2e:	89 55 f4             	mov    %edx,-0xc(%ebp)
473b31:	89 45 f8             	mov    %eax,-0x8(%ebp)
473b34:	83 c2 02             	add    $0x2,%edx
473b37:	89 55 fc             	mov    %edx,-0x4(%ebp)
473b3a:	eb 1e                	jmp    0x473b5a
473b3c:	48                   	dec    %eax
473b3d:	89 45 e8             	mov    %eax,-0x18(%ebp)
473b40:	8d 4a 02             	lea    0x2(%edx),%ecx
473b43:	89 4d ec             	mov    %ecx,-0x14(%ebp)
473b46:	89 45 f0             	mov    %eax,-0x10(%ebp)
473b49:	8b ca                	mov    %edx,%ecx
473b4b:	83 e9 02             	sub    $0x2,%ecx
473b4e:	89 4d f4             	mov    %ecx,-0xc(%ebp)
473b51:	83 e8 02             	sub    $0x2,%eax
473b54:	89 45 f8             	mov    %eax,-0x8(%ebp)
473b57:	89 55 fc             	mov    %edx,-0x4(%ebp)
473b5a:	8b 45 08             	mov    0x8(%ebp),%eax
473b5d:	8b 40 08             	mov    0x8(%eax),%eax
473b60:	8b 40 f8             	mov    -0x8(%eax),%eax
473b63:	8b 40 10             	mov    0x10(%eax),%eax
473b66:	8b d3                	mov    %ebx,%edx
473b68:	e8 17 44 fb ff       	call   0x427f84
473b6d:	8b 45 08             	mov    0x8(%ebp),%eax
473b70:	8b 40 08             	mov    0x8(%eax),%eax
473b73:	8b 40 f8             	mov    -0x8(%eax),%eax
473b76:	8b 40 14             	mov    0x14(%eax),%eax
473b79:	8b d3                	mov    %ebx,%edx
473b7b:	e8 04 47 fb ff       	call   0x428284
473b80:	8d 55 e8             	lea    -0x18(%ebp),%edx
473b83:	8b 45 08             	mov    0x8(%ebp),%eax
473b86:	8b 40 08             	mov    0x8(%eax),%eax
473b89:	8b 40 f8             	mov    -0x8(%eax),%eax
473b8c:	b9 02 00 00 00       	mov    $0x2,%ecx
473b91:	e8 6a 4c fb ff       	call   0x428800
473b96:	5b                   	pop    %ebx
473b97:	8b e5                	mov    %ebp,%esp
473b99:	5d                   	pop    %ebp
473b9a:	c3                   	ret
473b9b:	90                   	nop
473b9c:	55                   	push   %ebp
473b9d:	8b ec                	mov    %esp,%ebp
473b9f:	83 c4 ec             	add    $0xffffffec,%esp
473ba2:	56                   	push   %esi
473ba3:	57                   	push   %edi
473ba4:	8b f0                	mov    %eax,%esi
473ba6:	8d 7d f0             	lea    -0x10(%ebp),%edi
473ba9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473baa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473bab:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473bac:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473bad:	88 55 ef             	mov    %dl,-0x11(%ebp)
473bb0:	8b 45 08             	mov    0x8(%ebp),%eax
473bb3:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
473bb7:	75 15                	jne    0x473bce
473bb9:	55                   	push   %ebp
473bba:	8b 45 08             	mov    0x8(%ebp),%eax
473bbd:	8b 40 f8             	mov    -0x8(%eax),%eax
473bc0:	8b 40 0c             	mov    0xc(%eax),%eax
473bc3:	8b 40 18             	mov    0x18(%eax),%eax
473bc6:	e8 19 ff ff ff       	call   0x473ae4
473bcb:	59                   	pop    %ecx
473bcc:	eb 32                	jmp    0x473c00
473bce:	6a 01                	push   $0x1
473bd0:	6a 01                	push   $0x1
473bd2:	8d 45 f0             	lea    -0x10(%ebp),%eax
473bd5:	50                   	push   %eax
473bd6:	e8 9d 40 f9 ff       	call   0x407c78
473bdb:	55                   	push   %ebp
473bdc:	b8 14 00 00 80       	mov    $0x80000014,%eax
473be1:	e8 fe fe ff ff       	call   0x473ae4
473be6:	59                   	pop    %ecx
473be7:	6a ff                	push   $0xffffffff
473be9:	6a ff                	push   $0xffffffff
473beb:	8d 45 f0             	lea    -0x10(%ebp),%eax
473bee:	50                   	push   %eax
473bef:	e8 84 40 f9 ff       	call   0x407c78
473bf4:	55                   	push   %ebp
473bf5:	b8 10 00 00 80       	mov    $0x80000010,%eax
473bfa:	e8 e5 fe ff ff       	call   0x473ae4
473bff:	59                   	pop    %ecx
473c00:	5f                   	pop    %edi
473c01:	5e                   	pop    %esi
473c02:	8b e5                	mov    %ebp,%esp
473c04:	5d                   	pop    %ebp
473c05:	c3                   	ret
473c06:	8b c0                	mov    %eax,%eax
473c08:	53                   	push   %ebx
473c09:	ba 14 00 00 80       	mov    $0x80000014,%edx
473c0e:	b8 0f 00 00 80       	mov    $0x8000000f,%eax
473c13:	e8 04 ba fb ff       	call   0x42f61c
473c18:	8b d8                	mov    %eax,%ebx
473c1a:	b2 01                	mov    $0x1,%dl
473c1c:	8b c3                	mov    %ebx,%eax
473c1e:	8b 08                	mov    (%eax),%ecx
473c20:	ff 51 6c             	call   *0x6c(%ecx)
473c23:	8b c3                	mov    %ebx,%eax
473c25:	5b                   	pop    %ebx
473c26:	c3                   	ret
473c27:	90                   	nop
473c28:	55                   	push   %ebp
473c29:	8b ec                	mov    %esp,%ebp
473c2b:	81 c4 14 ff ff ff    	add    $0xffffff14,%esp
473c31:	53                   	push   %ebx
473c32:	56                   	push   %esi
473c33:	57                   	push   %edi
473c34:	33 db                	xor    %ebx,%ebx
473c36:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
473c39:	89 4d ec             	mov    %ecx,-0x14(%ebp)
473c3c:	89 55 f8             	mov    %edx,-0x8(%ebp)
473c3f:	89 45 fc             	mov    %eax,-0x4(%ebp)
473c42:	33 c0                	xor    %eax,%eax
473c44:	55                   	push   %ebp
473c45:	68 ac 44 47 00       	push   $0x4744ac
473c4a:	64 ff 30             	push   %fs:(%eax)
473c4d:	64 89 20             	mov    %esp,%fs:(%eax)
473c50:	8b 45 fc             	mov    -0x4(%ebp),%eax
473c53:	8b 10                	mov    (%eax),%edx
473c55:	ff 52 50             	call   *0x50(%edx)
473c58:	8b d8                	mov    %eax,%ebx
473c5a:	8b 45 fc             	mov    -0x4(%ebp),%eax
473c5d:	8b 40 1c             	mov    0x1c(%eax),%eax
473c60:	80 78 3e 00          	cmpb   $0x0,0x3e(%eax)
473c64:	75 10                	jne    0x473c76
473c66:	8b 45 fc             	mov    -0x4(%ebp),%eax
473c69:	8b 40 24             	mov    0x24(%eax),%eax
473c6c:	80 78 58 00          	cmpb   $0x0,0x58(%eax)
473c70:	75 04                	jne    0x473c76
473c72:	33 c0                	xor    %eax,%eax
473c74:	eb 02                	jmp    0x473c78
473c76:	b0 01                	mov    $0x1,%al
473c78:	88 45 eb             	mov    %al,-0x15(%ebp)
473c7b:	8b 55 fc             	mov    -0x4(%ebp),%edx
473c7e:	8b 52 1c             	mov    0x1c(%edx),%edx
473c81:	f6 42 64 01          	testb  $0x1,0x64(%edx)
473c85:	74 12                	je     0x473c99
473c87:	8b 45 fc             	mov    -0x4(%ebp),%eax
473c8a:	8b 40 1c             	mov    0x1c(%eax),%eax
473c8d:	f6 40 64 20          	testb  $0x20,0x64(%eax)
473c91:	75 0a                	jne    0x473c9d
473c93:	f6 40 3f 02          	testb  $0x2,0x3f(%eax)
473c97:	75 04                	jne    0x473c9d
473c99:	33 c0                	xor    %eax,%eax
473c9b:	eb 02                	jmp    0x473c9f
473c9d:	b0 01                	mov    $0x1,%al
473c9f:	88 45 ea             	mov    %al,-0x16(%ebp)
473ca2:	6a 47                	push   $0x47
473ca4:	e8 77 3e f9 ff       	call   0x407b20
473ca9:	89 45 f4             	mov    %eax,-0xc(%ebp)
473cac:	6a 48                	push   $0x48
473cae:	e8 6d 3e f9 ff       	call   0x407b20
473cb3:	89 45 f0             	mov    %eax,-0x10(%ebp)
473cb6:	8b 45 fc             	mov    -0x4(%ebp),%eax
473cb9:	e8 d6 f7 ff ff       	call   0x473494
473cbe:	8b f8                	mov    %eax,%edi
473cc0:	8b 45 fc             	mov    -0x4(%ebp),%eax
473cc3:	e8 94 f7 ff ff       	call   0x47345c
473cc8:	84 c0                	test   %al,%al
473cca:	74 04                	je     0x473cd0
473ccc:	85 ff                	test   %edi,%edi
473cce:	75 04                	jne    0x473cd4
473cd0:	33 c0                	xor    %eax,%eax
473cd2:	eb 02                	jmp    0x473cd6
473cd4:	b0 01                	mov    $0x1,%al
473cd6:	88 45 e9             	mov    %al,-0x17(%ebp)
473cd9:	33 c0                	xor    %eax,%eax
473cdb:	89 45 dc             	mov    %eax,-0x24(%ebp)
473cde:	84 db                	test   %bl,%bl
473ce0:	75 2c                	jne    0x473d0e
473ce2:	85 ff                	test   %edi,%edi
473ce4:	74 1f                	je     0x473d05
473ce6:	8b 47 30             	mov    0x30(%edi),%eax
473ce9:	83 c0 03             	add    $0x3,%eax
473cec:	50                   	push   %eax
473ced:	8b 45 ec             	mov    -0x14(%ebp),%eax
473cf0:	8b 40 0c             	mov    0xc(%eax),%eax
473cf3:	50                   	push   %eax
473cf4:	8b 47 34             	mov    0x34(%edi),%eax
473cf7:	83 c0 03             	add    $0x3,%eax
473cfa:	50                   	push   %eax
473cfb:	e8 38 36 f9 ff       	call   0x407338
473d00:	89 45 dc             	mov    %eax,-0x24(%ebp)
473d03:	eb 09                	jmp    0x473d0e
473d05:	8b 45 ec             	mov    -0x14(%ebp),%eax
473d08:	8b 40 0c             	mov    0xc(%eax),%eax
473d0b:	89 45 dc             	mov    %eax,-0x24(%ebp)
473d0e:	8b 45 ec             	mov    -0x14(%ebp),%eax
473d11:	57                   	push   %edi
473d12:	8b f0                	mov    %eax,%esi
473d14:	8d 7d bc             	lea    -0x44(%ebp),%edi
473d17:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473d18:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473d19:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473d1a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473d1b:	5f                   	pop    %edi
473d1c:	84 db                	test   %bl,%bl
473d1e:	0f 84 92 02 00 00    	je     0x473fb6
473d24:	80 7d ea 00          	cmpb   $0x0,-0x16(%ebp)
473d28:	74 79                	je     0x473da3
473d2a:	8b 45 fc             	mov    -0x4(%ebp),%eax
473d2d:	8b 40 1c             	mov    0x1c(%eax),%eax
473d30:	f6 40 64 20          	testb  $0x20,0x64(%eax)
473d34:	74 1c                	je     0x473d52
473d36:	83 6d c4 02          	subl   $0x2,-0x3c(%ebp)
473d3a:	57                   	push   %edi
473d3b:	8d 75 bc             	lea    -0x44(%ebp),%esi
473d3e:	8d 7d ac             	lea    -0x54(%ebp),%edi
473d41:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473d42:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473d43:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473d44:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473d45:	5f                   	pop    %edi
473d46:	83 6d c4 09          	subl   $0x9,-0x3c(%ebp)
473d4a:	8b 45 c4             	mov    -0x3c(%ebp),%eax
473d4d:	89 45 ac             	mov    %eax,-0x54(%ebp)
473d50:	eb 5a                	jmp    0x473dac
473d52:	8b 45 fc             	mov    -0x4(%ebp),%eax
473d55:	8b 40 24             	mov    0x24(%eax),%eax
473d58:	80 b8 a4 00 00 00 01 	cmpb   $0x1,0xa4(%eax)
473d5f:	74 21                	je     0x473d82
473d61:	8b 45 c8             	mov    -0x38(%ebp),%eax
473d64:	50                   	push   %eax
473d65:	8d 45 ac             	lea    -0x54(%ebp),%eax
473d68:	50                   	push   %eax
473d69:	8b 75 c4             	mov    -0x3c(%ebp),%esi
473d6c:	8b ce                	mov    %esi,%ecx
473d6e:	83 e9 03             	sub    $0x3,%ecx
473d71:	8b c6                	mov    %esi,%eax
473d73:	83 e8 08             	sub    $0x8,%eax
473d76:	83 e8 03             	sub    $0x3,%eax
473d79:	33 d2                	xor    %edx,%edx
473d7b:	e8 f4 68 fa ff       	call   0x41a674
473d80:	eb 2a                	jmp    0x473dac
473d82:	8b 75 c8             	mov    -0x38(%ebp),%esi
473d85:	8b c6                	mov    %esi,%eax
473d87:	83 e8 03             	sub    $0x3,%eax
473d8a:	50                   	push   %eax
473d8b:	8d 45 ac             	lea    -0x54(%ebp),%eax
473d8e:	50                   	push   %eax
473d8f:	8b d6                	mov    %esi,%edx
473d91:	83 ea 08             	sub    $0x8,%edx
473d94:	83 ea 03             	sub    $0x3,%edx
473d97:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
473d9a:	33 c0                	xor    %eax,%eax
473d9c:	e8 d3 68 fa ff       	call   0x41a674
473da1:	eb 09                	jmp    0x473dac
473da3:	8d 45 ac             	lea    -0x54(%ebp),%eax
473da6:	50                   	push   %eax
473da7:	e8 f4 3f f9 ff       	call   0x407da0
473dac:	8a 45 10             	mov    0x10(%ebp),%al
473daf:	22 45 eb             	and    -0x15(%ebp),%al
473db2:	75 1c                	jne    0x473dd0
473db4:	8b 45 fc             	mov    -0x4(%ebp),%eax
473db7:	8b 40 1c             	mov    0x1c(%eax),%eax
473dba:	80 78 3c 00          	cmpb   $0x0,0x3c(%eax)
473dbe:	75 10                	jne    0x473dd0
473dc0:	8b 45 fc             	mov    -0x4(%ebp),%eax
473dc3:	8b 40 1c             	mov    0x1c(%eax),%eax
473dc6:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
473dca:	0f 84 d6 00 00 00    	je     0x473ea6
473dd0:	8b 45 fc             	mov    -0x4(%ebp),%eax
473dd3:	8b 40 1c             	mov    0x1c(%eax),%eax
473dd6:	f6 40 64 20          	testb  $0x20,0x64(%eax)
473dda:	75 3c                	jne    0x473e18
473ddc:	6a 0f                	push   $0xf
473dde:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
473de2:	75 10                	jne    0x473df4
473de4:	8b 45 fc             	mov    -0x4(%ebp),%eax
473de7:	8b 40 1c             	mov    0x1c(%eax),%eax
473dea:	80 78 3c 00          	cmpb   $0x0,0x3c(%eax)
473dee:	75 04                	jne    0x473df4
473df0:	33 c0                	xor    %eax,%eax
473df2:	eb 02                	jmp    0x473df6
473df4:	b0 01                	mov    $0x1,%al
473df6:	83 e0 7f             	and    $0x7f,%eax
473df9:	8b 04 85 04 af 68 00 	mov    0x68af04(,%eax,4),%eax
473e00:	50                   	push   %eax
473e01:	8d 45 bc             	lea    -0x44(%ebp),%eax
473e04:	50                   	push   %eax
473e05:	8b 45 f8             	mov    -0x8(%ebp),%eax
473e08:	e8 b3 4e fb ff       	call   0x428cc0
473e0d:	50                   	push   %eax
473e0e:	e8 f5 3a f9 ff       	call   0x407908
473e13:	e9 8e 00 00 00       	jmp    0x473ea6
473e18:	6a 0f                	push   $0xf
473e1a:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
473e1e:	74 0c                	je     0x473e2c
473e20:	8b 45 fc             	mov    -0x4(%ebp),%eax
473e23:	8b 40 24             	mov    0x24(%eax),%eax
473e26:	80 78 40 00          	cmpb   $0x0,0x40(%eax)
473e2a:	75 10                	jne    0x473e3c
473e2c:	8b 45 fc             	mov    -0x4(%ebp),%eax
473e2f:	8b 40 1c             	mov    0x1c(%eax),%eax
473e32:	80 78 3c 00          	cmpb   $0x0,0x3c(%eax)
473e36:	75 04                	jne    0x473e3c
473e38:	33 c0                	xor    %eax,%eax
473e3a:	eb 02                	jmp    0x473e3e
473e3c:	b0 01                	mov    $0x1,%al
473e3e:	83 e0 7f             	and    $0x7f,%eax
473e41:	8b 04 85 04 af 68 00 	mov    0x68af04(,%eax,4),%eax
473e48:	50                   	push   %eax
473e49:	8d 45 bc             	lea    -0x44(%ebp),%eax
473e4c:	50                   	push   %eax
473e4d:	8b 45 f8             	mov    -0x8(%ebp),%eax
473e50:	e8 6b 4e fb ff       	call   0x428cc0
473e55:	50                   	push   %eax
473e56:	e8 ad 3a f9 ff       	call   0x407908
473e5b:	8a 45 10             	mov    0x10(%ebp),%al
473e5e:	22 45 eb             	and    -0x15(%ebp),%al
473e61:	75 0c                	jne    0x473e6f
473e63:	8b 45 fc             	mov    -0x4(%ebp),%eax
473e66:	8b 40 1c             	mov    0x1c(%eax),%eax
473e69:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
473e6d:	74 37                	je     0x473ea6
473e6f:	6a 0f                	push   $0xf
473e71:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
473e75:	74 0c                	je     0x473e83
473e77:	8b 45 fc             	mov    -0x4(%ebp),%eax
473e7a:	8b 40 24             	mov    0x24(%eax),%eax
473e7d:	80 78 40 00          	cmpb   $0x0,0x40(%eax)
473e81:	74 04                	je     0x473e87
473e83:	33 c0                	xor    %eax,%eax
473e85:	eb 02                	jmp    0x473e89
473e87:	b0 01                	mov    $0x1,%al
473e89:	83 e0 7f             	and    $0x7f,%eax
473e8c:	8b 04 85 04 af 68 00 	mov    0x68af04(,%eax,4),%eax
473e93:	50                   	push   %eax
473e94:	8d 45 ac             	lea    -0x54(%ebp),%eax
473e97:	50                   	push   %eax
473e98:	8b 45 f8             	mov    -0x8(%ebp),%eax