41537d:	6a 2d                	push   $0x2d
41537f:	58                   	pop    %eax
415380:	eb 02                	jmp    0x415384
415382:	8b c7                	mov    %edi,%eax
415384:	8b 8d 7c f8 ff ff    	mov    -0x784(%ebp),%ecx
41538a:	6a 00                	push   $0x0
41538c:	6a 00                	push   $0x0
41538e:	89 01                	mov    %eax,(%ecx)
415390:	8b 85 9c f8 ff ff    	mov    -0x764(%ebp),%eax
415396:	89 41 08             	mov    %eax,0x8(%ecx)
415399:	8d 85 6c f8 ff ff    	lea    -0x794(%ebp),%eax
41539f:	50                   	push   %eax
4153a0:	e8 3b 6e ff ff       	call   0x40c1e0
4153a5:	8b ce                	mov    %esi,%ecx
4153a7:	33 c0                	xor    %eax,%eax
4153a9:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
4153af:	83 c4 0c             	add    $0xc,%esp
4153b2:	0b c1                	or     %ecx,%eax
4153b4:	75 48                	jne    0x4153fe
4153b6:	8b 45 08             	mov    0x8(%ebp),%eax
4153b9:	8b ce                	mov    %esi,%ecx
4153bb:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
4153c1:	0b c1                	or     %ecx,%eax
4153c3:	74 0c                	je     0x4153d1
4153c5:	f7 85 6c f8 ff ff 00 	testl  $0x1000000,-0x794(%ebp)
4153cc:	00 00 01
4153cf:	74 2d                	je     0x4153fe
4153d1:	8b 85 7c f8 ff ff    	mov    -0x784(%ebp),%eax
4153d7:	68 3c 05 42 00       	push   $0x42053c
4153dc:	83 60 04 00          	andl   $0x0,0x4(%eax)
4153e0:	ff 75 1c             	push   0x1c(%ebp)
4153e3:	ff b5 9c f8 ff ff    	push   -0x764(%ebp)
4153e9:	e8 b3 6e ff ff       	call   0x40c2a1
4153ee:	83 c4 0c             	add    $0xc,%esp
4153f1:	85 c0                	test   %eax,%eax
4153f3:	0f 85 09 14 00 00    	jne    0x416802
4153f9:	e9 dd 13 00 00       	jmp    0x4167db
4153fe:	8d 45 08             	lea    0x8(%ebp),%eax
415401:	50                   	push   %eax
415402:	e8 06 d2 ff ff       	call   0x41260d
415407:	59                   	pop    %ecx
415408:	85 c0                	test   %eax,%eax
41540a:	74 09                	je     0x415415
41540c:	8b 8d 7c f8 ff ff    	mov    -0x784(%ebp),%ecx
415412:	89 59 04             	mov    %ebx,0x4(%ecx)
415415:	83 e8 01             	sub    $0x1,%eax
415418:	0f 84 a1 13 00 00    	je     0x4167bf
41541e:	83 e8 01             	sub    $0x1,%eax
415421:	0f 84 8e 13 00 00    	je     0x4167b5
415427:	83 e8 01             	sub    $0x1,%eax
41542a:	0f 84 7b 13 00 00    	je     0x4167ab
415430:	83 e8 01             	sub    $0x1,%eax
415433:	0f 84 68 13 00 00    	je     0x4167a1
415439:	8b 45 08             	mov    0x8(%ebp),%eax
41543c:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
415442:	83 a5 84 f8 ff ff 00 	andl   $0x0,-0x77c(%ebp)
415449:	89 45 08             	mov    %eax,0x8(%ebp)
41544c:	8b 45 10             	mov    0x10(%ebp),%eax
41544f:	89 75 0c             	mov    %esi,0xc(%ebp)
415452:	40                   	inc    %eax
415453:	dd 45 08             	fldl   0x8(%ebp)
415456:	dd 95 a4 f8 ff ff    	fstl   -0x75c(%ebp)
41545c:	8b b5 a8 f8 ff ff    	mov    -0x758(%ebp),%esi
415462:	8b ce                	mov    %esi,%ecx
415464:	89 85 88 f8 ff ff    	mov    %eax,-0x778(%ebp)
41546a:	c1 e9 14             	shr    $0x14,%ecx
41546d:	8b c1                	mov    %ecx,%eax
41546f:	25 ff 07 00 00       	and    $0x7ff,%eax
415474:	83 c8 00             	or     $0x0,%eax
415477:	75 0a                	jne    0x415483
415479:	33 d2                	xor    %edx,%edx
41547b:	89 9d b0 f8 ff ff    	mov    %ebx,-0x750(%ebp)
415481:	eb 0d                	jmp    0x415490
415483:	33 c0                	xor    %eax,%eax
415485:	ba 00 00 10 00       	mov    $0x100000,%edx
41548a:	21 85 b0 f8 ff ff    	and    %eax,-0x750(%ebp)
415490:	8b bd a4 f8 ff ff    	mov    -0x75c(%ebp),%edi
415496:	81 e6 ff ff 0f 00    	and    $0xfffff,%esi
41549c:	03 f8                	add    %eax,%edi
41549e:	8b 85 b0 f8 ff ff    	mov    -0x750(%ebp),%eax
4154a4:	89 bd 8c f8 ff ff    	mov    %edi,-0x774(%ebp)
4154aa:	13 f2                	adc    %edx,%esi
4154ac:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
4154b2:	03 c1                	add    %ecx,%eax
4154b4:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
4154ba:	e8 c1 17 00 00       	call   0x416c80
4154bf:	51                   	push   %ecx
4154c0:	51                   	push   %ecx
4154c1:	dd 1c 24             	fstpl  (%esp)
4154c4:	e8 c7 18 00 00       	call   0x416d90
4154c9:	59                   	pop    %ecx
4154ca:	59                   	pop    %ecx
4154cb:	e8 90 3f 00 00       	call   0x419460
4154d0:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
4154d6:	6a 20                	push   $0x20
4154d8:	5f                   	pop    %edi
4154d9:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
4154de:	74 07                	je     0x4154e7
4154e0:	3d 00 00 00 80       	cmp    $0x80000000,%eax
4154e5:	75 08                	jne    0x4154ef
4154e7:	33 c0                	xor    %eax,%eax
4154e9:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
4154ef:	8b 95 b8 f8 ff ff    	mov    -0x748(%ebp),%edx
4154f5:	33 c9                	xor    %ecx,%ecx
4154f7:	8b 85 8c f8 ff ff    	mov    -0x774(%ebp),%eax
4154fd:	85 f6                	test   %esi,%esi
4154ff:	89 85 30 fe ff ff    	mov    %eax,-0x1d0(%ebp)
415505:	0f 95 c1             	setne  %cl
415508:	89 b5 34 fe ff ff    	mov    %esi,-0x1cc(%ebp)
41550e:	41                   	inc    %ecx
41550f:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
415515:	89 8d 2c fe ff ff    	mov    %ecx,-0x1d4(%ebp)
41551b:	81 fa 33 04 00 00    	cmp    $0x433,%edx
415521:	0f 82 99 03 00 00    	jb     0x4158c0
415527:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
41552e:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
415535:	00 10 00
415538:	c7 85 8c fa ff ff 02 	movl   $0x2,-0x574(%ebp)
41553f:	00 00 00
415542:	85 f6                	test   %esi,%esi
415544:	0f 84 de 01 00 00    	je     0x415728
41554a:	33 c9                	xor    %ecx,%ecx
41554c:	8b 84 0d 90 fa ff ff 	mov    -0x570(%ebp,%ecx,1),%eax
415553:	3b 84 0d 30 fe ff ff 	cmp    -0x1d0(%ebp,%ecx,1),%eax
41555a:	0f 85 c8 01 00 00    	jne    0x415728
415560:	83 c1 04             	add    $0x4,%ecx
415563:	83 f9 08             	cmp    $0x8,%ecx
415566:	75 e4                	jne    0x41554c
415568:	8d 8a cf fb ff ff    	lea    -0x431(%edx),%ecx
41556e:	8b f7                	mov    %edi,%esi
415570:	8b c1                	mov    %ecx,%eax
415572:	33 d2                	xor    %edx,%edx
415574:	83 e1 1f             	and    $0x1f,%ecx
415577:	c1 e8 05             	shr    $0x5,%eax
41557a:	2b f1                	sub    %ecx,%esi
41557c:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
415582:	89 8d 98 f8 ff ff    	mov    %ecx,-0x768(%ebp)
415588:	8b c3                	mov    %ebx,%eax
41558a:	8b ce                	mov    %esi,%ecx
41558c:	89 b5 b4 f8 ff ff    	mov    %esi,-0x74c(%ebp)
415592:	e8 59 3e 00 00       	call   0x4193f0
415597:	8b 95 a0 f8 ff ff    	mov    -0x760(%ebp),%edx
41559d:	48                   	dec    %eax
41559e:	83 a5 a8 f8 ff ff 00 	andl   $0x0,-0x758(%ebp)
4155a5:	89 85 90 f8 ff ff    	mov    %eax,-0x770(%ebp)
4155ab:	f7 d0                	not    %eax
4155ad:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
4155b3:	8b 8c 95 2c fe ff ff 	mov    -0x1d4(%ebp,%edx,4),%ecx
4155ba:	0f bd c1             	bsr    %ecx,%eax
4155bd:	74 09                	je     0x4155c8
4155bf:	40                   	inc    %eax
4155c0:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
4155c6:	eb 07                	jmp    0x4155cf
4155c8:	83 a5 b0 f8 ff ff 00 	andl   $0x0,-0x750(%ebp)
4155cf:	8b 8d ac f8 ff ff    	mov    -0x754(%ebp),%ecx
4155d5:	be cc 01 00 00       	mov    $0x1cc,%esi
4155da:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
4155dd:	83 f8 73             	cmp    $0x73,%eax
4155e0:	76 2b                	jbe    0x41560d
4155e2:	33 c0                	xor    %eax,%eax
4155e4:	50                   	push   %eax
4155e5:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
4155eb:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
4155f1:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
4155f7:	50                   	push   %eax
4155f8:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
4155fe:	56                   	push   %esi
4155ff:	50                   	push   %eax
415600:	e8 b9 a8 ff ff       	call   0x40febe
415605:	83 c4 10             	add    $0x10,%esp
415608:	e9 e2 00 00 00       	jmp    0x4156ef
41560d:	2b bd b0 f8 ff ff    	sub    -0x750(%ebp),%edi
415613:	3b bd 98 f8 ff ff    	cmp    -0x768(%ebp),%edi
415619:	1b c0                	sbb    %eax,%eax
41561b:	f7 d8                	neg    %eax
41561d:	03 c2                	add    %edx,%eax
41561f:	03 c1                	add    %ecx,%eax
415621:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
415627:	83 f8 73             	cmp    $0x73,%eax
41562a:	77 b6                	ja     0x4155e2
41562c:	8d 79 ff             	lea    -0x1(%ecx),%edi
41562f:	48                   	dec    %eax
415630:	89 bd 84 f8 ff ff    	mov    %edi,-0x77c(%ebp)
415636:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
41563c:	3b c7                	cmp    %edi,%eax
41563e:	0f 84 91 00 00 00    	je     0x4156d5
415644:	8b f8                	mov    %eax,%edi
415646:	2b f9                	sub    %ecx,%edi
415648:	8d 8d 2c fe ff ff    	lea    -0x1d4(%ebp),%ecx
41564e:	8d 0c b9             	lea    (%ecx,%edi,4),%ecx
415651:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
415657:	3b fa                	cmp    %edx,%edi
415659:	73 05                	jae    0x415660
41565b:	8b 41 04             	mov    0x4(%ecx),%eax
41565e:	eb 02                	jmp    0x415662
415660:	33 c0                	xor    %eax,%eax
415662:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
415668:	8d 47 ff             	lea    -0x1(%edi),%eax
41566b:	3b c2                	cmp    %edx,%eax
41566d:	73 04                	jae    0x415673
41566f:	8b 01                	mov    (%ecx),%eax
415671:	eb 02                	jmp    0x415675
415673:	33 c0                	xor    %eax,%eax
415675:	23 85 8c f8 ff ff    	and    -0x774(%ebp),%eax
41567b:	8b 8d b4 f8 ff ff    	mov    -0x74c(%ebp),%ecx
415681:	8b 95 b0 f8 ff ff    	mov    -0x750(%ebp),%edx
415687:	23 95 90 f8 ff ff    	and    -0x770(%ebp),%edx
41568d:	d3 e8                	shr    %cl,%eax
41568f:	8b 8d 98 f8 ff ff    	mov    -0x768(%ebp),%ecx
415695:	d3 e2                	shl    %cl,%edx
415697:	8b 8d b8 f8 ff ff    	mov    -0x748(%ebp),%ecx
41569d:	0b c2                	or     %edx,%eax
41569f:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
4156a6:	8b c1                	mov    %ecx,%eax
4156a8:	8b 8d a0 f8 ff ff    	mov    -0x760(%ebp),%ecx
4156ae:	48                   	dec    %eax
4156af:	83 e9 04             	sub    $0x4,%ecx
4156b2:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
4156b8:	4f                   	dec    %edi
4156b9:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
4156bf:	3b 85 84 f8 ff ff    	cmp    -0x77c(%ebp),%eax
4156c5:	74 08                	je     0x4156cf
4156c7:	8b 95 2c fe ff ff    	mov    -0x1d4(%ebp),%edx
4156cd:	eb 88                	jmp    0x415657
4156cf:	8b 8d ac f8 ff ff    	mov    -0x754(%ebp),%ecx
4156d5:	85 c9                	test   %ecx,%ecx
4156d7:	74 0a                	je     0x4156e3
4156d9:	33 c0                	xor    %eax,%eax
4156db:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
4156e1:	f3 ab                	rep stos %eax,%es:(%edi)
4156e3:	8b 85 a8 f8 ff ff    	mov    -0x758(%ebp),%eax
4156e9:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
4156ef:	6a 04                	push   $0x4
4156f1:	58                   	pop    %eax
4156f2:	89 85 90 fa ff ff    	mov    %eax,-0x570(%ebp)
4156f8:	50                   	push   %eax
4156f9:	83 a5 94 fa ff ff 00 	andl   $0x0,-0x56c(%ebp)
415700:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
415706:	50                   	push   %eax
415707:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
41570d:	89 9d 5c fc ff ff    	mov    %ebx,-0x3a4(%ebp)
415713:	56                   	push   %esi
415714:	50                   	push   %eax
415715:	89 9d 8c fa ff ff    	mov    %ebx,-0x574(%ebp)
41571b:	e8 9e a7 ff ff       	call   0x40febe
415720:	83 c4 10             	add    $0x10,%esp
415723:	e9 ca 03 00 00       	jmp    0x415af2
415728:	8d 8a ce fb ff ff    	lea    -0x432(%edx),%ecx
41572e:	8b f7                	mov    %edi,%esi
415730:	8b c1                	mov    %ecx,%eax
415732:	33 d2                	xor    %edx,%edx
415734:	83 e1 1f             	and    $0x1f,%ecx
415737:	c1 e8 05             	shr    $0x5,%eax
41573a:	2b f1                	sub    %ecx,%esi
41573c:	89 85 98 f8 ff ff    	mov    %eax,-0x768(%ebp)
415742:	89 8d b0 f8 ff ff    	mov    %ecx,-0x750(%ebp)
415748:	8b c3                	mov    %ebx,%eax
41574a:	8b ce                	mov    %esi,%ecx
41574c:	89 b5 84 f8 ff ff    	mov    %esi,-0x77c(%ebp)
415752:	e8 99 3c 00 00       	call   0x4193f0
415757:	8b 95 a0 f8 ff ff    	mov    -0x760(%ebp),%edx
41575d:	48                   	dec    %eax
41575e:	83 a5 b4 f8 ff ff 00 	andl   $0x0,-0x74c(%ebp)
415765:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
41576b:	f7 d0                	not    %eax
41576d:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
415773:	8b 8c 95 2c fe ff ff 	mov    -0x1d4(%ebp,%edx,4),%ecx
41577a:	0f bd c1             	bsr    %ecx,%eax
41577d:	74 09                	je     0x415788
41577f:	40                   	inc    %eax
415780:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
415786:	eb 07                	jmp    0x41578f
415788:	83 a5 ac f8 ff ff 00 	andl   $0x0,-0x754(%ebp)
41578f:	8b 8d 98 f8 ff ff    	mov    -0x768(%ebp),%ecx
415795:	be cc 01 00 00       	mov    $0x1cc,%esi
41579a:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
41579d:	83 f8 73             	cmp    $0x73,%eax
4157a0:	76 2b                	jbe    0x4157cd
4157a2:	33 c0                	xor    %eax,%eax
4157a4:	50                   	push   %eax
4157a5:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
4157ab:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
4157b1:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
4157b7:	50                   	push   %eax
4157b8:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
4157be:	56                   	push   %esi
4157bf:	50                   	push   %eax
4157c0:	e8 f9 a6 ff ff       	call   0x40febe
4157c5:	83 c4 10             	add    $0x10,%esp
4157c8:	e9 e2 00 00 00       	jmp    0x4158af
4157cd:	2b bd ac f8 ff ff    	sub    -0x754(%ebp),%edi
4157d3:	3b bd b0 f8 ff ff    	cmp    -0x750(%ebp),%edi
4157d9:	1b c0                	sbb    %eax,%eax
4157db:	f7 d8                	neg    %eax
4157dd:	03 c2                	add    %edx,%eax
4157df:	03 c1                	add    %ecx,%eax
4157e1:	89 85 90 f8 ff ff    	mov    %eax,-0x770(%ebp)
4157e7:	83 f8 73             	cmp    $0x73,%eax
4157ea:	77 b6                	ja     0x4157a2
4157ec:	8d 79 ff             	lea    -0x1(%ecx),%edi
4157ef:	48                   	dec    %eax
4157f0:	89 bd b4 f8 ff ff    	mov    %edi,-0x74c(%ebp)
4157f6:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
4157fc:	3b c7                	cmp    %edi,%eax
4157fe:	0f 84 91 00 00 00    	je     0x415895
415804:	8b f8                	mov    %eax,%edi
415806:	2b f9                	sub    %ecx,%edi
415808:	8d 8d 2c fe ff ff    	lea    -0x1d4(%ebp),%ecx
41580e:	8d 0c b9             	lea    (%ecx,%edi,4),%ecx
415811:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
415817:	3b fa                	cmp    %edx,%edi
415819:	73 05                	jae    0x415820
41581b:	8b 41 04             	mov    0x4(%ecx),%eax
41581e:	eb 02                	jmp    0x415822
415820:	33 c0                	xor    %eax,%eax
415822:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
415828:	8d 47 ff             	lea    -0x1(%edi),%eax
41582b:	3b c2                	cmp    %edx,%eax
41582d:	73 04                	jae    0x415833
41582f:	8b 01                	mov    (%ecx),%eax
415831:	eb 02                	jmp    0x415835
415833:	33 c0                	xor    %eax,%eax
415835:	23 85 a8 f8 ff ff    	and    -0x758(%ebp),%eax
41583b:	8b 8d 84 f8 ff ff    	mov    -0x77c(%ebp),%ecx
415841:	8b 95 ac f8 ff ff    	mov    -0x754(%ebp),%edx
415847:	23 95 8c f8 ff ff    	and    -0x774(%ebp),%edx
41584d:	d3 e8                	shr    %cl,%eax
41584f:	8b 8d b0 f8 ff ff    	mov    -0x750(%ebp),%ecx
415855:	d3 e2                	shl    %cl,%edx
415857:	8b 8d b8 f8 ff ff    	mov    -0x748(%ebp),%ecx
41585d:	0b c2                	or     %edx,%eax
41585f:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
415866:	8b c1                	mov    %ecx,%eax
415868:	8b 8d a0 f8 ff ff    	mov    -0x760(%ebp),%ecx
41586e:	48                   	dec    %eax
41586f:	83 e9 04             	sub    $0x4,%ecx
415872:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
415878:	4f                   	dec    %edi
415879:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
41587f:	3b 85 b4 f8 ff ff    	cmp    -0x74c(%ebp),%eax
415885:	74 08                	je     0x41588f
415887:	8b 95 2c fe ff ff    	mov    -0x1d4(%ebp),%edx
41588d:	eb 88                	jmp    0x415817
41588f:	8b 8d 98 f8 ff ff    	mov    -0x768(%ebp),%ecx
415895:	85 c9                	test   %ecx,%ecx
415897:	74 0a                	je     0x4158a3
415899:	33 c0                	xor    %eax,%eax
41589b:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
4158a1:	f3 ab                	rep stos %eax,%es:(%edi)
4158a3:	8b 85 90 f8 ff ff    	mov    -0x770(%ebp),%eax