416e2a:	8b 45 08             	mov    0x8(%ebp),%eax
416e2d:	5d                   	pop    %ebp
416e2e:	c2 04 00             	ret    $0x4
416e31:	55                   	push   %ebp
416e32:	8b ec                	mov    %esp,%ebp
416e34:	8b 41 08             	mov    0x8(%ecx),%eax
416e37:	2b 01                	sub    (%ecx),%eax
416e39:	6a 0c                	push   $0xc
416e3b:	59                   	pop    %ecx
416e3c:	99                   	cltd
416e3d:	f7 f9                	idiv   %ecx
416e3f:	b9 55 55 55 15       	mov    $0x15555555,%ecx
416e44:	8b d0                	mov    %eax,%edx
416e46:	d1 ea                	shr    $1,%edx
416e48:	2b ca                	sub    %edx,%ecx
416e4a:	3b c1                	cmp    %ecx,%eax
416e4c:	77 07                	ja     0x416e55
416e4e:	03 c2                	add    %edx,%eax
416e50:	3b 45 08             	cmp    0x8(%ebp),%eax
416e53:	73 03                	jae    0x416e58
416e55:	8b 45 08             	mov    0x8(%ebp),%eax
416e58:	5d                   	pop    %ebp
416e59:	c2 04 00             	ret    $0x4
416e5c:	55                   	push   %ebp
416e5d:	8b ec                	mov    %esp,%ebp
416e5f:	8b 41 08             	mov    0x8(%ecx),%eax
416e62:	2b 01                	sub    (%ecx),%eax
416e64:	6a 0c                	push   $0xc
416e66:	59                   	pop    %ecx
416e67:	99                   	cltd
416e68:	f7 f9                	idiv   %ecx
416e6a:	b9 55 55 55 15       	mov    $0x15555555,%ecx
416e6f:	8b d0                	mov    %eax,%edx
416e71:	d1 ea                	shr    $1,%edx
416e73:	2b ca                	sub    %edx,%ecx
416e75:	3b c1                	cmp    %ecx,%eax
416e77:	77 07                	ja     0x416e80
416e79:	03 c2                	add    %edx,%eax
416e7b:	3b 45 08             	cmp    0x8(%ebp),%eax
416e7e:	73 03                	jae    0x416e83
416e80:	8b 45 08             	mov    0x8(%ebp),%eax
416e83:	5d                   	pop    %ebp
416e84:	c2 04 00             	ret    $0x4
416e87:	55                   	push   %ebp
416e88:	8b ec                	mov    %esp,%ebp
416e8a:	8b 51 08             	mov    0x8(%ecx),%edx
416e8d:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
416e92:	2b 11                	sub    (%ecx),%edx
416e94:	c1 fa 03             	sar    $0x3,%edx
416e97:	8b ca                	mov    %edx,%ecx
416e99:	d1 e9                	shr    $1,%ecx
416e9b:	2b c1                	sub    %ecx,%eax
416e9d:	3b d0                	cmp    %eax,%edx
416e9f:	77 08                	ja     0x416ea9
416ea1:	8d 04 11             	lea    (%ecx,%edx,1),%eax
416ea4:	3b 45 08             	cmp    0x8(%ebp),%eax
416ea7:	73 03                	jae    0x416eac
416ea9:	8b 45 08             	mov    0x8(%ebp),%eax
416eac:	5d                   	pop    %ebp
416ead:	c2 04 00             	ret    $0x4
416eb0:	55                   	push   %ebp
416eb1:	8b ec                	mov    %esp,%ebp
416eb3:	56                   	push   %esi
416eb4:	8b 75 08             	mov    0x8(%ebp),%esi
416eb7:	3b 75 0c             	cmp    0xc(%ebp),%esi
416eba:	0f 84 93 00 00 00    	je     0x416f53
416ec0:	57                   	push   %edi
416ec1:	8b 7d 10             	mov    0x10(%ebp),%edi
416ec4:	53                   	push   %ebx
416ec5:	85 f6                	test   %esi,%esi
416ec7:	0f 84 84 00 00 00    	je     0x416f51
416ecd:	8b 46 04             	mov    0x4(%esi),%eax
416ed0:	83 f8 0a             	cmp    $0xa,%eax
416ed3:	7c 70                	jl     0x416f45
416ed5:	83 f8 0b             	cmp    $0xb,%eax
416ed8:	7e 5c                	jle    0x416f36
416eda:	83 f8 10             	cmp    $0x10,%eax
416edd:	74 32                	je     0x416f11
416edf:	83 f8 12             	cmp    $0x12,%eax
416ee2:	74 1b                	je     0x416eff
416ee4:	83 f8 13             	cmp    $0x13,%eax
416ee7:	75 5c                	jne    0x416f45
416ee9:	3b 7e 14             	cmp    0x14(%esi),%edi
416eec:	75 57                	jne    0x416f45
416eee:	83 7f 24 ff          	cmpl   $0xffffffff,0x24(%edi)
416ef2:	75 07                	jne    0x416efb
416ef4:	c7 47 24 01 00 00 00 	movl   $0x1,0x24(%edi)
416efb:	33 ff                	xor    %edi,%edi
416efd:	eb 46                	jmp    0x416f45
416eff:	85 ff                	test   %edi,%edi
416f01:	75 04                	jne    0x416f07
416f03:	8b fe                	mov    %esi,%edi
416f05:	eb 3e                	jmp    0x416f45
416f07:	83 67 24 00          	andl   $0x0,0x24(%edi)
416f0b:	83 66 24 00          	andl   $0x0,0x24(%esi)
416f0f:	eb 34                	jmp    0x416f45
416f11:	85 ff                	test   %edi,%edi
416f13:	74 04                	je     0x416f19
416f15:	83 67 24 00          	andl   $0x0,0x24(%edi)
416f19:	8b 5e 18             	mov    0x18(%esi),%ebx
416f1c:	eb 12                	jmp    0x416f30
416f1e:	57                   	push   %edi
416f1f:	ff 73 14             	push   0x14(%ebx)
416f22:	ff 73 0c             	push   0xc(%ebx)
416f25:	e8 86 ff ff ff       	call   0x416eb0
416f2a:	8b 5b 18             	mov    0x18(%ebx),%ebx
416f2d:	83 c4 0c             	add    $0xc,%esp
416f30:	85 db                	test   %ebx,%ebx
416f32:	75 ea                	jne    0x416f1e
416f34:	eb 0f                	jmp    0x416f45
416f36:	6a 00                	push   $0x0
416f38:	6a 00                	push   $0x0
416f3a:	ff 76 14             	push   0x14(%esi)
416f3d:	e8 6e ff ff ff       	call   0x416eb0
416f42:	83 c4 0c             	add    $0xc,%esp
416f45:	8b 76 0c             	mov    0xc(%esi),%esi
416f48:	3b 75 0c             	cmp    0xc(%ebp),%esi
416f4b:	0f 85 74 ff ff ff    	jne    0x416ec5
416f51:	5b                   	pop    %ebx
416f52:	5f                   	pop    %edi
416f53:	5e                   	pop    %esi
416f54:	5d                   	pop    %ebp
416f55:	c3                   	ret
416f56:	55                   	push   %ebp
416f57:	8b ec                	mov    %esp,%ebp
416f59:	56                   	push   %esi
416f5a:	8b f1                	mov    %ecx,%esi
416f5c:	83 3e 00             	cmpl   $0x0,(%esi)
416f5f:	74 12                	je     0x416f73
416f61:	8b 46 08             	mov    0x8(%esi),%eax
416f64:	2b 06                	sub    (%esi),%eax
416f66:	83 e0 fc             	and    $0xfffffffc,%eax
416f69:	50                   	push   %eax
416f6a:	ff 36                	push   (%esi)
416f6c:	e8 b9 c5 fe ff       	call   0x40352a
416f71:	59                   	pop    %ecx
416f72:	59                   	pop    %ecx
416f73:	8b 4d 08             	mov    0x8(%ebp),%ecx
416f76:	8b 45 0c             	mov    0xc(%ebp),%eax
416f79:	89 0e                	mov    %ecx,(%esi)
416f7b:	8d 04 81             	lea    (%ecx,%eax,4),%eax
416f7e:	89 46 04             	mov    %eax,0x4(%esi)
416f81:	8b 45 10             	mov    0x10(%ebp),%eax
416f84:	8d 04 81             	lea    (%ecx,%eax,4),%eax
416f87:	89 46 08             	mov    %eax,0x8(%esi)
416f8a:	5e                   	pop    %esi
416f8b:	5d                   	pop    %ebp
416f8c:	c2 0c 00             	ret    $0xc
416f8f:	55                   	push   %ebp
416f90:	8b ec                	mov    %esp,%ebp
416f92:	56                   	push   %esi
416f93:	8b f1                	mov    %ecx,%esi
416f95:	83 3e 00             	cmpl   $0x0,(%esi)
416f98:	74 18                	je     0x416fb2
416f9a:	8b 46 08             	mov    0x8(%esi),%eax
416f9d:	2b 06                	sub    (%esi),%eax
416f9f:	6a 18                	push   $0x18
416fa1:	59                   	pop    %ecx
416fa2:	99                   	cltd
416fa3:	f7 f9                	idiv   %ecx
416fa5:	6b c0 18             	imul   $0x18,%eax,%eax
416fa8:	50                   	push   %eax
416fa9:	ff 36                	push   (%esi)
416fab:	e8 7a c5 fe ff       	call   0x40352a
416fb0:	59                   	pop    %ecx
416fb1:	59                   	pop    %ecx
416fb2:	6b 45 0c 18          	imul   $0x18,0xc(%ebp),%eax
416fb6:	8b 4d 08             	mov    0x8(%ebp),%ecx
416fb9:	89 0e                	mov    %ecx,(%esi)
416fbb:	03 c1                	add    %ecx,%eax
416fbd:	89 46 04             	mov    %eax,0x4(%esi)
416fc0:	6b 45 10 18          	imul   $0x18,0x10(%ebp),%eax
416fc4:	03 c1                	add    %ecx,%eax
416fc6:	89 46 08             	mov    %eax,0x8(%esi)
416fc9:	5e                   	pop    %esi
416fca:	5d                   	pop    %ebp
416fcb:	c2 0c 00             	ret    $0xc
416fce:	55                   	push   %ebp
416fcf:	8b ec                	mov    %esp,%ebp
416fd1:	56                   	push   %esi
416fd2:	8b f1                	mov    %ecx,%esi
416fd4:	83 3e 00             	cmpl   $0x0,(%esi)
416fd7:	74 12                	je     0x416feb
416fd9:	8b 46 08             	mov    0x8(%esi),%eax
416fdc:	2b 06                	sub    (%esi),%eax
416fde:	83 e0 f8             	and    $0xfffffff8,%eax
416fe1:	50                   	push   %eax
416fe2:	ff 36                	push   (%esi)
416fe4:	e8 41 c5 fe ff       	call   0x40352a
416fe9:	59                   	pop    %ecx
416fea:	59                   	pop    %ecx
416feb:	8b 4d 08             	mov    0x8(%ebp),%ecx
416fee:	8b 45 0c             	mov    0xc(%ebp),%eax
416ff1:	89 0e                	mov    %ecx,(%esi)
416ff3:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
416ff6:	89 46 04             	mov    %eax,0x4(%esi)
416ff9:	8b 45 10             	mov    0x10(%ebp),%eax
416ffc:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
416fff:	89 46 08             	mov    %eax,0x8(%esi)
417002:	5e                   	pop    %esi
417003:	5d                   	pop    %ebp
417004:	c2 0c 00             	ret    $0xc
417007:	55                   	push   %ebp
417008:	8b ec                	mov    %esp,%ebp
41700a:	56                   	push   %esi
41700b:	8b f1                	mov    %ecx,%esi
41700d:	83 3e 00             	cmpl   $0x0,(%esi)
417010:	74 12                	je     0x417024
417012:	8b 46 08             	mov    0x8(%esi),%eax
417015:	2b 06                	sub    (%esi),%eax
417017:	83 e0 f8             	and    $0xfffffff8,%eax
41701a:	50                   	push   %eax
41701b:	ff 36                	push   (%esi)
41701d:	e8 08 c5 fe ff       	call   0x40352a
417022:	59                   	pop    %ecx
417023:	59                   	pop    %ecx
417024:	8b 4d 08             	mov    0x8(%ebp),%ecx
417027:	8b 45 0c             	mov    0xc(%ebp),%eax
41702a:	89 0e                	mov    %ecx,(%esi)
41702c:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
41702f:	89 46 04             	mov    %eax,0x4(%esi)
417032:	8b 45 10             	mov    0x10(%ebp),%eax
417035:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
417038:	89 46 08             	mov    %eax,0x8(%esi)
41703b:	5e                   	pop    %esi
41703c:	5d                   	pop    %ebp
41703d:	c2 0c 00             	ret    $0xc
417040:	55                   	push   %ebp
417041:	8b ec                	mov    %esp,%ebp
417043:	56                   	push   %esi
417044:	8b f1                	mov    %ecx,%esi
417046:	83 3e 00             	cmpl   $0x0,(%esi)
417049:	74 12                	je     0x41705d
41704b:	8b 46 08             	mov    0x8(%esi),%eax
41704e:	2b 06                	sub    (%esi),%eax
417050:	83 e0 f8             	and    $0xfffffff8,%eax
417053:	50                   	push   %eax
417054:	ff 36                	push   (%esi)
417056:	e8 cf c4 fe ff       	call   0x40352a
41705b:	59                   	pop    %ecx
41705c:	59                   	pop    %ecx
41705d:	8b 4d 08             	mov    0x8(%ebp),%ecx
417060:	8b 45 0c             	mov    0xc(%ebp),%eax
417063:	89 0e                	mov    %ecx,(%esi)
417065:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
417068:	89 46 04             	mov    %eax,0x4(%esi)
41706b:	8b 45 10             	mov    0x10(%ebp),%eax
41706e:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
417071:	89 46 08             	mov    %eax,0x8(%esi)
417074:	5e                   	pop    %esi
417075:	5d                   	pop    %ebp
417076:	c2 0c 00             	ret    $0xc
417079:	55                   	push   %ebp
41707a:	8b ec                	mov    %esp,%ebp
41707c:	56                   	push   %esi
41707d:	8b f1                	mov    %ecx,%esi
41707f:	83 3e 00             	cmpl   $0x0,(%esi)
417082:	74 12                	je     0x417096
417084:	8b 46 08             	mov    0x8(%esi),%eax
417087:	2b 06                	sub    (%esi),%eax
417089:	83 e0 f8             	and    $0xfffffff8,%eax
41708c:	50                   	push   %eax
41708d:	ff 36                	push   (%esi)
41708f:	e8 96 c4 fe ff       	call   0x40352a
417094:	59                   	pop    %ecx
417095:	59                   	pop    %ecx
417096:	8b 4d 08             	mov    0x8(%ebp),%ecx
417099:	8b 45 0c             	mov    0xc(%ebp),%eax
41709c:	89 0e                	mov    %ecx,(%esi)
41709e:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
4170a1:	89 46 04             	mov    %eax,0x4(%esi)
4170a4:	8b 45 10             	mov    0x10(%ebp),%eax
4170a7:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
4170aa:	89 46 08             	mov    %eax,0x8(%esi)
4170ad:	5e                   	pop    %esi
4170ae:	5d                   	pop    %ebp
4170af:	c2 0c 00             	ret    $0xc
4170b2:	55                   	push   %ebp
4170b3:	8b ec                	mov    %esp,%ebp
4170b5:	51                   	push   %ecx
4170b6:	56                   	push   %esi
4170b7:	57                   	push   %edi
4170b8:	8b f9                	mov    %ecx,%edi
4170ba:	89 7d fc             	mov    %edi,-0x4(%ebp)
4170bd:	8b 37                	mov    (%edi),%esi
4170bf:	85 f6                	test   %esi,%esi
4170c1:	74 35                	je     0x4170f8
4170c3:	53                   	push   %ebx
4170c4:	8b 5f 04             	mov    0x4(%edi),%ebx
4170c7:	3b f3                	cmp    %ebx,%esi
4170c9:	74 15                	je     0x4170e0
4170cb:	6a 18                	push   $0x18
4170cd:	5f                   	pop    %edi
4170ce:	8b ce                	mov    %esi,%ecx
4170d0:	e8 25 62 00 00       	call   0x41d2fa
4170d5:	03 f7                	add    %edi,%esi
4170d7:	3b f3                	cmp    %ebx,%esi
4170d9:	75 f3                	jne    0x4170ce
4170db:	8b 7d fc             	mov    -0x4(%ebp),%edi
4170de:	8b 37                	mov    (%edi),%esi
4170e0:	8b 47 08             	mov    0x8(%edi),%eax
4170e3:	2b c6                	sub    %esi,%eax
4170e5:	6a 18                	push   $0x18
4170e7:	59                   	pop    %ecx
4170e8:	99                   	cltd
4170e9:	f7 f9                	idiv   %ecx
4170eb:	6b c0 18             	imul   $0x18,%eax,%eax
4170ee:	50                   	push   %eax
4170ef:	56                   	push   %esi
4170f0:	e8 35 c4 fe ff       	call   0x40352a
4170f5:	59                   	pop    %ecx
4170f6:	59                   	pop    %ecx
4170f7:	5b                   	pop    %ebx
4170f8:	6b 45 0c 18          	imul   $0x18,0xc(%ebp),%eax
4170fc:	8b 4d 08             	mov    0x8(%ebp),%ecx
4170ff:	89 0f                	mov    %ecx,(%edi)
417101:	03 c1                	add    %ecx,%eax
417103:	89 47 04             	mov    %eax,0x4(%edi)
417106:	6b 45 10 18          	imul   $0x18,0x10(%ebp),%eax
41710a:	03 c1                	add    %ecx,%eax
41710c:	89 47 08             	mov    %eax,0x8(%edi)
41710f:	5f                   	pop    %edi
417110:	5e                   	pop    %esi
417111:	c9                   	leave
417112:	c2 0c 00             	ret    $0xc
417115:	55                   	push   %ebp
417116:	8b ec                	mov    %esp,%ebp
417118:	56                   	push   %esi
417119:	8b f1                	mov    %ecx,%esi
41711b:	83 3e 00             	cmpl   $0x0,(%esi)
41711e:	74 18                	je     0x417138
417120:	8b 46 08             	mov    0x8(%esi),%eax
417123:	2b 06                	sub    (%esi),%eax
417125:	6a 0c                	push   $0xc
417127:	59                   	pop    %ecx
417128:	99                   	cltd
417129:	f7 f9                	idiv   %ecx
41712b:	6b c0 0c             	imul   $0xc,%eax,%eax
41712e:	50                   	push   %eax
41712f:	ff 36                	push   (%esi)
417131:	e8 f4 c3 fe ff       	call   0x40352a
417136:	59                   	pop    %ecx
417137:	59                   	pop    %ecx
417138:	6b 45 0c 0c          	imul   $0xc,0xc(%ebp),%eax
41713c:	8b 4d 08             	mov    0x8(%ebp),%ecx
41713f:	89 0e                	mov    %ecx,(%esi)
417141:	03 c1                	add    %ecx,%eax
417143:	89 46 04             	mov    %eax,0x4(%esi)
417146:	6b 45 10 0c          	imul   $0xc,0x10(%ebp),%eax
41714a:	03 c1                	add    %ecx,%eax