478af2:	83 c4 08             	add    $0x8,%esp
478af5:	6a 18                	push   $0x18
478af7:	56                   	push   %esi
478af8:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
478aff:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
478b06:	c6 06 00             	movb   $0x0,(%esi)
478b09:	e8 47 87 15 00       	call   0x5d1255
478b0e:	83 c4 08             	add    $0x8,%esp
478b11:	83 c7 04             	add    $0x4,%edi
478b14:	3b fb                	cmp    %ebx,%edi
478b16:	75 a8                	jne    0x478ac0
478b18:	5e                   	pop    %esi
478b19:	5f                   	pop    %edi
478b1a:	5b                   	pop    %ebx
478b1b:	5d                   	pop    %ebp
478b1c:	c3                   	ret
478b1d:	e8 ce d6 15 00       	call   0x5d61f0
478b22:	cc                   	int3
478b23:	cc                   	int3
478b24:	cc                   	int3
478b25:	cc                   	int3
478b26:	cc                   	int3
478b27:	cc                   	int3
478b28:	cc                   	int3
478b29:	cc                   	int3
478b2a:	cc                   	int3
478b2b:	cc                   	int3
478b2c:	cc                   	int3
478b2d:	cc                   	int3
478b2e:	cc                   	int3
478b2f:	cc                   	int3
478b30:	55                   	push   %ebp
478b31:	8b ec                	mov    %esp,%ebp
478b33:	56                   	push   %esi
478b34:	8b 75 08             	mov    0x8(%ebp),%esi
478b37:	57                   	push   %edi
478b38:	8b 7d 0c             	mov    0xc(%ebp),%edi
478b3b:	3b f7                	cmp    %edi,%esi
478b3d:	74 4b                	je     0x478b8a
478b3f:	90                   	nop
478b40:	8b 06                	mov    (%esi),%eax
478b42:	85 c0                	test   %eax,%eax
478b44:	74 3d                	je     0x478b83
478b46:	8b 4e 08             	mov    0x8(%esi),%ecx
478b49:	2b c8                	sub    %eax,%ecx
478b4b:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
478b51:	72 12                	jb     0x478b65
478b53:	8b 50 fc             	mov    -0x4(%eax),%edx
478b56:	83 c1 23             	add    $0x23,%ecx
478b59:	2b c2                	sub    %edx,%eax
478b5b:	83 c0 fc             	add    $0xfffffffc,%eax
478b5e:	83 f8 1f             	cmp    $0x1f,%eax
478b61:	77 2b                	ja     0x478b8e
478b63:	8b c2                	mov    %edx,%eax
478b65:	51                   	push   %ecx
478b66:	50                   	push   %eax
478b67:	e8 e9 86 15 00       	call   0x5d1255
478b6c:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
478b72:	83 c4 08             	add    $0x8,%esp
478b75:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
478b7c:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
478b83:	83 c6 0c             	add    $0xc,%esi
478b86:	3b f7                	cmp    %edi,%esi
478b88:	75 b6                	jne    0x478b40
478b8a:	5f                   	pop    %edi
478b8b:	5e                   	pop    %esi
478b8c:	5d                   	pop    %ebp
478b8d:	c3                   	ret
478b8e:	e8 5d d6 15 00       	call   0x5d61f0
478b93:	cc                   	int3
478b94:	cc                   	int3
478b95:	cc                   	int3
478b96:	cc                   	int3
478b97:	cc                   	int3
478b98:	cc                   	int3
478b99:	cc                   	int3
478b9a:	cc                   	int3
478b9b:	cc                   	int3
478b9c:	cc                   	int3
478b9d:	cc                   	int3
478b9e:	cc                   	int3
478b9f:	cc                   	int3
478ba0:	55                   	push   %ebp
478ba1:	8b ec                	mov    %esp,%ebp
478ba3:	6a ff                	push   $0xffffffff
478ba5:	68 e0 a3 5f 00       	push   $0x5fa3e0
478baa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
478bb0:	50                   	push   %eax
478bb1:	83 ec 1c             	sub    $0x1c,%esp
478bb4:	53                   	push   %ebx
478bb5:	56                   	push   %esi
478bb6:	57                   	push   %edi
478bb7:	a1 c0 14 69 00       	mov    0x6914c0,%eax
478bbc:	33 c5                	xor    %ebp,%eax
478bbe:	50                   	push   %eax
478bbf:	8d 45 f4             	lea    -0xc(%ebp),%eax
478bc2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
478bc8:	89 65 f0             	mov    %esp,-0x10(%ebp)
478bcb:	8b f1                	mov    %ecx,%esi
478bcd:	89 75 dc             	mov    %esi,-0x24(%ebp)
478bd0:	8b 3e                	mov    (%esi),%edi
478bd2:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
478bd7:	8b 55 08             	mov    0x8(%ebp),%edx
478bda:	8b 4e 04             	mov    0x4(%esi),%ecx
478bdd:	2b d7                	sub    %edi,%edx
478bdf:	f7 ea                	imul   %edx
478be1:	2b cf                	sub    %edi,%ecx
478be3:	d1 fa                	sar    $1,%edx
478be5:	8b c2                	mov    %edx,%eax
478be7:	c1 e8 1f             	shr    $0x1f,%eax
478bea:	03 c2                	add    %edx,%eax
478bec:	89 45 ec             	mov    %eax,-0x14(%ebp)
478bef:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
478bf4:	f7 e9                	imul   %ecx
478bf6:	d1 fa                	sar    $1,%edx
478bf8:	8b c2                	mov    %edx,%eax
478bfa:	c1 e8 1f             	shr    $0x1f,%eax
478bfd:	03 c2                	add    %edx,%eax
478bff:	89 45 e4             	mov    %eax,-0x1c(%ebp)
478c02:	3d 55 55 55 15       	cmp    $0x15555555,%eax
478c07:	0f 84 e6 00 00 00    	je     0x478cf3
478c0d:	8b 4e 08             	mov    0x8(%esi),%ecx
478c10:	8d 58 01             	lea    0x1(%eax),%ebx
478c13:	2b cf                	sub    %edi,%ecx
478c15:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
478c1a:	f7 e9                	imul   %ecx
478c1c:	b8 55 55 55 15       	mov    $0x15555555,%eax
478c21:	d1 fa                	sar    $1,%edx
478c23:	8b ca                	mov    %edx,%ecx
478c25:	c1 e9 1f             	shr    $0x1f,%ecx
478c28:	03 ca                	add    %edx,%ecx
478c2a:	8b d1                	mov    %ecx,%edx
478c2c:	d1 ea                	shr    $1,%edx
478c2e:	2b c2                	sub    %edx,%eax
478c30:	3b c8                	cmp    %eax,%ecx
478c32:	76 07                	jbe    0x478c3b
478c34:	bf 55 55 55 15       	mov    $0x15555555,%edi
478c39:	eb 08                	jmp    0x478c43
478c3b:	8d 3c 0a             	lea    (%edx,%ecx,1),%edi
478c3e:	3b fb                	cmp    %ebx,%edi
478c40:	0f 42 fb             	cmovb  %ebx,%edi
478c43:	57                   	push   %edi
478c44:	8b ce                	mov    %esi,%ecx
478c46:	89 7d e8             	mov    %edi,-0x18(%ebp)
478c49:	e8 d2 49 02 00       	call   0x49d620
478c4e:	ff 75 0c             	push   0xc(%ebp)
478c51:	8b d8                	mov    %eax,%ebx
478c53:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
478c5a:	8b 45 ec             	mov    -0x14(%ebp),%eax
478c5d:	89 5d d8             	mov    %ebx,-0x28(%ebp)
478c60:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
478c63:	8d 04 8b             	lea    (%ebx,%ecx,4),%eax
478c66:	50                   	push   %eax
478c67:	8d 48 0c             	lea    0xc(%eax),%ecx
478c6a:	89 45 e0             	mov    %eax,-0x20(%ebp)
478c6d:	56                   	push   %esi
478c6e:	89 4d ec             	mov    %ecx,-0x14(%ebp)
478c71:	e8 1a 1d 00 00       	call   0x47a990
478c76:	8b 46 04             	mov    0x4(%esi),%eax
478c79:	83 c4 0c             	add    $0xc,%esp
478c7c:	8b 55 08             	mov    0x8(%ebp),%edx
478c7f:	8b 0e                	mov    (%esi),%ecx
478c81:	3b d0                	cmp    %eax,%edx
478c83:	75 04                	jne    0x478c89
478c85:	8b d3                	mov    %ebx,%edx
478c87:	eb 15                	jmp    0x478c9e
478c89:	56                   	push   %esi
478c8a:	53                   	push   %ebx
478c8b:	52                   	push   %edx
478c8c:	51                   	push   %ecx
478c8d:	e8 4e 1b 00 00       	call   0x47a7e0
478c92:	8b 4d 08             	mov    0x8(%ebp),%ecx
478c95:	83 c4 10             	add    $0x10,%esp
478c98:	8b 46 04             	mov    0x4(%esi),%eax
478c9b:	8b 55 ec             	mov    -0x14(%ebp),%edx
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