478c9e:	56                   	push   %esi
478c9f:	52                   	push   %edx
478ca0:	50                   	push   %eax
478ca1:	51                   	push   %ecx
478ca2:	e8 39 1b 00 00       	call   0x47a7e0
478ca7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
478caa:	83 c4 10             	add    $0x10,%esp
478cad:	40                   	inc    %eax
478cae:	8b ce                	mov    %esi,%ecx
478cb0:	57                   	push   %edi
478cb1:	50                   	push   %eax
478cb2:	53                   	push   %ebx
478cb3:	e8 68 36 02 00       	call   0x49c320
478cb8:	8b 45 e0             	mov    -0x20(%ebp),%eax
478cbb:	8b 4d f4             	mov    -0xc(%ebp),%ecx
478cbe:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
478cc5:	59                   	pop    %ecx
478cc6:	5f                   	pop    %edi
478cc7:	5e                   	pop    %esi
478cc8:	5b                   	pop    %ebx
478cc9:	8b e5                	mov    %ebp,%esp
478ccb:	5d                   	pop    %ebp
478ccc:	c2 08 00             	ret    $0x8
478ccf:	8b 45 ec             	mov    -0x14(%ebp),%eax
478cd2:	8b 4d dc             	mov    -0x24(%ebp),%ecx
478cd5:	50                   	push   %eax
478cd6:	50                   	push   %eax
478cd7:	e8 a4 37 02 00       	call   0x49c480
478cdc:	ff 75 e8             	push   -0x18(%ebp)
478cdf:	8b 4d dc             	mov    -0x24(%ebp),%ecx
478ce2:	ff 75 d8             	push   -0x28(%ebp)
478ce5:	e8 36 4c 02 00       	call   0x49d920
478cea:	6a 00                	push   $0x0
478cec:	6a 00                	push   $0x0
478cee:	e8 4c ae 15 00       	call   0x5d3b3f
478cf3:	e8 a8 3a fe ff       	call   0x45c7a0
478cf8:	cc                   	int3
478cf9:	cc                   	int3
478cfa:	cc                   	int3
478cfb:	cc                   	int3
478cfc:	cc                   	int3
478cfd:	cc                   	int3
478cfe:	cc                   	int3
478cff:	cc                   	int3
478d00:	55                   	push   %ebp
478d01:	8b ec                	mov    %esp,%ebp
478d03:	83 ec 0c             	sub    $0xc,%esp
478d06:	53                   	push   %ebx
478d07:	8b d9                	mov    %ecx,%ebx
478d09:	56                   	push   %esi
478d0a:	8b 75 08             	mov    0x8(%ebp),%esi
478d0d:	57                   	push   %edi
478d0e:	8b 13                	mov    (%ebx),%edx
478d10:	8b fe                	mov    %esi,%edi
478d12:	8b 43 04             	mov    0x4(%ebx),%eax
478d15:	2b fa                	sub    %edx,%edi
478d17:	2b c2                	sub    %edx,%eax
478d19:	c1 ff 02             	sar    $0x2,%edi
478d1c:	c1 f8 02             	sar    $0x2,%eax
478d1f:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
478d24:	0f 84 c6 00 00 00    	je     0x478df0
478d2a:	8b 4b 08             	mov    0x8(%ebx),%ecx
478d2d:	40                   	inc    %eax
478d2e:	2b ca                	sub    %edx,%ecx
478d30:	89 45 fc             	mov    %eax,-0x4(%ebp)
478d33:	c1 f9 02             	sar    $0x2,%ecx
478d36:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
478d3b:	8b d1                	mov    %ecx,%edx
478d3d:	d1 ea                	shr    $1,%edx
478d3f:	2b c2                	sub    %edx,%eax
478d41:	3b c8                	cmp    %eax,%ecx
478d43:	76 07                	jbe    0x478d4c
478d45:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
478d4a:	eb 0a                	jmp    0x478d56
478d4c:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
478d4f:	3b 45 fc             	cmp    -0x4(%ebp),%eax
478d52:	0f 42 45 fc          	cmovb  -0x4(%ebp),%eax
478d56:	50                   	push   %eax
478d57:	8b cb                	mov    %ebx,%ecx
478d59:	89 45 08             	mov    %eax,0x8(%ebp)
478d5c:	e8 6f 05 ff ff       	call   0x4692d0
478d61:	8b 4d 0c             	mov    0xc(%ebp),%ecx
478d64:	89 45 f4             	mov    %eax,-0xc(%ebp)
478d67:	8d 14 b8             	lea    (%eax,%edi,4),%edx
478d6a:	8b 09                	mov    (%ecx),%ecx
478d6c:	89 0a                	mov    %ecx,(%edx)
478d6e:	8b 7b 04             	mov    0x4(%ebx),%edi
478d71:	8b 0b                	mov    (%ebx),%ecx
478d73:	89 55 f8             	mov    %edx,-0x8(%ebp)
478d76:	8b d0                	mov    %eax,%edx
478d78:	3b f7                	cmp    %edi,%esi
478d7a:	75 1b                	jne    0x478d97
478d7c:	3b cf                	cmp    %edi,%ecx
478d7e:	74 54                	je     0x478dd4
478d80:	8b 01                	mov    (%ecx),%eax
478d82:	8d 52 04             	lea    0x4(%edx),%edx
478d85:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
478d8b:	83 c1 04             	add    $0x4,%ecx
478d8e:	89 42 fc             	mov    %eax,-0x4(%edx)
478d91:	3b cf                	cmp    %edi,%ecx
478d93:	75 eb                	jne    0x478d80
478d95:	eb 3d                	jmp    0x478dd4
478d97:	3b ce                	cmp    %esi,%ecx
478d99:	74 1d                	je     0x478db8
478d9b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
478da0:	8b 01                	mov    (%ecx),%eax
478da2:	8d 52 04             	lea    0x4(%edx),%edx
478da5:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
478dab:	83 c1 04             	add    $0x4,%ecx
478dae:	89 42 fc             	mov    %eax,-0x4(%edx)
478db1:	3b ce                	cmp    %esi,%ecx
478db3:	75 eb                	jne    0x478da0
478db5:	8b 7b 04             	mov    0x4(%ebx),%edi
478db8:	3b f7                	cmp    %edi,%esi
478dba:	74 18                	je     0x478dd4
478dbc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
478dbf:	2b ce                	sub    %esi,%ecx
478dc1:	8b 06                	mov    (%esi),%eax
478dc3:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
478dc9:	89 44 31 04          	mov    %eax,0x4(%ecx,%esi,1)
478dcd:	83 c6 04             	add    $0x4,%esi
478dd0:	3b f7                	cmp    %edi,%esi
478dd2:	75 ed                	jne    0x478dc1
478dd4:	ff 75 08             	push   0x8(%ebp)
478dd7:	8b cb                	mov    %ebx,%ecx
478dd9:	ff 75 fc             	push   -0x4(%ebp)
478ddc:	ff 75 f4             	push   -0xc(%ebp)
478ddf:	e8 4c 33 02 00       	call   0x49c130
478de4:	8b 45 f8             	mov    -0x8(%ebp),%eax
478de7:	5f                   	pop    %edi
478de8:	5e                   	pop    %esi
478de9:	5b                   	pop    %ebx
478dea:	8b e5                	mov    %ebp,%esp
478dec:	5d                   	pop    %ebp
478ded:	c2 08 00             	ret    $0x8
478df0:	e8 ab 39 fe ff       	call   0x45c7a0
478df5:	cc                   	int3
478df6:	cc                   	int3
478df7:	cc                   	int3
478df8:	cc                   	int3
478df9:	cc                   	int3
478dfa:	cc                   	int3
478dfb:	cc                   	int3
478dfc:	cc                   	int3
478dfd:	cc                   	int3
478dfe:	cc                   	int3
478dff:	cc                   	int3
478e00:	55                   	push   %ebp
478e01:	8b ec                	mov    %esp,%ebp
478e03:	83 ec 0c             	sub    $0xc,%esp
478e06:	53                   	push   %ebx
478e07:	8b d9                	mov    %ecx,%ebx
478e09:	56                   	push   %esi
478e0a:	8b 75 08             	mov    0x8(%ebp),%esi
478e0d:	57                   	push   %edi
478e0e:	8b 13                	mov    (%ebx),%edx
478e10:	8b fe                	mov    %esi,%edi
478e12:	8b 43 04             	mov    0x4(%ebx),%eax
478e15:	2b fa                	sub    %edx,%edi
478e17:	2b c2                	sub    %edx,%eax
478e19:	c1 ff 02             	sar    $0x2,%edi
478e1c:	c1 f8 02             	sar    $0x2,%eax
478e1f:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
478e24:	0f 84 e6 00 00 00    	je     0x478f10
478e2a:	8b 4b 08             	mov    0x8(%ebx),%ecx
478e2d:	40                   	inc    %eax
478e2e:	2b ca                	sub    %edx,%ecx
478e30:	89 45 fc             	mov    %eax,-0x4(%ebp)
478e33:	c1 f9 02             	sar    $0x2,%ecx
478e36:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
478e3b:	8b d1                	mov    %ecx,%edx
478e3d:	d1 ea                	shr    $1,%edx
478e3f:	2b c2                	sub    %edx,%eax
478e41:	3b c8                	cmp    %eax,%ecx
478e43:	76 07                	jbe    0x478e4c
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