5f3a2a:	0f 8c 2c 03 00 00    	jl     0x5f3d5c
5f3a30:	83 fe 01             	cmp    $0x1,%esi
5f3a33:	0f 8c 23 03 00 00    	jl     0x5f3d5c
5f3a39:	81 7b 18 ff ff ff 7f 	cmpl   $0x7fffffff,0x18(%ebx)
5f3a40:	0f 84 16 03 00 00    	je     0x5f3d5c
5f3a46:	81 7b 1c ff ff ff 7f 	cmpl   $0x7fffffff,0x1c(%ebx)
5f3a4d:	0f 84 09 03 00 00    	je     0x5f3d5c
5f3a53:	3b 7b 5c             	cmp    0x5c(%ebx),%edi
5f3a56:	75 05                	jne    0x5f3a5d
5f3a58:	3b 73 60             	cmp    0x60(%ebx),%esi
5f3a5b:	74 6b                	je     0x5f3ac8
5f3a5d:	89 7b 5c             	mov    %edi,0x5c(%ebx)
5f3a60:	89 73 60             	mov    %esi,0x60(%ebx)
5f3a63:	b9 20 00 00 00       	mov    $0x20,%ecx
5f3a68:	8b 53 0c             	mov    0xc(%ebx),%edx
5f3a6b:	8b c7                	mov    %edi,%eax
5f3a6d:	e8 6e d0 ff ff       	call   0x5f0ae0
5f3a72:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f3a75:	8b 43 58             	mov    0x58(%ebx),%eax
5f3a78:	85 c0                	test   %eax,%eax
5f3a7a:	74 0d                	je     0x5f3a89
5f3a7c:	e8 4b ed e0 ff       	call   0x4027cc
5f3a81:	8b 43 64             	mov    0x64(%ebx),%eax
5f3a84:	e8 43 ed e0 ff       	call   0x4027cc
5f3a89:	8b 45 f4             	mov    -0xc(%ebp),%eax
5f3a8c:	f7 ee                	imul   %esi
5f3a8e:	e8 19 ed e0 ff       	call   0x4027ac
5f3a93:	89 43 58             	mov    %eax,0x58(%ebx)
5f3a96:	8b c6                	mov    %esi,%eax
5f3a98:	c1 e0 02             	shl    $0x2,%eax
5f3a9b:	e8 0c ed e0 ff       	call   0x4027ac
5f3aa0:	89 43 64             	mov    %eax,0x64(%ebx)
5f3aa3:	8b c6                	mov    %esi,%eax
5f3aa5:	48                   	dec    %eax
5f3aa6:	85 c0                	test   %eax,%eax
5f3aa8:	7c 1e                	jl     0x5f3ac8
5f3aaa:	40                   	inc    %eax
5f3aab:	89 45 cc             	mov    %eax,-0x34(%ebp)
5f3aae:	33 c0                	xor    %eax,%eax
5f3ab0:	8b 53 64             	mov    0x64(%ebx),%edx
5f3ab3:	8b ce                	mov    %esi,%ecx
5f3ab5:	2b c8                	sub    %eax,%ecx
5f3ab7:	49                   	dec    %ecx
5f3ab8:	0f af 4d f4          	imul   -0xc(%ebp),%ecx
5f3abc:	03 4b 58             	add    0x58(%ebx),%ecx
5f3abf:	89 0c 82             	mov    %ecx,(%edx,%eax,4)
5f3ac2:	40                   	inc    %eax
5f3ac3:	ff 4d cc             	decl   -0x34(%ebp)
5f3ac6:	75 e8                	jne    0x5f3ab0
5f3ac8:	56                   	push   %esi
5f3ac9:	8b 45 14             	mov    0x14(%ebp),%eax
5f3acc:	50                   	push   %eax
5f3acd:	8b 45 10             	mov    0x10(%ebp),%eax
5f3ad0:	50                   	push   %eax
5f3ad1:	8b 45 0c             	mov    0xc(%ebp),%eax
5f3ad4:	50                   	push   %eax
5f3ad5:	8b 45 08             	mov    0x8(%ebp),%eax
5f3ad8:	50                   	push   %eax
5f3ad9:	8b 43 14             	mov    0x14(%ebx),%eax
5f3adc:	50                   	push   %eax
5f3add:	8b 43 04             	mov    0x4(%ebx),%eax
5f3ae0:	50                   	push   %eax
5f3ae1:	8b 43 08             	mov    0x8(%ebx),%eax
5f3ae4:	50                   	push   %eax
5f3ae5:	8b 43 18             	mov    0x18(%ebx),%eax
5f3ae8:	50                   	push   %eax
5f3ae9:	8b 43 1c             	mov    0x1c(%ebx),%eax
5f3aec:	50                   	push   %eax
5f3aed:	8b 43 20             	mov    0x20(%ebx),%eax
5f3af0:	50                   	push   %eax
5f3af1:	8b 43 24             	mov    0x24(%ebx),%eax
5f3af4:	50                   	push   %eax
5f3af5:	8b cf                	mov    %edi,%ecx
5f3af7:	8b 53 58             	mov    0x58(%ebx),%edx
5f3afa:	8b 43 0c             	mov    0xc(%ebx),%eax
5f3afd:	e8 72 f6 ff ff       	call   0x5f3174
5f3b02:	db 45 0c             	fildl  0xc(%ebp)
5f3b05:	89 7d c4             	mov    %edi,-0x3c(%ebp)
5f3b08:	db 45 c4             	fildl  -0x3c(%ebp)
5f3b0b:	de f9                	fdivrp %st,%st(1)
5f3b0d:	d8 0d 68 3d 5f 00    	fmuls  0x5f3d68
5f3b13:	e8 b4 f1 e0 ff       	call   0x402ccc
5f3b18:	89 45 d8             	mov    %eax,-0x28(%ebp)
5f3b1b:	db 45 08             	fildl  0x8(%ebp)
5f3b1e:	89 75 c4             	mov    %esi,-0x3c(%ebp)
5f3b21:	db 45 c4             	fildl  -0x3c(%ebp)
5f3b24:	de f9                	fdivrp %st,%st(1)
5f3b26:	d8 0d 68 3d 5f 00    	fmuls  0x5f3d68
5f3b2c:	e8 9b f1 e0 ff       	call   0x402ccc
5f3b31:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f3b34:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f3b37:	8b 10                	mov    (%eax),%edx
5f3b39:	ff 52 2c             	call   *0x2c(%edx)
5f3b3c:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f3b3f:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f3b42:	8b 10                	mov    (%eax),%edx
5f3b44:	ff 52 20             	call   *0x20(%edx)
5f3b47:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f3b4a:	8b 45 10             	mov    0x10(%ebp),%eax
5f3b4d:	f7 d8                	neg    %eax
5f3b4f:	c1 e0 0e             	shl    $0xe,%eax
5f3b52:	99                   	cltd
5f3b53:	f7 7d d4             	idivl  -0x2c(%ebp)
5f3b56:	33 d2                	xor    %edx,%edx
5f3b58:	e8 b7 58 fb ff       	call   0x5a9414
5f3b5d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f3b60:	8b 43 08             	mov    0x8(%ebx),%eax
5f3b63:	2b 45 10             	sub    0x10(%ebp),%eax
5f3b66:	c1 e0 0e             	shl    $0xe,%eax
5f3b69:	99                   	cltd
5f3b6a:	f7 7d d4             	idivl  -0x2c(%ebp)
5f3b6d:	40                   	inc    %eax
5f3b6e:	8b d6                	mov    %esi,%edx
5f3b70:	4a                   	dec    %edx
5f3b71:	e8 a6 58 fb ff       	call   0x5a941c
5f3b76:	8b f0                	mov    %eax,%esi
5f3b78:	8b 55 ec             	mov    -0x14(%ebp),%edx
5f3b7b:	4a                   	dec    %edx
5f3b7c:	8b c6                	mov    %esi,%eax
5f3b7e:	e8 99 58 fb ff       	call   0x5a941c
5f3b83:	8b f0                	mov    %eax,%esi
5f3b85:	33 c0                	xor    %eax,%eax
5f3b87:	2b 45 14             	sub    0x14(%ebp),%eax
5f3b8a:	c1 e0 0e             	shl    $0xe,%eax
5f3b8d:	99                   	cltd
5f3b8e:	f7 7d d8             	idivl  -0x28(%ebp)
5f3b91:	33 d2                	xor    %edx,%edx
5f3b93:	e8 7c 58 fb ff       	call   0x5a9414
5f3b98:	89 45 e0             	mov    %eax,-0x20(%ebp)
5f3b9b:	8b 43 04             	mov    0x4(%ebx),%eax
5f3b9e:	2b 45 14             	sub    0x14(%ebp),%eax
5f3ba1:	c1 e0 0e             	shl    $0xe,%eax
5f3ba4:	99                   	cltd
5f3ba5:	f7 7d d8             	idivl  -0x28(%ebp)
5f3ba8:	40                   	inc    %eax
5f3ba9:	8b d7                	mov    %edi,%edx
5f3bab:	4a                   	dec    %edx
5f3bac:	e8 6b 58 fb ff       	call   0x5a941c
5f3bb1:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f3bb4:	8b 55 f0             	mov    -0x10(%ebp),%edx
5f3bb7:	4a                   	dec    %edx
5f3bb8:	8b 45 dc             	mov    -0x24(%ebp),%eax
5f3bbb:	e8 5c 58 fb ff       	call   0x5a941c
5f3bc0:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f3bc3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5f3bc6:	2b f0                	sub    %eax,%esi
5f3bc8:	0f 8c 8e 01 00 00    	jl     0x5f3d5c
5f3bce:	46                   	inc    %esi
5f3bcf:	89 75 cc             	mov    %esi,-0x34(%ebp)
5f3bd2:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f3bd5:	8b 43 64             	mov    0x64(%ebx),%eax
5f3bd8:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f3bdb:	8b 04 90             	mov    (%eax,%edx,4),%eax
5f3bde:	89 45 e8             	mov    %eax,-0x18(%ebp)
5f3be1:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f3be4:	03 55 20             	add    0x20(%ebp),%edx
5f3be7:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f3bea:	e8 19 9d e3 ff       	call   0x42d908
5f3bef:	89 45 d0             	mov    %eax,-0x30(%ebp)
5f3bf2:	8b 45 e0             	mov    -0x20(%ebp),%eax
5f3bf5:	03 45 f8             	add    -0x8(%ebp),%eax
5f3bf8:	8d 04 40             	lea    (%eax,%eax,2),%eax
5f3bfb:	01 45 d0             	add    %eax,-0x30(%ebp)
5f3bfe:	8b 43 0c             	mov    0xc(%ebx),%eax
5f3c01:	48                   	dec    %eax
5f3c02:	74 0e                	je     0x5f3c12
5f3c04:	83 e8 07             	sub    $0x7,%eax
5f3c07:	0f 84 fa 00 00 00    	je     0x5f3d07
5f3c0d:	e9 3e 01 00 00       	jmp    0x5f3d50
5f3c12:	8b 75 e0             	mov    -0x20(%ebp),%esi
5f3c15:	8b 7d dc             	mov    -0x24(%ebp),%edi
5f3c18:	2b fe                	sub    %esi,%edi
5f3c1a:	0f 8c 30 01 00 00    	jl     0x5f3d50
5f3c20:	47                   	inc    %edi
5f3c21:	83 7b 6c ff          	cmpl   $0xffffffff,0x6c(%ebx)
5f3c25:	75 53                	jne    0x5f3c7a
5f3c27:	8b c6                	mov    %esi,%eax
5f3c29:	c1 e8 03             	shr    $0x3,%eax
5f3c2c:	8b 55 e8             	mov    -0x18(%ebp),%edx
5f3c2f:	8a 04 02             	mov    (%edx,%eax,1),%al
5f3c32:	8b d6                	mov    %esi,%edx
5f3c34:	83 e2 07             	and    $0x7,%edx
5f3c37:	22 82 ec 54 6a 00    	and    0x6a54ec(%edx),%al
5f3c3d:	0f 85 b6 00 00 00    	jne    0x5f3cf9
5f3c43:	f6 45 f4 01          	testb  $0x1,-0xc(%ebp)
5f3c47:	75 08                	jne    0x5f3c51
5f3c49:	f7 c6 01 00 00 00    	test   $0x1,%esi
5f3c4f:	74 19                	je     0x5f3c6a
5f3c51:	8b 45 f4             	mov    -0xc(%ebp),%eax
5f3c54:	83 e0 01             	and    $0x1,%eax
5f3c57:	48                   	dec    %eax
5f3c58:	0f 85 9b 00 00 00    	jne    0x5f3cf9
5f3c5e:	8b c6                	mov    %esi,%eax
5f3c60:	83 e0 01             	and    $0x1,%eax
5f3c63:	48                   	dec    %eax
5f3c64:	0f 85 8f 00 00 00    	jne    0x5f3cf9
5f3c6a:	8b 45 d0             	mov    -0x30(%ebp),%eax
5f3c6d:	c6 40 02 61          	movb   $0x61,0x2(%eax)
5f3c71:	c6 40 01 61          	movb   $0x61,0x1(%eax)
5f3c75:	c6 00 61             	movb   $0x61,(%eax)
5f3c78:	eb 7f                	jmp    0x5f3cf9
5f3c7a:	8b c6                	mov    %esi,%eax
5f3c7c:	c1 e8 03             	shr    $0x3,%eax
5f3c7f:	8b 55 e8             	mov    -0x18(%ebp),%edx
5f3c82:	8a 04 02             	mov    (%edx,%eax,1),%al
5f3c85:	8b d6                	mov    %esi,%edx
5f3c87:	83 e2 07             	and    $0x7,%edx
5f3c8a:	22 82 ec 54 6a 00    	and    0x6a54ec(%edx),%al
5f3c90:	75 67                	jne    0x5f3cf9
5f3c92:	8b 45 d0             	mov    -0x30(%ebp),%eax
5f3c95:	89 45 c8             	mov    %eax,-0x38(%ebp)
5f3c98:	8b 45 c8             	mov    -0x38(%ebp),%eax
5f3c9b:	0f b6 40 02          	movzbl 0x2(%eax),%eax
5f3c9f:	f7 6b 6c             	imull  0x6c(%ebx)
5f3ca2:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5f3ca5:	db 45 c4             	fildl  -0x3c(%ebp)
5f3ca8:	d8 35 6c 3d 5f 00    	fdivs  0x5f3d6c
5f3cae:	e8 0d f0 e0 ff       	call   0x402cc0
5f3cb3:	8b 55 c8             	mov    -0x38(%ebp),%edx
5f3cb6:	88 42 02             	mov    %al,0x2(%edx)
5f3cb9:	8b 45 c8             	mov    -0x38(%ebp),%eax
5f3cbc:	0f b6 40 01          	movzbl 0x1(%eax),%eax
5f3cc0:	f7 6b 6c             	imull  0x6c(%ebx)
5f3cc3:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5f3cc6:	db 45 c4             	fildl  -0x3c(%ebp)
5f3cc9:	d8 35 6c 3d 5f 00    	fdivs  0x5f3d6c
5f3ccf:	e8 ec ef e0 ff       	call   0x402cc0
5f3cd4:	8b 55 c8             	mov    -0x38(%ebp),%edx
5f3cd7:	88 42 01             	mov    %al,0x1(%edx)
5f3cda:	8b 45 c8             	mov    -0x38(%ebp),%eax
5f3cdd:	0f b6 00             	movzbl (%eax),%eax
5f3ce0:	f7 6b 6c             	imull  0x6c(%ebx)
5f3ce3:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5f3ce6:	db 45 c4             	fildl  -0x3c(%ebp)
5f3ce9:	d8 35 6c 3d 5f 00    	fdivs  0x5f3d6c
5f3cef:	e8 cc ef e0 ff       	call   0x402cc0
5f3cf4:	8b 55 c8             	mov    -0x38(%ebp),%edx
5f3cf7:	88 02                	mov    %al,(%edx)
5f3cf9:	83 45 d0 03          	addl   $0x3,-0x30(%ebp)
5f3cfd:	46                   	inc    %esi
5f3cfe:	4f                   	dec    %edi
5f3cff:	0f 85 1c ff ff ff    	jne    0x5f3c21
5f3d05:	eb 49                	jmp    0x5f3d50
5f3d07:	8b 75 e0             	mov    -0x20(%ebp),%esi
5f3d0a:	8b 7d dc             	mov    -0x24(%ebp),%edi
5f3d0d:	2b fe                	sub    %esi,%edi
5f3d0f:	7c 3f                	jl     0x5f3d50
5f3d11:	47                   	inc    %edi
5f3d12:	8b 45 e8             	mov    -0x18(%ebp),%eax
5f3d15:	80 3c 30 00          	cmpb   $0x0,(%eax,%esi,1)
5f3d19:	75 2d                	jne    0x5f3d48
5f3d1b:	f6 45 f4 01          	testb  $0x1,-0xc(%ebp)
5f3d1f:	75 08                	jne    0x5f3d29
5f3d21:	f7 c6 01 00 00 00    	test   $0x1,%esi
5f3d27:	74 11                	je     0x5f3d3a
5f3d29:	8b 45 f4             	mov    -0xc(%ebp),%eax
5f3d2c:	83 e0 01             	and    $0x1,%eax
5f3d2f:	48                   	dec    %eax
5f3d30:	75 16                	jne    0x5f3d48
5f3d32:	8b c6                	mov    %esi,%eax
5f3d34:	83 e0 01             	and    $0x1,%eax
5f3d37:	48                   	dec    %eax
5f3d38:	75 0e                	jne    0x5f3d48
5f3d3a:	8b 45 d0             	mov    -0x30(%ebp),%eax
5f3d3d:	c6 40 02 61          	movb   $0x61,0x2(%eax)
5f3d41:	c6 40 01 61          	movb   $0x61,0x1(%eax)
5f3d45:	c6 00 61             	movb   $0x61,(%eax)
5f3d48:	83 45 d0 03          	addl   $0x3,-0x30(%ebp)
5f3d4c:	46                   	inc    %esi
5f3d4d:	4f                   	dec    %edi
5f3d4e:	75 c2                	jne    0x5f3d12
5f3d50:	ff 45 f4             	incl   -0xc(%ebp)
5f3d53:	ff 4d cc             	decl   -0x34(%ebp)
5f3d56:	0f 85 79 fe ff ff    	jne    0x5f3bd5
5f3d5c:	5f                   	pop    %edi
5f3d5d:	5e                   	pop    %esi
5f3d5e:	5b                   	pop    %ebx
5f3d5f:	8b e5                	mov    %ebp,%esp
5f3d61:	5d                   	pop    %ebp
5f3d62:	c2 1c 00             	ret    $0x1c
5f3d65:	00 00                	add    %al,(%eax)
5f3d67:	00 00                	add    %al,(%eax)
5f3d69:	00 80 46 00 00 c8    	add    %al,-0x37ffffba(%eax)
5f3d6f:	42                   	inc    %edx
5f3d70:	55                   	push   %ebp
5f3d71:	8b ec                	mov    %esp,%ebp
5f3d73:	83 c4 c4             	add    $0xffffffc4,%esp
5f3d76:	53                   	push   %ebx
5f3d77:	56                   	push   %esi
5f3d78:	57                   	push   %edi
5f3d79:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f3d7c:	89 55 fc             	mov    %edx,-0x4(%ebp)
5f3d7f:	8b f0                	mov    %eax,%esi
5f3d81:	8b 46 18             	mov    0x18(%esi),%eax
5f3d84:	3b 46 20             	cmp    0x20(%esi),%eax
5f3d87:	7e 0c                	jle    0x5f3d95
5f3d89:	8b 56 1c             	mov    0x1c(%esi),%edx
5f3d8c:	3b 56 24             	cmp    0x24(%esi),%edx
5f3d8f:	0f 8f da 06 00 00    	jg     0x5f446f
5f3d95:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
5f3d99:	74 0b                	je     0x5f3da6
5f3d9b:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f3d9e:	8b 56 1c             	mov    0x1c(%esi),%edx
5f3da1:	89 55 d8             	mov    %edx,-0x28(%ebp)
5f3da4:	eb 0a                	jmp    0x5f3db0
5f3da6:	33 d2                	xor    %edx,%edx
5f3da8:	89 55 dc             	mov    %edx,-0x24(%ebp)
5f3dab:	33 d2                	xor    %edx,%edx
5f3dad:	89 55 d8             	mov    %edx,-0x28(%ebp)
5f3db0:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
5f3db4:	74 0b                	je     0x5f3dc1
5f3db6:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f3db9:	8b 46 1c             	mov    0x1c(%esi),%eax
5f3dbc:	89 45 d0             	mov    %eax,-0x30(%ebp)
5f3dbf:	eb 0a                	jmp    0x5f3dcb
5f3dc1:	33 c0                	xor    %eax,%eax
5f3dc3:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f3dc6:	33 c0                	xor    %eax,%eax
5f3dc8:	89 45 d0             	mov    %eax,-0x30(%ebp)
5f3dcb:	8b 46 0c             	mov    0xc(%esi),%eax
5f3dce:	48                   	dec    %eax
5f3dcf:	74 0e                	je     0x5f3ddf
5f3dd1:	83 e8 07             	sub    $0x7,%eax
5f3dd4:	0f 84 0d 04 00 00    	je     0x5f41e7
5f3dda:	e9 75 06 00 00       	jmp    0x5f4454
5f3ddf:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f3de2:	8b 10                	mov    (%eax),%edx
5f3de4:	ff 52 10             	call   *0x10(%edx)
5f3de7:	3c 05                	cmp    $0x5,%al
5f3de9:	0f 85 b5 00 00 00    	jne    0x5f3ea4
5f3def:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f3df2:	8b 10                	mov    (%eax),%edx
5f3df4:	ff 52 10             	call   *0x10(%edx)
5f3df7:	3c 05                	cmp    $0x5,%al
5f3df9:	0f 85 a5 00 00 00    	jne    0x5f3ea4
5f3dff:	8b 46 1c             	mov    0x1c(%esi),%eax
5f3e02:	8b 56 24             	mov    0x24(%esi),%edx
5f3e05:	2b d0                	sub    %eax,%edx
5f3e07:	0f 8c 47 06 00 00    	jl     0x5f4454
5f3e0d:	42                   	inc    %edx
5f3e0e:	89 55 cc             	mov    %edx,-0x34(%ebp)
5f3e11:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f3e14:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f3e17:	2b 55 d0             	sub    -0x30(%ebp),%edx
5f3e1a:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f3e1d:	8b 08                	mov    (%eax),%ecx
5f3e1f:	ff 11                	call   *(%ecx)
5f3e21:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f3e24:	8b 46 18             	mov    0x18(%esi),%eax
5f3e27:	2b 45 d4             	sub    -0x2c(%ebp),%eax