414b59:	8b 43 28             	mov    0x28(%ebx),%eax
414b5c:	3b 43 30             	cmp    0x30(%ebx),%eax
414b5f:	73 08                	jae    0x414b69
414b61:	8b 53 30             	mov    0x30(%ebx),%edx
414b64:	2b d0                	sub    %eax,%edx
414b66:	4a                   	dec    %edx
414b67:	eb 05                	jmp    0x414b6e
414b69:	8b 53 2c             	mov    0x2c(%ebx),%edx
414b6c:	2b d0                	sub    %eax,%edx
414b6e:	89 54 24 18          	mov    %edx,0x18(%esp)
414b72:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
414b77:	0f 85 86 00 00 00    	jne    0x414c03
414b7d:	89 43 34             	mov    %eax,0x34(%ebx)
414b80:	8b 0c 24             	mov    (%esp),%ecx
414b83:	8b d6                	mov    %esi,%edx
414b85:	8b c3                	mov    %ebx,%eax
414b87:	e8 b4 01 00 00       	call   0x414d40
414b8c:	89 04 24             	mov    %eax,(%esp)
414b8f:	8b 43 34             	mov    0x34(%ebx),%eax
414b92:	3b 43 30             	cmp    0x30(%ebx),%eax
414b95:	73 08                	jae    0x414b9f
414b97:	8b 53 30             	mov    0x30(%ebx),%edx
414b9a:	2b d0                	sub    %eax,%edx
414b9c:	4a                   	dec    %edx
414b9d:	eb 05                	jmp    0x414ba4
414b9f:	8b 53 2c             	mov    0x2c(%ebx),%edx
414ba2:	2b d0                	sub    %eax,%edx
414ba4:	89 54 24 18          	mov    %edx,0x18(%esp)
414ba8:	3b 43 2c             	cmp    0x2c(%ebx),%eax
414bab:	75 21                	jne    0x414bce
414bad:	8b 4b 30             	mov    0x30(%ebx),%ecx
414bb0:	3b 4b 28             	cmp    0x28(%ebx),%ecx
414bb3:	74 19                	je     0x414bce
414bb5:	8b 43 28             	mov    0x28(%ebx),%eax
414bb8:	3b 43 30             	cmp    0x30(%ebx),%eax
414bbb:	73 08                	jae    0x414bc5
414bbd:	8b 53 30             	mov    0x30(%ebx),%edx
414bc0:	2b d0                	sub    %eax,%edx
414bc2:	4a                   	dec    %edx
414bc3:	eb 05                	jmp    0x414bca
414bc5:	8b 53 2c             	mov    0x2c(%ebx),%edx
414bc8:	2b d0                	sub    %eax,%edx
414bca:	89 54 24 18          	mov    %edx,0x18(%esp)
414bce:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
414bd3:	75 2e                	jne    0x414c03
414bd5:	8b 4c 24 10          	mov    0x10(%esp),%ecx
414bd9:	89 4b 20             	mov    %ecx,0x20(%ebx)
414bdc:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
414bdf:	8b 54 24 14          	mov    0x14(%esp),%edx
414be3:	8b cf                	mov    %edi,%ecx
414be5:	89 56 04             	mov    %edx,0x4(%esi)
414be8:	8b d6                	mov    %esi,%edx
414bea:	2b 0e                	sub    (%esi),%ecx
414bec:	01 4e 08             	add    %ecx,0x8(%esi)
414bef:	89 3e                	mov    %edi,(%esi)
414bf1:	89 43 34             	mov    %eax,0x34(%ebx)
414bf4:	8b c3                	mov    %ebx,%eax
414bf6:	8b 0c 24             	mov    (%esp),%ecx
414bf9:	e8 42 01 00 00       	call   0x414d40
414bfe:	e9 28 01 00 00       	jmp    0x414d2b
414c03:	33 d2                	xor    %edx,%edx
414c05:	89 14 24             	mov    %edx,(%esp)
414c08:	8b 4c 24 20          	mov    0x20(%esp),%ecx
414c0c:	8a 51 08             	mov    0x8(%ecx),%dl
414c0f:	88 10                	mov    %dl,(%eax)
414c11:	40                   	inc    %eax
414c12:	ff 4c 24 18          	decl   0x18(%esp)
414c16:	8b 4c 24 20          	mov    0x20(%esp),%ecx
414c1a:	33 d2                	xor    %edx,%edx
414c1c:	89 11                	mov    %edx,(%ecx)
414c1e:	e9 b6 f8 ff ff       	jmp    0x4144d9
414c23:	83 fd 07             	cmp    $0x7,%ebp
414c26:	76 08                	jbe    0x414c30
414c28:	83 ed 08             	sub    $0x8,%ebp
414c2b:	ff 44 24 14          	incl   0x14(%esp)
414c2f:	4f                   	dec    %edi
414c30:	89 43 34             	mov    %eax,0x34(%ebx)
414c33:	8b 0c 24             	mov    (%esp),%ecx
414c36:	8b d6                	mov    %esi,%edx
414c38:	8b c3                	mov    %ebx,%eax
414c3a:	e8 01 01 00 00       	call   0x414d40
414c3f:	89 04 24             	mov    %eax,(%esp)
414c42:	8b 43 34             	mov    0x34(%ebx),%eax
414c45:	3b 43 30             	cmp    0x30(%ebx),%eax
414c48:	73 08                	jae    0x414c52
414c4a:	8b 53 30             	mov    0x30(%ebx),%edx
414c4d:	2b d0                	sub    %eax,%edx
414c4f:	4a                   	dec    %edx
414c50:	eb 05                	jmp    0x414c57
414c52:	8b 53 2c             	mov    0x2c(%ebx),%edx
414c55:	2b d0                	sub    %eax,%edx
414c57:	8b 4b 30             	mov    0x30(%ebx),%ecx
414c5a:	3b 4b 34             	cmp    0x34(%ebx),%ecx
414c5d:	74 2e                	je     0x414c8d
414c5f:	8b 54 24 10          	mov    0x10(%esp),%edx
414c63:	89 53 20             	mov    %edx,0x20(%ebx)
414c66:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
414c69:	8b 4c 24 14          	mov    0x14(%esp),%ecx
414c6d:	89 4e 04             	mov    %ecx,0x4(%esi)
414c70:	8b d7                	mov    %edi,%edx
414c72:	2b 16                	sub    (%esi),%edx
414c74:	01 56 08             	add    %edx,0x8(%esi)
414c77:	89 3e                	mov    %edi,(%esi)
414c79:	89 43 34             	mov    %eax,0x34(%ebx)
414c7c:	8b 0c 24             	mov    (%esp),%ecx
414c7f:	8b d6                	mov    %esi,%edx
414c81:	8b c3                	mov    %ebx,%eax
414c83:	e8 b8 00 00 00       	call   0x414d40
414c88:	e9 9e 00 00 00       	jmp    0x414d2b
414c8d:	8b 4c 24 20          	mov    0x20(%esp),%ecx
414c91:	c7 01 08 00 00 00    	movl   $0x8,(%ecx)
414c97:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
414c9e:	8b 54 24 10          	mov    0x10(%esp),%edx
414ca2:	89 53 20             	mov    %edx,0x20(%ebx)
414ca5:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
414ca8:	8b 4c 24 14          	mov    0x14(%esp),%ecx
414cac:	89 4e 04             	mov    %ecx,0x4(%esi)
414caf:	8b d7                	mov    %edi,%edx
414cb1:	2b 16                	sub    (%esi),%edx
414cb3:	01 56 08             	add    %edx,0x8(%esi)
414cb6:	89 3e                	mov    %edi,(%esi)
414cb8:	89 43 34             	mov    %eax,0x34(%ebx)
414cbb:	8b 0c 24             	mov    (%esp),%ecx
414cbe:	8b d6                	mov    %esi,%edx
414cc0:	8b c3                	mov    %ebx,%eax
414cc2:	e8 79 00 00 00       	call   0x414d40
414cc7:	eb 62                	jmp    0x414d2b
414cc9:	c7 04 24 fd ff ff ff 	movl   $0xfffffffd,(%esp)
414cd0:	8b 4c 24 10          	mov    0x10(%esp),%ecx
414cd4:	89 4b 20             	mov    %ecx,0x20(%ebx)
414cd7:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
414cda:	8b 54 24 14          	mov    0x14(%esp),%edx
414cde:	8b cf                	mov    %edi,%ecx
414ce0:	89 56 04             	mov    %edx,0x4(%esi)
414ce3:	8b d6                	mov    %esi,%edx
414ce5:	2b 0e                	sub    (%esi),%ecx
414ce7:	01 4e 08             	add    %ecx,0x8(%esi)
414cea:	89 3e                	mov    %edi,(%esi)
414cec:	89 43 34             	mov    %eax,0x34(%ebx)
414cef:	8b c3                	mov    %ebx,%eax
414cf1:	8b 0c 24             	mov    (%esp),%ecx
414cf4:	e8 47 00 00 00       	call   0x414d40
414cf9:	eb 30                	jmp    0x414d2b
414cfb:	c7 04 24 fe ff ff ff 	movl   $0xfffffffe,(%esp)
414d02:	8b 54 24 10          	mov    0x10(%esp),%edx
414d06:	89 53 20             	mov    %edx,0x20(%ebx)
414d09:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
414d0c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
414d10:	89 4e 04             	mov    %ecx,0x4(%esi)
414d13:	8b d7                	mov    %edi,%edx
414d15:	2b 16                	sub    (%esi),%edx
414d17:	01 56 08             	add    %edx,0x8(%esi)
414d1a:	89 3e                	mov    %edi,(%esi)
414d1c:	89 43 34             	mov    %eax,0x34(%ebx)
414d1f:	8b 0c 24             	mov    (%esp),%ecx
414d22:	8b d6                	mov    %esi,%edx
414d24:	8b c3                	mov    %ebx,%eax
414d26:	e8 15 00 00 00       	call   0x414d40
414d2b:	83 c4 24             	add    $0x24,%esp
414d2e:	5d                   	pop    %ebp
414d2f:	5f                   	pop    %edi
414d30:	5e                   	pop    %esi
414d31:	5b                   	pop    %ebx
414d32:	c3                   	ret
414d33:	90                   	nop
414d34:	53                   	push   %ebx
414d35:	8b da                	mov    %edx,%ebx
414d37:	8b 52 28             	mov    0x28(%edx),%edx
414d3a:	92                   	xchg   %eax,%edx
414d3b:	ff 53 24             	call   *0x24(%ebx)
414d3e:	5b                   	pop    %ebx
414d3f:	c3                   	ret
414d40:	53                   	push   %ebx
414d41:	56                   	push   %esi
414d42:	57                   	push   %edi
414d43:	83 c4 f4             	add    $0xfffffff4,%esp
414d46:	89 4c 24 04          	mov    %ecx,0x4(%esp)
414d4a:	89 14 24             	mov    %edx,(%esp)
414d4d:	8b f0                	mov    %eax,%esi
414d4f:	8b 04 24             	mov    (%esp),%eax
414d52:	8b 50 0c             	mov    0xc(%eax),%edx
414d55:	89 54 24 08          	mov    %edx,0x8(%esp)
414d59:	8b 7e 30             	mov    0x30(%esi),%edi
414d5c:	3b 7e 34             	cmp    0x34(%esi),%edi
414d5f:	77 05                	ja     0x414d66
414d61:	8b 5e 34             	mov    0x34(%esi),%ebx
414d64:	eb 03                	jmp    0x414d69
414d66:	8b 5e 2c             	mov    0x2c(%esi),%ebx
414d69:	2b df                	sub    %edi,%ebx
414d6b:	8b 04 24             	mov    (%esp),%eax
414d6e:	8b 40 10             	mov    0x10(%eax),%eax
414d71:	3b d8                	cmp    %eax,%ebx
414d73:	76 02                	jbe    0x414d77
414d75:	8b d8                	mov    %eax,%ebx
414d77:	85 db                	test   %ebx,%ebx
414d79:	74 0d                	je     0x414d88
414d7b:	83 7c 24 04 fb       	cmpl   $0xfffffffb,0x4(%esp)
414d80:	75 06                	jne    0x414d88
414d82:	33 c0                	xor    %eax,%eax
414d84:	89 44 24 04          	mov    %eax,0x4(%esp)
414d88:	8b 14 24             	mov    (%esp),%edx
414d8b:	29 5a 10             	sub    %ebx,0x10(%edx)
414d8e:	8b 0c 24             	mov    (%esp),%ecx
414d91:	01 59 14             	add    %ebx,0x14(%ecx)
414d94:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
414d98:	74 13                	je     0x414dad
414d9a:	8b cb                	mov    %ebx,%ecx
414d9c:	8b d7                	mov    %edi,%edx
414d9e:	8b 46 3c             	mov    0x3c(%esi),%eax
414da1:	ff 56 38             	call   *0x38(%esi)
414da4:	89 46 3c             	mov    %eax,0x3c(%esi)
414da7:	8b 14 24             	mov    (%esp),%edx
414daa:	89 42 30             	mov    %eax,0x30(%edx)
414dad:	53                   	push   %ebx
414dae:	57                   	push   %edi
414daf:	8b 4c 24 10          	mov    0x10(%esp),%ecx
414db3:	51                   	push   %ecx
414db4:	e8 eb a5 ff ff       	call   0x40f3a4
414db9:	83 c4 0c             	add    $0xc,%esp
414dbc:	8b c3                	mov    %ebx,%eax
414dbe:	01 44 24 08          	add    %eax,0x8(%esp)
414dc2:	03 f8                	add    %eax,%edi
414dc4:	8b 46 2c             	mov    0x2c(%esi),%eax
414dc7:	3b f8                	cmp    %eax,%edi
414dc9:	75 6b                	jne    0x414e36
414dcb:	8b 56 28             	mov    0x28(%esi),%edx
414dce:	3b 46 34             	cmp    0x34(%esi),%eax
414dd1:	8b fa                	mov    %edx,%edi
414dd3:	75 03                	jne    0x414dd8
414dd5:	89 56 34             	mov    %edx,0x34(%esi)
414dd8:	8b 04 24             	mov    (%esp),%eax
414ddb:	8b 5e 34             	mov    0x34(%esi),%ebx
414dde:	2b df                	sub    %edi,%ebx
414de0:	8b 40 10             	mov    0x10(%eax),%eax
414de3:	3b d8                	cmp    %eax,%ebx
414de5:	76 02                	jbe    0x414de9
414de7:	8b d8                	mov    %eax,%ebx
414de9:	85 db                	test   %ebx,%ebx
414deb:	74 0d                	je     0x414dfa
414ded:	83 7c 24 04 fb       	cmpl   $0xfffffffb,0x4(%esp)
414df2:	75 06                	jne    0x414dfa
414df4:	33 c0                	xor    %eax,%eax
414df6:	89 44 24 04          	mov    %eax,0x4(%esp)
414dfa:	8b 14 24             	mov    (%esp),%edx
414dfd:	29 5a 10             	sub    %ebx,0x10(%edx)
414e00:	8b 0c 24             	mov    (%esp),%ecx
414e03:	01 59 14             	add    %ebx,0x14(%ecx)
414e06:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
414e0a:	74 13                	je     0x414e1f
414e0c:	8b cb                	mov    %ebx,%ecx
414e0e:	8b d7                	mov    %edi,%edx
414e10:	8b 46 3c             	mov    0x3c(%esi),%eax
414e13:	ff 56 38             	call   *0x38(%esi)
414e16:	89 46 3c             	mov    %eax,0x3c(%esi)
414e19:	8b 14 24             	mov    (%esp),%edx
414e1c:	89 42 30             	mov    %eax,0x30(%edx)
414e1f:	53                   	push   %ebx
414e20:	57                   	push   %edi
414e21:	8b 4c 24 10          	mov    0x10(%esp),%ecx
414e25:	51                   	push   %ecx
414e26:	e8 79 a5 ff ff       	call   0x40f3a4
414e2b:	83 c4 0c             	add    $0xc,%esp
414e2e:	8b c3                	mov    %ebx,%eax
414e30:	01 44 24 08          	add    %eax,0x8(%esp)
414e34:	03 f8                	add    %eax,%edi
414e36:	8b 14 24             	mov    (%esp),%edx
414e39:	8b 4c 24 08          	mov    0x8(%esp),%ecx
414e3d:	89 4a 0c             	mov    %ecx,0xc(%edx)
414e40:	89 7e 30             	mov    %edi,0x30(%esi)
414e43:	8b 44 24 04          	mov    0x4(%esp),%eax
414e47:	83 c4 0c             	add    $0xc,%esp
414e4a:	5f                   	pop    %edi
414e4b:	5e                   	pop    %esi
414e4c:	5b                   	pop    %ebx
414e4d:	c3                   	ret
414e4e:	8b c0                	mov    %eax,%eax
414e50:	55                   	push   %ebp
414e51:	8b ec                	mov    %esp,%ebp
414e53:	83 c4 d8             	add    $0xffffffd8,%esp
414e56:	53                   	push   %ebx
414e57:	56                   	push   %esi
414e58:	57                   	push   %edi
414e59:	89 4d f8             	mov    %ecx,-0x8(%ebp)
414e5c:	89 55 fc             	mov    %edx,-0x4(%ebp)
414e5f:	8b 55 08             	mov    0x8(%ebp),%edx
414e62:	8b 32                	mov    (%edx),%esi
414e64:	8b 55 08             	mov    0x8(%ebp),%edx
414e67:	8b 4a 04             	mov    0x4(%edx),%ecx
414e6a:	89 4d ec             	mov    %ecx,-0x14(%ebp)
414e6d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
414e70:	8b 55 0c             	mov    0xc(%ebp),%edx
414e73:	8b 59 1c             	mov    0x1c(%ecx),%ebx
414e76:	8b 4d 0c             	mov    0xc(%ebp),%ecx
414e79:	8b 52 20             	mov    0x20(%edx),%edx
414e7c:	8b 49 34             	mov    0x34(%ecx),%ecx
414e7f:	89 4d e8             	mov    %ecx,-0x18(%ebp)
414e82:	8b 4d 0c             	mov    0xc(%ebp),%ecx
414e85:	8b 49 30             	mov    0x30(%ecx),%ecx
414e88:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
414e8b:	76 0c                	jbe    0x414e99
414e8d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
414e90:	8b 49 30             	mov    0x30(%ecx),%ecx
414e93:	2b 4d e8             	sub    -0x18(%ebp),%ecx
414e96:	49                   	dec    %ecx
414e97:	eb 09                	jmp    0x414ea2
414e99:	8b 4d 0c             	mov    0xc(%ebp),%ecx
414e9c:	8b 49 2c             	mov    0x2c(%ecx),%ecx
414e9f:	2b 4d e8             	sub    -0x18(%ebp),%ecx
414ea2:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
414ea5:	8b 04 85 50 85 42 00 	mov    0x428550(,%eax,4),%eax
414eac:	89 45 e0             	mov    %eax,-0x20(%ebp)
414eaf:	8b 45 fc             	mov    -0x4(%ebp),%eax
414eb2:	8b 0c 85 50 85 42 00 	mov    0x428550(,%eax,4),%ecx
414eb9:	89 4d dc             	mov    %ecx,-0x24(%ebp)
414ebc:	83 fb 14             	cmp    $0x14,%ebx
414ebf:	73 19                	jae    0x414eda
414ec1:	ff 4d ec             	decl   -0x14(%ebp)
414ec4:	8b cb                	mov    %ebx,%ecx
414ec6:	8a 06                	mov    (%esi),%al
414ec8:	46                   	inc    %esi
414ec9:	25 ff 00 00 00       	and    $0xff,%eax
414ece:	83 c3 08             	add    $0x8,%ebx
414ed1:	d3 e0                	shl    %cl,%eax
414ed3:	0b d0                	or     %eax,%edx
414ed5:	83 fb 14             	cmp    $0x14,%ebx
414ed8:	72 e7                	jb     0x414ec1
414eda:	8b 4d e0             	mov    -0x20(%ebp),%ecx
414edd:	23 ca                	and    %edx,%ecx
414edf:	c1 e1 03             	shl    $0x3,%ecx
414ee2:	03 4d f8             	add    -0x8(%ebp),%ecx
414ee5:	89 4d f4             	mov    %ecx,-0xc(%ebp)
414ee8:	33 c0                	xor    %eax,%eax
414eea:	8a 01                	mov    (%ecx),%al
414eec:	89 45 f0             	mov    %eax,-0x10(%ebp)
414eef:	85 c0                	test   %eax,%eax
414ef1:	75 27                	jne    0x414f1a
414ef3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
414ef6:	8a 41 01             	mov    0x1(%ecx),%al
414ef9:	8b c8                	mov    %eax,%ecx
414efb:	25 ff 00 00 00       	and    $0xff,%eax
414f00:	d3 ea                	shr    %cl,%edx
414f02:	8b 4d f4             	mov    -0xc(%ebp),%ecx
414f05:	2b d8                	sub    %eax,%ebx
414f07:	8a 41 04             	mov    0x4(%ecx),%al
414f0a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
414f0d:	88 01                	mov    %al,(%ecx)
414f0f:	ff 45 e8             	incl   -0x18(%ebp)
414f12:	ff 4d e4             	decl   -0x1c(%ebp)
414f15:	e9 87 03 00 00       	jmp    0x4152a1
414f1a:	8b 45 f4             	mov    -0xc(%ebp),%eax