426ab3:	89 75 ec             	mov    %esi,-0x14(%ebp)
426ab6:	85 f6                	test   %esi,%esi
426ab8:	0f 84 72 04 00 00    	je     0x426f30
426abe:	48                   	dec    %eax
426abf:	89 45 f4             	mov    %eax,-0xc(%ebp)
426ac2:	83 c6 ff             	add    $0xffffffff,%esi
426ac5:	0f 85 3e 01 00 00    	jne    0x426c09
426acb:	8b 5f 04             	mov    0x4(%edi),%ebx
426ace:	83 fb 01             	cmp    $0x1,%ebx
426ad1:	75 3b                	jne    0x426b0e
426ad3:	8b 55 08             	mov    0x8(%ebp),%edx
426ad6:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
426adc:	8b 71 04             	mov    0x4(%ecx),%esi
426adf:	83 c1 04             	add    $0x4,%ecx
426ae2:	6a 00                	push   $0x0
426ae4:	50                   	push   %eax
426ae5:	68 cc 01 00 00       	push   $0x1cc
426aea:	51                   	push   %ecx
426aeb:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
426af2:	00 00 00
426af5:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
426afb:	e8 f5 f8 ff ff       	call   0x4263f5
426b00:	83 c4 10             	add    $0x10,%esp
426b03:	8b c6                	mov    %esi,%eax
426b05:	33 d2                	xor    %edx,%edx
426b07:	5f                   	pop    %edi
426b08:	5e                   	pop    %esi
426b09:	5b                   	pop    %ebx
426b0a:	8b e5                	mov    %ebp,%esp
426b0c:	5d                   	pop    %ebp
426b0d:	c3                   	ret
426b0e:	85 c0                	test   %eax,%eax
426b10:	75 48                	jne    0x426b5a
426b12:	8b 79 04             	mov    0x4(%ecx),%edi
426b15:	8d 71 04             	lea    0x4(%ecx),%esi
426b18:	50                   	push   %eax
426b19:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
426b1f:	89 01                	mov    %eax,(%ecx)
426b21:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
426b27:	50                   	push   %eax
426b28:	68 cc 01 00 00       	push   $0x1cc
426b2d:	56                   	push   %esi
426b2e:	e8 c2 f8 ff ff       	call   0x4263f5
426b33:	33 d2                	xor    %edx,%edx
426b35:	8b c7                	mov    %edi,%eax
426b37:	f7 f3                	div    %ebx
426b39:	83 c4 10             	add    $0x10,%esp
426b3c:	33 c0                	xor    %eax,%eax
426b3e:	3b c2                	cmp    %edx,%eax
426b40:	89 16                	mov    %edx,(%esi)
426b42:	8b 55 08             	mov    0x8(%ebp),%edx
426b45:	8b c7                	mov    %edi,%eax
426b47:	1b c9                	sbb    %ecx,%ecx
426b49:	f7 d9                	neg    %ecx
426b4b:	5f                   	pop    %edi
426b4c:	89 0a                	mov    %ecx,(%edx)
426b4e:	33 d2                	xor    %edx,%edx
426b50:	f7 f3                	div    %ebx
426b52:	5e                   	pop    %esi
426b53:	33 d2                	xor    %edx,%edx
426b55:	5b                   	pop    %ebx
426b56:	8b e5                	mov    %ebp,%esp
426b58:	5d                   	pop    %ebp
426b59:	c3                   	ret
426b5a:	33 ff                	xor    %edi,%edi
426b5c:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
426b63:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
426b6a:	89 7d ec             	mov    %edi,-0x14(%ebp)
426b6d:	83 f8 ff             	cmp    $0xffffffff,%eax
426b70:	74 4a                	je     0x426bbc
426b72:	40                   	inc    %eax
426b73:	8d 04 81             	lea    (%ecx,%eax,4),%eax
426b76:	89 45 e8             	mov    %eax,-0x18(%ebp)
426b79:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
426b80:	6a 00                	push   $0x0
426b82:	53                   	push   %ebx
426b83:	33 f6                	xor    %esi,%esi
426b85:	0b 30                	or     (%eax),%esi
426b87:	57                   	push   %edi
426b88:	56                   	push   %esi
426b89:	e8 32 59 ff ff       	call   0x41c4c0
426b8e:	6a 00                	push   $0x0
426b90:	33 c9                	xor    %ecx,%ecx
426b92:	03 c1                	add    %ecx,%eax
426b94:	53                   	push   %ebx
426b95:	13 4d f4             	adc    -0xc(%ebp),%ecx
426b98:	57                   	push   %edi
426b99:	56                   	push   %esi
426b9a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
426b9d:	89 45 f4             	mov    %eax,-0xc(%ebp)
426ba0:	e8 6b 55 01 00       	call   0x43c110
426ba5:	8b f8                	mov    %eax,%edi
426ba7:	89 55 ec             	mov    %edx,-0x14(%ebp)
426baa:	8b 45 e8             	mov    -0x18(%ebp),%eax
426bad:	83 e8 04             	sub    $0x4,%eax
426bb0:	83 6d f8 01          	subl   $0x1,-0x8(%ebp)
426bb4:	89 45 e8             	mov    %eax,-0x18(%ebp)
426bb7:	75 c7                	jne    0x426b80
426bb9:	8b 4d 08             	mov    0x8(%ebp),%ecx
426bbc:	6a 00                	push   $0x0
426bbe:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
426bc4:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
426bcb:	00 00 00
426bce:	50                   	push   %eax
426bcf:	8d 71 04             	lea    0x4(%ecx),%esi
426bd2:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
426bd8:	68 cc 01 00 00       	push   $0x1cc
426bdd:	56                   	push   %esi
426bde:	e8 12 f8 ff ff       	call   0x4263f5
426be3:	8b 45 ec             	mov    -0x14(%ebp),%eax
426be6:	83 c4 10             	add    $0x10,%esp
426be9:	8b 55 08             	mov    0x8(%ebp),%edx
426bec:	33 c9                	xor    %ecx,%ecx
426bee:	3b c8                	cmp    %eax,%ecx
426bf0:	89 3e                	mov    %edi,(%esi)
426bf2:	1b c9                	sbb    %ecx,%ecx
426bf4:	f7 d9                	neg    %ecx
426bf6:	89 42 08             	mov    %eax,0x8(%edx)
426bf9:	8b 45 f4             	mov    -0xc(%ebp),%eax
426bfc:	41                   	inc    %ecx
426bfd:	5f                   	pop    %edi
426bfe:	5e                   	pop    %esi
426bff:	89 0a                	mov    %ecx,(%edx)
426c01:	8b 55 fc             	mov    -0x4(%ebp),%edx
426c04:	5b                   	pop    %ebx
426c05:	8b e5                	mov    %ebp,%esp
426c07:	5d                   	pop    %ebp
426c08:	c3                   	ret
426c09:	3b f0                	cmp    %eax,%esi
426c0b:	0f 87 1f 03 00 00    	ja     0x426f30
426c11:	8b d0                	mov    %eax,%edx
426c13:	8b d8                	mov    %eax,%ebx
426c15:	2b d6                	sub    %esi,%edx
426c17:	3b da                	cmp    %edx,%ebx
426c19:	7c 1f                	jl     0x426c3a
426c1b:	8d 0c 99             	lea    (%ecx,%ebx,4),%ecx
426c1e:	83 c1 04             	add    $0x4,%ecx
426c21:	46                   	inc    %esi
426c22:	8d 34 b7             	lea    (%edi,%esi,4),%esi
426c25:	8b 3e                	mov    (%esi),%edi
426c27:	3b 39                	cmp    (%ecx),%edi
426c29:	75 0d                	jne    0x426c38
426c2b:	48                   	dec    %eax
426c2c:	83 ee 04             	sub    $0x4,%esi
426c2f:	83 e9 04             	sub    $0x4,%ecx
426c32:	3b c2                	cmp    %edx,%eax
426c34:	7d ef                	jge    0x426c25
426c36:	eb 02                	jmp    0x426c3a
426c38:	73 01                	jae    0x426c3b
426c3a:	42                   	inc    %edx
426c3b:	85 d2                	test   %edx,%edx
426c3d:	0f 84 ed 02 00 00    	je     0x426f30
426c43:	8b 7d ec             	mov    -0x14(%ebp),%edi
426c46:	8b 75 0c             	mov    0xc(%ebp),%esi
426c49:	8b 44 be fc          	mov    -0x4(%esi,%edi,4),%eax
426c4d:	8b 1c be             	mov    (%esi,%edi,4),%ebx
426c50:	89 45 e0             	mov    %eax,-0x20(%ebp)
426c53:	0f bd c3             	bsr    %ebx,%eax
426c56:	89 5d d0             	mov    %ebx,-0x30(%ebp)
426c59:	74 09                	je     0x426c64
426c5b:	b9 1f 00 00 00       	mov    $0x1f,%ecx
426c60:	2b c8                	sub    %eax,%ecx
426c62:	eb 05                	jmp    0x426c69
426c64:	b9 20 00 00 00       	mov    $0x20,%ecx
426c69:	b8 20 00 00 00       	mov    $0x20,%eax
426c6e:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
426c71:	2b c1                	sub    %ecx,%eax
426c73:	89 45 d4             	mov    %eax,-0x2c(%ebp)
426c76:	85 c9                	test   %ecx,%ecx
426c78:	74 2d                	je     0x426ca7
426c7a:	8b 45 e0             	mov    -0x20(%ebp),%eax
426c7d:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
426c80:	d3 e8                	shr    %cl,%eax
426c82:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
426c85:	d3 e3                	shl    %cl,%ebx
426c87:	0b d8                	or     %eax,%ebx
426c89:	89 5d d0             	mov    %ebx,-0x30(%ebp)
426c8c:	8b 5d e0             	mov    -0x20(%ebp),%ebx
426c8f:	d3 e3                	shl    %cl,%ebx
426c91:	89 5d e0             	mov    %ebx,-0x20(%ebp)
426c94:	83 ff 02             	cmp    $0x2,%edi
426c97:	76 0e                	jbe    0x426ca7
426c99:	8b 44 be f8          	mov    -0x8(%esi,%edi,4),%eax
426c9d:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
426ca0:	d3 e8                	shr    %cl,%eax
426ca2:	0b d8                	or     %eax,%ebx
426ca4:	89 5d e0             	mov    %ebx,-0x20(%ebp)
426ca7:	8d 5a ff             	lea    -0x1(%edx),%ebx
426caa:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
426cb1:	33 f6                	xor    %esi,%esi
426cb3:	89 5d b0             	mov    %ebx,-0x50(%ebp)
426cb6:	85 db                	test   %ebx,%ebx
426cb8:	0f 88 31 02 00 00    	js     0x426eef
426cbe:	8b 55 08             	mov    0x8(%ebp),%edx
426cc1:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
426cc4:	89 45 c8             	mov    %eax,-0x38(%ebp)
426cc7:	8d 4a 04             	lea    0x4(%edx),%ecx
426cca:	8d 0c 99             	lea    (%ecx,%ebx,4),%ecx
426ccd:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
426cd0:	8d 4a fc             	lea    -0x4(%edx),%ecx
426cd3:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
426cd6:	89 4d e8             	mov    %ecx,-0x18(%ebp)
426cd9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
426ce0:	3b 45 f4             	cmp    -0xc(%ebp),%eax
426ce3:	77 05                	ja     0x426cea
426ce5:	8b 51 08             	mov    0x8(%ecx),%edx
426ce8:	eb 02                	jmp    0x426cec
426cea:	33 d2                	xor    %edx,%edx
426cec:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
426cf0:	8b 41 04             	mov    0x4(%ecx),%eax
426cf3:	8b 19                	mov    (%ecx),%ebx
426cf5:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
426cfc:	89 55 b8             	mov    %edx,-0x48(%ebp)
426cff:	89 45 fc             	mov    %eax,-0x4(%ebp)
426d02:	89 55 dc             	mov    %edx,-0x24(%ebp)
426d05:	89 5d f8             	mov    %ebx,-0x8(%ebp)
426d08:	76 3c                	jbe    0x426d46
426d0a:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
426d0d:	8b fb                	mov    %ebx,%edi
426d0f:	d3 ef                	shr    %cl,%edi
426d11:	33 f6                	xor    %esi,%esi
426d13:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
426d16:	e8 e5 55 01 00       	call   0x43c300
426d1b:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
426d1e:	0b c7                	or     %edi,%eax
426d20:	0b d6                	or     %esi,%edx
426d22:	d3 e3                	shl    %cl,%ebx
426d24:	83 7d c8 03          	cmpl   $0x3,-0x38(%ebp)
426d28:	89 45 fc             	mov    %eax,-0x4(%ebp)
426d2b:	89 55 dc             	mov    %edx,-0x24(%ebp)
426d2e:	89 5d f8             	mov    %ebx,-0x8(%ebp)
426d31:	72 13                	jb     0x426d46
426d33:	8b 45 e8             	mov    -0x18(%ebp),%eax
426d36:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
426d39:	8b 40 fc             	mov    -0x4(%eax),%eax
426d3c:	d3 e8                	shr    %cl,%eax
426d3e:	0b d8                	or     %eax,%ebx
426d40:	8b 45 fc             	mov    -0x4(%ebp),%eax
426d43:	89 5d f8             	mov    %ebx,-0x8(%ebp)
426d46:	8b 75 d0             	mov    -0x30(%ebp),%esi
426d49:	6a 00                	push   $0x0
426d4b:	56                   	push   %esi
426d4c:	52                   	push   %edx
426d4d:	50                   	push   %eax
426d4e:	e8 6d 57 ff ff       	call   0x41c4c0
426d53:	6a 00                	push   $0x0
426d55:	56                   	push   %esi
426d56:	ff 75 dc             	push   -0x24(%ebp)
426d59:	8b d8                	mov    %eax,%ebx
426d5b:	89 55 f0             	mov    %edx,-0x10(%ebp)
426d5e:	ff 75 fc             	push   -0x4(%ebp)
426d61:	89 5d cc             	mov    %ebx,-0x34(%ebp)
426d64:	89 5d bc             	mov    %ebx,-0x44(%ebp)
426d67:	89 55 c0             	mov    %edx,-0x40(%ebp)
426d6a:	e8 a1 53 01 00       	call   0x43c110
426d6f:	8b f8                	mov    %eax,%edi
426d71:	33 f6                	xor    %esi,%esi
426d73:	8b 45 f0             	mov    -0x10(%ebp),%eax
426d76:	89 75 fc             	mov    %esi,-0x4(%ebp)
426d79:	85 c0                	test   %eax,%eax
426d7b:	75 05                	jne    0x426d82
426d7d:	83 fb ff             	cmp    $0xffffffff,%ebx
426d80:	76 2a                	jbe    0x426dac
426d82:	6a 00                	push   $0x0
426d84:	ff 75 d0             	push   -0x30(%ebp)
426d87:	83 c3 01             	add    $0x1,%ebx
426d8a:	83 d0 ff             	adc    $0xffffffff,%eax
426d8d:	50                   	push   %eax
426d8e:	53                   	push   %ebx
426d8f:	e8 ec 56 ff ff       	call   0x41c480
426d94:	03 f8                	add    %eax,%edi
426d96:	13 f2                	adc    %edx,%esi
426d98:	83 cb ff             	or     $0xffffffff,%ebx
426d9b:	33 c0                	xor    %eax,%eax
426d9d:	89 75 fc             	mov    %esi,-0x4(%ebp)
426da0:	89 5d cc             	mov    %ebx,-0x34(%ebp)
426da3:	89 5d bc             	mov    %ebx,-0x44(%ebp)
426da6:	89 45 f0             	mov    %eax,-0x10(%ebp)
426da9:	89 45 c0             	mov    %eax,-0x40(%ebp)
426dac:	85 f6                	test   %esi,%esi
426dae:	77 50                	ja     0x426e00
426db0:	72 05                	jb     0x426db7
426db2:	83 ff ff             	cmp    $0xffffffff,%edi
426db5:	77 49                	ja     0x426e00
426db7:	50                   	push   %eax
426db8:	53                   	push   %ebx
426db9:	33 c9                	xor    %ecx,%ecx
426dbb:	8b f7                	mov    %edi,%esi
426dbd:	0b 4d f8             	or     -0x8(%ebp),%ecx
426dc0:	6a 00                	push   $0x0
426dc2:	ff 75 e0             	push   -0x20(%ebp)
426dc5:	89 4d dc             	mov    %ecx,-0x24(%ebp)
426dc8:	e8 b3 56 ff ff       	call   0x41c480
426dcd:	3b d6                	cmp    %esi,%edx
426dcf:	72 29                	jb     0x426dfa
426dd1:	77 05                	ja     0x426dd8
426dd3:	3b 45 dc             	cmp    -0x24(%ebp),%eax
426dd6:	76 22                	jbe    0x426dfa
426dd8:	8b 45 f0             	mov    -0x10(%ebp),%eax
426ddb:	83 c3 ff             	add    $0xffffffff,%ebx
426dde:	89 5d bc             	mov    %ebx,-0x44(%ebp)
426de1:	83 d0 ff             	adc    $0xffffffff,%eax
426de4:	03 7d d0             	add    -0x30(%ebp),%edi
426de7:	89 45 f0             	mov    %eax,-0x10(%ebp)
426dea:	83 55 fc 00          	adcl   $0x0,-0x4(%ebp)
426dee:	89 45 c0             	mov    %eax,-0x40(%ebp)
426df1:	75 0a                	jne    0x426dfd
426df3:	83 ff ff             	cmp    $0xffffffff,%edi
426df6:	76 bf                	jbe    0x426db7
426df8:	eb 03                	jmp    0x426dfd
426dfa:	8b 45 f0             	mov    -0x10(%ebp),%eax
426dfd:	89 5d cc             	mov    %ebx,-0x34(%ebp)
426e00:	85 c0                	test   %eax,%eax
426e02:	75 08                	jne    0x426e0c
426e04:	85 db                	test   %ebx,%ebx
426e06:	0f 84 af 00 00 00    	je     0x426ebb
426e0c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
426e0f:	33 ff                	xor    %edi,%edi
426e11:	8b 45 0c             	mov    0xc(%ebp),%eax
426e14:	33 f6                	xor    %esi,%esi
426e16:	85 c9                	test   %ecx,%ecx
426e18:	74 55                	je     0x426e6f
426e1a:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
426e1d:	83 c0 04             	add    $0x4,%eax
426e20:	89 45 f8             	mov    %eax,-0x8(%ebp)
426e23:	89 4d fc             	mov    %ecx,-0x4(%ebp)
426e26:	8b 00                	mov    (%eax),%eax
426e28:	89 45 dc             	mov    %eax,-0x24(%ebp)
426e2b:	8b 45 c0             	mov    -0x40(%ebp),%eax
426e2e:	f7 65 dc             	mull   -0x24(%ebp)
426e31:	8b c8                	mov    %eax,%ecx
426e33:	8b 45 bc             	mov    -0x44(%ebp),%eax
426e36:	f7 65 dc             	mull   -0x24(%ebp)
426e39:	03 d1                	add    %ecx,%edx
426e3b:	03 f8                	add    %eax,%edi
426e3d:	8b 03                	mov    (%ebx),%eax
426e3f:	8b cf                	mov    %edi,%ecx
426e41:	13 f2                	adc    %edx,%esi
426e43:	8b fe                	mov    %esi,%edi
426e45:	33 f6                	xor    %esi,%esi
426e47:	3b c1                	cmp    %ecx,%eax
426e49:	73 05                	jae    0x426e50
426e4b:	83 c7 01             	add    $0x1,%edi
426e4e:	13 f6                	adc    %esi,%esi
426e50:	2b c1                	sub    %ecx,%eax
426e52:	89 03                	mov    %eax,(%ebx)
426e54:	83 c3 04             	add    $0x4,%ebx
426e57:	8b 45 f8             	mov    -0x8(%ebp),%eax
426e5a:	83 c0 04             	add    $0x4,%eax
426e5d:	83 6d fc 01          	subl   $0x1,-0x4(%ebp)