461ad4:	5d                   	pop    %ebp
461ad5:	c2 04 00             	ret    $0x4
461ad8:	55                   	push   %ebp
461ad9:	8b ec                	mov    %esp,%ebp
461adb:	51                   	push   %ecx
461adc:	56                   	push   %esi
461add:	8b f1                	mov    %ecx,%esi
461adf:	8b 4e 04             	mov    0x4(%esi),%ecx
461ae2:	c7 06 c8 2e 4a 00    	movl   $0x4a2ec8,(%esi)
461ae8:	8b 01                	mov    (%ecx),%eax
461aea:	83 f8 01             	cmp    $0x1,%eax
461aed:	74 0c                	je     0x461afb
461aef:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
461af4:	74 05                	je     0x461afb
461af6:	48                   	dec    %eax
461af7:	89 01                	mov    %eax,(%ecx)
461af9:	eb 60                	jmp    0x461b5b
461afb:	53                   	push   %ebx
461afc:	57                   	push   %edi
461afd:	33 ff                	xor    %edi,%edi
461aff:	8b 46 14             	mov    0x14(%esi),%eax
461b02:	8b 1c 07             	mov    (%edi,%eax,1),%ebx
461b05:	85 db                	test   %ebx,%ebx
461b07:	74 26                	je     0x461b2f
461b09:	8b 43 04             	mov    0x4(%ebx),%eax
461b0c:	89 45 fc             	mov    %eax,-0x4(%ebp)
461b0f:	8b 43 08             	mov    0x8(%ebx),%eax
461b12:	8b 48 20             	mov    0x20(%eax),%ecx
461b15:	85 c9                	test   %ecx,%ecx
461b17:	74 06                	je     0x461b1f
461b19:	51                   	push   %ecx
461b1a:	e8 02 4b ff ff       	call   0x456621
461b1f:	53                   	push   %ebx
461b20:	e8 47 f5 fb ff       	call   0x42106c
461b25:	8b 45 fc             	mov    -0x4(%ebp),%eax
461b28:	8b d8                	mov    %eax,%ebx
461b2a:	59                   	pop    %ecx
461b2b:	85 c0                	test   %eax,%eax
461b2d:	75 da                	jne    0x461b09
461b2f:	83 c7 04             	add    $0x4,%edi
461b32:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
461b38:	7c c5                	jl     0x461aff
461b3a:	ff 76 14             	push   0x14(%esi)
461b3d:	e8 2a f5 fb ff       	call   0x42106c
461b42:	59                   	pop    %ecx
461b43:	8b 4e 10             	mov    0x10(%esi),%ecx
461b46:	5f                   	pop    %edi
461b47:	5b                   	pop    %ebx
461b48:	85 c9                	test   %ecx,%ecx
461b4a:	74 06                	je     0x461b52
461b4c:	8b 01                	mov    (%ecx),%eax
461b4e:	6a 01                	push   $0x1
461b50:	ff 10                	call   *(%eax)
461b52:	ff 76 04             	push   0x4(%esi)
461b55:	e8 12 f5 fb ff       	call   0x42106c
461b5a:	59                   	pop    %ecx
461b5b:	c7 06 ac 2e 4a 00    	movl   $0x4a2eac,(%esi)
461b61:	5e                   	pop    %esi
461b62:	8b e5                	mov    %ebp,%esp
461b64:	5d                   	pop    %ebp
461b65:	c3                   	ret
461b66:	55                   	push   %ebp
461b67:	8b ec                	mov    %esp,%ebp
461b69:	56                   	push   %esi
461b6a:	8b f1                	mov    %ecx,%esi
461b6c:	e8 17 19 fa ff       	call   0x403488
461b71:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
461b75:	74 07                	je     0x461b7e
461b77:	56                   	push   %esi
461b78:	e8 ef f4 fb ff       	call   0x42106c
461b7d:	59                   	pop    %ecx
461b7e:	8b c6                	mov    %esi,%eax
461b80:	5e                   	pop    %esi
461b81:	5d                   	pop    %ebp
461b82:	c2 04 00             	ret    $0x4
461b85:	55                   	push   %ebp
461b86:	8b ec                	mov    %esp,%ebp
461b88:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
461b8c:	57                   	push   %edi
461b8d:	8b f9                	mov    %ecx,%edi
461b8f:	74 4f                	je     0x461be0
461b91:	53                   	push   %ebx
461b92:	33 db                	xor    %ebx,%ebx
461b94:	43                   	inc    %ebx
461b95:	39 5d 08             	cmp    %ebx,0x8(%ebp)
461b98:	74 45                	je     0x461bdf
461b9a:	8b 4f 04             	mov    0x4(%edi),%ecx
461b9d:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
461ba2:	8b 01                	mov    (%ecx),%eax
461ba4:	3b c3                	cmp    %ebx,%eax
461ba6:	7e 1b                	jle    0x461bc3
461ba8:	3b c2                	cmp    %edx,%eax
461baa:	74 17                	je     0x461bc3
461bac:	48                   	dec    %eax
461bad:	89 01                	mov    %eax,(%ecx)
461baf:	8b cf                	mov    %edi,%ecx
461bb1:	57                   	push   %edi
461bb2:	e8 18 01 00 00       	call   0x461ccf
461bb7:	8b cf                	mov    %edi,%ecx
461bb9:	e8 06 08 00 00       	call   0x4623c4
461bbe:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
461bc3:	83 7d 08 08          	cmpl   $0x8,0x8(%ebp)
461bc7:	74 0d                	je     0x461bd6
461bc9:	83 7d 08 04          	cmpl   $0x4,0x8(%ebp)
461bcd:	74 07                	je     0x461bd6
461bcf:	8b 47 04             	mov    0x4(%edi),%eax
461bd2:	89 10                	mov    %edx,(%eax)
461bd4:	eb 09                	jmp    0x461bdf
461bd6:	8b 47 04             	mov    0x4(%edi),%eax
461bd9:	39 10                	cmp    %edx,(%eax)
461bdb:	74 02                	je     0x461bdf
461bdd:	89 18                	mov    %ebx,(%eax)
461bdf:	5b                   	pop    %ebx
461be0:	5f                   	pop    %edi
461be1:	5d                   	pop    %ebp
461be2:	c2 04 00             	ret    $0x4
461be5:	55                   	push   %ebp
461be6:	8b ec                	mov    %esp,%ebp
461be8:	56                   	push   %esi
461be9:	6a 08                	push   $0x8
461beb:	8b f1                	mov    %ecx,%esi
461bed:	e8 93 ff ff ff       	call   0x461b85
461bf2:	ff 75 0c             	push   0xc(%ebp)
461bf5:	8b ce                	mov    %esi,%ecx
461bf7:	ff 75 08             	push   0x8(%ebp)
461bfa:	e8 0a 00 00 00       	call   0x461c09
461bff:	85 c0                	test   %eax,%eax
461c01:	5e                   	pop    %esi
461c02:	0f 95 c0             	setne  %al
461c05:	5d                   	pop    %ebp
461c06:	c2 08 00             	ret    $0x8
461c09:	55                   	push   %ebp
461c0a:	8b ec                	mov    %esp,%ebp
461c0c:	8b 51 08             	mov    0x8(%ecx),%edx
461c0f:	8b 41 0c             	mov    0xc(%ecx),%eax
461c12:	56                   	push   %esi
461c13:	8b 75 0c             	mov    0xc(%ebp),%esi
461c16:	57                   	push   %edi
461c17:	33 ff                	xor    %edi,%edi
461c19:	89 3e                	mov    %edi,(%esi)
461c1b:	89 7e 04             	mov    %edi,0x4(%esi)
461c1e:	83 fa ff             	cmp    $0xffffffff,%edx
461c21:	75 0b                	jne    0x461c2e
461c23:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
461c28:	75 04                	jne    0x461c2e
461c2a:	33 c0                	xor    %eax,%eax
461c2c:	eb 35                	jmp    0x461c63
461c2e:	3b d7                	cmp    %edi,%edx
461c30:	75 0f                	jne    0x461c41
461c32:	3d 00 00 00 80       	cmp    $0x80000000,%eax
461c37:	75 08                	jne    0x461c41
461c39:	89 79 08             	mov    %edi,0x8(%ecx)
461c3c:	89 79 0c             	mov    %edi,0xc(%ecx)
461c3f:	eb 0b                	jmp    0x461c4c
461c41:	83 c2 01             	add    $0x1,%edx
461c44:	89 51 08             	mov    %edx,0x8(%ecx)
461c47:	13 c7                	adc    %edi,%eax
461c49:	89 41 0c             	mov    %eax,0xc(%ecx)
461c4c:	8b 41 08             	mov    0x8(%ecx),%eax
461c4f:	51                   	push   %ecx
461c50:	ff 75 08             	push   0x8(%ebp)
461c53:	89 06                	mov    %eax,(%esi)
461c55:	8b 41 0c             	mov    0xc(%ecx),%eax
461c58:	50                   	push   %eax
461c59:	ff 36                	push   (%esi)
461c5b:	89 46 04             	mov    %eax,0x4(%esi)
461c5e:	e8 a3 09 00 00       	call   0x462606
461c63:	5f                   	pop    %edi
461c64:	5e                   	pop    %esi
461c65:	5d                   	pop    %ebp
461c66:	c2 08 00             	ret    $0x8
461c69:	55                   	push   %ebp
461c6a:	8b ec                	mov    %esp,%ebp
461c6c:	53                   	push   %ebx
461c6d:	56                   	push   %esi
461c6e:	57                   	push   %edi
461c6f:	8b 7d 08             	mov    0x8(%ebp),%edi
461c72:	8b d9                	mov    %ecx,%ebx
461c74:	83 3f 01             	cmpl   $0x1,(%edi)
461c77:	75 0d                	jne    0x461c86
461c79:	8d 47 04             	lea    0x4(%edi),%eax
461c7c:	50                   	push   %eax
461c7d:	e8 d6 41 fb ff       	call   0x415e58
461c82:	8b f0                	mov    %eax,%esi
461c84:	eb 03                	jmp    0x461c89
461c86:	8b 77 18             	mov    0x18(%edi),%esi
461c89:	6a 0c                	push   $0xc
461c8b:	81 e6 ff 03 00 00    	and    $0x3ff,%esi
461c91:	e8 60 f3 fb ff       	call   0x420ff6
461c96:	8b d0                	mov    %eax,%edx
461c98:	59                   	pop    %ecx
461c99:	89 55 08             	mov    %edx,0x8(%ebp)
461c9c:	83 22 00             	andl   $0x0,(%edx)
461c9f:	89 7a 08             	mov    %edi,0x8(%edx)
461ca2:	8b 4b 14             	mov    0x14(%ebx),%ecx
461ca5:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
461ca8:	85 c0                	test   %eax,%eax
461caa:	75 05                	jne    0x461cb1
461cac:	21 42 04             	and    %eax,0x4(%edx)
461caf:	eb 05                	jmp    0x461cb6
461cb1:	89 42 04             	mov    %eax,0x4(%edx)
461cb4:	89 10                	mov    %edx,(%eax)
461cb6:	8b 43 14             	mov    0x14(%ebx),%eax
461cb9:	89 14 b0             	mov    %edx,(%eax,%esi,4)
461cbc:	8d 45 08             	lea    0x8(%ebp),%eax
461cbf:	8b 4b 10             	mov    0x10(%ebx),%ecx
461cc2:	50                   	push   %eax
461cc3:	e8 6d db 00 00       	call   0x46f835
461cc8:	5f                   	pop    %edi
461cc9:	5e                   	pop    %esi
461cca:	5b                   	pop    %ebx
461ccb:	5d                   	pop    %ebp
461ccc:	c2 04 00             	ret    $0x4
461ccf:	55                   	push   %ebp
461cd0:	8b ec                	mov    %esp,%ebp
461cd2:	83 ec 20             	sub    $0x20,%esp
461cd5:	53                   	push   %ebx
461cd6:	56                   	push   %esi
461cd7:	57                   	push   %edi
461cd8:	8b f1                	mov    %ecx,%esi
461cda:	68 00 10 00 00       	push   $0x1000
461cdf:	89 75 e4             	mov    %esi,-0x1c(%ebp)
461ce2:	e8 0f f3 fb ff       	call   0x420ff6
461ce7:	8b f8                	mov    %eax,%edi
461ce9:	6a 10                	push   $0x10
461ceb:	89 7d e0             	mov    %edi,-0x20(%ebp)
461cee:	e8 03 f3 fb ff       	call   0x420ff6
461cf3:	59                   	pop    %ecx
461cf4:	59                   	pop    %ecx
461cf5:	85 c0                	test   %eax,%eax
461cf7:	74 11                	je     0x461d0a
461cf9:	ff 76 10             	push   0x10(%esi)
461cfc:	8b c8                	mov    %eax,%ecx
461cfe:	e8 fe fc ff ff       	call   0x461a01
461d03:	8b d0                	mov    %eax,%edx
461d05:	89 45 fc             	mov    %eax,-0x4(%ebp)
461d08:	eb 05                	jmp    0x461d0f
461d0a:	33 d2                	xor    %edx,%edx
461d0c:	89 55 fc             	mov    %edx,-0x4(%ebp)
461d0f:	8b 42 08             	mov    0x8(%edx),%eax
461d12:	33 db                	xor    %ebx,%ebx
461d14:	89 45 f4             	mov    %eax,-0xc(%ebp)
461d17:	8b cf                	mov    %edi,%ecx
461d19:	89 5d ec             	mov    %ebx,-0x14(%ebp)
461d1c:	89 7d f8             	mov    %edi,-0x8(%ebp)
461d1f:	83 21 00             	andl   $0x0,(%ecx)
461d22:	8b 46 14             	mov    0x14(%esi),%eax
461d25:	8b 1c 03             	mov    (%ebx,%eax,1),%ebx
461d28:	85 db                	test   %ebx,%ebx
461d2a:	0f 84 b8 00 00 00    	je     0x461de8
461d30:	8b 75 f8             	mov    -0x8(%ebp),%esi
461d33:	6a 0c                	push   $0xc
461d35:	e8 bc f2 fb ff       	call   0x420ff6
461d3a:	83 3e 00             	cmpl   $0x0,(%esi)
461d3d:	59                   	pop    %ecx
461d3e:	89 45 f0             	mov    %eax,-0x10(%ebp)
461d41:	75 02                	jne    0x461d45
461d43:	89 06                	mov    %eax,(%esi)
461d45:	83 20 00             	andl   $0x0,(%eax)
461d48:	83 60 04 00          	andl   $0x0,0x4(%eax)
461d4c:	6a 28                	push   $0x28
461d4e:	e8 a3 f2 fb ff       	call   0x420ff6
461d53:	8b f8                	mov    %eax,%edi
461d55:	59                   	pop    %ecx
461d56:	85 ff                	test   %edi,%edi
461d58:	74 0a                	je     0x461d64
461d5a:	8d 4f 04             	lea    0x4(%edi),%ecx
461d5d:	e8 65 5a fa ff       	call   0x4077c7
461d62:	eb 02                	jmp    0x461d66
461d64:	33 ff                	xor    %edi,%edi
461d66:	8b 45 f0             	mov    -0x10(%ebp),%eax
461d69:	89 78 08             	mov    %edi,0x8(%eax)
461d6c:	8b 4b 08             	mov    0x8(%ebx),%ecx
461d6f:	89 4d e8             	mov    %ecx,-0x18(%ebp)
461d72:	8b 01                	mov    (%ecx),%eax
461d74:	89 07                	mov    %eax,(%edi)
461d76:	8b 41 18             	mov    0x18(%ecx),%eax
461d79:	89 47 18             	mov    %eax,0x18(%edi)
461d7c:	8b 41 1c             	mov    0x1c(%ecx),%eax
461d7f:	89 47 1c             	mov    %eax,0x1c(%edi)
461d82:	8d 41 04             	lea    0x4(%ecx),%eax
461d85:	50                   	push   %eax
461d86:	8d 4f 04             	lea    0x4(%edi),%ecx
461d89:	e8 19 64 fa ff       	call   0x4081a7
461d8e:	6a 10                	push   $0x10
461d90:	e8 61 f2 fb ff       	call   0x420ff6
461d95:	59                   	pop    %ecx
461d96:	85 c0                	test   %eax,%eax
461d98:	74 0f                	je     0x461da9
461d9a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
461d9d:	ff 71 20             	push   0x20(%ecx)
461da0:	8b c8                	mov    %eax,%ecx
461da2:	e8 24 80 fa ff       	call   0x409dcb
461da7:	eb 02                	jmp    0x461dab
461da9:	33 c0                	xor    %eax,%eax
461dab:	8b 55 fc             	mov    -0x4(%ebp),%edx
461dae:	33 c9                	xor    %ecx,%ecx
461db0:	89 47 20             	mov    %eax,0x20(%edi)
461db3:	39 4d f4             	cmp    %ecx,-0xc(%ebp)
461db6:	7e 1f                	jle    0x461dd7
461db8:	8b 7a 04             	mov    0x4(%edx),%edi
461dbb:	8b 07                	mov    (%edi),%eax
461dbd:	39 18                	cmp    %ebx,(%eax)
461dbf:	74 0b                	je     0x461dcc
461dc1:	41                   	inc    %ecx
461dc2:	83 c7 04             	add    $0x4,%edi
461dc5:	3b 4d f4             	cmp    -0xc(%ebp),%ecx
461dc8:	7c f1                	jl     0x461dbb
461dca:	eb 0b                	jmp    0x461dd7
461dcc:	8b 42 04             	mov    0x4(%edx),%eax
461dcf:	8b 04 88             	mov    (%eax,%ecx,4),%eax
461dd2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
461dd5:	89 08                	mov    %ecx,(%eax)
461dd7:	8b 5b 04             	mov    0x4(%ebx),%ebx
461dda:	85 db                	test   %ebx,%ebx
461ddc:	0f 85 51 ff ff ff    	jne    0x461d33
461de2:	8b 75 e4             	mov    -0x1c(%ebp),%esi
461de5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
461de8:	8b 5d ec             	mov    -0x14(%ebp),%ebx
461deb:	83 c1 04             	add    $0x4,%ecx
461dee:	83 c3 04             	add    $0x4,%ebx
461df1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
461df4:	89 5d ec             	mov    %ebx,-0x14(%ebp)
461df7:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
461dfd:	0f 8c 1c ff ff ff    	jl     0x461d1f
461e03:	8b 4d 08             	mov    0x8(%ebp),%ecx
461e06:	8b 45 e0             	mov    -0x20(%ebp),%eax
461e09:	89 46 14             	mov    %eax,0x14(%esi)
461e0c:	89 56 10             	mov    %edx,0x10(%esi)
461e0f:	8b 41 08             	mov    0x8(%ecx),%eax
461e12:	89 46 08             	mov    %eax,0x8(%esi)
461e15:	8b 41 0c             	mov    0xc(%ecx),%eax
461e18:	5f                   	pop    %edi
461e19:	89 46 0c             	mov    %eax,0xc(%esi)
461e1c:	5e                   	pop    %esi
461e1d:	5b                   	pop    %ebx
461e1e:	8b e5                	mov    %ebp,%esp
461e20:	5d                   	pop    %ebp
461e21:	c2 04 00             	ret    $0x4
461e24:	55                   	push   %ebp
461e25:	8b ec                	mov    %esp,%ebp
461e27:	56                   	push   %esi
461e28:	8b 75 08             	mov    0x8(%ebp),%esi
461e2b:	57                   	push   %edi
461e2c:	8b f9                	mov    %ecx,%edi
461e2e:	8b ce                	mov    %esi,%ecx
461e30:	83 7e 0c 04          	cmpl   $0x4,0xc(%esi)
461e34:	75 11                	jne    0x461e47
461e36:	e8 5c 7b fa ff       	call   0x409997
461e3b:	ff 76 08             	push   0x8(%esi)