41f14b:	59                   	pop    %ecx
41f14c:	88 9d 78 f8 ff ff    	mov    %bl,-0x788(%ebp)
41f152:	56                   	push   %esi
41f153:	8b 75 0c             	mov    0xc(%ebp),%esi
41f156:	57                   	push   %edi
41f157:	6a 20                	push   $0x20
41f159:	5f                   	pop    %edi
41f15a:	85 f6                	test   %esi,%esi
41f15c:	7f 0d                	jg     0x41f16b
41f15e:	7c 06                	jl     0x41f166
41f160:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41f164:	73 05                	jae    0x41f16b
41f166:	6a 2d                	push   $0x2d
41f168:	58                   	pop    %eax
41f169:	eb 02                	jmp    0x41f16d
41f16b:	8b c7                	mov    %edi,%eax
41f16d:	8b 8d 7c f8 ff ff    	mov    -0x784(%ebp),%ecx
41f173:	6a 00                	push   $0x0
41f175:	6a 00                	push   $0x0
41f177:	89 01                	mov    %eax,(%ecx)
41f179:	8b 85 9c f8 ff ff    	mov    -0x764(%ebp),%eax
41f17f:	89 41 08             	mov    %eax,0x8(%ecx)
41f182:	8d 85 6c f8 ff ff    	lea    -0x794(%ebp),%eax
41f188:	50                   	push   %eax
41f189:	e8 25 31 ff ff       	call   0x4122b3
41f18e:	8b ce                	mov    %esi,%ecx
41f190:	33 c0                	xor    %eax,%eax
41f192:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
41f198:	83 c4 0c             	add    $0xc,%esp
41f19b:	0b c1                	or     %ecx,%eax
41f19d:	75 48                	jne    0x41f1e7
41f19f:	8b 45 08             	mov    0x8(%ebp),%eax
41f1a2:	8b ce                	mov    %esi,%ecx
41f1a4:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
41f1aa:	0b c1                	or     %ecx,%eax
41f1ac:	74 0c                	je     0x41f1ba
41f1ae:	f7 85 6c f8 ff ff 00 	testl  $0x1000000,-0x794(%ebp)
41f1b5:	00 00 01
41f1b8:	74 2d                	je     0x41f1e7
41f1ba:	8b 85 7c f8 ff ff    	mov    -0x784(%ebp),%eax
41f1c0:	68 50 b4 42 00       	push   $0x42b450
41f1c5:	83 60 04 00          	andl   $0x0,0x4(%eax)
41f1c9:	ff 75 1c             	push   0x1c(%ebp)
41f1cc:	ff b5 9c f8 ff ff    	push   -0x764(%ebp)
41f1d2:	e8 77 31 ff ff       	call   0x41234e
41f1d7:	83 c4 0c             	add    $0xc,%esp
41f1da:	85 c0                	test   %eax,%eax
41f1dc:	0f 85 09 14 00 00    	jne    0x4205eb
41f1e2:	e9 dd 13 00 00       	jmp    0x4205c4
41f1e7:	8d 45 08             	lea    0x8(%ebp),%eax
41f1ea:	50                   	push   %eax
41f1eb:	e8 8f 52 ff ff       	call   0x41447f
41f1f0:	59                   	pop    %ecx
41f1f1:	85 c0                	test   %eax,%eax
41f1f3:	74 09                	je     0x41f1fe
41f1f5:	8b 8d 7c f8 ff ff    	mov    -0x784(%ebp),%ecx
41f1fb:	89 59 04             	mov    %ebx,0x4(%ecx)
41f1fe:	83 e8 01             	sub    $0x1,%eax
41f201:	0f 84 a1 13 00 00    	je     0x4205a8
41f207:	83 e8 01             	sub    $0x1,%eax
41f20a:	0f 84 8e 13 00 00    	je     0x42059e
41f210:	83 e8 01             	sub    $0x1,%eax
41f213:	0f 84 7b 13 00 00    	je     0x420594
41f219:	83 e8 01             	sub    $0x1,%eax
41f21c:	0f 84 68 13 00 00    	je     0x42058a
41f222:	8b 45 08             	mov    0x8(%ebp),%eax
41f225:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
41f22b:	83 a5 84 f8 ff ff 00 	andl   $0x0,-0x77c(%ebp)
41f232:	89 45 08             	mov    %eax,0x8(%ebp)
41f235:	8b 45 10             	mov    0x10(%ebp),%eax
41f238:	89 75 0c             	mov    %esi,0xc(%ebp)
41f23b:	40                   	inc    %eax
41f23c:	dd 45 08             	fldl   0x8(%ebp)
41f23f:	dd 95 a4 f8 ff ff    	fstl   -0x75c(%ebp)
41f245:	8b b5 a8 f8 ff ff    	mov    -0x758(%ebp),%esi
41f24b:	8b ce                	mov    %esi,%ecx
41f24d:	89 85 88 f8 ff ff    	mov    %eax,-0x778(%ebp)
41f253:	c1 e9 14             	shr    $0x14,%ecx
41f256:	8b c1                	mov    %ecx,%eax
41f258:	25 ff 07 00 00       	and    $0x7ff,%eax
41f25d:	83 c8 00             	or     $0x0,%eax
41f260:	75 0a                	jne    0x41f26c
41f262:	33 d2                	xor    %edx,%edx
41f264:	89 9d b0 f8 ff ff    	mov    %ebx,-0x750(%ebp)
41f26a:	eb 0d                	jmp    0x41f279
41f26c:	33 c0                	xor    %eax,%eax
41f26e:	ba 00 00 10 00       	mov    $0x100000,%edx
41f273:	21 85 b0 f8 ff ff    	and    %eax,-0x750(%ebp)
41f279:	8b bd a4 f8 ff ff    	mov    -0x75c(%ebp),%edi
41f27f:	81 e6 ff ff 0f 00    	and    $0xfffff,%esi
41f285:	03 f8                	add    %eax,%edi
41f287:	8b 85 b0 f8 ff ff    	mov    -0x750(%ebp),%eax
41f28d:	89 bd 8c f8 ff ff    	mov    %edi,-0x774(%ebp)
41f293:	13 f2                	adc    %edx,%esi
41f295:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
41f29b:	03 c1                	add    %ecx,%eax
41f29d:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
41f2a3:	e8 28 2a 00 00       	call   0x421cd0
41f2a8:	51                   	push   %ecx
41f2a9:	51                   	push   %ecx
41f2aa:	dd 1c 24             	fstpl  (%esp)
41f2ad:	e8 2e 2b 00 00       	call   0x421de0
41f2b2:	59                   	pop    %ecx
41f2b3:	59                   	pop    %ecx
41f2b4:	e8 a7 34 00 00       	call   0x422760
41f2b9:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
41f2bf:	6a 20                	push   $0x20
41f2c1:	5f                   	pop    %edi
41f2c2:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41f2c7:	74 07                	je     0x41f2d0
41f2c9:	3d 00 00 00 80       	cmp    $0x80000000,%eax
41f2ce:	75 08                	jne    0x41f2d8
41f2d0:	33 c0                	xor    %eax,%eax
41f2d2:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
41f2d8:	8b 95 b8 f8 ff ff    	mov    -0x748(%ebp),%edx
41f2de:	33 c9                	xor    %ecx,%ecx
41f2e0:	8b 85 8c f8 ff ff    	mov    -0x774(%ebp),%eax
41f2e6:	85 f6                	test   %esi,%esi
41f2e8:	89 85 30 fe ff ff    	mov    %eax,-0x1d0(%ebp)
41f2ee:	0f 95 c1             	setne  %cl
41f2f1:	89 b5 34 fe ff ff    	mov    %esi,-0x1cc(%ebp)
41f2f7:	41                   	inc    %ecx
41f2f8:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
41f2fe:	89 8d 2c fe ff ff    	mov    %ecx,-0x1d4(%ebp)
41f304:	81 fa 33 04 00 00    	cmp    $0x433,%edx
41f30a:	0f 82 99 03 00 00    	jb     0x41f6a9
41f310:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
41f317:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
41f31e:	00 10 00
41f321:	c7 85 8c fa ff ff 02 	movl   $0x2,-0x574(%ebp)
41f328:	00 00 00
41f32b:	85 f6                	test   %esi,%esi
41f32d:	0f 84 de 01 00 00    	je     0x41f511
41f333:	33 c9                	xor    %ecx,%ecx
41f335:	8b 84 0d 90 fa ff ff 	mov    -0x570(%ebp,%ecx,1),%eax
41f33c:	3b 84 0d 30 fe ff ff 	cmp    -0x1d0(%ebp,%ecx,1),%eax
41f343:	0f 85 c8 01 00 00    	jne    0x41f511
41f349:	83 c1 04             	add    $0x4,%ecx
41f34c:	83 f9 08             	cmp    $0x8,%ecx
41f34f:	75 e4                	jne    0x41f335
41f351:	8d 8a cf fb ff ff    	lea    -0x431(%edx),%ecx
41f357:	8b f7                	mov    %edi,%esi
41f359:	8b c1                	mov    %ecx,%eax
41f35b:	33 d2                	xor    %edx,%edx
41f35d:	83 e1 1f             	and    $0x1f,%ecx
41f360:	c1 e8 05             	shr    $0x5,%eax
41f363:	2b f1                	sub    %ecx,%esi
41f365:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
41f36b:	89 8d 98 f8 ff ff    	mov    %ecx,-0x768(%ebp)
41f371:	8b c3                	mov    %ebx,%eax
41f373:	8b ce                	mov    %esi,%ecx
41f375:	89 b5 b4 f8 ff ff    	mov    %esi,-0x74c(%ebp)
41f37b:	e8 10 32 00 00       	call   0x422590
41f380:	8b 95 a0 f8 ff ff    	mov    -0x760(%ebp),%edx
41f386:	48                   	dec    %eax
41f387:	83 a5 a8 f8 ff ff 00 	andl   $0x0,-0x758(%ebp)
41f38e:	89 85 90 f8 ff ff    	mov    %eax,-0x770(%ebp)
41f394:	f7 d0                	not    %eax
41f396:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
41f39c:	8b 8c 95 2c fe ff ff 	mov    -0x1d4(%ebp,%edx,4),%ecx
41f3a3:	0f bd c1             	bsr    %ecx,%eax
41f3a6:	74 09                	je     0x41f3b1
41f3a8:	40                   	inc    %eax
41f3a9:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
41f3af:	eb 07                	jmp    0x41f3b8
41f3b1:	83 a5 b0 f8 ff ff 00 	andl   $0x0,-0x750(%ebp)
41f3b8:	8b 8d ac f8 ff ff    	mov    -0x754(%ebp),%ecx
41f3be:	be cc 01 00 00       	mov    $0x1cc,%esi
41f3c3:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
41f3c6:	83 f8 73             	cmp    $0x73,%eax
41f3c9:	76 2b                	jbe    0x41f3f6
41f3cb:	33 c0                	xor    %eax,%eax
41f3cd:	50                   	push   %eax
41f3ce:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
41f3d4:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
41f3da:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
41f3e0:	50                   	push   %eax
41f3e1:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
41f3e7:	56                   	push   %esi
41f3e8:	50                   	push   %eax
41f3e9:	e8 60 e7 fe ff       	call   0x40db4e
41f3ee:	83 c4 10             	add    $0x10,%esp
41f3f1:	e9 e2 00 00 00       	jmp    0x41f4d8
41f3f6:	2b bd b0 f8 ff ff    	sub    -0x750(%ebp),%edi
41f3fc:	3b bd 98 f8 ff ff    	cmp    -0x768(%ebp),%edi
41f402:	1b c0                	sbb    %eax,%eax
41f404:	f7 d8                	neg    %eax
41f406:	03 c2                	add    %edx,%eax
41f408:	03 c1                	add    %ecx,%eax
41f40a:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
41f410:	83 f8 73             	cmp    $0x73,%eax
41f413:	77 b6                	ja     0x41f3cb
41f415:	8d 79 ff             	lea    -0x1(%ecx),%edi
41f418:	48                   	dec    %eax
41f419:	89 bd 84 f8 ff ff    	mov    %edi,-0x77c(%ebp)
41f41f:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
41f425:	3b c7                	cmp    %edi,%eax
41f427:	0f 84 91 00 00 00    	je     0x41f4be
41f42d:	8b f8                	mov    %eax,%edi
41f42f:	2b f9                	sub    %ecx,%edi
41f431:	8d 8d 2c fe ff ff    	lea    -0x1d4(%ebp),%ecx
41f437:	8d 0c b9             	lea    (%ecx,%edi,4),%ecx
41f43a:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
41f440:	3b fa                	cmp    %edx,%edi
41f442:	73 05                	jae    0x41f449
41f444:	8b 41 04             	mov    0x4(%ecx),%eax
41f447:	eb 02                	jmp    0x41f44b
41f449:	33 c0                	xor    %eax,%eax
41f44b:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
41f451:	8d 47 ff             	lea    -0x1(%edi),%eax
41f454:	3b c2                	cmp    %edx,%eax
41f456:	73 04                	jae    0x41f45c
41f458:	8b 01                	mov    (%ecx),%eax
41f45a:	eb 02                	jmp    0x41f45e
41f45c:	33 c0                	xor    %eax,%eax
41f45e:	23 85 8c f8 ff ff    	and    -0x774(%ebp),%eax
41f464:	8b 8d b4 f8 ff ff    	mov    -0x74c(%ebp),%ecx
41f46a:	8b 95 b0 f8 ff ff    	mov    -0x750(%ebp),%edx
41f470:	23 95 90 f8 ff ff    	and    -0x770(%ebp),%edx
41f476:	d3 e8                	shr    %cl,%eax
41f478:	8b 8d 98 f8 ff ff    	mov    -0x768(%ebp),%ecx
41f47e:	d3 e2                	shl    %cl,%edx
41f480:	8b 8d b8 f8 ff ff    	mov    -0x748(%ebp),%ecx
41f486:	0b c2                	or     %edx,%eax
41f488:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
41f48f:	8b c1                	mov    %ecx,%eax
41f491:	8b 8d a0 f8 ff ff    	mov    -0x760(%ebp),%ecx
41f497:	48                   	dec    %eax
41f498:	83 e9 04             	sub    $0x4,%ecx
41f49b:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
41f4a1:	4f                   	dec    %edi
41f4a2:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
41f4a8:	3b 85 84 f8 ff ff    	cmp    -0x77c(%ebp),%eax
41f4ae:	74 08                	je     0x41f4b8
41f4b0:	8b 95 2c fe ff ff    	mov    -0x1d4(%ebp),%edx
41f4b6:	eb 88                	jmp    0x41f440
41f4b8:	8b 8d ac f8 ff ff    	mov    -0x754(%ebp),%ecx
41f4be:	85 c9                	test   %ecx,%ecx
41f4c0:	74 0a                	je     0x41f4cc
41f4c2:	33 c0                	xor    %eax,%eax
41f4c4:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
41f4ca:	f3 ab                	rep stos %eax,%es:(%edi)
41f4cc:	8b 85 a8 f8 ff ff    	mov    -0x758(%ebp),%eax
41f4d2:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
41f4d8:	6a 04                	push   $0x4
41f4da:	58                   	pop    %eax
41f4db:	89 85 90 fa ff ff    	mov    %eax,-0x570(%ebp)
41f4e1:	50                   	push   %eax
41f4e2:	83 a5 94 fa ff ff 00 	andl   $0x0,-0x56c(%ebp)
41f4e9:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
41f4ef:	50                   	push   %eax
41f4f0:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
41f4f6:	89 9d 5c fc ff ff    	mov    %ebx,-0x3a4(%ebp)
41f4fc:	56                   	push   %esi
41f4fd:	50                   	push   %eax
41f4fe:	89 9d 8c fa ff ff    	mov    %ebx,-0x574(%ebp)
41f504:	e8 45 e6 fe ff       	call   0x40db4e
41f509:	83 c4 10             	add    $0x10,%esp
41f50c:	e9 ca 03 00 00       	jmp    0x41f8db
41f511:	8d 8a ce fb ff ff    	lea    -0x432(%edx),%ecx
41f517:	8b f7                	mov    %edi,%esi
41f519:	8b c1                	mov    %ecx,%eax
41f51b:	33 d2                	xor    %edx,%edx
41f51d:	83 e1 1f             	and    $0x1f,%ecx
41f520:	c1 e8 05             	shr    $0x5,%eax
41f523:	2b f1                	sub    %ecx,%esi
41f525:	89 85 98 f8 ff ff    	mov    %eax,-0x768(%ebp)
41f52b:	89 8d b0 f8 ff ff    	mov    %ecx,-0x750(%ebp)
41f531:	8b c3                	mov    %ebx,%eax
41f533:	8b ce                	mov    %esi,%ecx
41f535:	89 b5 84 f8 ff ff    	mov    %esi,-0x77c(%ebp)
41f53b:	e8 50 30 00 00       	call   0x422590
41f540:	8b 95 a0 f8 ff ff    	mov    -0x760(%ebp),%edx
41f546:	48                   	dec    %eax
41f547:	83 a5 b4 f8 ff ff 00 	andl   $0x0,-0x74c(%ebp)
41f54e:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
41f554:	f7 d0                	not    %eax
41f556:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
41f55c:	8b 8c 95 2c fe ff ff 	mov    -0x1d4(%ebp,%edx,4),%ecx
41f563:	0f bd c1             	bsr    %ecx,%eax
41f566:	74 09                	je     0x41f571
41f568:	40                   	inc    %eax
41f569:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
41f56f:	eb 07                	jmp    0x41f578
41f571:	83 a5 ac f8 ff ff 00 	andl   $0x0,-0x754(%ebp)
41f578:	8b 8d 98 f8 ff ff    	mov    -0x768(%ebp),%ecx
41f57e:	be cc 01 00 00       	mov    $0x1cc,%esi
41f583:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
41f586:	83 f8 73             	cmp    $0x73,%eax
41f589:	76 2b                	jbe    0x41f5b6
41f58b:	33 c0                	xor    %eax,%eax
41f58d:	50                   	push   %eax
41f58e:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
41f594:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
41f59a:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
41f5a0:	50                   	push   %eax
41f5a1:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
41f5a7:	56                   	push   %esi
41f5a8:	50                   	push   %eax
41f5a9:	e8 a0 e5 fe ff       	call   0x40db4e
41f5ae:	83 c4 10             	add    $0x10,%esp
41f5b1:	e9 e2 00 00 00       	jmp    0x41f698
41f5b6:	2b bd ac f8 ff ff    	sub    -0x754(%ebp),%edi
41f5bc:	3b bd b0 f8 ff ff    	cmp    -0x750(%ebp),%edi
41f5c2:	1b c0                	sbb    %eax,%eax
41f5c4:	f7 d8                	neg    %eax
41f5c6:	03 c2                	add    %edx,%eax
41f5c8:	03 c1                	add    %ecx,%eax
41f5ca:	89 85 90 f8 ff ff    	mov    %eax,-0x770(%ebp)
41f5d0:	83 f8 73             	cmp    $0x73,%eax
41f5d3:	77 b6                	ja     0x41f58b
41f5d5:	8d 79 ff             	lea    -0x1(%ecx),%edi
41f5d8:	48                   	dec    %eax
41f5d9:	89 bd b4 f8 ff ff    	mov    %edi,-0x74c(%ebp)
41f5df:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
41f5e5:	3b c7                	cmp    %edi,%eax
41f5e7:	0f 84 91 00 00 00    	je     0x41f67e
41f5ed:	8b f8                	mov    %eax,%edi
41f5ef:	2b f9                	sub    %ecx,%edi
41f5f1:	8d 8d 2c fe ff ff    	lea    -0x1d4(%ebp),%ecx
41f5f7:	8d 0c b9             	lea    (%ecx,%edi,4),%ecx
41f5fa:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
41f600:	3b fa                	cmp    %edx,%edi
41f602:	73 05                	jae    0x41f609
41f604:	8b 41 04             	mov    0x4(%ecx),%eax
41f607:	eb 02                	jmp    0x41f60b
41f609:	33 c0                	xor    %eax,%eax
41f60b:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
41f611:	8d 47 ff             	lea    -0x1(%edi),%eax
41f614:	3b c2                	cmp    %edx,%eax
41f616:	73 04                	jae    0x41f61c
41f618:	8b 01                	mov    (%ecx),%eax
41f61a:	eb 02                	jmp    0x41f61e
41f61c:	33 c0                	xor    %eax,%eax
41f61e:	23 85 a8 f8 ff ff    	and    -0x758(%ebp),%eax
41f624:	8b 8d 84 f8 ff ff    	mov    -0x77c(%ebp),%ecx
41f62a:	8b 95 ac f8 ff ff    	mov    -0x754(%ebp),%edx
41f630:	23 95 8c f8 ff ff    	and    -0x774(%ebp),%edx
41f636:	d3 e8                	shr    %cl,%eax
41f638:	8b 8d b0 f8 ff ff    	mov    -0x750(%ebp),%ecx
41f63e:	d3 e2                	shl    %cl,%edx
41f640:	8b 8d b8 f8 ff ff    	mov    -0x748(%ebp),%ecx
41f646:	0b c2                	or     %edx,%eax
41f648:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
41f64f:	8b c1                	mov    %ecx,%eax
41f651:	8b 8d a0 f8 ff ff    	mov    -0x760(%ebp),%ecx
41f657:	48                   	dec    %eax
41f658:	83 e9 04             	sub    $0x4,%ecx
41f65b:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
41f661:	4f                   	dec    %edi