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
5f3e2a:	8d 04 40             	lea    (%eax,%eax,2),%eax
5f3e2d:	01 45 ec             	add    %eax,-0x14(%ebp)
5f3e30:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f3e33:	2b 55 d8             	sub    -0x28(%ebp),%edx
5f3e36:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f3e39:	8b 08                	mov    (%eax),%ecx
5f3e3b:	ff 11                	call   *(%ecx)
5f3e3d:	8b d8                	mov    %eax,%ebx
5f3e3f:	8b 46 18             	mov    0x18(%esi),%eax
5f3e42:	8b d0                	mov    %eax,%edx
5f3e44:	2b 55 dc             	sub    -0x24(%ebp),%edx
5f3e47:	8d 14 52             	lea    (%edx,%edx,2),%edx
5f3e4a:	03 da                	add    %edx,%ebx
5f3e4c:	8b 56 08             	mov    0x8(%esi),%edx
5f3e4f:	2b 55 f4             	sub    -0xc(%ebp),%edx
5f3e52:	4a                   	dec    %edx
5f3e53:	0f af 56 10          	imul   0x10(%esi),%edx
5f3e57:	03 56 14             	add    0x14(%esi),%edx
5f3e5a:	89 55 e8             	mov    %edx,-0x18(%ebp)
5f3e5d:	8b 7e 20             	mov    0x20(%esi),%edi
5f3e60:	2b f8                	sub    %eax,%edi
5f3e62:	7c 2f                	jl     0x5f3e93
5f3e64:	47                   	inc    %edi
5f3e65:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f3e68:	8b 55 f0             	mov    -0x10(%ebp),%edx
5f3e6b:	8b 45 e8             	mov    -0x18(%ebp),%eax
5f3e6e:	e8 8d bc fb ff       	call   0x5afb00
5f3e73:	85 c0                	test   %eax,%eax
5f3e75:	74 0f                	je     0x5f3e86
5f3e77:	8b 45 ec             	mov    -0x14(%ebp),%eax
5f3e7a:	66 8b 10             	mov    (%eax),%dx
5f3e7d:	66 89 13             	mov    %dx,(%ebx)
5f3e80:	8a 50 02             	mov    0x2(%eax),%dl
5f3e83:	88 53 02             	mov    %dl,0x2(%ebx)
5f3e86:	83 c3 03             	add    $0x3,%ebx
5f3e89:	83 45 ec 03          	addl   $0x3,-0x14(%ebp)
5f3e8d:	ff 45 f0             	incl   -0x10(%ebp)
5f3e90:	4f                   	dec    %edi
5f3e91:	75 d5                	jne    0x5f3e68
5f3e93:	ff 45 f4             	incl   -0xc(%ebp)
5f3e96:	ff 4d cc             	decl   -0x34(%ebp)
5f3e99:	0f 85 75 ff ff ff    	jne    0x5f3e14
5f3e9f:	e9 b0 05 00 00       	jmp    0x5f4454
5f3ea4:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f3ea7:	8b 10                	mov    (%eax),%edx
5f3ea9:	ff 52 10             	call   *0x10(%edx)
5f3eac:	3c 03                	cmp    $0x3,%al
5f3eae:	75 0c                	jne    0x5f3ebc
5f3eb0:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f3eb3:	8b 10                	mov    (%eax),%edx
5f3eb5:	ff 52 10             	call   *0x10(%edx)
5f3eb8:	3c 03                	cmp    $0x3,%al
5f3eba:	74 20                	je     0x5f3edc
5f3ebc:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f3ebf:	8b 10                	mov    (%eax),%edx
5f3ec1:	ff 52 10             	call   *0x10(%edx)
5f3ec4:	3c 02                	cmp    $0x2,%al
5f3ec6:	0f 85 a0 00 00 00    	jne    0x5f3f6c
5f3ecc:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f3ecf:	8b 10                	mov    (%eax),%edx
5f3ed1:	ff 52 10             	call   *0x10(%edx)
5f3ed4:	3c 02                	cmp    $0x2,%al
5f3ed6:	0f 85 90 00 00 00    	jne    0x5f3f6c
5f3edc:	8b 46 1c             	mov    0x1c(%esi),%eax
5f3edf:	8b 56 24             	mov    0x24(%esi),%edx
5f3ee2:	2b d0                	sub    %eax,%edx
5f3ee4:	0f 8c 6a 05 00 00    	jl     0x5f4454
5f3eea:	42                   	inc    %edx
5f3eeb:	89 55 cc             	mov    %edx,-0x34(%ebp)
5f3eee:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f3ef1:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f3ef4:	2b 55 d0             	sub    -0x30(%ebp),%edx
5f3ef7:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f3efa:	8b 08                	mov    (%eax),%ecx
5f3efc:	ff 11                	call   *(%ecx)
5f3efe:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f3f01:	8b 46 18             	mov    0x18(%esi),%eax
5f3f04:	2b 45 d4             	sub    -0x2c(%ebp),%eax
5f3f07:	01 45 e4             	add    %eax,-0x1c(%ebp)
5f3f0a:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f3f0d:	2b 55 d8             	sub    -0x28(%ebp),%edx
5f3f10:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f3f13:	8b 08                	mov    (%eax),%ecx
5f3f15:	ff 11                	call   *(%ecx)
5f3f17:	8b d8                	mov    %eax,%ebx
5f3f19:	8b 46 18             	mov    0x18(%esi),%eax
5f3f1c:	8b d0                	mov    %eax,%edx
5f3f1e:	2b 55 dc             	sub    -0x24(%ebp),%edx
5f3f21:	03 da                	add    %edx,%ebx
5f3f23:	8b 56 08             	mov    0x8(%esi),%edx
5f3f26:	2b 55 f4             	sub    -0xc(%ebp),%edx
5f3f29:	4a                   	dec    %edx
5f3f2a:	0f af 56 10          	imul   0x10(%esi),%edx
5f3f2e:	03 56 14             	add    0x14(%esi),%edx
5f3f31:	89 55 e8             	mov    %edx,-0x18(%ebp)
5f3f34:	8b 7e 20             	mov    0x20(%esi),%edi
5f3f37:	2b f8                	sub    %eax,%edi
5f3f39:	7c 24                	jl     0x5f3f5f
5f3f3b:	47                   	inc    %edi
5f3f3c:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f3f3f:	8b 55 f0             	mov    -0x10(%ebp),%edx
5f3f42:	8b 45 e8             	mov    -0x18(%ebp),%eax
5f3f45:	e8 b6 bb fb ff       	call   0x5afb00
5f3f4a:	85 c0                	test   %eax,%eax
5f3f4c:	74 07                	je     0x5f3f55
5f3f4e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5f3f51:	8a 00                	mov    (%eax),%al
5f3f53:	88 03                	mov    %al,(%ebx)
5f3f55:	43                   	inc    %ebx
5f3f56:	ff 45 e4             	incl   -0x1c(%ebp)
5f3f59:	ff 45 f0             	incl   -0x10(%ebp)
5f3f5c:	4f                   	dec    %edi
5f3f5d:	75 e0                	jne    0x5f3f3f
5f3f5f:	ff 45 f4             	incl   -0xc(%ebp)
5f3f62:	ff 4d cc             	decl   -0x34(%ebp)
5f3f65:	75 8a                	jne    0x5f3ef1
5f3f67:	e9 e8 04 00 00       	jmp    0x5f4454
5f3f6c:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f3f6f:	8b 10                	mov    (%eax),%edx
5f3f71:	ff 52 10             	call   *0x10(%edx)
5f3f74:	3c 01                	cmp    $0x1,%al
5f3f76:	0f 85 a1 00 00 00    	jne    0x5f401d
5f3f7c:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f3f7f:	8b 10                	mov    (%eax),%edx
5f3f81:	ff 52 10             	call   *0x10(%edx)
5f3f84:	3c 01                	cmp    $0x1,%al
5f3f86:	0f 85 91 00 00 00    	jne    0x5f401d
5f3f8c:	8b 46 1c             	mov    0x1c(%esi),%eax
5f3f8f:	8b 56 24             	mov    0x24(%esi),%edx
5f3f92:	2b d0                	sub    %eax,%edx
5f3f94:	0f 8c ba 04 00 00    	jl     0x5f4454
5f3f9a:	42                   	inc    %edx
5f3f9b:	89 55 cc             	mov    %edx,-0x34(%ebp)
5f3f9e:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f3fa1:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f3fa4:	2b 55 d0             	sub    -0x30(%ebp),%edx
5f3fa7:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f3faa:	8b 08                	mov    (%eax),%ecx
5f3fac:	ff 11                	call   *(%ecx)
5f3fae:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f3fb1:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f3fb4:	2b 55 d8             	sub    -0x28(%ebp),%edx
5f3fb7:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f3fba:	8b 08                	mov    (%eax),%ecx
5f3fbc:	ff 11                	call   *(%ecx)
5f3fbe:	8b d8                	mov    %eax,%ebx
5f3fc0:	8b 46 08             	mov    0x8(%esi),%eax
5f3fc3:	2b 45 f4             	sub    -0xc(%ebp),%eax
5f3fc6:	48                   	dec    %eax
5f3fc7:	f7 6e 10             	imull  0x10(%esi)
5f3fca:	03 46 14             	add    0x14(%esi),%eax
5f3fcd:	89 45 e8             	mov    %eax,-0x18(%ebp)
5f3fd0:	8b 46 18             	mov    0x18(%esi),%eax
5f3fd3:	8b 7e 20             	mov    0x20(%esi),%edi
5f3fd6:	2b f8                	sub    %eax,%edi
5f3fd8:	7c 36                	jl     0x5f4010
5f3fda:	47                   	inc    %edi
5f3fdb:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f3fde:	8b 55 f0             	mov    -0x10(%ebp),%edx
5f3fe1:	8b 45 e8             	mov    -0x18(%ebp),%eax
5f3fe4:	e8 17 bb fb ff       	call   0x5afb00
5f3fe9:	85 c0                	test   %eax,%eax
5f3feb:	74 1d                	je     0x5f400a
5f3fed:	8b 55 f0             	mov    -0x10(%ebp),%edx
5f3ff0:	2b 55 d4             	sub    -0x2c(%ebp),%edx
5f3ff3:	8b 45 ec             	mov    -0x14(%ebp),%eax
5f3ff6:	e8 05 bb fb ff       	call   0x5afb00
5f3ffb:	8b c8                	mov    %eax,%ecx
5f3ffd:	8b 55 f0             	mov    -0x10(%ebp),%edx
5f4000:	2b 55 dc             	sub    -0x24(%ebp),%edx
5f4003:	8b c3                	mov    %ebx,%eax
5f4005:	e8 12 bb fb ff       	call   0x5afb1c
5f400a:	ff 45 f0             	incl   -0x10(%ebp)
5f400d:	4f                   	dec    %edi
5f400e:	75 ce                	jne    0x5f3fde