4372dd:	dd 45 08             	fldl   0x8(%ebp)
4372e0:	83 c4 18             	add    $0x18,%esp
4372e3:	8b 45 10             	mov    0x10(%ebp),%eax
4372e6:	83 a5 90 f8 ff ff 00 	andl   $0x0,-0x770(%ebp)
4372ed:	40                   	inc    %eax
4372ee:	dd 95 84 f8 ff ff    	fstl   -0x77c(%ebp)
4372f4:	8b b5 88 f8 ff ff    	mov    -0x778(%ebp),%esi
4372fa:	8b ce                	mov    %esi,%ecx
4372fc:	89 85 78 f8 ff ff    	mov    %eax,-0x788(%ebp)
437302:	c1 e9 14             	shr    $0x14,%ecx
437305:	8b c1                	mov    %ecx,%eax
437307:	25 ff 07 00 00       	and    $0x7ff,%eax
43730c:	83 c8 00             	or     $0x0,%eax
43730f:	75 0a                	jne    0x43731b
437311:	33 d2                	xor    %edx,%edx
437313:	89 9d b0 f8 ff ff    	mov    %ebx,-0x750(%ebp)
437319:	eb 0d                	jmp    0x437328
43731b:	33 c0                	xor    %eax,%eax
43731d:	ba 00 00 10 00       	mov    $0x100000,%edx
437322:	21 85 b0 f8 ff ff    	and    %eax,-0x750(%ebp)
437328:	8b bd 84 f8 ff ff    	mov    -0x77c(%ebp),%edi
43732e:	81 e6 ff ff 0f 00    	and    $0xfffff,%esi
437334:	03 f8                	add    %eax,%edi
437336:	8b 85 b0 f8 ff ff    	mov    -0x750(%ebp),%eax
43733c:	89 bd 90 f8 ff ff    	mov    %edi,-0x770(%ebp)
437342:	13 f2                	adc    %edx,%esi
437344:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
43734a:	03 c1                	add    %ecx,%eax
43734c:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
437352:	e8 89 40 00 00       	call   0x43b3e0
437357:	51                   	push   %ecx
437358:	51                   	push   %ecx
437359:	dd 1c 24             	fstpl  (%esp)
43735c:	e8 8f 41 00 00       	call   0x43b4f0
437361:	59                   	pop    %ecx
437362:	59                   	pop    %ecx
437363:	e8 d8 4f 00 00       	call   0x43c340
437368:	89 85 7c f8 ff ff    	mov    %eax,-0x784(%ebp)
43736e:	6a 20                	push   $0x20
437370:	5f                   	pop    %edi
437371:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
437376:	74 07                	je     0x43737f
437378:	3d 00 00 00 80       	cmp    $0x80000000,%eax
43737d:	75 07                	jne    0x437386
43737f:	83 a5 7c f8 ff ff 00 	andl   $0x0,-0x784(%ebp)
437386:	8b 95 b4 f8 ff ff    	mov    -0x74c(%ebp),%edx
43738c:	33 c9                	xor    %ecx,%ecx
43738e:	8b 85 90 f8 ff ff    	mov    -0x770(%ebp),%eax
437394:	85 f6                	test   %esi,%esi
437396:	89 85 30 fe ff ff    	mov    %eax,-0x1d0(%ebp)
43739c:	0f 95 c1             	setne  %cl
43739f:	89 b5 34 fe ff ff    	mov    %esi,-0x1cc(%ebp)
4373a5:	41                   	inc    %ecx
4373a6:	89 8d b0 f8 ff ff    	mov    %ecx,-0x750(%ebp)
4373ac:	89 8d 2c fe ff ff    	mov    %ecx,-0x1d4(%ebp)
4373b2:	81 fa 33 04 00 00    	cmp    $0x433,%edx
4373b8:	0f 82 99 03 00 00    	jb     0x437757
4373be:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
4373c5:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
4373cc:	00 10 00
4373cf:	c7 85 8c fa ff ff 02 	movl   $0x2,-0x574(%ebp)
4373d6:	00 00 00
4373d9:	85 f6                	test   %esi,%esi
4373db:	0f 84 de 01 00 00    	je     0x4375bf
4373e1:	33 c9                	xor    %ecx,%ecx
4373e3:	8b 84 0d 90 fa ff ff 	mov    -0x570(%ebp,%ecx,1),%eax
4373ea:	3b 84 0d 30 fe ff ff 	cmp    -0x1d0(%ebp,%ecx,1),%eax
4373f1:	0f 85 c8 01 00 00    	jne    0x4375bf
4373f7:	83 c1 04             	add    $0x4,%ecx
4373fa:	83 f9 08             	cmp    $0x8,%ecx
4373fd:	75 e4                	jne    0x4373e3
4373ff:	8d 8a cf fb ff ff    	lea    -0x431(%edx),%ecx
437405:	8b f7                	mov    %edi,%esi
437407:	8b c1                	mov    %ecx,%eax
437409:	33 d2                	xor    %edx,%edx
43740b:	83 e1 1f             	and    $0x1f,%ecx
43740e:	c1 e8 05             	shr    $0x5,%eax
437411:	2b f1                	sub    %ecx,%esi
437413:	89 85 9c f8 ff ff    	mov    %eax,-0x764(%ebp)
437419:	89 8d a8 f8 ff ff    	mov    %ecx,-0x758(%ebp)
43741f:	8b c3                	mov    %ebx,%eax
437421:	8b ce                	mov    %esi,%ecx
437423:	89 b5 ac f8 ff ff    	mov    %esi,-0x754(%ebp)
437429:	e8 d2 4e 00 00       	call   0x43c300
43742e:	8b 95 b0 f8 ff ff    	mov    -0x750(%ebp),%edx
437434:	48                   	dec    %eax
437435:	83 a5 88 f8 ff ff 00 	andl   $0x0,-0x778(%ebp)
43743c:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
437442:	f7 d0                	not    %eax
437444:	89 85 90 f8 ff ff    	mov    %eax,-0x770(%ebp)
43744a:	8b 8c 95 2c fe ff ff 	mov    -0x1d4(%ebp,%edx,4),%ecx
437451:	0f bd c1             	bsr    %ecx,%eax
437454:	74 09                	je     0x43745f
437456:	40                   	inc    %eax
437457:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
43745d:	eb 07                	jmp    0x437466
43745f:	83 a5 b0 f8 ff ff 00 	andl   $0x0,-0x750(%ebp)
437466:	8b 8d 9c f8 ff ff    	mov    -0x764(%ebp),%ecx
43746c:	be cc 01 00 00       	mov    $0x1cc,%esi
437471:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
437474:	83 f8 73             	cmp    $0x73,%eax
437477:	76 2b                	jbe    0x4374a4
437479:	33 c0                	xor    %eax,%eax
43747b:	50                   	push   %eax
43747c:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
437482:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
437488:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
43748e:	50                   	push   %eax
43748f:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
437495:	56                   	push   %esi
437496:	50                   	push   %eax
437497:	e8 59 ef fe ff       	call   0x4263f5
43749c:	83 c4 10             	add    $0x10,%esp
43749f:	e9 e2 00 00 00       	jmp    0x437586
4374a4:	2b bd b0 f8 ff ff    	sub    -0x750(%ebp),%edi
4374aa:	3b bd a8 f8 ff ff    	cmp    -0x758(%ebp),%edi
4374b0:	1b c0                	sbb    %eax,%eax
4374b2:	f7 d8                	neg    %eax
4374b4:	03 c2                	add    %edx,%eax
4374b6:	03 c1                	add    %ecx,%eax
4374b8:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
4374be:	83 f8 73             	cmp    $0x73,%eax
4374c1:	77 b6                	ja     0x437479
4374c3:	8d 79 ff             	lea    -0x1(%ecx),%edi
4374c6:	48                   	dec    %eax
4374c7:	89 bd 80 f8 ff ff    	mov    %edi,-0x780(%ebp)
4374cd:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
4374d3:	3b c7                	cmp    %edi,%eax
4374d5:	0f 84 91 00 00 00    	je     0x43756c
4374db:	8b f8                	mov    %eax,%edi
4374dd:	2b f9                	sub    %ecx,%edi
4374df:	8d 8d 2c fe ff ff    	lea    -0x1d4(%ebp),%ecx
4374e5:	8d 0c b9             	lea    (%ecx,%edi,4),%ecx
4374e8:	89 8d 98 f8 ff ff    	mov    %ecx,-0x768(%ebp)
4374ee:	3b fa                	cmp    %edx,%edi
4374f0:	73 05                	jae    0x4374f7
4374f2:	8b 41 04             	mov    0x4(%ecx),%eax
4374f5:	eb 02                	jmp    0x4374f9
4374f7:	33 c0                	xor    %eax,%eax
4374f9:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
4374ff:	8d 47 ff             	lea    -0x1(%edi),%eax
437502:	3b c2                	cmp    %edx,%eax
437504:	73 04                	jae    0x43750a
437506:	8b 01                	mov    (%ecx),%eax
437508:	eb 02                	jmp    0x43750c
43750a:	33 c0                	xor    %eax,%eax
43750c:	23 85 90 f8 ff ff    	and    -0x770(%ebp),%eax
437512:	8b 8d ac f8 ff ff    	mov    -0x754(%ebp),%ecx
437518:	8b 95 b0 f8 ff ff    	mov    -0x750(%ebp),%edx
43751e:	23 95 94 f8 ff ff    	and    -0x76c(%ebp),%edx
437524:	d3 e8                	shr    %cl,%eax
437526:	8b 8d a8 f8 ff ff    	mov    -0x758(%ebp),%ecx
43752c:	d3 e2                	shl    %cl,%edx
43752e:	8b 8d b4 f8 ff ff    	mov    -0x74c(%ebp),%ecx
437534:	0b c2                	or     %edx,%eax
437536:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
43753d:	8b c1                	mov    %ecx,%eax
43753f:	8b 8d 98 f8 ff ff    	mov    -0x768(%ebp),%ecx
437545:	48                   	dec    %eax
437546:	83 e9 04             	sub    $0x4,%ecx
437549:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
43754f:	4f                   	dec    %edi
437550:	89 8d 98 f8 ff ff    	mov    %ecx,-0x768(%ebp)
437556:	3b 85 80 f8 ff ff    	cmp    -0x780(%ebp),%eax
43755c:	74 08                	je     0x437566
43755e:	8b 95 2c fe ff ff    	mov    -0x1d4(%ebp),%edx
437564:	eb 88                	jmp    0x4374ee
437566:	8b 8d 9c f8 ff ff    	mov    -0x764(%ebp),%ecx
43756c:	85 c9                	test   %ecx,%ecx
43756e:	74 0a                	je     0x43757a
437570:	33 c0                	xor    %eax,%eax
437572:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
437578:	f3 ab                	rep stos %eax,%es:(%edi)
43757a:	8b 85 b8 f8 ff ff    	mov    -0x748(%ebp),%eax
437580:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
437586:	6a 04                	push   $0x4
437588:	58                   	pop    %eax
437589:	89 85 90 fa ff ff    	mov    %eax,-0x570(%ebp)
43758f:	50                   	push   %eax
437590:	83 a5 94 fa ff ff 00 	andl   $0x0,-0x56c(%ebp)
437597:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
43759d:	50                   	push   %eax
43759e:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
4375a4:	89 9d 5c fc ff ff    	mov    %ebx,-0x3a4(%ebp)
4375aa:	56                   	push   %esi
4375ab:	50                   	push   %eax
4375ac:	89 9d 8c fa ff ff    	mov    %ebx,-0x574(%ebp)
4375b2:	e8 3e ee fe ff       	call   0x4263f5
4375b7:	83 c4 10             	add    $0x10,%esp
4375ba:	e9 ce 03 00 00       	jmp    0x43798d
4375bf:	8d 8a ce fb ff ff    	lea    -0x432(%edx),%ecx
4375c5:	8b f7                	mov    %edi,%esi
4375c7:	8b c1                	mov    %ecx,%eax
4375c9:	33 d2                	xor    %edx,%edx
4375cb:	83 e1 1f             	and    $0x1f,%ecx
4375ce:	c1 e8 05             	shr    $0x5,%eax
4375d1:	2b f1                	sub    %ecx,%esi
4375d3:	89 85 9c f8 ff ff    	mov    %eax,-0x764(%ebp)
4375d9:	89 8d a8 f8 ff ff    	mov    %ecx,-0x758(%ebp)
4375df:	8b c3                	mov    %ebx,%eax
4375e1:	8b ce                	mov    %esi,%ecx
4375e3:	89 b5 ac f8 ff ff    	mov    %esi,-0x754(%ebp)
4375e9:	e8 12 4d 00 00       	call   0x43c300
4375ee:	8b 95 b0 f8 ff ff    	mov    -0x750(%ebp),%edx
4375f4:	48                   	dec    %eax
4375f5:	83 a5 88 f8 ff ff 00 	andl   $0x0,-0x778(%ebp)
4375fc:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
437602:	f7 d0                	not    %eax
437604:	89 85 90 f8 ff ff    	mov    %eax,-0x770(%ebp)
43760a:	8b 8c 95 2c fe ff ff 	mov    -0x1d4(%ebp,%edx,4),%ecx
437611:	0f bd c1             	bsr    %ecx,%eax
437614:	74 09                	je     0x43761f
437616:	40                   	inc    %eax
437617:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
43761d:	eb 07                	jmp    0x437626
43761f:	83 a5 b0 f8 ff ff 00 	andl   $0x0,-0x750(%ebp)
437626:	8b 8d 9c f8 ff ff    	mov    -0x764(%ebp),%ecx
43762c:	be cc 01 00 00       	mov    $0x1cc,%esi
437631:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
437634:	83 f8 73             	cmp    $0x73,%eax
437637:	76 2b                	jbe    0x437664
437639:	33 c0                	xor    %eax,%eax
43763b:	50                   	push   %eax
43763c:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
437642:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
437648:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
43764e:	50                   	push   %eax
43764f:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
437655:	56                   	push   %esi
437656:	50                   	push   %eax
437657:	e8 99 ed fe ff       	call   0x4263f5
43765c:	83 c4 10             	add    $0x10,%esp
43765f:	e9 e2 00 00 00       	jmp    0x437746
437664:	2b bd b0 f8 ff ff    	sub    -0x750(%ebp),%edi
43766a:	3b bd a8 f8 ff ff    	cmp    -0x758(%ebp),%edi
437670:	1b c0                	sbb    %eax,%eax
437672:	f7 d8                	neg    %eax
437674:	03 c2                	add    %edx,%eax
437676:	03 c1                	add    %ecx,%eax
437678:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
43767e:	83 f8 73             	cmp    $0x73,%eax
437681:	77 b6                	ja     0x437639
437683:	8d 79 ff             	lea    -0x1(%ecx),%edi
437686:	48                   	dec    %eax
437687:	89 bd 80 f8 ff ff    	mov    %edi,-0x780(%ebp)
43768d:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
437693:	3b c7                	cmp    %edi,%eax
437695:	0f 84 91 00 00 00    	je     0x43772c
43769b:	8b f8                	mov    %eax,%edi
43769d:	2b f9                	sub    %ecx,%edi
43769f:	8d 8d 2c fe ff ff    	lea    -0x1d4(%ebp),%ecx
4376a5:	8d 0c b9             	lea    (%ecx,%edi,4),%ecx
4376a8:	89 8d 98 f8 ff ff    	mov    %ecx,-0x768(%ebp)
4376ae:	3b fa                	cmp    %edx,%edi
4376b0:	73 05                	jae    0x4376b7
4376b2:	8b 41 04             	mov    0x4(%ecx),%eax
4376b5:	eb 02                	jmp    0x4376b9
4376b7:	33 c0                	xor    %eax,%eax
4376b9:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
4376bf:	8d 47 ff             	lea    -0x1(%edi),%eax
4376c2:	3b c2                	cmp    %edx,%eax
4376c4:	73 04                	jae    0x4376ca
4376c6:	8b 01                	mov    (%ecx),%eax
4376c8:	eb 02                	jmp    0x4376cc
4376ca:	33 c0                	xor    %eax,%eax
4376cc:	23 85 90 f8 ff ff    	and    -0x770(%ebp),%eax
4376d2:	8b 8d ac f8 ff ff    	mov    -0x754(%ebp),%ecx
4376d8:	8b 95 b0 f8 ff ff    	mov    -0x750(%ebp),%edx
4376de:	23 95 94 f8 ff ff    	and    -0x76c(%ebp),%edx
4376e4:	d3 e8                	shr    %cl,%eax
4376e6:	8b 8d a8 f8 ff ff    	mov    -0x758(%ebp),%ecx
4376ec:	d3 e2                	shl    %cl,%edx
4376ee:	8b 8d b4 f8 ff ff    	mov    -0x74c(%ebp),%ecx
4376f4:	0b c2                	or     %edx,%eax
4376f6:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
4376fd:	8b c1                	mov    %ecx,%eax
4376ff:	8b 8d 98 f8 ff ff    	mov    -0x768(%ebp),%ecx
437705:	48                   	dec    %eax
437706:	83 e9 04             	sub    $0x4,%ecx
437709:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
43770f:	4f                   	dec    %edi
437710:	89 8d 98 f8 ff ff    	mov    %ecx,-0x768(%ebp)
437716:	3b 85 80 f8 ff ff    	cmp    -0x780(%ebp),%eax
43771c:	74 08                	je     0x437726
43771e:	8b 95 2c fe ff ff    	mov    -0x1d4(%ebp),%edx
437724:	eb 88                	jmp    0x4376ae
437726:	8b 8d 9c f8 ff ff    	mov    -0x764(%ebp),%ecx
43772c:	85 c9                	test   %ecx,%ecx
43772e:	74 0a                	je     0x43773a
437730:	33 c0                	xor    %eax,%eax
437732:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
437738:	f3 ab                	rep stos %eax,%es:(%edi)
43773a:	8b 85 b8 f8 ff ff    	mov    -0x748(%ebp),%eax
437740:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
437746:	c7 85 90 fa ff ff 02 	movl   $0x2,-0x570(%ebp)
43774d:	00 00 00
437750:	6a 04                	push   $0x4
437752:	e9 39 fe ff ff       	jmp    0x437590
437757:	83 fa 35             	cmp    $0x35,%edx
43775a:	0f 84 16 01 00 00    	je     0x437876
437760:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
437767:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
43776e:	00 10 00
437771:	c7 85 8c fa ff ff 02 	movl   $0x2,-0x574(%ebp)
437778:	00 00 00
43777b:	85 f6                	test   %esi,%esi
43777d:	0f 84 f3 00 00 00    	je     0x437876
437783:	33 d2                	xor    %edx,%edx
437785:	8b 84 15 90 fa ff ff 	mov    -0x570(%ebp,%edx,1),%eax
43778c:	3b 84 15 30 fe ff ff 	cmp    -0x1d0(%ebp,%edx,1),%eax
437793:	0f 85 dd 00 00 00    	jne    0x437876
437799:	83 c2 04             	add    $0x4,%edx
43779c:	83 fa 08             	cmp    $0x8,%edx
43779f:	75 e4                	jne    0x437785
4377a1:	33 d2                	xor    %edx,%edx
4377a3:	0f bd c6             	bsr    %esi,%eax
4377a6:	89 95 88 f8 ff ff    	mov    %edx,-0x778(%ebp)
4377ac:	74 03                	je     0x4377b1
4377ae:	40                   	inc    %eax
4377af:	eb 02                	jmp    0x4377b3
4377b1:	8b c2                	mov    %edx,%eax
4377b3:	2b f8                	sub    %eax,%edi
4377b5:	83 ff 02             	cmp    $0x2,%edi
4377b8:	1b f6                	sbb    %esi,%esi
4377ba:	f7 de                	neg    %esi
4377bc:	03 f1                	add    %ecx,%esi
4377be:	83 fe 73             	cmp    $0x73,%esi
4377c1:	76 2a                	jbe    0x4377ed
4377c3:	52                   	push   %edx
4377c4:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
4377ca:	89 95 8c fa ff ff    	mov    %edx,-0x574(%ebp)
4377d0:	50                   	push   %eax
4377d1:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
4377d7:	89 95 2c fe ff ff    	mov    %edx,-0x1d4(%ebp)
4377dd:	68 cc 01 00 00       	push   $0x1cc
4377e2:	50                   	push   %eax
4377e3:	e8 0d ec fe ff       	call   0x4263f5
4377e8:	83 c4 10             	add    $0x10,%esp
4377eb:	eb 4f                	jmp    0x43783c
4377ed:	8d 56 ff             	lea    -0x1(%esi),%edx
4377f0:	83 fa ff             	cmp    $0xffffffff,%edx
4377f3:	74 41                	je     0x437836
4377f5:	8d 5a ff             	lea    -0x1(%edx),%ebx
4377f8:	8b fa                	mov    %edx,%edi
4377fa:	3b d1                	cmp    %ecx,%edx
4377fc:	73 09                	jae    0x437807
4377fe:	8b 84 bd 30 fe ff ff 	mov    -0x1d0(%ebp,%edi,4),%eax
437805:	eb 02                	jmp    0x437809
437807:	33 c0                	xor    %eax,%eax
437809:	3b d9                	cmp    %ecx,%ebx