4a3aca:	89 47 08             	mov    %eax,0x8(%edi)
4a3acd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4a3ad0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4a3ad7:	59                   	pop    %ecx
4a3ad8:	5f                   	pop    %edi
4a3ad9:	5e                   	pop    %esi
4a3ada:	8b e5                	mov    %ebp,%esp
4a3adc:	5d                   	pop    %ebp
4a3add:	c2 04 00             	ret    $0x4
4a3ae0:	8b 45 08             	mov    0x8(%ebp),%eax
4a3ae3:	8b 77 10             	mov    0x10(%edi),%esi
4a3ae6:	89 47 04             	mov    %eax,0x4(%edi)
4a3ae9:	c1 e0 02             	shl    $0x2,%eax
4a3aec:	89 75 e0             	mov    %esi,-0x20(%ebp)
4a3aef:	89 45 ec             	mov    %eax,-0x14(%ebp)
4a3af2:	85 c9                	test   %ecx,%ecx
4a3af4:	75 0b                	jne    0x4a3b01
4a3af6:	50                   	push   %eax
4a3af7:	e8 29 d7 12 00       	call   0x5d1225
4a3afc:	83 c4 04             	add    $0x4,%esp
4a3aff:	eb 15                	jmp    0x4a3b16
4a3b01:	83 c0 07             	add    $0x7,%eax
4a3b04:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4a3b0b:	6a 00                	push   $0x0
4a3b0d:	83 e0 f8             	and    $0xfffffff8,%eax
4a3b10:	50                   	push   %eax
4a3b11:	e8 2a 7a fb ff       	call   0x45b540
4a3b16:	ff 75 ec             	push   -0x14(%ebp)
4a3b19:	89 45 f0             	mov    %eax,-0x10(%ebp)
4a3b1c:	6a 00                	push   $0x0
4a3b1e:	50                   	push   %eax
4a3b1f:	e8 4c f1 12 00       	call   0x5d2c70
4a3b24:	8b 45 f0             	mov    -0x10(%ebp),%eax
4a3b27:	83 c4 0c             	add    $0xc,%esp
4a3b2a:	8b 4f 0c             	mov    0xc(%edi),%ecx
4a3b2d:	89 47 10             	mov    %eax,0x10(%edi)
4a3b30:	8b 47 04             	mov    0x4(%edi),%eax
4a3b33:	89 47 0c             	mov    %eax,0xc(%edi)
4a3b36:	8b 45 dc             	mov    -0x24(%ebp),%eax
4a3b39:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4a3b3c:	3b c8                	cmp    %eax,%ecx
4a3b3e:	0f 83 0b 01 00 00    	jae    0x4a3c4f
4a3b44:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
4a3b47:	8b d1                	mov    %ecx,%edx
4a3b49:	83 f2 01             	xor    $0x1,%edx
4a3b4c:	89 45 e8             	mov    %eax,-0x18(%ebp)
4a3b4f:	85 c0                	test   %eax,%eax
4a3b51:	0f 84 e9 00 00 00    	je     0x4a3c40
4a3b57:	3b 04 96             	cmp    (%esi,%edx,4),%eax
4a3b5a:	74 4a                	je     0x4a3ba6
4a3b5c:	0f 1f 40 00          	nopl   0x0(%eax)
4a3b60:	8b 70 28             	mov    0x28(%eax),%esi
4a3b63:	8b cf                	mov    %edi,%ecx
4a3b65:	50                   	push   %eax
4a3b66:	e8 45 e1 ff ff       	call   0x4a1cb0
4a3b6b:	ff 75 e8             	push   -0x18(%ebp)
4a3b6e:	33 47 08             	xor    0x8(%edi),%eax
4a3b71:	68 b9 79 37 9e       	push   $0x9e3779b9
4a3b76:	68 15 7c 4a 7f       	push   $0x7f4a7c15
4a3b7b:	6a 00                	push   $0x0
4a3b7d:	50                   	push   %eax
4a3b7e:	e8 fd e2 12 00       	call   0x5d1e80
4a3b83:	8b 47 04             	mov    0x4(%edi),%eax
4a3b86:	8b cf                	mov    %edi,%ecx
4a3b88:	48                   	dec    %eax
4a3b89:	23 d0                	and    %eax,%edx
4a3b8b:	8d 45 cc             	lea    -0x34(%ebp),%eax
4a3b8e:	52                   	push   %edx
4a3b8f:	50                   	push   %eax
4a3b90:	e8 4b f1 ff ff       	call   0x4a2ce0
4a3b95:	8b c6                	mov    %esi,%eax
4a3b97:	89 45 e8             	mov    %eax,-0x18(%ebp)
4a3b9a:	85 f6                	test   %esi,%esi
4a3b9c:	75 c2                	jne    0x4a3b60
4a3b9e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4a3ba1:	e9 97 00 00 00       	jmp    0x4a3c3d
4a3ba6:	8b 70 04             	mov    0x4(%eax),%esi
4a3ba9:	83 c0 04             	add    $0x4,%eax
4a3bac:	89 45 d8             	mov    %eax,-0x28(%ebp)
4a3baf:	8b 36                	mov    (%esi),%esi
4a3bb1:	89 75 ec             	mov    %esi,-0x14(%ebp)
4a3bb4:	eb 03                	jmp    0x4a3bb9
4a3bb6:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4a3bb9:	ff 76 10             	push   0x10(%esi)
4a3bbc:	8b cf                	mov    %edi,%ecx
4a3bbe:	e8 ed e0 ff ff       	call   0x4a1cb0
4a3bc3:	ff 76 14             	push   0x14(%esi)
4a3bc6:	33 47 08             	xor    0x8(%edi),%eax
4a3bc9:	68 b9 79 37 9e       	push   $0x9e3779b9
4a3bce:	68 15 7c 4a 7f       	push   $0x7f4a7c15
4a3bd3:	6a 00                	push   $0x0
4a3bd5:	50                   	push   %eax
4a3bd6:	e8 a5 e2 12 00       	call   0x5d1e80
4a3bdb:	8b 47 04             	mov    0x4(%edi),%eax
4a3bde:	8b cf                	mov    %edi,%ecx
4a3be0:	48                   	dec    %eax
4a3be1:	23 d0                	and    %eax,%edx
4a3be3:	8d 45 c0             	lea    -0x40(%ebp),%eax
4a3be6:	52                   	push   %edx
4a3be7:	50                   	push   %eax
4a3be8:	e8 f3 f0 ff ff       	call   0x4a2ce0
4a3bed:	8b 45 d8             	mov    -0x28(%ebp),%eax
4a3bf0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4a3bf3:	8b 38                	mov    (%eax),%edi
4a3bf5:	e8 66 a7 fd ff       	call   0x47e360
4a3bfa:	8b 75 ec             	mov    -0x14(%ebp),%esi
4a3bfd:	3b f7                	cmp    %edi,%esi
4a3bff:	75 b5                	jne    0x4a3bb6
4a3c01:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4a3c04:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
4a3c08:	75 2c                	jne    0x4a3c36
4a3c0a:	8b 75 e8             	mov    -0x18(%ebp),%esi
4a3c0d:	ff 77 04             	push   0x4(%edi)
4a3c10:	56                   	push   %esi
4a3c11:	8d 4e 04             	lea    0x4(%esi),%ecx
4a3c14:	e8 37 d1 ff ff       	call   0x4a0d50
4a3c19:	83 3e 00             	cmpl   $0x0,(%esi)
4a3c1c:	75 0d                	jne    0x4a3c2b
4a3c1e:	6a 18                	push   $0x18
4a3c20:	ff 76 04             	push   0x4(%esi)
4a3c23:	e8 2d d6 12 00       	call   0x5d1255
4a3c28:	83 c4 08             	add    $0x8,%esp
4a3c2b:	6a 0c                	push   $0xc
4a3c2d:	56                   	push   %esi
4a3c2e:	e8 22 d6 12 00       	call   0x5d1255
4a3c33:	83 c4 08             	add    $0x8,%esp
4a3c36:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4a3c39:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4a3c3c:	41                   	inc    %ecx
4a3c3d:	8b 75 e0             	mov    -0x20(%ebp),%esi
4a3c40:	8b 45 dc             	mov    -0x24(%ebp),%eax
4a3c43:	41                   	inc    %ecx
4a3c44:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4a3c47:	3b c8                	cmp    %eax,%ecx
4a3c49:	0f 82 f5 fe ff ff    	jb     0x4a3b44
4a3c4f:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
4a3c53:	75 0d                	jne    0x4a3c62
4a3c55:	c1 e0 02             	shl    $0x2,%eax
4a3c58:	50                   	push   %eax
4a3c59:	56                   	push   %esi
4a3c5a:	e8 f6 d5 12 00       	call   0x5d1255
4a3c5f:	83 c4 08             	add    $0x8,%esp
4a3c62:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4a3c65:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4a3c6c:	59                   	pop    %ecx
4a3c6d:	5f                   	pop    %edi
4a3c6e:	5e                   	pop    %esi
4a3c6f:	8b e5                	mov    %ebp,%esp
4a3c71:	5d                   	pop    %ebp
4a3c72:	c2 04 00             	ret    $0x4
4a3c75:	cc                   	int3
4a3c76:	cc                   	int3
4a3c77:	cc                   	int3
4a3c78:	cc                   	int3
4a3c79:	cc                   	int3
4a3c7a:	cc                   	int3
4a3c7b:	cc                   	int3
4a3c7c:	cc                   	int3
4a3c7d:	cc                   	int3
4a3c7e:	cc                   	int3
4a3c7f:	cc                   	int3
4a3c80:	55                   	push   %ebp
4a3c81:	8b ec                	mov    %esp,%ebp
4a3c83:	8b 45 08             	mov    0x8(%ebp),%eax
4a3c86:	53                   	push   %ebx
4a3c87:	57                   	push   %edi
4a3c88:	8b f9                	mov    %ecx,%edi
4a3c8a:	8b 5f 04             	mov    0x4(%edi),%ebx
4a3c8d:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
4a3c93:	89 47 08             	mov    %eax,0x8(%edi)
4a3c96:	3b 43 04             	cmp    0x4(%ebx),%eax
4a3c99:	73 46                	jae    0x4a3ce1
4a3c9b:	56                   	push   %esi
4a3c9c:	0f 1f 40 00          	nopl   0x0(%eax)
4a3ca0:	8b 73 10             	mov    0x10(%ebx),%esi
4a3ca3:	8b c8                	mov    %eax,%ecx
4a3ca5:	83 f1 01             	xor    $0x1,%ecx
4a3ca8:	8b 14 86             	mov    (%esi,%eax,4),%edx
4a3cab:	85 d2                	test   %edx,%edx
4a3cad:	74 0e                	je     0x4a3cbd
4a3caf:	3b 14 8e             	cmp    (%esi,%ecx,4),%edx
4a3cb2:	75 19                	jne    0x4a3ccd
4a3cb4:	85 d2                	test   %edx,%edx
4a3cb6:	74 05                	je     0x4a3cbd
4a3cb8:	3b 14 8e             	cmp    (%esi,%ecx,4),%edx
4a3cbb:	74 19                	je     0x4a3cd6
4a3cbd:	40                   	inc    %eax
4a3cbe:	89 47 08             	mov    %eax,0x8(%edi)
4a3cc1:	3b 43 04             	cmp    0x4(%ebx),%eax
4a3cc4:	72 da                	jb     0x4a3ca0
4a3cc6:	5e                   	pop    %esi
4a3cc7:	5f                   	pop    %edi
4a3cc8:	5b                   	pop    %ebx
4a3cc9:	5d                   	pop    %ebp
4a3cca:	c2 04 00             	ret    $0x4
4a3ccd:	5e                   	pop    %esi
4a3cce:	89 17                	mov    %edx,(%edi)
4a3cd0:	5f                   	pop    %edi
4a3cd1:	5b                   	pop    %ebx
4a3cd2:	5d                   	pop    %ebp
4a3cd3:	c2 04 00             	ret    $0x4
4a3cd6:	8b 42 04             	mov    0x4(%edx),%eax
4a3cd9:	5e                   	pop    %esi
4a3cda:	8b 00                	mov    (%eax),%eax
4a3cdc:	8b 40 14             	mov    0x14(%eax),%eax
4a3cdf:	89 07                	mov    %eax,(%edi)
4a3ce1:	5f                   	pop    %edi
4a3ce2:	5b                   	pop    %ebx
4a3ce3:	5d                   	pop    %ebp
4a3ce4:	c2 04 00             	ret    $0x4
4a3ce7:	cc                   	int3
4a3ce8:	cc                   	int3
4a3ce9:	cc                   	int3
4a3cea:	cc                   	int3
4a3ceb:	cc                   	int3
4a3cec:	cc                   	int3
4a3ced:	cc                   	int3
4a3cee:	cc                   	int3
4a3cef:	cc                   	int3
4a3cf0:	c7 41 40 00 00 00 00 	movl   $0x0,0x40(%ecx)
4a3cf7:	c3                   	ret
4a3cf8:	cc                   	int3
4a3cf9:	cc                   	int3
4a3cfa:	cc                   	int3
4a3cfb:	cc                   	int3
4a3cfc:	cc                   	int3
4a3cfd:	cc                   	int3
4a3cfe:	cc                   	int3
4a3cff:	cc                   	int3
4a3d00:	55                   	push   %ebp
4a3d01:	8b ec                	mov    %esp,%ebp
4a3d03:	83 ec 0c             	sub    $0xc,%esp
4a3d06:	56                   	push   %esi
4a3d07:	8b 75 08             	mov    0x8(%ebp),%esi
4a3d0a:	57                   	push   %edi
4a3d0b:	8b 06                	mov    (%esi),%eax
4a3d0d:	f3 0f 7e 00          	movq   (%eax),%xmm0
4a3d11:	66 0f d6 45 f4       	movq   %xmm0,-0xc(%ebp)
4a3d16:	8b 7d f4             	mov    -0xc(%ebp),%edi
4a3d19:	85 ff                	test   %edi,%edi
4a3d1b:	74 15                	je     0x4a3d32
4a3d1d:	57                   	push   %edi
4a3d1e:	8d 4e 08             	lea    0x8(%esi),%ecx
4a3d21:	e8 ca b7 fc ff       	call   0x46f4f0
4a3d26:	8b 47 24             	mov    0x24(%edi),%eax
4a3d29:	89 46 2c             	mov    %eax,0x2c(%esi)
4a3d2c:	8b 47 20             	mov    0x20(%edi),%eax
4a3d2f:	89 46 28             	mov    %eax,0x28(%esi)
4a3d32:	5f                   	pop    %edi
4a3d33:	5e                   	pop    %esi
4a3d34:	8b e5                	mov    %ebp,%esp
4a3d36:	5d                   	pop    %ebp
4a3d37:	c2 04 00             	ret    $0x4
4a3d3a:	cc                   	int3
4a3d3b:	cc                   	int3
4a3d3c:	cc                   	int3
4a3d3d:	cc                   	int3
4a3d3e:	cc                   	int3
4a3d3f:	cc                   	int3
4a3d40:	53                   	push   %ebx
4a3d41:	8b d9                	mov    %ecx,%ebx
4a3d43:	56                   	push   %esi
4a3d44:	8b 73 08             	mov    0x8(%ebx),%esi
4a3d47:	8b 43 0c             	mov    0xc(%ebx),%eax
4a3d4a:	c1 e6 02             	shl    $0x2,%esi
4a3d4d:	85 c0                	test   %eax,%eax
4a3d4f:	74 29                	je     0x4a3d7a
4a3d51:	57                   	push   %edi
4a3d52:	33 ff                	xor    %edi,%edi
4a3d54:	39 38                	cmp    %edi,(%eax)
4a3d56:	7e 1b                	jle    0x4a3d73
4a3d58:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
4a3d5f:	00
4a3d60:	8b 4c b8 04          	mov    0x4(%eax,%edi,4),%ecx
4a3d64:	8b 01                	mov    (%ecx),%eax
4a3d66:	ff 50 40             	call   *0x40(%eax)
4a3d69:	03 f0                	add    %eax,%esi
4a3d6b:	47                   	inc    %edi
4a3d6c:	8b 43 0c             	mov    0xc(%ebx),%eax
4a3d6f:	3b 38                	cmp    (%eax),%edi
4a3d71:	7c ed                	jl     0x4a3d60
4a3d73:	5f                   	pop    %edi
4a3d74:	8d 46 04             	lea    0x4(%esi),%eax
4a3d77:	5e                   	pop    %esi
4a3d78:	5b                   	pop    %ebx
4a3d79:	c3                   	ret
4a3d7a:	8b c6                	mov    %esi,%eax
4a3d7c:	5e                   	pop    %esi
4a3d7d:	5b                   	pop    %ebx
4a3d7e:	c3                   	ret
4a3d7f:	cc                   	int3
4a3d80:	55                   	push   %ebp
4a3d81:	8b ec                	mov    %esp,%ebp
4a3d83:	83 ec 08             	sub    $0x8,%esp
4a3d86:	56                   	push   %esi
4a3d87:	8b c1                	mov    %ecx,%eax
4a3d89:	57                   	push   %edi
4a3d8a:	6a 00                	push   $0x0
4a3d8c:	89 45 f8             	mov    %eax,-0x8(%ebp)
4a3d8f:	8d 78 0c             	lea    0xc(%eax),%edi
4a3d92:	8d 45 fc             	lea    -0x4(%ebp),%eax
4a3d95:	50                   	push   %eax
4a3d96:	6a 00                	push   $0x0
4a3d98:	57                   	push   %edi
4a3d99:	ff 15 98 21 60 00    	call   *0x602198
4a3d9f:	85 c0                	test   %eax,%eax
4a3da1:	0f 84 80 00 00 00    	je     0x4a3e27
4a3da7:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4a3dab:	8d 77 04             	lea    0x4(%edi),%esi
4a3dae:	74 1a                	je     0x4a3dca
4a3db0:	6a 02                	push   $0x2
4a3db2:	56                   	push   %esi
4a3db3:	e8 5e ce 12 00       	call   0x5d0c16
4a3db8:	83 c4 08             	add    $0x8,%esp
4a3dbb:	6a 00                	push   $0x0
4a3dbd:	6a 00                	push   $0x0
4a3dbf:	57                   	push   %edi
4a3dc0:	ff 15 94 21 60 00    	call   *0x602194
4a3dc6:	85 c0                	test   %eax,%eax
4a3dc8:	74 5d                	je     0x4a3e27
4a3dca:	56                   	push   %esi
4a3dcb:	e8 62 ce 12 00       	call   0x5d0c32
4a3dd0:	83 c4 04             	add    $0x4,%esp
4a3dd3:	85 c0                	test   %eax,%eax
4a3dd5:	75 55                	jne    0x4a3e2c
4a3dd7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4a3dda:	8b 01                	mov    (%ecx),%eax
4a3ddc:	ff 50 30             	call   *0x30(%eax)
4a3ddf:	6a 00                	push   $0x0
4a3de1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4a3de4:	8d 45 f8             	lea    -0x8(%ebp),%eax
4a3de7:	50                   	push   %eax
4a3de8:	6a 00                	push   $0x0
4a3dea:	57                   	push   %edi
4a3deb:	ff 15 98 21 60 00    	call   *0x602198
4a3df1:	85 c0                	test   %eax,%eax
4a3df3:	74 32                	je     0x4a3e27
4a3df5:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4a3df9:	74 1a                	je     0x4a3e15
4a3dfb:	6a 02                	push   $0x2
4a3dfd:	56                   	push   %esi
4a3dfe:	e8 13 ce 12 00       	call   0x5d0c16
4a3e03:	83 c4 08             	add    $0x8,%esp
4a3e06:	6a 00                	push   $0x0
4a3e08:	6a 00                	push   $0x0
4a3e0a:	57                   	push   %edi
4a3e0b:	ff 15 94 21 60 00    	call   *0x602194
4a3e11:	85 c0                	test   %eax,%eax
4a3e13:	74 12                	je     0x4a3e27
4a3e15:	56                   	push   %esi