47a980:	8b 46 3c             	mov    0x3c(%esi),%eax
47a983:	89 47 3c             	mov    %eax,0x3c(%edi)
47a986:	8b 46 40             	mov    0x40(%esi),%eax
47a989:	89 47 40             	mov    %eax,0x40(%edi)
47a98c:	5f                   	pop    %edi
47a98d:	5e                   	pop    %esi
47a98e:	5d                   	pop    %ebp
47a98f:	c3                   	ret
47a990:	55                   	push   %ebp
47a991:	8b ec                	mov    %esp,%ebp
47a993:	8b 45 10             	mov    0x10(%ebp),%eax
47a996:	53                   	push   %ebx
47a997:	8b 5d 0c             	mov    0xc(%ebp),%ebx
47a99a:	56                   	push   %esi
47a99b:	8b 30                	mov    (%eax),%esi
47a99d:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
47a9a3:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
47a9aa:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
47a9b1:	85 f6                	test   %esi,%esi
47a9b3:	74 56                	je     0x47aa0b
47a9b5:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
47a9bb:	77 52                	ja     0x47aa0f
47a9bd:	57                   	push   %edi
47a9be:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
47a9c4:	72 1f                	jb     0x47a9e5
47a9c6:	8d 46 23             	lea    0x23(%esi),%eax
47a9c9:	3b c6                	cmp    %esi,%eax
47a9cb:	76 47                	jbe    0x47aa14
47a9cd:	50                   	push   %eax
47a9ce:	e8 52 68 15 00       	call   0x5d1225
47a9d3:	83 c4 04             	add    $0x4,%esp
47a9d6:	85 c0                	test   %eax,%eax
47a9d8:	74 3f                	je     0x47aa19
47a9da:	8d 78 23             	lea    0x23(%eax),%edi
47a9dd:	83 e7 e0             	and    $0xffffffe0,%edi
47a9e0:	89 47 fc             	mov    %eax,-0x4(%edi)
47a9e3:	eb 0b                	jmp    0x47a9f0
47a9e5:	56                   	push   %esi
47a9e6:	e8 3a 68 15 00       	call   0x5d1225
47a9eb:	83 c4 04             	add    $0x4,%esp
47a9ee:	8b f8                	mov    %eax,%edi
47a9f0:	56                   	push   %esi
47a9f1:	8d 0c 37             	lea    (%edi,%esi,1),%ecx
47a9f4:	89 3b                	mov    %edi,(%ebx)
47a9f6:	6a 00                	push   $0x0
47a9f8:	57                   	push   %edi
47a9f9:	89 4b 08             	mov    %ecx,0x8(%ebx)
47a9fc:	e8 6f 82 15 00       	call   0x5d2c70
47aa01:	83 c4 0c             	add    $0xc,%esp
47aa04:	8d 04 37             	lea    (%edi,%esi,1),%eax
47aa07:	89 43 04             	mov    %eax,0x4(%ebx)
47aa0a:	5f                   	pop    %edi
47aa0b:	5e                   	pop    %esi
47aa0c:	5b                   	pop    %ebx
47aa0d:	5d                   	pop    %ebp
47aa0e:	c3                   	ret
47aa0f:	e8 8c 1d fe ff       	call   0x45c7a0
47aa14:	e8 d7 cb fc ff       	call   0x4475f0
47aa19:	e8 d2 b7 15 00       	call   0x5d61f0
47aa1e:	cc                   	int3
47aa1f:	cc                   	int3
47aa20:	55                   	push   %ebp
47aa21:	8b ec                	mov    %esp,%ebp
47aa23:	83 ec 08             	sub    $0x8,%esp
47aa26:	8b 55 08             	mov    0x8(%ebp),%edx
47aa29:	8b c1                	mov    %ecx,%eax
47aa2b:	53                   	push   %ebx
47aa2c:	56                   	push   %esi
47aa2d:	57                   	push   %edi
47aa2e:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
47aa32:	8b fa                	mov    %edx,%edi
47aa34:	89 45 fc             	mov    %eax,-0x4(%ebp)
47aa37:	72 02                	jb     0x47aa3b
47aa39:	8b 3a                	mov    (%edx),%edi
47aa3b:	8b 5a 10             	mov    0x10(%edx),%ebx
47aa3e:	33 c9                	xor    %ecx,%ecx
47aa40:	be c5 9d 1c 81       	mov    $0x811c9dc5,%esi
47aa45:	85 db                	test   %ebx,%ebx
47aa47:	74 1b                	je     0x47aa64
47aa49:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
47aa50:	0f b6 04 39          	movzbl (%ecx,%edi,1),%eax
47aa54:	41                   	inc    %ecx
47aa55:	33 c6                	xor    %esi,%eax
47aa57:	69 f0 93 01 00 01    	imul   $0x1000193,%eax,%esi
47aa5d:	3b cb                	cmp    %ebx,%ecx
47aa5f:	72 ef                	jb     0x47aa50
47aa61:	8b 45 fc             	mov    -0x4(%ebp),%eax
47aa64:	56                   	push   %esi
47aa65:	52                   	push   %edx
47aa66:	8d 4d f8             	lea    -0x8(%ebp),%ecx
47aa69:	51                   	push   %ecx
47aa6a:	8b c8                	mov    %eax,%ecx
47aa6c:	e8 ff f0 ff ff       	call   0x479b70
47aa71:	33 c9                	xor    %ecx,%ecx
47aa73:	5f                   	pop    %edi
47aa74:	5e                   	pop    %esi
47aa75:	39 48 04             	cmp    %ecx,0x4(%eax)
47aa78:	5b                   	pop    %ebx
47aa79:	0f 95 c1             	setne  %cl
47aa7c:	8b c1                	mov    %ecx,%eax
47aa7e:	8b e5                	mov    %ebp,%esp
47aa80:	5d                   	pop    %ebp
47aa81:	c2 04 00             	ret    $0x4
47aa84:	cc                   	int3
47aa85:	cc                   	int3
47aa86:	cc                   	int3
47aa87:	cc                   	int3
47aa88:	cc                   	int3
47aa89:	cc                   	int3
47aa8a:	cc                   	int3
47aa8b:	cc                   	int3
47aa8c:	cc                   	int3
47aa8d:	cc                   	int3
47aa8e:	cc                   	int3
47aa8f:	cc                   	int3
47aa90:	55                   	push   %ebp
47aa91:	8b ec                	mov    %esp,%ebp
47aa93:	56                   	push   %esi
47aa94:	8b 75 0c             	mov    0xc(%ebp),%esi
47aa97:	8b 4e 14             	mov    0x14(%esi),%ecx
47aa9a:	83 f9 10             	cmp    $0x10,%ecx
47aa9d:	72 27                	jb     0x47aac6
47aa9f:	8b 06                	mov    (%esi),%eax
47aaa1:	41                   	inc    %ecx
47aaa2:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
47aaa8:	72 12                	jb     0x47aabc
47aaaa:	8b 50 fc             	mov    -0x4(%eax),%edx
47aaad:	83 c1 23             	add    $0x23,%ecx
47aab0:	2b c2                	sub    %edx,%eax
47aab2:	83 c0 fc             	add    $0xfffffffc,%eax
47aab5:	83 f8 1f             	cmp    $0x1f,%eax
47aab8:	77 20                	ja     0x47aada
47aaba:	8b c2                	mov    %edx,%eax
47aabc:	51                   	push   %ecx
47aabd:	50                   	push   %eax
47aabe:	e8 92 67 15 00       	call   0x5d1255
47aac3:	83 c4 08             	add    $0x8,%esp
47aac6:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
47aacd:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
47aad4:	c6 06 00             	movb   $0x0,(%esi)
47aad7:	5e                   	pop    %esi
47aad8:	5d                   	pop    %ebp
47aad9:	c3                   	ret
47aada:	e8 11 b7 15 00       	call   0x5d61f0
47aadf:	cc                   	int3
47aae0:	55                   	push   %ebp
47aae1:	8b ec                	mov    %esp,%ebp
47aae3:	6a ff                	push   $0xffffffff
47aae5:	68 05 84 5f 00       	push   $0x5f8405
47aaea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
47aaf0:	50                   	push   %eax
47aaf1:	83 ec 10             	sub    $0x10,%esp
47aaf4:	53                   	push   %ebx
47aaf5:	56                   	push   %esi
47aaf6:	57                   	push   %edi
47aaf7:	a1 c0 14 69 00       	mov    0x6914c0,%eax
47aafc:	33 c5                	xor    %ebp,%eax
47aafe:	50                   	push   %eax
47aaff:	8d 45 f4             	lea    -0xc(%ebp),%eax
47ab02:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
47ab08:	8b f9                	mov    %ecx,%edi
47ab0a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
47ab0d:	69 03 1b 01 00 01    	imul   $0x100011b,(%ebx),%eax
47ab13:	69 4b 04 93 01 00 01 	imul   $0x1000193,0x4(%ebx),%ecx
47ab1a:	33 c8                	xor    %eax,%ecx
47ab1c:	8d 45 ec             	lea    -0x14(%ebp),%eax
47ab1f:	51                   	push   %ecx
47ab20:	53                   	push   %ebx
47ab21:	89 4d 0c             	mov    %ecx,0xc(%ebp)
47ab24:	8b cf                	mov    %edi,%ecx
47ab26:	50                   	push   %eax
47ab27:	e8 44 ef ff ff       	call   0x479a70
47ab2c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47ab2f:	85 c9                	test   %ecx,%ecx
47ab31:	74 1d                	je     0x47ab50
47ab33:	8b 45 08             	mov    0x8(%ebp),%eax
47ab36:	89 08                	mov    %ecx,(%eax)
47ab38:	c6 40 04 00          	movb   $0x0,0x4(%eax)
47ab3c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47ab3f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
47ab46:	59                   	pop    %ecx
47ab47:	5f                   	pop    %edi
47ab48:	5e                   	pop    %esi
47ab49:	5b                   	pop    %ebx
47ab4a:	8b e5                	mov    %ebp,%esp
47ab4c:	5d                   	pop    %ebp
47ab4d:	c2 08 00             	ret    $0x8
47ab50:	81 7f 08 cc cc cc 0c 	cmpl   $0xccccccc,0x8(%edi)
47ab57:	0f 84 55 01 00 00    	je     0x47acb2
47ab5d:	8d 47 04             	lea    0x4(%edi),%eax
47ab60:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47ab63:	6a 14                	push   $0x14
47ab65:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
47ab6c:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
47ab73:	e8 ad 66 15 00       	call   0x5d1225
47ab78:	f3 0f 7e 03          	movq   (%ebx),%xmm0
47ab7c:	8b f0                	mov    %eax,%esi
47ab7e:	83 c4 04             	add    $0x4,%esp
47ab81:	89 75 e8             	mov    %esi,-0x18(%ebp)
47ab84:	66 0f d6 46 08       	movq   %xmm0,0x8(%esi)
47ab89:	8b 4b 08             	mov    0x8(%ebx),%ecx
47ab8c:	89 4e 10             	mov    %ecx,0x10(%esi)
47ab8f:	8b 47 08             	mov    0x8(%edi),%eax
47ab92:	8b 5f 1c             	mov    0x1c(%edi),%ebx
47ab95:	40                   	inc    %eax
47ab96:	f3 0f 10 1f          	movss  (%edi),%xmm3
47ab9a:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
47aba1:	66 0f 6e c0          	movd   %eax,%xmm0
47aba5:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
47aba9:	c1 e8 1f             	shr    $0x1f,%eax
47abac:	f2 0f 58 04 c5 60 64 	addsd  0x606460(,%eax,8),%xmm0
47abb3:	60 00
47abb5:	8b c3                	mov    %ebx,%eax
47abb7:	c1 e8 1f             	shr    $0x1f,%eax
47abba:	66 0f 5a d0          	cvtpd2ps %xmm0,%xmm2
47abbe:	66 0f 6e c3          	movd   %ebx,%xmm0
47abc2:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
47abc6:	0f 28 ca             	movaps %xmm2,%xmm1
47abc9:	f2 0f 58 04 c5 60 64 	addsd  0x606460(,%eax,8),%xmm0
47abd0:	60 00
47abd2:	66 0f 5a c0          	cvtpd2ps %xmm0,%xmm0
47abd6:	f3 0f 5e c8          	divss  %xmm0,%xmm1
47abda:	0f 2f cb             	comiss %xmm3,%xmm1
47abdd:	76 6c                	jbe    0x47ac4b
47abdf:	f3 0f 5e d3          	divss  %xmm3,%xmm2
47abe3:	83 ec 08             	sub    $0x8,%esp
47abe6:	0f 5a c2             	cvtps2pd %xmm2,%xmm0
47abe9:	f2 0f 11 45 ec       	movsd  %xmm0,-0x14(%ebp)
47abee:	dd 45 ec             	fldl   -0x14(%ebp)
47abf1:	dd 1c 24             	fstpl  (%esp)
47abf4:	e8 d7 b8 15 00       	call   0x5d64d0
47abf9:	dd 5d ec             	fstpl  -0x14(%ebp)
47abfc:	f2 0f 10 45 ec       	movsd  -0x14(%ebp),%xmm0
47ac01:	83 c4 08             	add    $0x8,%esp
47ac04:	66 0f 5a c0          	cvtpd2ps %xmm0,%xmm0
47ac08:	e8 33 6e 15 00       	call   0x5d1a40
47ac0d:	b9 08 00 00 00       	mov    $0x8,%ecx
47ac12:	3b c1                	cmp    %ecx,%eax
47ac14:	0f 47 c8             	cmova  %eax,%ecx
47ac17:	3b d9                	cmp    %ecx,%ebx
47ac19:	73 11                	jae    0x47ac2c
47ac1b:	81 fb 00 02 00 00    	cmp    $0x200,%ebx
47ac21:	73 07                	jae    0x47ac2a
47ac23:	c1 e3 03             	shl    $0x3,%ebx
47ac26:	3b d9                	cmp    %ecx,%ebx
47ac28:	73 02                	jae    0x47ac2c
47ac2a:	8b d9                	mov    %ecx,%ebx
47ac2c:	53                   	push   %ebx
47ac2d:	8b cf                	mov    %edi,%ecx
47ac2f:	e8 2c 1b 02 00       	call   0x49c760
47ac34:	8b 5d 0c             	mov    0xc(%ebp),%ebx
47ac37:	8d 46 08             	lea    0x8(%esi),%eax
47ac3a:	53                   	push   %ebx
47ac3b:	50                   	push   %eax
47ac3c:	8d 45 ec             	lea    -0x14(%ebp),%eax
47ac3f:	8b cf                	mov    %edi,%ecx
47ac41:	50                   	push   %eax
47ac42:	e8 29 ee ff ff       	call   0x479a70
47ac47:	8b 10                	mov    (%eax),%edx
47ac49:	eb 06                	jmp    0x47ac51
47ac4b:	8b 55 ec             	mov    -0x14(%ebp),%edx
47ac4e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
47ac51:	8b 47 08             	mov    0x8(%edi),%eax
47ac54:	8b 4a 04             	mov    0x4(%edx),%ecx
47ac57:	40                   	inc    %eax
47ac58:	89 47 08             	mov    %eax,0x8(%edi)
47ac5b:	89 16                	mov    %edx,(%esi)
47ac5d:	89 4e 04             	mov    %ecx,0x4(%esi)
47ac60:	89 31                	mov    %esi,(%ecx)
47ac62:	89 72 04             	mov    %esi,0x4(%edx)
47ac65:	8b 47 18             	mov    0x18(%edi),%eax
47ac68:	23 c3                	and    %ebx,%eax
47ac6a:	89 4d 0c             	mov    %ecx,0xc(%ebp)
47ac6d:	8b 4f 0c             	mov    0xc(%edi),%ecx
47ac70:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
47ac73:	8b 3c c1             	mov    (%ecx,%eax,8),%edi
47ac76:	3b 3b                	cmp    (%ebx),%edi
47ac78:	75 05                	jne    0x47ac7f
47ac7a:	89 34 c1             	mov    %esi,(%ecx,%eax,8)
47ac7d:	eb 12                	jmp    0x47ac91
47ac7f:	3b fa                	cmp    %edx,%edi
47ac81:	75 05                	jne    0x47ac88
47ac83:	89 34 c1             	mov    %esi,(%ecx,%eax,8)
47ac86:	eb 0d                	jmp    0x47ac95
47ac88:	8b 55 0c             	mov    0xc(%ebp),%edx
47ac8b:	39 54 c1 04          	cmp    %edx,0x4(%ecx,%eax,8)
47ac8f:	75 04                	jne    0x47ac95
47ac91:	89 74 c1 04          	mov    %esi,0x4(%ecx,%eax,8)
47ac95:	8b 45 08             	mov    0x8(%ebp),%eax
47ac98:	89 30                	mov    %esi,(%eax)
47ac9a:	c6 40 04 01          	movb   $0x1,0x4(%eax)
47ac9e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47aca1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
47aca8:	59                   	pop    %ecx
47aca9:	5f                   	pop    %edi
47acaa:	5e                   	pop    %esi
47acab:	5b                   	pop    %ebx
47acac:	8b e5                	mov    %ebp,%esp
47acae:	5d                   	pop    %ebp
47acaf:	c2 08 00             	ret    $0x8
47acb2:	68 20 64 60 00       	push   $0x606420
47acb7:	e8 1a 5f 15 00       	call   0x5d0bd6
47acbc:	cc                   	int3
47acbd:	cc                   	int3
47acbe:	cc                   	int3
47acbf:	cc                   	int3
47acc0:	55                   	push   %ebp
47acc1:	8b ec                	mov    %esp,%ebp
47acc3:	6a ff                	push   $0xffffffff
47acc5:	68 75 a4 5f 00       	push   $0x5fa475
47acca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
47acd0:	50                   	push   %eax
47acd1:	83 ec 14             	sub    $0x14,%esp
47acd4:	56                   	push   %esi
47acd5:	57                   	push   %edi
47acd6:	a1 c0 14 69 00       	mov    0x6914c0,%eax
47acdb:	33 c5                	xor    %ebp,%eax
47acdd:	50                   	push   %eax
47acde:	8d 45 f4             	lea    -0xc(%ebp),%eax
47ace1:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
47ace7:	89 4d ec             	mov    %ecx,-0x14(%ebp)
47acea:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47aced:	33 d2                	xor    %edx,%edx
47acef:	8b 71 04             	mov    0x4(%ecx),%esi
47acf2:	8b 79 08             	mov    0x8(%ecx),%edi
47acf5:	03 fe                	add    %esi,%edi
47acf7:	3b f7                	cmp    %edi,%esi
47acf9:	73 12                	jae    0x47ad0d
47acfb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
47ad00:	0f be 06             	movsbl (%esi),%eax
47ad03:	8d 14 92             	lea    (%edx,%edx,4),%edx
47ad06:	46                   	inc    %esi
47ad07:	03 d0                	add    %eax,%edx
47ad09:	3b f7                	cmp    %edi,%esi
47ad0b:	72 f3                	jb     0x47ad00
47ad0d:	69 01 93 01 00 01    	imul   $0x1000193,(%ecx),%eax
47ad13:	8b 7d ec             	mov    -0x14(%ebp),%edi
47ad16:	33 c2                	xor    %edx,%eax
47ad18:	50                   	push   %eax
47ad19:	89 45 f0             	mov    %eax,-0x10(%ebp)
47ad1c:	8d 45 e0             	lea    -0x20(%ebp),%eax
47ad1f:	51                   	push   %ecx
47ad20:	50                   	push   %eax
47ad21:	8b cf                	mov    %edi,%ecx
47ad23:	e8 b8 ed ff ff       	call   0x479ae0
47ad28:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
47ad2b:	85 c9                	test   %ecx,%ecx
47ad2d:	74 1c                	je     0x47ad4b
47ad2f:	8b 45 08             	mov    0x8(%ebp),%eax
47ad32:	89 08                	mov    %ecx,(%eax)