49cfc5:	85 d2                	test   %edx,%edx
49cfc7:	74 1e                	je     0x49cfe7
49cfc9:	8b 5d fc             	mov    -0x4(%ebp),%ebx
49cfcc:	8b c2                	mov    %edx,%eax
49cfce:	66 90                	xchg   %ax,%ax
49cfd0:	0f b6 14 19          	movzbl (%ecx,%ebx,1),%edx
49cfd4:	41                   	inc    %ecx
49cfd5:	33 d6                	xor    %esi,%edx
49cfd7:	69 f2 93 01 00 01    	imul   $0x1000193,%edx,%esi
49cfdd:	3b c8                	cmp    %eax,%ecx
49cfdf:	72 ef                	jb     0x49cfd0
49cfe1:	8b 45 08             	mov    0x8(%ebp),%eax
49cfe4:	8d 5f 08             	lea    0x8(%edi),%ebx
49cfe7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
49cfea:	8b 51 18             	mov    0x18(%ecx),%edx
49cfed:	8b 49 0c             	mov    0xc(%ecx),%ecx
49cff0:	23 d6                	and    %esi,%edx
49cff2:	8d 0c d1             	lea    (%ecx,%edx,8),%ecx
49cff5:	8b 11                	mov    (%ecx),%edx
49cff7:	89 4d f4             	mov    %ecx,-0xc(%ebp)
49cffa:	89 55 f8             	mov    %edx,-0x8(%ebp)
49cffd:	3b 55 f0             	cmp    -0x10(%ebp),%edx
49d000:	75 0a                	jne    0x49d00c
49d002:	89 39                	mov    %edi,(%ecx)
49d004:	89 79 04             	mov    %edi,0x4(%ecx)
49d007:	e9 c0 00 00 00       	jmp    0x49d0cc
49d00c:	8b 71 04             	mov    0x4(%ecx),%esi
49d00f:	83 7e 1c 10          	cmpl   $0x10,0x1c(%esi)
49d013:	8d 56 08             	lea    0x8(%esi),%edx
49d016:	72 03                	jb     0x49d01b
49d018:	8b 56 08             	mov    0x8(%esi),%edx
49d01b:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
49d01f:	8b cb                	mov    %ebx,%ecx
49d021:	72 02                	jb     0x49d025
49d023:	8b 0b                	mov    (%ebx),%ecx
49d025:	ff 76 18             	push   0x18(%esi)
49d028:	8b 43 10             	mov    0x10(%ebx),%eax
49d02b:	52                   	push   %edx
49d02c:	50                   	push   %eax
49d02d:	51                   	push   %ecx
49d02e:	e8 fd d4 fd ff       	call   0x47a530
49d033:	83 c4 10             	add    $0x10,%esp
49d036:	84 c0                	test   %al,%al
49d038:	74 29                	je     0x49d063
49d03a:	8b 1e                	mov    (%esi),%ebx
49d03c:	8b 45 08             	mov    0x8(%ebp),%eax
49d03f:	3b df                	cmp    %edi,%ebx
49d041:	74 18                	je     0x49d05b
49d043:	8b 77 04             	mov    0x4(%edi),%esi
49d046:	89 06                	mov    %eax,(%esi)
49d048:	8b 50 04             	mov    0x4(%eax),%edx
49d04b:	89 1a                	mov    %ebx,(%edx)
49d04d:	8b 4b 04             	mov    0x4(%ebx),%ecx
49d050:	89 39                	mov    %edi,(%ecx)
49d052:	89 53 04             	mov    %edx,0x4(%ebx)
49d055:	89 70 04             	mov    %esi,0x4(%eax)
49d058:	89 4f 04             	mov    %ecx,0x4(%edi)
49d05b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
49d05e:	89 79 04             	mov    %edi,0x4(%ecx)
49d061:	eb 69                	jmp    0x49d0cc
49d063:	8b ce                	mov    %esi,%ecx
49d065:	89 4d fc             	mov    %ecx,-0x4(%ebp)
49d068:	39 75 f8             	cmp    %esi,-0x8(%ebp)
49d06b:	74 3c                	je     0x49d0a9
49d06d:	0f 1f 00             	nopl   (%eax)
49d070:	8b 76 04             	mov    0x4(%esi),%esi
49d073:	89 75 fc             	mov    %esi,-0x4(%ebp)
49d076:	83 7e 1c 10          	cmpl   $0x10,0x1c(%esi)
49d07a:	8d 56 08             	lea    0x8(%esi),%edx
49d07d:	72 03                	jb     0x49d082
49d07f:	8b 56 08             	mov    0x8(%esi),%edx
49d082:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
49d086:	8b cb                	mov    %ebx,%ecx
49d088:	72 02                	jb     0x49d08c
49d08a:	8b 0b                	mov    (%ebx),%ecx
49d08c:	ff 76 18             	push   0x18(%esi)
49d08f:	8b 43 10             	mov    0x10(%ebx),%eax
49d092:	52                   	push   %edx
49d093:	50                   	push   %eax
49d094:	51                   	push   %ecx
49d095:	e8 96 d4 fd ff       	call   0x47a530
49d09a:	83 c4 10             	add    $0x10,%esp
49d09d:	84 c0                	test   %al,%al
49d09f:	75 3f                	jne    0x49d0e0
49d0a1:	39 75 f8             	cmp    %esi,-0x8(%ebp)
49d0a4:	75 ca                	jne    0x49d070
49d0a6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
49d0a9:	8b 77 04             	mov    0x4(%edi),%esi
49d0ac:	8b 45 08             	mov    0x8(%ebp),%eax
49d0af:	8b 5d fc             	mov    -0x4(%ebp),%ebx
49d0b2:	89 06                	mov    %eax,(%esi)
49d0b4:	8b 50 04             	mov    0x4(%eax),%edx
49d0b7:	89 0a                	mov    %ecx,(%edx)
49d0b9:	8b 49 04             	mov    0x4(%ecx),%ecx
49d0bc:	89 39                	mov    %edi,(%ecx)
49d0be:	89 53 04             	mov    %edx,0x4(%ebx)
49d0c1:	89 70 04             	mov    %esi,0x4(%eax)
49d0c4:	89 4f 04             	mov    %ecx,0x4(%edi)
49d0c7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
49d0ca:	89 39                	mov    %edi,(%ecx)
49d0cc:	8b f8                	mov    %eax,%edi
49d0ce:	3b 45 f0             	cmp    -0x10(%ebp),%eax
49d0d1:	0f 85 cb fe ff ff    	jne    0x49cfa2
49d0d7:	5f                   	pop    %edi
49d0d8:	5e                   	pop    %esi
49d0d9:	5b                   	pop    %ebx
49d0da:	8b e5                	mov    %ebp,%esp
49d0dc:	5d                   	pop    %ebp
49d0dd:	c2 04 00             	ret    $0x4
49d0e0:	8b 1e                	mov    (%esi),%ebx
49d0e2:	8b 77 04             	mov    0x4(%edi),%esi
49d0e5:	8b 45 08             	mov    0x8(%ebp),%eax
49d0e8:	89 06                	mov    %eax,(%esi)
49d0ea:	8b 50 04             	mov    0x4(%eax),%edx
49d0ed:	89 1a                	mov    %ebx,(%edx)
49d0ef:	8b 4b 04             	mov    0x4(%ebx),%ecx
49d0f2:	89 39                	mov    %edi,(%ecx)
49d0f4:	89 53 04             	mov    %edx,0x4(%ebx)
49d0f7:	89 70 04             	mov    %esi,0x4(%eax)
49d0fa:	89 4f 04             	mov    %ecx,0x4(%edi)
49d0fd:	eb cd                	jmp    0x49d0cc
49d0ff:	68 3c 64 60 00       	push   $0x60643c
49d104:	e8 cd 3a 13 00       	call   0x5d0bd6
49d109:	cc                   	int3
49d10a:	cc                   	int3
49d10b:	cc                   	int3
49d10c:	cc                   	int3
49d10d:	cc                   	int3
49d10e:	cc                   	int3
49d10f:	cc                   	int3
49d110:	55                   	push   %ebp
49d111:	8b ec                	mov    %esp,%ebp
49d113:	53                   	push   %ebx
49d114:	56                   	push   %esi
49d115:	8b 75 10             	mov    0x10(%ebp),%esi
49d118:	8b d1                	mov    %ecx,%edx
49d11a:	57                   	push   %edi
49d11b:	8b 7d 0c             	mov    0xc(%ebp),%edi
49d11e:	8b 5f 04             	mov    0x4(%edi),%ebx
49d121:	ff 42 08             	incl   0x8(%edx)
49d124:	89 3e                	mov    %edi,(%esi)
49d126:	89 5e 04             	mov    %ebx,0x4(%esi)
49d129:	89 33                	mov    %esi,(%ebx)
49d12b:	89 77 04             	mov    %esi,0x4(%edi)
49d12e:	8b 42 18             	mov    0x18(%edx),%eax
49d131:	8b 4a 0c             	mov    0xc(%edx),%ecx
49d134:	23 45 08             	and    0x8(%ebp),%eax
49d137:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
49d13a:	8b 08                	mov    (%eax),%ecx
49d13c:	3b 4a 04             	cmp    0x4(%edx),%ecx
49d13f:	75 0e                	jne    0x49d14f
49d141:	89 30                	mov    %esi,(%eax)
49d143:	89 70 04             	mov    %esi,0x4(%eax)
49d146:	8b c6                	mov    %esi,%eax
49d148:	5f                   	pop    %edi
49d149:	5e                   	pop    %esi
49d14a:	5b                   	pop    %ebx
49d14b:	5d                   	pop    %ebp
49d14c:	c2 0c 00             	ret    $0xc
49d14f:	3b cf                	cmp    %edi,%ecx
49d151:	75 0b                	jne    0x49d15e
49d153:	89 30                	mov    %esi,(%eax)
49d155:	8b c6                	mov    %esi,%eax
49d157:	5f                   	pop    %edi
49d158:	5e                   	pop    %esi
49d159:	5b                   	pop    %ebx
49d15a:	5d                   	pop    %ebp
49d15b:	c2 0c 00             	ret    $0xc
49d15e:	39 58 04             	cmp    %ebx,0x4(%eax)
49d161:	75 03                	jne    0x49d166
49d163:	89 70 04             	mov    %esi,0x4(%eax)
49d166:	5f                   	pop    %edi
49d167:	8b c6                	mov    %esi,%eax
49d169:	5e                   	pop    %esi
49d16a:	5b                   	pop    %ebx
49d16b:	5d                   	pop    %ebp
49d16c:	c2 0c 00             	ret    $0xc
49d16f:	cc                   	int3
49d170:	55                   	push   %ebp
49d171:	8b ec                	mov    %esp,%ebp
49d173:	8b 55 08             	mov    0x8(%ebp),%edx
49d176:	56                   	push   %esi
49d177:	8b 72 08             	mov    0x8(%edx),%esi
49d17a:	8b 06                	mov    (%esi),%eax
49d17c:	89 42 08             	mov    %eax,0x8(%edx)
49d17f:	8b 06                	mov    (%esi),%eax
49d181:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
49d185:	75 03                	jne    0x49d18a
49d187:	89 50 04             	mov    %edx,0x4(%eax)
49d18a:	8b 42 04             	mov    0x4(%edx),%eax
49d18d:	89 46 04             	mov    %eax,0x4(%esi)
49d190:	8b 01                	mov    (%ecx),%eax
49d192:	3b 50 04             	cmp    0x4(%eax),%edx
49d195:	75 0d                	jne    0x49d1a4
49d197:	89 70 04             	mov    %esi,0x4(%eax)
49d19a:	89 16                	mov    %edx,(%esi)
49d19c:	89 72 04             	mov    %esi,0x4(%edx)
49d19f:	5e                   	pop    %esi
49d1a0:	5d                   	pop    %ebp
49d1a1:	c2 04 00             	ret    $0x4
49d1a4:	8b 42 04             	mov    0x4(%edx),%eax
49d1a7:	3b 10                	cmp    (%eax),%edx
49d1a9:	75 0c                	jne    0x49d1b7
49d1ab:	89 30                	mov    %esi,(%eax)
49d1ad:	89 16                	mov    %edx,(%esi)
49d1af:	89 72 04             	mov    %esi,0x4(%edx)
49d1b2:	5e                   	pop    %esi
49d1b3:	5d                   	pop    %ebp
49d1b4:	c2 04 00             	ret    $0x4
49d1b7:	89 70 08             	mov    %esi,0x8(%eax)
49d1ba:	89 16                	mov    %edx,(%esi)
49d1bc:	89 72 04             	mov    %esi,0x4(%edx)
49d1bf:	5e                   	pop    %esi
49d1c0:	5d                   	pop    %ebp
49d1c1:	c2 04 00             	ret    $0x4
49d1c4:	cc                   	int3
49d1c5:	cc                   	int3
49d1c6:	cc                   	int3
49d1c7:	cc                   	int3
49d1c8:	cc                   	int3
49d1c9:	cc                   	int3
49d1ca:	cc                   	int3
49d1cb:	cc                   	int3
49d1cc:	cc                   	int3
49d1cd:	cc                   	int3
49d1ce:	cc                   	int3
49d1cf:	cc                   	int3
49d1d0:	55                   	push   %ebp
49d1d1:	8b ec                	mov    %esp,%ebp
49d1d3:	83 ec 08             	sub    $0x8,%esp
49d1d6:	56                   	push   %esi
49d1d7:	57                   	push   %edi
49d1d8:	8b f9                	mov    %ecx,%edi
49d1da:	83 ec 08             	sub    $0x8,%esp
49d1dd:	8b 47 08             	mov    0x8(%edi),%eax
49d1e0:	40                   	inc    %eax
49d1e1:	8b 77 1c             	mov    0x1c(%edi),%esi
49d1e4:	66 0f 6e c0          	movd   %eax,%xmm0
49d1e8:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
49d1ec:	c1 e8 1f             	shr    $0x1f,%eax
49d1ef:	f2 0f 58 04 c5 60 64 	addsd  0x606460(,%eax,8),%xmm0
49d1f6:	60 00
49d1f8:	66 0f 5a c0          	cvtpd2ps %xmm0,%xmm0
49d1fc:	f3 0f 5e 07          	divss  (%edi),%xmm0
49d200:	0f 5a c0             	cvtps2pd %xmm0,%xmm0
49d203:	f2 0f 11 45 f8       	movsd  %xmm0,-0x8(%ebp)
49d208:	dd 45 f8             	fldl   -0x8(%ebp)
49d20b:	dd 1c 24             	fstpl  (%esp)
49d20e:	e8 bd 92 13 00       	call   0x5d64d0
49d213:	dd 5d f8             	fstpl  -0x8(%ebp)
49d216:	f2 0f 10 45 f8       	movsd  -0x8(%ebp),%xmm0
49d21b:	83 c4 08             	add    $0x8,%esp
49d21e:	66 0f 5a c0          	cvtpd2ps %xmm0,%xmm0
49d222:	e8 19 48 13 00       	call   0x5d1a40
49d227:	b9 08 00 00 00       	mov    $0x8,%ecx
49d22c:	3b c1                	cmp    %ecx,%eax
49d22e:	0f 47 c8             	cmova  %eax,%ecx
49d231:	3b f1                	cmp    %ecx,%esi
49d233:	73 11                	jae    0x49d246
49d235:	81 fe 00 02 00 00    	cmp    $0x200,%esi
49d23b:	73 07                	jae    0x49d244
49d23d:	c1 e6 03             	shl    $0x3,%esi
49d240:	3b f1                	cmp    %ecx,%esi
49d242:	73 02                	jae    0x49d246
49d244:	8b f1                	mov    %ecx,%esi
49d246:	56                   	push   %esi
49d247:	8b cf                	mov    %edi,%ecx
49d249:	e8 f2 fc ff ff       	call   0x49cf40
49d24e:	5f                   	pop    %edi
49d24f:	5e                   	pop    %esi
49d250:	8b e5                	mov    %ebp,%esp
49d252:	5d                   	pop    %ebp
49d253:	c3                   	ret
49d254:	cc                   	int3
49d255:	cc                   	int3
49d256:	cc                   	int3
49d257:	cc                   	int3
49d258:	cc                   	int3
49d259:	cc                   	int3
49d25a:	cc                   	int3
49d25b:	cc                   	int3
49d25c:	cc                   	int3
49d25d:	cc                   	int3
49d25e:	cc                   	int3
49d25f:	cc                   	int3
49d260:	55                   	push   %ebp
49d261:	8b ec                	mov    %esp,%ebp
49d263:	8b 55 08             	mov    0x8(%ebp),%edx
49d266:	56                   	push   %esi
49d267:	8b 32                	mov    (%edx),%esi
49d269:	8b 46 08             	mov    0x8(%esi),%eax
49d26c:	89 02                	mov    %eax,(%edx)
49d26e:	8b 46 08             	mov    0x8(%esi),%eax
49d271:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
49d275:	75 03                	jne    0x49d27a
49d277:	89 50 04             	mov    %edx,0x4(%eax)
49d27a:	8b 42 04             	mov    0x4(%edx),%eax
49d27d:	89 46 04             	mov    %eax,0x4(%esi)
49d280:	8b 01                	mov    (%ecx),%eax
49d282:	3b 50 04             	cmp    0x4(%eax),%edx
49d285:	75 0e                	jne    0x49d295
49d287:	89 70 04             	mov    %esi,0x4(%eax)
49d28a:	89 56 08             	mov    %edx,0x8(%esi)
49d28d:	89 72 04             	mov    %esi,0x4(%edx)
49d290:	5e                   	pop    %esi
49d291:	5d                   	pop    %ebp
49d292:	c2 04 00             	ret    $0x4
49d295:	8b 42 04             	mov    0x4(%edx),%eax
49d298:	3b 50 08             	cmp    0x8(%eax),%edx
49d29b:	75 0e                	jne    0x49d2ab
49d29d:	89 70 08             	mov    %esi,0x8(%eax)
49d2a0:	89 56 08             	mov    %edx,0x8(%esi)
49d2a3:	89 72 04             	mov    %esi,0x4(%edx)
49d2a6:	5e                   	pop    %esi
49d2a7:	5d                   	pop    %ebp
49d2a8:	c2 04 00             	ret    $0x4
49d2ab:	89 30                	mov    %esi,(%eax)
49d2ad:	89 56 08             	mov    %edx,0x8(%esi)
49d2b0:	89 72 04             	mov    %esi,0x4(%edx)
49d2b3:	5e                   	pop    %esi
49d2b4:	5d                   	pop    %ebp
49d2b5:	c2 04 00             	ret    $0x4
49d2b8:	cc                   	int3
49d2b9:	cc                   	int3
49d2ba:	cc                   	int3
49d2bb:	cc                   	int3
49d2bc:	cc                   	int3
49d2bd:	cc                   	int3
49d2be:	cc                   	int3
49d2bf:	cc                   	int3
49d2c0:	55                   	push   %ebp
49d2c1:	8b ec                	mov    %esp,%ebp
49d2c3:	51                   	push   %ecx
49d2c4:	53                   	push   %ebx
49d2c5:	8b 5d 0c             	mov    0xc(%ebp),%ebx
49d2c8:	8b c1                	mov    %ecx,%eax
49d2ca:	56                   	push   %esi
49d2cb:	8b 75 08             	mov    0x8(%ebp),%esi
49d2ce:	89 45 fc             	mov    %eax,-0x4(%ebp)
49d2d1:	57                   	push   %edi
49d2d2:	8b 7d 10             	mov    0x10(%ebp),%edi
49d2d5:	3b f3                	cmp    %ebx,%esi
49d2d7:	74 1f                	je     0x49d2f8
49d2d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
49d2e0:	56                   	push   %esi
49d2e1:	57                   	push   %edi
49d2e2:	50                   	push   %eax
49d2e3:	e8 f8 d5 fd ff       	call   0x47a8e0
49d2e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
49d2eb:	83 c6 44             	add    $0x44,%esi