478e45:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
478e4a:	eb 0a                	jmp    0x478e56
478e4c:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
478e4f:	3b 45 fc             	cmp    -0x4(%ebp),%eax
478e52:	0f 42 45 fc          	cmovb  -0x4(%ebp),%eax
478e56:	50                   	push   %eax
478e57:	8b cb                	mov    %ebx,%ecx
478e59:	89 45 08             	mov    %eax,0x8(%ebp)
478e5c:	e8 6f 04 ff ff       	call   0x4692d0
478e61:	8b 4d 0c             	mov    0xc(%ebp),%ecx
478e64:	89 45 f4             	mov    %eax,-0xc(%ebp)
478e67:	8d 14 b8             	lea    (%eax,%edi,4),%edx
478e6a:	8b 09                	mov    (%ecx),%ecx
478e6c:	89 0a                	mov    %ecx,(%edx)
478e6e:	8b 7b 04             	mov    0x4(%ebx),%edi
478e71:	8b 0b                	mov    (%ebx),%ecx
478e73:	89 55 f8             	mov    %edx,-0x8(%ebp)
478e76:	8b d0                	mov    %eax,%edx
478e78:	3b f7                	cmp    %edi,%esi
478e7a:	75 1a                	jne    0x478e96
478e7c:	3b cf                	cmp    %edi,%ecx
478e7e:	74 69                	je     0x478ee9
478e80:	8b 01                	mov    (%ecx),%eax
478e82:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
478e88:	83 c1 04             	add    $0x4,%ecx
478e8b:	89 02                	mov    %eax,(%edx)
478e8d:	83 c2 04             	add    $0x4,%edx
478e90:	3b cf                	cmp    %edi,%ecx
478e92:	75 ec                	jne    0x478e80
478e94:	eb 53                	jmp    0x478ee9
478e96:	3b ce                	cmp    %esi,%ecx
478e98:	74 1a                	je     0x478eb4
478e9a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
478ea0:	8b 01                	mov    (%ecx),%eax
478ea2:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
478ea8:	83 c1 04             	add    $0x4,%ecx
478eab:	89 02                	mov    %eax,(%edx)
478ead:	83 c2 04             	add    $0x4,%edx
478eb0:	3b ce                	cmp    %esi,%ecx
478eb2:	75 ec                	jne    0x478ea0
478eb4:	53                   	push   %ebx
478eb5:	52                   	push   %edx
478eb6:	52                   	push   %edx
478eb7:	e8 f4 fb ff ff       	call   0x478ab0
478ebc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
478ebf:	83 c4 0c             	add    $0xc,%esp
478ec2:	8b 7b 04             	mov    0x4(%ebx),%edi
478ec5:	8d 51 04             	lea    0x4(%ecx),%edx
478ec8:	3b f7                	cmp    %edi,%esi
478eca:	74 1d                	je     0x478ee9
478ecc:	8b c2                	mov    %edx,%eax
478ece:	2b c1                	sub    %ecx,%eax
478ed0:	8d 4e fc             	lea    -0x4(%esi),%ecx
478ed3:	03 c8                	add    %eax,%ecx
478ed5:	8b 01                	mov    (%ecx),%eax
478ed7:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
478edd:	83 c1 04             	add    $0x4,%ecx
478ee0:	89 02                	mov    %eax,(%edx)
478ee2:	83 c2 04             	add    $0x4,%edx
478ee5:	3b cf                	cmp    %edi,%ecx
478ee7:	75 ec                	jne    0x478ed5
478ee9:	53                   	push   %ebx
478eea:	52                   	push   %edx
478eeb:	52                   	push   %edx
478eec:	e8 bf fb ff ff       	call   0x478ab0
478ef1:	83 c4 0c             	add    $0xc,%esp
478ef4:	8b cb                	mov    %ebx,%ecx
478ef6:	ff 75 08             	push   0x8(%ebp)
478ef9:	ff 75 fc             	push   -0x4(%ebp)
478efc:	ff 75 f4             	push   -0xc(%ebp)
478eff:	e8 ac 32 02 00       	call   0x49c1b0
478f04:	8b 45 f8             	mov    -0x8(%ebp),%eax
478f07:	5f                   	pop    %edi
478f08:	5e                   	pop    %esi
478f09:	5b                   	pop    %ebx
478f0a:	8b e5                	mov    %ebp,%esp
478f0c:	5d                   	pop    %ebp
478f0d:	c2 08 00             	ret    $0x8
478f10:	e8 8b 38 fe ff       	call   0x45c7a0
478f15:	cc                   	int3
478f16:	cc                   	int3
478f17:	cc                   	int3
478f18:	cc                   	int3
478f19:	cc                   	int3
478f1a:	cc                   	int3
478f1b:	cc                   	int3
478f1c:	cc                   	int3
478f1d:	cc                   	int3
478f1e:	cc                   	int3
478f1f:	cc                   	int3
478f20:	55                   	push   %ebp
478f21:	8b ec                	mov    %esp,%ebp
478f23:	83 ec 0c             	sub    $0xc,%esp
478f26:	53                   	push   %ebx
478f27:	8b d9                	mov    %ecx,%ebx
478f29:	56                   	push   %esi
478f2a:	8b 75 08             	mov    0x8(%ebp),%esi
478f2d:	57                   	push   %edi
478f2e:	8b 13                	mov    (%ebx),%edx
478f30:	8b fe                	mov    %esi,%edi
478f32:	8b 43 04             	mov    0x4(%ebx),%eax
478f35:	2b fa                	sub    %edx,%edi
478f37:	2b c2                	sub    %edx,%eax
478f39:	c1 ff 02             	sar    $0x2,%edi
478f3c:	c1 f8 02             	sar    $0x2,%eax
478f3f:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
478f44:	0f 84 c6 00 00 00    	je     0x479010
478f4a:	8b 4b 08             	mov    0x8(%ebx),%ecx
478f4d:	40                   	inc    %eax
478f4e:	2b ca                	sub    %edx,%ecx
478f50:	89 45 fc             	mov    %eax,-0x4(%ebp)
478f53:	c1 f9 02             	sar    $0x2,%ecx
478f56:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
478f5b:	8b d1                	mov    %ecx,%edx
478f5d:	d1 ea                	shr    $1,%edx
478f5f:	2b c2                	sub    %edx,%eax
478f61:	3b c8                	cmp    %eax,%ecx
478f63:	76 07                	jbe    0x478f6c
478f65:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
478f6a:	eb 0a                	jmp    0x478f76
478f6c:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
478f6f:	3b 45 fc             	cmp    -0x4(%ebp),%eax
478f72:	0f 42 45 fc          	cmovb  -0x4(%ebp),%eax
478f76:	50                   	push   %eax
478f77:	8b cb                	mov    %ebx,%ecx
478f79:	89 45 08             	mov    %eax,0x8(%ebp)
478f7c:	e8 4f 03 ff ff       	call   0x4692d0
478f81:	8b 4d 0c             	mov    0xc(%ebp),%ecx
478f84:	89 45 f4             	mov    %eax,-0xc(%ebp)
478f87:	8d 14 b8             	lea    (%eax,%edi,4),%edx
478f8a:	8b 09                	mov    (%ecx),%ecx
478f8c:	89 0a                	mov    %ecx,(%edx)
478f8e:	8b 7b 04             	mov    0x4(%ebx),%edi
478f91:	8b 0b                	mov    (%ebx),%ecx
478f93:	89 55 f8             	mov    %edx,-0x8(%ebp)
478f96:	8b d0                	mov    %eax,%edx
478f98:	3b f7                	cmp    %edi,%esi
478f9a:	75 1b                	jne    0x478fb7
478f9c:	3b cf                	cmp    %edi,%ecx
478f9e:	74 54                	je     0x478ff4
478fa0:	8b 01                	mov    (%ecx),%eax
478fa2:	8d 52 04             	lea    0x4(%edx),%edx
478fa5:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
478fab:	83 c1 04             	add    $0x4,%ecx
478fae:	89 42 fc             	mov    %eax,-0x4(%edx)
478fb1:	3b cf                	cmp    %edi,%ecx
478fb3:	75 eb                	jne    0x478fa0
478fb5:	eb 3d                	jmp    0x478ff4
478fb7:	3b ce                	cmp    %esi,%ecx
478fb9:	74 1d                	je     0x478fd8
478fbb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
478fc0:	8b 01                	mov    (%ecx),%eax
478fc2:	8d 52 04             	lea    0x4(%edx),%edx
478fc5:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
478fcb:	83 c1 04             	add    $0x4,%ecx
478fce:	89 42 fc             	mov    %eax,-0x4(%edx)
478fd1:	3b ce                	cmp    %esi,%ecx
478fd3:	75 eb                	jne    0x478fc0
478fd5:	8b 7b 04             	mov    0x4(%ebx),%edi
478fd8:	3b f7                	cmp    %edi,%esi
478fda:	74 18                	je     0x478ff4
478fdc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
478fdf:	2b ce                	sub    %esi,%ecx
478fe1:	8b 06                	mov    (%esi),%eax
478fe3:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
478fe9:	89 44 31 04          	mov    %eax,0x4(%ecx,%esi,1)
478fed:	83 c6 04             	add    $0x4,%esi
478ff0:	3b f7                	cmp    %edi,%esi
478ff2:	75 ed                	jne    0x478fe1
478ff4:	ff 75 08             	push   0x8(%ebp)
478ff7:	8b cb                	mov    %ebx,%ecx
478ff9:	ff 75 fc             	push   -0x4(%ebp)
478ffc:	ff 75 f4             	push   -0xc(%ebp)
478fff:	e8 9c 32 02 00       	call   0x49c2a0
479004:	8b 45 f8             	mov    -0x8(%ebp),%eax
479007:	5f                   	pop    %edi
479008:	5e                   	pop    %esi
479009:	5b                   	pop    %ebx
47900a:	8b e5                	mov    %ebp,%esp
47900c:	5d                   	pop    %ebp
47900d:	c2 08 00             	ret    $0x8
479010:	e8 8b 37 fe ff       	call   0x45c7a0
479015:	cc                   	int3
479016:	cc                   	int3
479017:	cc                   	int3
479018:	cc                   	int3
479019:	cc                   	int3
47901a:	cc                   	int3
47901b:	cc                   	int3
47901c:	cc                   	int3
47901d:	cc                   	int3
47901e:	cc                   	int3
47901f:	cc                   	int3
479020:	55                   	push   %ebp
479021:	8b ec                	mov    %esp,%ebp
479023:	83 ec 0c             	sub    $0xc,%esp
479026:	53                   	push   %ebx
479027:	8b d9                	mov    %ecx,%ebx
479029:	56                   	push   %esi
47902a:	8b 75 08             	mov    0x8(%ebp),%esi
47902d:	57                   	push   %edi
47902e:	8b 13                	mov    (%ebx),%edx
479030:	8b fe                	mov    %esi,%edi
479032:	8b 43 04             	mov    0x4(%ebx),%eax
479035:	2b fa                	sub    %edx,%edi
479037:	2b c2                	sub    %edx,%eax
479039:	c1 ff 02             	sar    $0x2,%edi
47903c:	c1 f8 02             	sar    $0x2,%eax
47903f:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
479044:	0f 84 c6 00 00 00    	je     0x479110
47904a:	8b 4b 08             	mov    0x8(%ebx),%ecx
47904d:	40                   	inc    %eax
47904e:	2b ca                	sub    %edx,%ecx
479050:	89 45 fc             	mov    %eax,-0x4(%ebp)
479053:	c1 f9 02             	sar    $0x2,%ecx
479056:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
47905b:	8b d1                	mov    %ecx,%edx
47905d:	d1 ea                	shr    $1,%edx
47905f:	2b c2                	sub    %edx,%eax
479061:	3b c8                	cmp    %eax,%ecx
479063:	76 07                	jbe    0x47906c
479065:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
47906a:	eb 0a                	jmp    0x479076
47906c:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
47906f:	3b 45 fc             	cmp    -0x4(%ebp),%eax
479072:	0f 42 45 fc          	cmovb  -0x4(%ebp),%eax
479076:	50                   	push   %eax
479077:	8b cb                	mov    %ebx,%ecx
479079:	89 45 08             	mov    %eax,0x8(%ebp)
47907c:	e8 4f 02 ff ff       	call   0x4692d0
479081:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479084:	89 45 f4             	mov    %eax,-0xc(%ebp)
479087:	8d 14 b8             	lea    (%eax,%edi,4),%edx
47908a:	8b 09                	mov    (%ecx),%ecx
47908c:	89 0a                	mov    %ecx,(%edx)
47908e:	8b 7b 04             	mov    0x4(%ebx),%edi
479091:	8b 0b                	mov    (%ebx),%ecx
479093:	89 55 f8             	mov    %edx,-0x8(%ebp)
479096:	8b d0                	mov    %eax,%edx
479098:	3b f7                	cmp    %edi,%esi
47909a:	75 1b                	jne    0x4790b7
47909c:	3b cf                	cmp    %edi,%ecx
47909e:	74 54                	je     0x4790f4
4790a0:	8b 01                	mov    (%ecx),%eax
4790a2:	8d 52 04             	lea    0x4(%edx),%edx
4790a5:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
4790ab:	83 c1 04             	add    $0x4,%ecx
4790ae:	89 42 fc             	mov    %eax,-0x4(%edx)
4790b1:	3b cf                	cmp    %edi,%ecx
4790b3:	75 eb                	jne    0x4790a0
4790b5:	eb 3d                	jmp    0x4790f4
4790b7:	3b ce                	cmp    %esi,%ecx
4790b9:	74 1d                	je     0x4790d8
4790bb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4790c0:	8b 01                	mov    (%ecx),%eax
4790c2:	8d 52 04             	lea    0x4(%edx),%edx
4790c5:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
4790cb:	83 c1 04             	add    $0x4,%ecx
4790ce:	89 42 fc             	mov    %eax,-0x4(%edx)
4790d1:	3b ce                	cmp    %esi,%ecx
4790d3:	75 eb                	jne    0x4790c0
4790d5:	8b 7b 04             	mov    0x4(%ebx),%edi
4790d8:	3b f7                	cmp    %edi,%esi
4790da:	74 18                	je     0x4790f4
4790dc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4790df:	2b ce                	sub    %esi,%ecx
4790e1:	8b 06                	mov    (%esi),%eax
4790e3:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4790e9:	89 44 31 04          	mov    %eax,0x4(%ecx,%esi,1)
4790ed:	83 c6 04             	add    $0x4,%esi
4790f0:	3b f7                	cmp    %edi,%esi
4790f2:	75 ed                	jne    0x4790e1
4790f4:	ff 75 08             	push   0x8(%ebp)
4790f7:	8b cb                	mov    %ebx,%ecx
4790f9:	ff 75 fc             	push   -0x4(%ebp)
4790fc:	ff 75 f4             	push   -0xc(%ebp)
4790ff:	e8 1c 31 02 00       	call   0x49c220
479104:	8b 45 f8             	mov    -0x8(%ebp),%eax
479107:	5f                   	pop    %edi
479108:	5e                   	pop    %esi
479109:	5b                   	pop    %ebx
47910a:	8b e5                	mov    %ebp,%esp
47910c:	5d                   	pop    %ebp
47910d:	c2 08 00             	ret    $0x8
479110:	e8 8b 36 fe ff       	call   0x45c7a0
479115:	cc                   	int3
479116:	cc                   	int3
479117:	cc                   	int3
479118:	cc                   	int3
479119:	cc                   	int3
47911a:	cc                   	int3
47911b:	cc                   	int3
47911c:	cc                   	int3
47911d:	cc                   	int3
47911e:	cc                   	int3
47911f:	cc                   	int3
479120:	55                   	push   %ebp
479121:	8b ec                	mov    %esp,%ebp
479123:	83 ec 10             	sub    $0x10,%esp
479126:	53                   	push   %ebx
479127:	8b d9                	mov    %ecx,%ebx
479129:	56                   	push   %esi
47912a:	8b 75 08             	mov    0x8(%ebp),%esi
47912d:	57                   	push   %edi
47912e:	8b 13                	mov    (%ebx),%edx
479130:	8b fe                	mov    %esi,%edi
479132:	8b 43 04             	mov    0x4(%ebx),%eax
479135:	2b fa                	sub    %edx,%edi
479137:	2b c2                	sub    %edx,%eax
479139:	c1 ff 03             	sar    $0x3,%edi
47913c:	c1 f8 03             	sar    $0x3,%eax
47913f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
479142:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
479147:	0f 84 d9 00 00 00    	je     0x479226
47914d:	8b 4b 08             	mov    0x8(%ebx),%ecx
479150:	40                   	inc    %eax
479151:	2b ca                	sub    %edx,%ecx
479153:	89 45 f4             	mov    %eax,-0xc(%ebp)
479156:	c1 f9 03             	sar    $0x3,%ecx
479159:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
47915e:	8b d1                	mov    %ecx,%edx
479160:	d1 ea                	shr    $1,%edx
479162:	2b c2                	sub    %edx,%eax
479164:	3b c8                	cmp    %eax,%ecx
479166:	76 07                	jbe    0x47916f
479168:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
47916d:	eb 0a                	jmp    0x479179
47916f:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
479172:	3b 45 f4             	cmp    -0xc(%ebp),%eax
479175:	0f 42 45 f4          	cmovb  -0xc(%ebp),%eax
479179:	50                   	push   %eax
47917a:	8b cb                	mov    %ebx,%ecx
47917c:	89 45 f8             	mov    %eax,-0x8(%ebp)
47917f:	e8 dc 43 02 00       	call   0x49d560
479184:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479187:	89 45 f0             	mov    %eax,-0x10(%ebp)
47918a:	8d 3c f8             	lea    (%eax,%edi,8),%edi
47918d:	8b 11                	mov    (%ecx),%edx
47918f:	8b 49 04             	mov    0x4(%ecx),%ecx
479192:	89 4f 04             	mov    %ecx,0x4(%edi)
479195:	8b 4d fc             	mov    -0x4(%ebp),%ecx
479198:	89 17                	mov    %edx,(%edi)
47919a:	8b 5b 04             	mov    0x4(%ebx),%ebx
47919d:	89 7d 08             	mov    %edi,0x8(%ebp)
4791a0:	8b 09                	mov    (%ecx),%ecx
4791a2:	3b f3                	cmp    %ebx,%esi
4791a4:	75 21                	jne    0x4791c7
4791a6:	8b f0                	mov    %eax,%esi
4791a8:	3b cb                	cmp    %ebx,%ecx
4791aa:	74 5e                	je     0x47920a