462877:	8b 40 fc             	mov    -0x4(%eax),%eax
46287a:	eb 3f                	jmp    0x4628bb
46287c:	8b 48 fc             	mov    -0x4(%eax),%ecx
46287f:	33 d2                	xor    %edx,%edx
462881:	eb 3b                	jmp    0x4628be
462883:	8b 46 20             	mov    0x20(%esi),%eax
462886:	83 46 14 04          	addl   $0x4,0x14(%esi)
46288a:	c1 e8 04             	shr    $0x4,%eax
46288d:	a8 01                	test   $0x1,%al
46288f:	8b 46 14             	mov    0x14(%esi),%eax
462892:	74 06                	je     0x46289a
462894:	0f bf 40 fc          	movswl -0x4(%eax),%eax
462898:	eb 21                	jmp    0x4628bb
46289a:	0f b7 40 fc          	movzwl -0x4(%eax),%eax
46289e:	eb 1b                	jmp    0x4628bb
4628a0:	8b 46 20             	mov    0x20(%esi),%eax
4628a3:	83 46 14 04          	addl   $0x4,0x14(%esi)
4628a7:	c1 e8 04             	shr    $0x4,%eax
4628aa:	a8 01                	test   $0x1,%al
4628ac:	8b 46 14             	mov    0x14(%esi),%eax
4628af:	74 06                	je     0x4628b7
4628b1:	0f be 40 fc          	movsbl -0x4(%eax),%eax
4628b5:	eb 04                	jmp    0x4628bb
4628b7:	0f b6 40 fc          	movzbl -0x4(%eax),%eax
4628bb:	99                   	cltd
4628bc:	8b c8                	mov    %eax,%ecx
4628be:	57                   	push   %edi
4628bf:	8b 7e 20             	mov    0x20(%esi),%edi
4628c2:	8b c7                	mov    %edi,%eax
4628c4:	c1 e8 04             	shr    $0x4,%eax
4628c7:	a8 01                	test   $0x1,%al
4628c9:	74 17                	je     0x4628e2
4628cb:	85 d2                	test   %edx,%edx
4628cd:	7f 13                	jg     0x4628e2
4628cf:	7c 04                	jl     0x4628d5
4628d1:	85 c9                	test   %ecx,%ecx
4628d3:	73 0d                	jae    0x4628e2
4628d5:	f7 d9                	neg    %ecx
4628d7:	83 d2 00             	adc    $0x0,%edx
4628da:	f7 da                	neg    %edx
4628dc:	83 cf 40             	or     $0x40,%edi
4628df:	89 7e 20             	mov    %edi,0x20(%esi)
4628e2:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
4628e6:	5f                   	pop    %edi
4628e7:	7d 09                	jge    0x4628f2
4628e9:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
4628f0:	eb 11                	jmp    0x462903
4628f2:	83 66 20 f7          	andl   $0xfffffff7,0x20(%esi)
4628f6:	b8 00 02 00 00       	mov    $0x200,%eax
4628fb:	39 46 28             	cmp    %eax,0x28(%esi)
4628fe:	7e 03                	jle    0x462903
462900:	89 46 28             	mov    %eax,0x28(%esi)
462903:	8b c1                	mov    %ecx,%eax
462905:	0b c2                	or     %edx,%eax
462907:	75 04                	jne    0x46290d
462909:	83 66 20 df          	andl   $0xffffffdf,0x20(%esi)
46290d:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
462911:	ff 75 0c             	push   0xc(%ebp)
462914:	ff 75 08             	push   0x8(%ebp)
462917:	83 fb 08             	cmp    $0x8,%ebx
46291a:	75 0b                	jne    0x462927
46291c:	52                   	push   %edx
46291d:	51                   	push   %ecx
46291e:	8b ce                	mov    %esi,%ecx
462920:	e8 ab 64 ff ff       	call   0x458dd0
462925:	eb 08                	jmp    0x46292f
462927:	51                   	push   %ecx
462928:	8b ce                	mov    %esi,%ecx
46292a:	e8 14 5e ff ff       	call   0x458743
46292f:	8b 46 20             	mov    0x20(%esi),%eax
462932:	c1 e8 07             	shr    $0x7,%eax
462935:	a8 01                	test   $0x1,%al
462937:	74 1e                	je     0x462957
462939:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
46293d:	6a 30                	push   $0x30
46293f:	5a                   	pop    %edx
462940:	74 08                	je     0x46294a
462942:	8b 46 34             	mov    0x34(%esi),%eax
462945:	66 39 10             	cmp    %dx,(%eax)
462948:	74 0d                	je     0x462957
46294a:	83 46 34 fe          	addl   $0xfffffffe,0x34(%esi)
46294e:	8b 4e 34             	mov    0x34(%esi),%ecx
462951:	66 89 11             	mov    %dx,(%ecx)
462954:	ff 46 38             	incl   0x38(%esi)
462957:	b0 01                	mov    $0x1,%al
462959:	5e                   	pop    %esi
46295a:	5b                   	pop    %ebx
46295b:	5d                   	pop    %ebp
46295c:	c2 08 00             	ret    $0x8
46295f:	8b ff                	mov    %edi,%edi
462961:	55                   	push   %ebp
462962:	8b ec                	mov    %esp,%ebp
462964:	51                   	push   %ecx
462965:	51                   	push   %ecx
462966:	53                   	push   %ebx
462967:	56                   	push   %esi
462968:	8b f1                	mov    %ecx,%esi
46296a:	ff 76 2c             	push   0x2c(%esi)
46296d:	e8 83 d2 ff ff       	call   0x45fbf5
462972:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
462976:	8b d8                	mov    %eax,%ebx
462978:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46297c:	59                   	pop    %ecx
46297d:	8b cb                	mov    %ebx,%ecx
46297f:	83 e9 01             	sub    $0x1,%ecx
462982:	0f 84 81 00 00 00    	je     0x462a09
462988:	83 e9 01             	sub    $0x1,%ecx
46298b:	74 5e                	je     0x4629eb
46298d:	49                   	dec    %ecx
46298e:	83 e9 01             	sub    $0x1,%ecx
462991:	74 3a                	je     0x4629cd
462993:	83 e9 04             	sub    $0x4,%ecx
462996:	74 17                	je     0x4629af
462998:	e8 92 a4 fe ff       	call   0x44ce2f
46299d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4629a3:	e8 2e a3 fe ff       	call   0x44ccd6
4629a8:	32 c0                	xor    %al,%al
4629aa:	e9 2e 01 00 00       	jmp    0x462add
4629af:	8b 46 20             	mov    0x20(%esi),%eax
4629b2:	8b ce                	mov    %esi,%ecx
4629b4:	c1 e8 04             	shr    $0x4,%eax
4629b7:	a8 01                	test   $0x1,%al
4629b9:	8d 45 f8             	lea    -0x8(%ebp),%eax
4629bc:	50                   	push   %eax
4629bd:	74 07                	je     0x4629c6
4629bf:	e8 05 4d ff ff       	call   0x4576c9
4629c4:	eb 5f                	jmp    0x462a25
4629c6:	e8 b6 4f ff ff       	call   0x457981
4629cb:	eb 58                	jmp    0x462a25
4629cd:	8b 46 20             	mov    0x20(%esi),%eax
4629d0:	8b ce                	mov    %esi,%ecx
4629d2:	c1 e8 04             	shr    $0x4,%eax
4629d5:	a8 01                	test   $0x1,%al
4629d7:	8d 45 f8             	lea    -0x8(%ebp),%eax
4629da:	50                   	push   %eax
4629db:	74 07                	je     0x4629e4
4629dd:	e8 10 3d ff ff       	call   0x4566f2
4629e2:	eb 41                	jmp    0x462a25
4629e4:	e8 90 3f ff ff       	call   0x456979
4629e9:	eb 3a                	jmp    0x462a25
4629eb:	8b 46 20             	mov    0x20(%esi),%eax
4629ee:	8b ce                	mov    %esi,%ecx
4629f0:	c1 e8 04             	shr    $0x4,%eax
4629f3:	a8 01                	test   $0x1,%al
4629f5:	8d 45 f8             	lea    -0x8(%ebp),%eax
4629f8:	50                   	push   %eax
4629f9:	74 07                	je     0x462a02
4629fb:	e8 d8 36 ff ff       	call   0x4560d8
462a00:	eb 23                	jmp    0x462a25
462a02:	e8 79 3a ff ff       	call   0x456480
462a07:	eb 1c                	jmp    0x462a25
462a09:	8b 46 20             	mov    0x20(%esi),%eax
462a0c:	8b ce                	mov    %esi,%ecx
462a0e:	c1 e8 04             	shr    $0x4,%eax
462a11:	a8 01                	test   $0x1,%al
462a13:	8d 45 f8             	lea    -0x8(%ebp),%eax
462a16:	50                   	push   %eax
462a17:	74 07                	je     0x462a20
462a19:	e8 ca 31 ff ff       	call   0x455be8
462a1e:	eb 05                	jmp    0x462a25
462a20:	e8 3b 34 ff ff       	call   0x455e60
462a25:	84 c0                	test   %al,%al
462a27:	0f 84 7b ff ff ff    	je     0x4629a8
462a2d:	8b ce                	mov    %esi,%ecx
462a2f:	e8 8f 94 ff ff       	call   0x45bec3
462a34:	84 c0                	test   %al,%al
462a36:	0f 84 9f 00 00 00    	je     0x462adb
462a3c:	8b 55 fc             	mov    -0x4(%ebp),%edx
462a3f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
462a42:	57                   	push   %edi
462a43:	8b 7e 20             	mov    0x20(%esi),%edi
462a46:	8b c7                	mov    %edi,%eax
462a48:	c1 e8 04             	shr    $0x4,%eax
462a4b:	a8 01                	test   $0x1,%al
462a4d:	74 17                	je     0x462a66
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