411c8d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411c90:	83 d1 00             	adc    $0x0,%ecx
411c93:	89 55 f8             	mov    %edx,-0x8(%ebp)
411c96:	83 6d e4 01          	subl   $0x1,-0x1c(%ebp)
411c9a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
411c9d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
411ca0:	75 ce                	jne    0x411c70
411ca2:	8b 5d 08             	mov    0x8(%ebp),%ebx
411ca5:	6a 00                	push   $0x0
411ca7:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
411cad:	c7 85 e4 fd ff ff 00 	movl   $0x0,-0x21c(%ebp)
411cb4:	00 00 00
411cb7:	50                   	push   %eax
411cb8:	8d 73 04             	lea    0x4(%ebx),%esi
411cbb:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
411cc1:	68 cc 01 00 00       	push   $0x1cc
411cc6:	56                   	push   %esi
411cc7:	e8 e8 de ff ff       	call   0x40fbb4
411ccc:	8b 45 f0             	mov    -0x10(%ebp),%eax
411ccf:	83 c4 10             	add    $0x10,%esp
411cd2:	8b 55 fc             	mov    -0x4(%ebp),%edx
411cd5:	33 c9                	xor    %ecx,%ecx
411cd7:	3b c8                	cmp    %eax,%ecx
411cd9:	89 3e                	mov    %edi,(%esi)
411cdb:	89 43 08             	mov    %eax,0x8(%ebx)
411cde:	8b 45 f8             	mov    -0x8(%ebp),%eax
411ce1:	1b c9                	sbb    %ecx,%ecx
411ce3:	f7 d9                	neg    %ecx
411ce5:	5e                   	pop    %esi
411ce6:	41                   	inc    %ecx
411ce7:	5f                   	pop    %edi
411ce8:	89 0b                	mov    %ecx,(%ebx)
411cea:	5b                   	pop    %ebx
411ceb:	8b e5                	mov    %ebp,%esp
411ced:	5d                   	pop    %ebp
411cee:	c3                   	ret
411cef:	3b c6                	cmp    %esi,%eax
411cf1:	77 47                	ja     0x411d3a
411cf3:	8b d6                	mov    %esi,%edx
411cf5:	8d 48 01             	lea    0x1(%eax),%ecx
411cf8:	2b d0                	sub    %eax,%edx
411cfa:	89 4d c8             	mov    %ecx,-0x38(%ebp)
411cfd:	8b ce                	mov    %esi,%ecx
411cff:	3b f2                	cmp    %edx,%esi
411d01:	7c 32                	jl     0x411d35
411d03:	8b c1                	mov    %ecx,%eax
411d05:	46                   	inc    %esi
411d06:	2b c2                	sub    %edx,%eax
411d08:	8d 34 b3             	lea    (%ebx,%esi,4),%esi
411d0b:	8d 3c 87             	lea    (%edi,%eax,4),%edi
411d0e:	83 c7 04             	add    $0x4,%edi
411d11:	8b 07                	mov    (%edi),%eax
411d13:	3b 06                	cmp    (%esi),%eax
411d15:	75 0d                	jne    0x411d24
411d17:	49                   	dec    %ecx
411d18:	83 ef 04             	sub    $0x4,%edi
411d1b:	83 ee 04             	sub    $0x4,%esi
411d1e:	3b ca                	cmp    %edx,%ecx
411d20:	7d ef                	jge    0x411d11
411d22:	eb 11                	jmp    0x411d35
411d24:	8b 75 0c             	mov    0xc(%ebp),%esi
411d27:	8b c1                	mov    %ecx,%eax
411d29:	2b c2                	sub    %edx,%eax
411d2b:	8b 44 86 04          	mov    0x4(%esi,%eax,4),%eax
411d2f:	3b 44 8b 04          	cmp    0x4(%ebx,%ecx,4),%eax
411d33:	73 01                	jae    0x411d36
411d35:	42                   	inc    %edx
411d36:	85 d2                	test   %edx,%edx
411d38:	75 0b                	jne    0x411d45
411d3a:	5e                   	pop    %esi
411d3b:	5f                   	pop    %edi
411d3c:	33 c0                	xor    %eax,%eax
411d3e:	33 d2                	xor    %edx,%edx
411d40:	5b                   	pop    %ebx
411d41:	8b e5                	mov    %ebp,%esp
411d43:	5d                   	pop    %ebp
411d44:	c3                   	ret
411d45:	8b 7d c8             	mov    -0x38(%ebp),%edi
411d48:	8b 45 0c             	mov    0xc(%ebp),%eax
411d4b:	8b 34 b8             	mov    (%eax,%edi,4),%esi
411d4e:	8b 44 b8 fc          	mov    -0x4(%eax,%edi,4),%eax
411d52:	89 45 e0             	mov    %eax,-0x20(%ebp)
411d55:	0f bd c6             	bsr    %esi,%eax
411d58:	89 75 cc             	mov    %esi,-0x34(%ebp)
411d5b:	74 09                	je     0x411d66
411d5d:	b9 1f 00 00 00       	mov    $0x1f,%ecx
411d62:	2b c8                	sub    %eax,%ecx
411d64:	eb 05                	jmp    0x411d6b
411d66:	b9 20 00 00 00       	mov    $0x20,%ecx
411d6b:	b8 20 00 00 00       	mov    $0x20,%eax
411d70:	89 4d dc             	mov    %ecx,-0x24(%ebp)
411d73:	2b c1                	sub    %ecx,%eax
411d75:	89 45 c4             	mov    %eax,-0x3c(%ebp)
411d78:	85 c9                	test   %ecx,%ecx
411d7a:	74 29                	je     0x411da5
411d7c:	8b 45 e0             	mov    -0x20(%ebp),%eax
411d7f:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
411d82:	d3 e8                	shr    %cl,%eax
411d84:	8b 4d dc             	mov    -0x24(%ebp),%ecx
411d87:	d3 65 e0             	shll   %cl,-0x20(%ebp)
411d8a:	d3 e6                	shl    %cl,%esi
411d8c:	0b f0                	or     %eax,%esi
411d8e:	89 75 cc             	mov    %esi,-0x34(%ebp)
411d91:	83 ff 02             	cmp    $0x2,%edi
411d94:	76 0f                	jbe    0x411da5
411d96:	8b 75 0c             	mov    0xc(%ebp),%esi
411d99:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
411d9c:	8b 44 be f8          	mov    -0x8(%esi,%edi,4),%eax
411da0:	d3 e8                	shr    %cl,%eax
411da2:	09 45 e0             	or     %eax,-0x20(%ebp)
411da5:	33 f6                	xor    %esi,%esi
411da7:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
411dae:	83 c2 ff             	add    $0xffffffff,%edx
411db1:	89 55 e4             	mov    %edx,-0x1c(%ebp)
411db4:	0f 88 2c 02 00 00    	js     0x411fe6
411dba:	8d 4b 04             	lea    0x4(%ebx),%ecx
411dbd:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
411dc0:	89 4d f0             	mov    %ecx,-0x10(%ebp)
411dc3:	8d 04 3a             	lea    (%edx,%edi,1),%eax
411dc6:	8d 4b fc             	lea    -0x4(%ebx),%ecx
411dc9:	89 45 f8             	mov    %eax,-0x8(%ebp)
411dcc:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
411dcf:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
411dd2:	3b 45 f4             	cmp    -0xc(%ebp),%eax
411dd5:	77 05                	ja     0x411ddc
411dd7:	8b 41 08             	mov    0x8(%ecx),%eax
411dda:	eb 02                	jmp    0x411dde
411ddc:	33 c0                	xor    %eax,%eax
411dde:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
411de2:	8b 51 04             	mov    0x4(%ecx),%edx
411de5:	8b 09                	mov    (%ecx),%ecx
411de7:	89 45 d0             	mov    %eax,-0x30(%ebp)
411dea:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
411df1:	89 45 fc             	mov    %eax,-0x4(%ebp)
411df4:	89 4d ec             	mov    %ecx,-0x14(%ebp)
411df7:	76 49                	jbe    0x411e42
411df9:	8b f9                	mov    %ecx,%edi
411dfb:	8b c2                	mov    %edx,%eax
411dfd:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
411e00:	33 f6                	xor    %esi,%esi
411e02:	8b 55 fc             	mov    -0x4(%ebp),%edx
411e05:	d3 ef                	shr    %cl,%edi
411e07:	8b 4d dc             	mov    -0x24(%ebp),%ecx
411e0a:	e8 f1 65 00 00       	call   0x418400
411e0f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
411e12:	0b f2                	or     %edx,%esi
411e14:	0b f8                	or     %eax,%edi
411e16:	8b c6                	mov    %esi,%eax
411e18:	8b 75 ec             	mov    -0x14(%ebp),%esi
411e1b:	8b d7                	mov    %edi,%edx
411e1d:	d3 e6                	shl    %cl,%esi
411e1f:	83 7d f8 03          	cmpl   $0x3,-0x8(%ebp)
411e23:	89 45 fc             	mov    %eax,-0x4(%ebp)
411e26:	89 75 ec             	mov    %esi,-0x14(%ebp)
411e29:	72 17                	jb     0x411e42
411e2b:	8b 45 c8             	mov    -0x38(%ebp),%eax
411e2e:	03 45 e4             	add    -0x1c(%ebp),%eax
411e31:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
411e34:	8b 44 83 f8          	mov    -0x8(%ebx,%eax,4),%eax
411e38:	d3 e8                	shr    %cl,%eax
411e3a:	0b f0                	or     %eax,%esi
411e3c:	8b 45 fc             	mov    -0x4(%ebp),%eax
411e3f:	89 75 ec             	mov    %esi,-0x14(%ebp)
411e42:	6a 00                	push   $0x0
411e44:	ff 75 cc             	push   -0x34(%ebp)
411e47:	50                   	push   %eax
411e48:	52                   	push   %edx
411e49:	e8 a2 61 00 00       	call   0x417ff0
411e4e:	89 5d d8             	mov    %ebx,-0x28(%ebp)
411e51:	33 f6                	xor    %esi,%esi
411e53:	8b d8                	mov    %eax,%ebx
411e55:	89 75 d8             	mov    %esi,-0x28(%ebp)
411e58:	8b c2                	mov    %edx,%eax
411e5a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
411e5d:	89 45 e8             	mov    %eax,-0x18(%ebp)
411e60:	8b f9                	mov    %ecx,%edi
411e62:	89 5d bc             	mov    %ebx,-0x44(%ebp)
411e65:	89 45 c0             	mov    %eax,-0x40(%ebp)
411e68:	85 c0                	test   %eax,%eax
411e6a:	75 05                	jne    0x411e71
411e6c:	83 fb ff             	cmp    $0xffffffff,%ebx
411e6f:	76 2a                	jbe    0x411e9b
411e71:	6a 00                	push   $0x0
411e73:	ff 75 cc             	push   -0x34(%ebp)
411e76:	83 c3 01             	add    $0x1,%ebx
411e79:	83 d0 ff             	adc    $0xffffffff,%eax
411e7c:	50                   	push   %eax
411e7d:	53                   	push   %ebx
411e7e:	e8 bd 64 00 00       	call   0x418340
411e83:	03 f8                	add    %eax,%edi
411e85:	13 f2                	adc    %edx,%esi
411e87:	83 cb ff             	or     $0xffffffff,%ebx
411e8a:	33 c0                	xor    %eax,%eax
411e8c:	89 75 d8             	mov    %esi,-0x28(%ebp)
411e8f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
411e92:	89 5d bc             	mov    %ebx,-0x44(%ebp)
411e95:	89 45 e8             	mov    %eax,-0x18(%ebp)
411e98:	89 45 c0             	mov    %eax,-0x40(%ebp)
411e9b:	85 f6                	test   %esi,%esi
411e9d:	77 50                	ja     0x411eef
411e9f:	72 05                	jb     0x411ea6
411ea1:	83 ff ff             	cmp    $0xffffffff,%edi
411ea4:	77 49                	ja     0x411eef
411ea6:	50                   	push   %eax
411ea7:	53                   	push   %ebx
411ea8:	33 c9                	xor    %ecx,%ecx
411eaa:	8b f7                	mov    %edi,%esi
411eac:	0b 4d ec             	or     -0x14(%ebp),%ecx
411eaf:	6a 00                	push   $0x0
411eb1:	ff 75 e0             	push   -0x20(%ebp)
411eb4:	89 4d fc             	mov    %ecx,-0x4(%ebp)
411eb7:	e8 84 64 00 00       	call   0x418340
411ebc:	3b d6                	cmp    %esi,%edx
411ebe:	72 29                	jb     0x411ee9
411ec0:	77 05                	ja     0x411ec7
411ec2:	3b 45 fc             	cmp    -0x4(%ebp),%eax
411ec5:	76 22                	jbe    0x411ee9
411ec7:	8b 45 e8             	mov    -0x18(%ebp),%eax
411eca:	83 c3 ff             	add    $0xffffffff,%ebx
411ecd:	89 5d bc             	mov    %ebx,-0x44(%ebp)
411ed0:	83 d0 ff             	adc    $0xffffffff,%eax
411ed3:	03 7d cc             	add    -0x34(%ebp),%edi
411ed6:	89 45 e8             	mov    %eax,-0x18(%ebp)
411ed9:	83 55 d8 00          	adcl   $0x0,-0x28(%ebp)
411edd:	89 45 c0             	mov    %eax,-0x40(%ebp)
411ee0:	75 0a                	jne    0x411eec
411ee2:	83 ff ff             	cmp    $0xffffffff,%edi
411ee5:	76 bf                	jbe    0x411ea6
411ee7:	eb 03                	jmp    0x411eec
411ee9:	8b 45 e8             	mov    -0x18(%ebp),%eax
411eec:	89 5d fc             	mov    %ebx,-0x4(%ebp)
411eef:	85 c0                	test   %eax,%eax
411ef1:	75 08                	jne    0x411efb
411ef3:	85 db                	test   %ebx,%ebx
411ef5:	0f 84 b4 00 00 00    	je     0x411faf
411efb:	8b 4d c8             	mov    -0x38(%ebp),%ecx
411efe:	33 ff                	xor    %edi,%edi
411f00:	33 f6                	xor    %esi,%esi
411f02:	85 c9                	test   %ecx,%ecx
411f04:	74 55                	je     0x411f5b
411f06:	8b 45 0c             	mov    0xc(%ebp),%eax
411f09:	8b 5d f0             	mov    -0x10(%ebp),%ebx
411f0c:	83 c0 04             	add    $0x4,%eax
411f0f:	89 45 ec             	mov    %eax,-0x14(%ebp)
411f12:	89 4d f4             	mov    %ecx,-0xc(%ebp)
411f15:	8b 00                	mov    (%eax),%eax
411f17:	89 45 d8             	mov    %eax,-0x28(%ebp)
411f1a:	8b 45 c0             	mov    -0x40(%ebp),%eax
411f1d:	f7 65 d8             	mull   -0x28(%ebp)
411f20:	8b c8                	mov    %eax,%ecx
411f22:	8b 45 bc             	mov    -0x44(%ebp),%eax
411f25:	f7 65 d8             	mull   -0x28(%ebp)
411f28:	03 d1                	add    %ecx,%edx
411f2a:	03 f8                	add    %eax,%edi
411f2c:	8b 03                	mov    (%ebx),%eax
411f2e:	8b cf                	mov    %edi,%ecx
411f30:	13 f2                	adc    %edx,%esi
411f32:	8b fe                	mov    %esi,%edi
411f34:	33 f6                	xor    %esi,%esi
411f36:	3b c1                	cmp    %ecx,%eax
411f38:	73 05                	jae    0x411f3f
411f3a:	83 c7 01             	add    $0x1,%edi
411f3d:	13 f6                	adc    %esi,%esi
411f3f:	2b c1                	sub    %ecx,%eax
411f41:	89 03                	mov    %eax,(%ebx)
411f43:	83 c3 04             	add    $0x4,%ebx
411f46:	8b 45 ec             	mov    -0x14(%ebp),%eax
411f49:	83 c0 04             	add    $0x4,%eax
411f4c:	83 6d f4 01          	subl   $0x1,-0xc(%ebp)
411f50:	89 45 ec             	mov    %eax,-0x14(%ebp)
411f53:	75 c0                	jne    0x411f15
411f55:	8b 5d fc             	mov    -0x4(%ebp),%ebx
411f58:	8b 4d c8             	mov    -0x38(%ebp),%ecx
411f5b:	33 c0                	xor    %eax,%eax
411f5d:	3b c6                	cmp    %esi,%eax
411f5f:	77 47                	ja     0x411fa8
411f61:	72 05                	jb     0x411f68
411f63:	39 7d d0             	cmp    %edi,-0x30(%ebp)
411f66:	73 40                	jae    0x411fa8
411f68:	85 c9                	test   %ecx,%ecx
411f6a:	74 35                	je     0x411fa1
411f6c:	8b 75 0c             	mov    0xc(%ebp),%esi
411f6f:	8b f9                	mov    %ecx,%edi
411f71:	8b 55 f0             	mov    -0x10(%ebp),%edx
411f74:	83 c6 04             	add    $0x4,%esi
411f77:	8b d8                	mov    %eax,%ebx
411f79:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
411f80:	8b 0a                	mov    (%edx),%ecx
411f82:	8d 76 04             	lea    0x4(%esi),%esi
411f85:	33 c0                	xor    %eax,%eax
411f87:	8d 52 04             	lea    0x4(%edx),%edx
411f8a:	03 4e fc             	add    -0x4(%esi),%ecx
411f8d:	13 c0                	adc    %eax,%eax
411f8f:	03 cb                	add    %ebx,%ecx
411f91:	89 4a fc             	mov    %ecx,-0x4(%edx)
411f94:	83 d0 00             	adc    $0x0,%eax
411f97:	8b d8                	mov    %eax,%ebx
411f99:	83 ef 01             	sub    $0x1,%edi
411f9c:	75 e2                	jne    0x411f80
411f9e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
411fa1:	83 c3 ff             	add    $0xffffffff,%ebx
411fa4:	83 55 e8 ff          	adcl   $0xffffffff,-0x18(%ebp)
411fa8:	8b 45 f8             	mov    -0x8(%ebp),%eax
411fab:	48                   	dec    %eax
411fac:	89 45 f4             	mov    %eax,-0xc(%ebp)
411faf:	8b 75 b8             	mov    -0x48(%ebp),%esi
411fb2:	33 c0                	xor    %eax,%eax
411fb4:	8b 55 e4             	mov    -0x1c(%ebp),%edx
411fb7:	03 c3                	add    %ebx,%eax
411fb9:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
411fbc:	8b f8                	mov    %eax,%edi
411fbe:	8b 45 f8             	mov    -0x8(%ebp),%eax
411fc1:	83 d6 00             	adc    $0x0,%esi
411fc4:	83 6d f0 04          	subl   $0x4,-0x10(%ebp)
411fc8:	4a                   	dec    %edx
411fc9:	8b 5d 08             	mov    0x8(%ebp),%ebx
411fcc:	83 e9 04             	sub    $0x4,%ecx
411fcf:	48                   	dec    %eax
411fd0:	89 7d b8             	mov    %edi,-0x48(%ebp)
411fd3:	89 55 e4             	mov    %edx,-0x1c(%ebp)
411fd6:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
411fd9:	89 45 f8             	mov    %eax,-0x8(%ebp)
411fdc:	85 d2                	test   %edx,%edx
411fde:	0f 89 ee fd ff ff    	jns    0x411dd2
411fe4:	eb 02                	jmp    0x411fe8
411fe6:	33 ff                	xor    %edi,%edi
411fe8:	8b 55 f4             	mov    -0xc(%ebp),%edx
411feb:	42                   	inc    %edx
411fec:	8b c2                	mov    %edx,%eax
411fee:	3b 03                	cmp    (%ebx),%eax
411ff0:	73 1c                	jae    0x41200e
411ff2:	8d 48 01             	lea    0x1(%eax),%ecx
411ff5:	8d 0c 8b             	lea    (%ebx,%ecx,4),%ecx
411ff8:	eb 06                	jmp    0x412000
411ffa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
412000:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
412006:	8d 49 04             	lea    0x4(%ecx),%ecx
412009:	40                   	inc    %eax
41200a:	3b 03                	cmp    (%ebx),%eax
41200c:	72 f2                	jb     0x412000
41200e:	89 13                	mov    %edx,(%ebx)
412010:	85 d2                	test   %edx,%edx
412012:	74 0f                	je     0x412023
412014:	8b 0b                	mov    (%ebx),%ecx
412016:	83 3c 8b 00          	cmpl   $0x0,(%ebx,%ecx,4)
41201a:	75 07                	jne    0x412023
41201c:	83 c1 ff             	add    $0xffffffff,%ecx
41201f:	89 0b                	mov    %ecx,(%ebx)
412021:	75 f1                	jne    0x412014
412023:	8b d6                	mov    %esi,%edx