462a4f:	85 d2                	test   %edx,%edx
462a51:	7f 13                	jg     0x462a66
462a53:	7c 04                	jl     0x462a59
462a55:	85 c9                	test   %ecx,%ecx
462a57:	73 0d                	jae    0x462a66
462a59:	f7 d9                	neg    %ecx
462a5b:	83 d2 00             	adc    $0x0,%edx
462a5e:	f7 da                	neg    %edx
462a60:	83 cf 40             	or     $0x40,%edi
462a63:	89 7e 20             	mov    %edi,0x20(%esi)
462a66:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
462a6a:	5f                   	pop    %edi
462a6b:	7d 09                	jge    0x462a76
462a6d:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
462a74:	eb 11                	jmp    0x462a87
462a76:	83 66 20 f7          	andl   $0xfffffff7,0x20(%esi)
462a7a:	b8 00 02 00 00       	mov    $0x200,%eax
462a7f:	39 46 28             	cmp    %eax,0x28(%esi)
462a82:	7e 03                	jle    0x462a87
462a84:	89 46 28             	mov    %eax,0x28(%esi)
462a87:	8b c1                	mov    %ecx,%eax
462a89:	0b c2                	or     %edx,%eax
462a8b:	75 04                	jne    0x462a91
462a8d:	83 66 20 df          	andl   $0xffffffdf,0x20(%esi)
462a91:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
462a95:	ff 75 0c             	push   0xc(%ebp)
462a98:	ff 75 08             	push   0x8(%ebp)
462a9b:	83 fb 08             	cmp    $0x8,%ebx
462a9e:	75 0b                	jne    0x462aab
462aa0:	52                   	push   %edx
462aa1:	51                   	push   %ecx
462aa2:	8b ce                	mov    %esi,%ecx
462aa4:	e8 c2 63 ff ff       	call   0x458e6b
462aa9:	eb 08                	jmp    0x462ab3
462aab:	51                   	push   %ecx
462aac:	8b ce                	mov    %esi,%ecx
462aae:	e8 16 5d ff ff       	call   0x4587c9
462ab3:	8b 46 20             	mov    0x20(%esi),%eax
462ab6:	c1 e8 07             	shr    $0x7,%eax
462ab9:	a8 01                	test   $0x1,%al
462abb:	74 1e                	je     0x462adb
462abd:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
462ac1:	6a 30                	push   $0x30
462ac3:	59                   	pop    %ecx
462ac4:	74 08                	je     0x462ace
462ac6:	8b 46 34             	mov    0x34(%esi),%eax
462ac9:	66 39 08             	cmp    %cx,(%eax)
462acc:	74 0d                	je     0x462adb
462ace:	83 46 34 fe          	addl   $0xfffffffe,0x34(%esi)
462ad2:	8b 46 34             	mov    0x34(%esi),%eax
462ad5:	66 89 08             	mov    %cx,(%eax)
462ad8:	ff 46 38             	incl   0x38(%esi)
462adb:	b0 01                	mov    $0x1,%al
462add:	5e                   	pop    %esi
462ade:	5b                   	pop    %ebx
462adf:	8b e5                	mov    %ebp,%esp
462ae1:	5d                   	pop    %ebp
462ae2:	c2 08 00             	ret    $0x8
462ae5:	8b ff                	mov    %edi,%edi
462ae7:	55                   	push   %ebp
462ae8:	8b ec                	mov    %esp,%ebp
462aea:	53                   	push   %ebx
462aeb:	56                   	push   %esi
462aec:	8b f1                	mov    %ecx,%esi
462aee:	ff 76 2c             	push   0x2c(%esi)
462af1:	e8 ff d0 ff ff       	call   0x45fbf5
462af6:	59                   	pop    %ecx
462af7:	8b d8                	mov    %eax,%ebx
462af9:	8b cb                	mov    %ebx,%ecx
462afb:	83 e9 01             	sub    $0x1,%ecx
462afe:	74 78                	je     0x462b78
462b00:	83 e9 01             	sub    $0x1,%ecx
462b03:	74 56                	je     0x462b5b
462b05:	49                   	dec    %ecx
462b06:	83 e9 01             	sub    $0x1,%ecx
462b09:	74 33                	je     0x462b3e
462b0b:	83 e9 04             	sub    $0x4,%ecx
462b0e:	74 17                	je     0x462b27
462b10:	e8 1a a3 fe ff       	call   0x44ce2f
462b15:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
462b1b:	e8 b6 a1 fe ff       	call   0x44ccd6
462b20:	32 c0                	xor    %al,%al
462b22:	e9 0a 01 00 00       	jmp    0x462c31
462b27:	8b 46 20             	mov    0x20(%esi),%eax
462b2a:	83 46 14 08          	addl   $0x8,0x14(%esi)
462b2e:	c1 e8 04             	shr    $0x4,%eax
462b31:	a8 01                	test   $0x1,%al
462b33:	8b 46 14             	mov    0x14(%esi),%eax
462b36:	8b 48 f8             	mov    -0x8(%eax),%ecx
462b39:	8b 50 fc             	mov    -0x4(%eax),%edx
462b3c:	eb 58                	jmp    0x462b96
462b3e:	8b 46 20             	mov    0x20(%esi),%eax
462b41:	83 46 14 04          	addl   $0x4,0x14(%esi)
462b45:	c1 e8 04             	shr    $0x4,%eax
462b48:	a8 01                	test   $0x1,%al
462b4a:	8b 46 14             	mov    0x14(%esi),%eax
462b4d:	74 05                	je     0x462b54
462b4f:	8b 40 fc             	mov    -0x4(%eax),%eax
462b52:	eb 3f                	jmp    0x462b93
462b54:	8b 48 fc             	mov    -0x4(%eax),%ecx
462b57:	33 d2                	xor    %edx,%edx
462b59:	eb 3b                	jmp    0x462b96
462b5b:	8b 46 20             	mov    0x20(%esi),%eax
462b5e:	83 46 14 04          	addl   $0x4,0x14(%esi)
462b62:	c1 e8 04             	shr    $0x4,%eax
462b65:	a8 01                	test   $0x1,%al
462b67:	8b 46 14             	mov    0x14(%esi),%eax
462b6a:	74 06                	je     0x462b72
462b6c:	0f bf 40 fc          	movswl -0x4(%eax),%eax
462b70:	eb 21                	jmp    0x462b93
462b72:	0f b7 40 fc          	movzwl -0x4(%eax),%eax
462b76:	eb 1b                	jmp    0x462b93
462b78:	8b 46 20             	mov    0x20(%esi),%eax
462b7b:	83 46 14 04          	addl   $0x4,0x14(%esi)
462b7f:	c1 e8 04             	shr    $0x4,%eax
462b82:	a8 01                	test   $0x1,%al
462b84:	8b 46 14             	mov    0x14(%esi),%eax
462b87:	74 06                	je     0x462b8f
462b89:	0f be 40 fc          	movsbl -0x4(%eax),%eax
462b8d:	eb 04                	jmp    0x462b93
462b8f:	0f b6 40 fc          	movzbl -0x4(%eax),%eax
462b93:	99                   	cltd
462b94:	8b c8                	mov    %eax,%ecx
462b96:	57                   	push   %edi
462b97:	8b 7e 20             	mov    0x20(%esi),%edi
462b9a:	8b c7                	mov    %edi,%eax
462b9c:	c1 e8 04             	shr    $0x4,%eax
462b9f:	a8 01                	test   $0x1,%al
462ba1:	74 17                	je     0x462bba
462ba3:	85 d2                	test   %edx,%edx
462ba5:	7f 13                	jg     0x462bba
462ba7:	7c 04                	jl     0x462bad
462ba9:	85 c9                	test   %ecx,%ecx
462bab:	73 0d                	jae    0x462bba
462bad:	f7 d9                	neg    %ecx
462baf:	83 d2 00             	adc    $0x0,%edx
462bb2:	f7 da                	neg    %edx
462bb4:	83 cf 40             	or     $0x40,%edi
462bb7:	89 7e 20             	mov    %edi,0x20(%esi)
462bba:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
462bbe:	5f                   	pop    %edi
462bbf:	7d 09                	jge    0x462bca
462bc1:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
462bc8:	eb 11                	jmp    0x462bdb
462bca:	83 66 20 f7          	andl   $0xfffffff7,0x20(%esi)
462bce:	b8 00 02 00 00       	mov    $0x200,%eax
462bd3:	39 46 28             	cmp    %eax,0x28(%esi)
462bd6:	7e 03                	jle    0x462bdb
462bd8:	89 46 28             	mov    %eax,0x28(%esi)
462bdb:	8b c1                	mov    %ecx,%eax
462bdd:	0b c2                	or     %edx,%eax
462bdf:	75 04                	jne    0x462be5
462be1:	83 66 20 df          	andl   $0xffffffdf,0x20(%esi)
462be5:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
462be9:	ff 75 0c             	push   0xc(%ebp)
462bec:	ff 75 08             	push   0x8(%ebp)
462bef:	83 fb 08             	cmp    $0x8,%ebx
462bf2:	75 0b                	jne    0x462bff
462bf4:	52                   	push   %edx
462bf5:	51                   	push   %ecx
462bf6:	8b ce                	mov    %esi,%ecx
462bf8:	e8 09 63 ff ff       	call   0x458f06
462bfd:	eb 08                	jmp    0x462c07
462bff:	51                   	push   %ecx
462c00:	8b ce                	mov    %esi,%ecx
462c02:	e8 48 5c ff ff       	call   0x45884f
462c07:	8b 46 20             	mov    0x20(%esi),%eax
462c0a:	c1 e8 07             	shr    $0x7,%eax
462c0d:	a8 01                	test   $0x1,%al
462c0f:	74 1e                	je     0x462c2f
462c11:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
462c15:	6a 30                	push   $0x30
462c17:	5a                   	pop    %edx
462c18:	74 08                	je     0x462c22
462c1a:	8b 46 34             	mov    0x34(%esi),%eax
462c1d:	66 39 10             	cmp    %dx,(%eax)
462c20:	74 0d                	je     0x462c2f
462c22:	83 46 34 fe          	addl   $0xfffffffe,0x34(%esi)
462c26:	8b 4e 34             	mov    0x34(%esi),%ecx
462c29:	66 89 11             	mov    %dx,(%ecx)
462c2c:	ff 46 38             	incl   0x38(%esi)
462c2f:	b0 01                	mov    $0x1,%al
462c31:	5e                   	pop    %esi
462c32:	5b                   	pop    %ebx
462c33:	5d                   	pop    %ebp
462c34:	c2 08 00             	ret    $0x8
462c37:	8b ff                	mov    %edi,%edi
462c39:	56                   	push   %esi
462c3a:	8b f1                	mov    %ecx,%esi
462c3c:	57                   	push   %edi
462c3d:	83 46 14 04          	addl   $0x4,0x14(%esi)
462c41:	8b 46 14             	mov    0x14(%esi),%eax
462c44:	8b 78 fc             	mov    -0x4(%eax),%edi
462c47:	e8 50 55 01 00       	call   0x47819c
462c4c:	85 c0                	test   %eax,%eax
462c4e:	75 14                	jne    0x462c64
462c50:	e8 da a1 fe ff       	call   0x44ce2f
462c55:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
462c5b:	e8 76 a0 fe ff       	call   0x44ccd6
462c60:	32 c0                	xor    %al,%al
462c62:	eb 44                	jmp    0x462ca8
462c64:	ff 76 2c             	push   0x2c(%esi)
462c67:	e8 89 cf ff ff       	call   0x45fbf5
462c6c:	59                   	pop    %ecx
462c6d:	83 e8 01             	sub    $0x1,%eax
462c70:	74 2b                	je     0x462c9d
462c72:	83 e8 01             	sub    $0x1,%eax
462c75:	74 1d                	je     0x462c94
462c77:	48                   	dec    %eax
462c78:	83 e8 01             	sub    $0x1,%eax
462c7b:	74 10                	je     0x462c8d
462c7d:	83 e8 04             	sub    $0x4,%eax
462c80:	75 ce                	jne    0x462c50
462c82:	8b 46 18             	mov    0x18(%esi),%eax
462c85:	99                   	cltd
462c86:	89 07                	mov    %eax,(%edi)
462c88:	89 57 04             	mov    %edx,0x4(%edi)
462c8b:	eb 15                	jmp    0x462ca2
462c8d:	8b 46 18             	mov    0x18(%esi),%eax
462c90:	89 07                	mov    %eax,(%edi)
462c92:	eb 0e                	jmp    0x462ca2
462c94:	66 8b 46 18          	mov    0x18(%esi),%ax
462c98:	66 89 07             	mov    %ax,(%edi)
462c9b:	eb 05                	jmp    0x462ca2
462c9d:	8a 46 18             	mov    0x18(%esi),%al
462ca0:	88 07                	mov    %al,(%edi)
462ca2:	c6 46 30 01          	movb   $0x1,0x30(%esi)
462ca6:	b0 01                	mov    $0x1,%al
462ca8:	5f                   	pop    %edi
462ca9:	5e                   	pop    %esi
462caa:	c3                   	ret
462cab:	8b ff                	mov    %edi,%edi
462cad:	55                   	push   %ebp
462cae:	8b ec                	mov    %esp,%ebp
462cb0:	51                   	push   %ecx
462cb1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
462cb5:	8d 45 fc             	lea    -0x4(%ebp),%eax
462cb8:	56                   	push   %esi
462cb9:	50                   	push   %eax
462cba:	8b f1                	mov    %ecx,%esi
462cbc:	e8 46 43 ff ff       	call   0x457007
462cc1:	84 c0                	test   %al,%al
462cc3:	75 04                	jne    0x462cc9
462cc5:	32 c0                	xor    %al,%al
462cc7:	eb 76                	jmp    0x462d3f
462cc9:	8b ce                	mov    %esi,%ecx
462ccb:	e8 b1 91 ff ff       	call   0x45be81
462cd0:	84 c0                	test   %al,%al
462cd2:	74 69                	je     0x462d3d
462cd4:	e8 c3 54 01 00       	call   0x47819c
462cd9:	85 c0                	test   %eax,%eax
462cdb:	75 12                	jne    0x462cef
462cdd:	e8 4d a1 fe ff       	call   0x44ce2f
462ce2:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
462ce8:	e8 e9 9f fe ff       	call   0x44ccd6
462ced:	eb d6                	jmp    0x462cc5
462cef:	ff 76 2c             	push   0x2c(%esi)
462cf2:	e8 fe ce ff ff       	call   0x45fbf5
462cf7:	59                   	pop    %ecx
462cf8:	83 e8 01             	sub    $0x1,%eax
462cfb:	74 34                	je     0x462d31
462cfd:	83 e8 01             	sub    $0x1,%eax
462d00:	74 23                	je     0x462d25
462d02:	48                   	dec    %eax
462d03:	83 e8 01             	sub    $0x1,%eax
462d06:	74 13                	je     0x462d1b
462d08:	83 e8 04             	sub    $0x4,%eax
462d0b:	75 d0                	jne    0x462cdd
462d0d:	8b 46 18             	mov    0x18(%esi),%eax
462d10:	8b 4d fc             	mov    -0x4(%ebp),%ecx
462d13:	99                   	cltd
462d14:	89 01                	mov    %eax,(%ecx)
462d16:	89 51 04             	mov    %edx,0x4(%ecx)
462d19:	eb 1e                	jmp    0x462d39
462d1b:	8b 45 fc             	mov    -0x4(%ebp),%eax
462d1e:	8b 4e 18             	mov    0x18(%esi),%ecx
462d21:	89 08                	mov    %ecx,(%eax)
462d23:	eb 14                	jmp    0x462d39
462d25:	8b 45 fc             	mov    -0x4(%ebp),%eax
462d28:	66 8b 4e 18          	mov    0x18(%esi),%cx
462d2c:	66 89 08             	mov    %cx,(%eax)
462d2f:	eb 08                	jmp    0x462d39
462d31:	8b 45 fc             	mov    -0x4(%ebp),%eax
462d34:	8a 4e 18             	mov    0x18(%esi),%cl
462d37:	88 08                	mov    %cl,(%eax)
462d39:	c6 46 30 01          	movb   $0x1,0x30(%esi)
462d3d:	b0 01                	mov    $0x1,%al
462d3f:	5e                   	pop    %esi
462d40:	8b e5                	mov    %ebp,%esp
462d42:	5d                   	pop    %ebp
462d43:	c3                   	ret
462d44:	8b ff                	mov    %edi,%edi
462d46:	56                   	push   %esi
462d47:	8b f1                	mov    %ecx,%esi
462d49:	57                   	push   %edi
462d4a:	83 46 14 04          	addl   $0x4,0x14(%esi)
462d4e:	8b 46 14             	mov    0x14(%esi),%eax
462d51:	8b 78 fc             	mov    -0x4(%eax),%edi
462d54:	e8 43 54 01 00       	call   0x47819c
462d59:	85 c0                	test   %eax,%eax
462d5b:	75 14                	jne    0x462d71
462d5d:	e8 cd a0 fe ff       	call   0x44ce2f
462d62:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
462d68:	e8 69 9f fe ff       	call   0x44ccd6
462d6d:	32 c0                	xor    %al,%al
462d6f:	eb 44                	jmp    0x462db5
462d71:	ff 76 2c             	push   0x2c(%esi)
462d74:	e8 7c ce ff ff       	call   0x45fbf5
462d79:	59                   	pop    %ecx
462d7a:	83 e8 01             	sub    $0x1,%eax
462d7d:	74 2b                	je     0x462daa
462d7f:	83 e8 01             	sub    $0x1,%eax
462d82:	74 1d                	je     0x462da1
462d84:	48                   	dec    %eax
462d85:	83 e8 01             	sub    $0x1,%eax
462d88:	74 10                	je     0x462d9a
462d8a:	83 e8 04             	sub    $0x4,%eax
462d8d:	75 ce                	jne    0x462d5d
462d8f:	8b 46 18             	mov    0x18(%esi),%eax
462d92:	99                   	cltd
462d93:	89 07                	mov    %eax,(%edi)
462d95:	89 57 04             	mov    %edx,0x4(%edi)
462d98:	eb 15                	jmp    0x462daf
462d9a:	8b 46 18             	mov    0x18(%esi),%eax
462d9d:	89 07                	mov    %eax,(%edi)
462d9f:	eb 0e                	jmp    0x462daf
462da1:	66 8b 46 18          	mov    0x18(%esi),%ax
462da5:	66 89 07             	mov    %ax,(%edi)
462da8:	eb 05                	jmp    0x462daf
462daa:	8a 46 18             	mov    0x18(%esi),%al
462dad:	88 07                	mov    %al,(%edi)
462daf:	c6 46 30 01          	movb   $0x1,0x30(%esi)
462db3:	b0 01                	mov    $0x1,%al
462db5:	5f                   	pop    %edi
462db6:	5e                   	pop    %esi
462db7:	c3                   	ret
462db8:	8b ff                	mov    %edi,%edi
462dba:	56                   	push   %esi
462dbb:	8b f1                	mov    %ecx,%esi
462dbd:	57                   	push   %edi
462dbe:	83 46 14 04          	addl   $0x4,0x14(%esi)
462dc2:	8b 46 14             	mov    0x14(%esi),%eax
462dc5:	8b 78 fc             	mov    -0x4(%eax),%edi
462dc8:	e8 cf 53 01 00       	call   0x47819c
462dcd:	85 c0                	test   %eax,%eax
462dcf:	75 14                	jne    0x462de5
462dd1:	e8 59 a0 fe ff       	call   0x44ce2f
462dd6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
462ddc:	e8 f5 9e fe ff       	call   0x44ccd6
462de1:	32 c0                	xor    %al,%al