472342:	83 cb ff             	or     $0xffffffff,%ebx
472345:	e9 56 0c f9 ff       	jmp    0x402fa0
47234a:	ba 00 dc 49 00       	mov    $0x49dc00,%edx
47234f:	8d 4c 24 28          	lea    0x28(%esp),%ecx
472353:	e8 d7 c8 fa ff       	call   0x41ec2f
472358:	84 c0                	test   %al,%al
47235a:	74 e6                	je     0x472342
47235c:	8b 07                	mov    (%edi),%eax
47235e:	85 c0                	test   %eax,%eax
472360:	0f 84 3a 0c f9 ff    	je     0x402fa0
472366:	eb b9                	jmp    0x472321
472368:	39 5c 24 3c          	cmp    %ebx,0x3c(%esp)
47236c:	74 0c                	je     0x47237a
47236e:	8d 44 24 38          	lea    0x38(%esp),%eax
472372:	50                   	push   %eax
472373:	8b ce                	mov    %esi,%ecx
472375:	e8 73 4b f9 ff       	call   0x406eed
47237a:	39 5f 08             	cmp    %ebx,0x8(%edi)
47237d:	75 07                	jne    0x472386
47237f:	c7 47 08 01 00 00 00 	movl   $0x1,0x8(%edi)
472386:	83 4f 08 04          	orl    $0x4,0x8(%edi)
47238a:	8b 35 60 d6 48 00    	mov    0x48d660,%esi
472390:	38 5f 0c             	cmp    %bl,0xc(%edi)
472393:	75 10                	jne    0x4723a5
472395:	8d 4f 24             	lea    0x24(%edi),%ecx
472398:	e8 5d 9a f9 ff       	call   0x40bdfa
47239d:	ff 77 28             	push   0x28(%edi)
4723a0:	ff 77 24             	push   0x24(%edi)
4723a3:	ff d6                	call   *%esi
4723a5:	f6 47 08 01          	testb  $0x1,0x8(%edi)
4723a9:	74 15                	je     0x4723c0
4723ab:	38 5f 0c             	cmp    %bl,0xc(%edi)
4723ae:	75 10                	jne    0x4723c0
4723b0:	8d 4f 14             	lea    0x14(%edi),%ecx
4723b3:	e8 42 9a f9 ff       	call   0x40bdfa
4723b8:	ff 77 18             	push   0x18(%edi)
4723bb:	ff 77 14             	push   0x14(%edi)
4723be:	ff d6                	call   *%esi
4723c0:	57                   	push   %edi
4723c1:	68 a7 d8 43 00       	push   $0x43d8a7
4723c6:	38 5d 18             	cmp    %bl,0x18(%ebp)
4723c9:	74 0f                	je     0x4723da
4723cb:	ff 15 2c d6 48 00    	call   *0x48d62c
4723d1:	50                   	push   %eax
4723d2:	ff 15 5c d6 48 00    	call   *0x48d65c
4723d8:	eb 06                	jmp    0x4723e0
4723da:	ff 15 28 d6 48 00    	call   *0x48d628
4723e0:	8b 5d 10             	mov    0x10(%ebp),%ebx
4723e3:	8d b7 ec 00 00 00    	lea    0xec(%edi),%esi
4723e9:	56                   	push   %esi
4723ea:	8b cb                	mov    %ebx,%ecx
4723ec:	e8 67 b2 fc ff       	call   0x43d658
4723f1:	8b ce                	mov    %esi,%ecx
4723f3:	e8 13 10 f9 ff       	call   0x40340b
4723f8:	83 bf e4 00 00 00 01 	cmpl   $0x1,0xe4(%edi)
4723ff:	7c 0e                	jl     0x47240f
472401:	8b 43 04             	mov    0x4(%ebx),%eax
472404:	8b cf                	mov    %edi,%ecx
472406:	8b 00                	mov    (%eax),%eax
472408:	ff 30                	push   (%eax)
47240a:	e8 b7 0b f9 ff       	call   0x402fc6
47240f:	8b 9f e4 00 00 00    	mov    0xe4(%edi),%ebx
472415:	e9 86 0b f9 ff       	jmp    0x402fa0
47241a:	8b 70 04             	mov    0x4(%eax),%esi
47241d:	50                   	push   %eax
47241e:	e8 3b d1 fa ff       	call   0x41f55e
472423:	59                   	pop    %ecx
472424:	8b c6                	mov    %esi,%eax
472426:	85 f6                	test   %esi,%esi
472428:	75 f0                	jne    0x47241a
47242a:	5e                   	pop    %esi
47242b:	c3                   	ret
47242c:	8b 71 38             	mov    0x38(%ecx),%esi
47242f:	51                   	push   %ecx
472430:	e8 68 0f f9 ff       	call   0x40339d
472435:	8b ce                	mov    %esi,%ecx
472437:	85 f6                	test   %esi,%esi
472439:	75 f1                	jne    0x47242c
47243b:	5e                   	pop    %esi
47243c:	c3                   	ret
47243d:	8b 71 08             	mov    0x8(%ecx),%esi
472440:	51                   	push   %ecx
472441:	e8 54 b8 fc ff       	call   0x43dc9a
472446:	8b ce                	mov    %esi,%ecx
472448:	85 f6                	test   %esi,%esi
47244a:	75 f1                	jne    0x47243d
47244c:	5e                   	pop    %esi
47244d:	c3                   	ret
47244e:	88 4b 21             	mov    %cl,0x21(%ebx)
472451:	38 4d be             	cmp    %cl,-0x42(%ebp)
472454:	75 08                	jne    0x47245e
472456:	88 4b 20             	mov    %cl,0x20(%ebx)
472459:	e9 34 ba fa ff       	jmp    0x41de92
47245e:	88 4b 23             	mov    %cl,0x23(%ebx)
472461:	88 4b 22             	mov    %cl,0x22(%ebx)
472464:	e9 29 ba fa ff       	jmp    0x41de92
472469:	88 4b 21             	mov    %cl,0x21(%ebx)
47246c:	88 4b 23             	mov    %cl,0x23(%ebx)
47246f:	88 4b 25             	mov    %cl,0x25(%ebx)
472472:	38 4d be             	cmp    %cl,-0x42(%ebp)
472475:	75 08                	jne    0x47247f
472477:	88 4b 24             	mov    %cl,0x24(%ebx)
47247a:	e9 13 ba fa ff       	jmp    0x41de92
47247f:	88 4b 27             	mov    %cl,0x27(%ebx)
472482:	88 4b 26             	mov    %cl,0x26(%ebx)
472485:	e9 08 ba fa ff       	jmp    0x41de92
47248a:	88 4b 2b             	mov    %cl,0x2b(%ebx)
47248d:	88 4b 2a             	mov    %cl,0x2a(%ebx)
472490:	e9 fd b9 fa ff       	jmp    0x41de92
472495:	83 f8 03             	cmp    $0x3,%eax
472498:	0f 85 f4 b9 fa ff    	jne    0x41de92
47249e:	88 4b 2b             	mov    %cl,0x2b(%ebx)
4724a1:	88 4b 29             	mov    %cl,0x29(%ebx)
4724a4:	88 4b 27             	mov    %cl,0x27(%ebx)
4724a7:	88 4b 25             	mov    %cl,0x25(%ebx)
4724aa:	88 4b 21             	mov    %cl,0x21(%ebx)
4724ad:	88 4b 2d             	mov    %cl,0x2d(%ebx)
4724b0:	38 4d be             	cmp    %cl,-0x42(%ebp)
4724b3:	75 08                	jne    0x4724bd
4724b5:	88 4b 2c             	mov    %cl,0x2c(%ebx)
4724b8:	e9 d5 b9 fa ff       	jmp    0x41de92
4724bd:	88 4b 2f             	mov    %cl,0x2f(%ebx)
4724c0:	88 4b 2e             	mov    %cl,0x2e(%ebx)
4724c3:	e9 ca b9 fa ff       	jmp    0x41de92
4724c8:	39 4b 04             	cmp    %ecx,0x4(%ebx)
4724cb:	75 17                	jne    0x4724e4
4724cd:	88 4b 1d             	mov    %cl,0x1d(%ebx)
4724d0:	88 4b 1c             	mov    %cl,0x1c(%ebx)
4724d3:	0f b6 45 bc          	movzbl -0x44(%ebp),%eax
4724d7:	c1 e8 06             	shr    $0x6,%eax
4724da:	23 c1                	and    %ecx,%eax
4724dc:	88 43 34             	mov    %al,0x34(%ebx)
4724df:	e9 ae b9 fa ff       	jmp    0x41de92
4724e4:	83 7b 04 02          	cmpl   $0x2,0x4(%ebx)
4724e8:	75 e9                	jne    0x4724d3
4724ea:	88 4b 1d             	mov    %cl,0x1d(%ebx)
4724ed:	88 4b 1f             	mov    %cl,0x1f(%ebx)
4724f0:	38 4d be             	cmp    %cl,-0x42(%ebp)
4724f3:	74 db                	je     0x4724d0
4724f5:	88 4b 1e             	mov    %cl,0x1e(%ebx)
4724f8:	eb d9                	jmp    0x4724d3
4724fa:	0f b7 31             	movzwl (%ecx),%esi
4724fd:	6a 20                	push   $0x20
4724ff:	33 db                	xor    %ebx,%ebx
472501:	89 75 fc             	mov    %esi,-0x4(%ebp)
472504:	33 d2                	xor    %edx,%edx
472506:	5e                   	pop    %esi
472507:	66 39 75 fc          	cmp    %si,-0x4(%ebp)
47250b:	75 01                	jne    0x47250e
47250d:	42                   	inc    %edx
47250e:	0f b7 34 5d 3a dc 49 	movzwl 0x49dc3a(,%ebx,2),%esi
472515:	00
472516:	43                   	inc    %ebx
472517:	66 85 f6             	test   %si,%si
47251a:	75 eb                	jne    0x472507
47251c:	85 d2                	test   %edx,%edx
47251e:	0f 84 c2 ba fa ff    	je     0x41dfe6
472524:	40                   	inc    %eax
472525:	83 c1 02             	add    $0x2,%ecx
472528:	3b c7                	cmp    %edi,%eax
47252a:	72 ce                	jb     0x4724fa
47252c:	e9 b2 ba fa ff       	jmp    0x41dfe3
472531:	85 c0                	test   %eax,%eax
472533:	0f 84 5b 99 f9 ff    	je     0x40be94
472539:	83 c8 ff             	or     $0xffffffff,%eax
47253c:	e9 4b 99 f9 ff       	jmp    0x40be8c
472541:	33 ff                	xor    %edi,%edi
472543:	e9 bd 9d fa ff       	jmp    0x41c305
472548:	33 d2                	xor    %edx,%edx
47254a:	e9 9b 9e fa ff       	jmp    0x41c3ea
47254f:	83 f8 ff             	cmp    $0xffffffff,%eax
472552:	0f 85 6c 04 f9 ff    	jne    0x4029c4
472558:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
47255c:	0f 84 62 04 f9 ff    	je     0x4029c4
472562:	83 66 38 00          	andl   $0x0,0x38(%esi)
472566:	ff 07                	incl   (%edi)
472568:	e9 f3 03 f9 ff       	jmp    0x402960
47256d:	8b 46 28             	mov    0x28(%esi),%eax
472570:	3b d0                	cmp    %eax,%edx
472572:	75 08                	jne    0x47257c
472574:	8d 48 01             	lea    0x1(%eax),%ecx
472577:	e9 3d 04 f9 ff       	jmp    0x4029b9
47257c:	c7 46 38 10 00 00 10 	movl   $0x10000010,0x38(%esi)
472583:	e9 31 04 f9 ff       	jmp    0x4029b9
472588:	8b 46 08             	mov    0x8(%esi),%eax
47258b:	85 c0                	test   %eax,%eax
47258d:	0f 84 16 fc f8 ff    	je     0x4021a9
472593:	c1 e0 02             	shl    $0x2,%eax
472596:	50                   	push   %eax
472597:	ff 76 04             	push   0x4(%esi)
47259a:	57                   	push   %edi
47259b:	e8 e0 c8 fa ff       	call   0x41ee80
4725a0:	ff 76 04             	push   0x4(%esi)
4725a3:	e8 b6 cf fa ff       	call   0x41f55e
4725a8:	83 c4 10             	add    $0x10,%esp
4725ab:	e9 f9 fb f8 ff       	jmp    0x4021a9
4725b0:	33 ff                	xor    %edi,%edi
4725b2:	e9 b2 fb f8 ff       	jmp    0x402169
4725b7:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4725bb:	0f 84 b3 70 f9 ff    	je     0x409674
4725c1:	e9 94 6e f9 ff       	jmp    0x40945a
4725c6:	8b 46 28             	mov    0x28(%esi),%eax
4725c9:	39 45 e0             	cmp    %eax,-0x20(%ebp)
4725cc:	75 08                	jne    0x4725d6
4725ce:	8d 50 01             	lea    0x1(%eax),%edx
4725d1:	e9 f3 6e f9 ff       	jmp    0x4094c9
4725d6:	c7 46 38 10 00 00 10 	movl   $0x10000010,0x38(%esi)
4725dd:	e9 e7 6e f9 ff       	jmp    0x4094c9
4725e2:	ff 45 f0             	incl   -0x10(%ebp)
4725e5:	6a 01                	push   $0x1
4725e7:	8d 45 f0             	lea    -0x10(%ebp),%eax
4725ea:	50                   	push   %eax
4725eb:	8b ce                	mov    %esi,%ecx
4725ed:	c7 46 38 00 00 00 00 	movl   $0x0,0x38(%esi)
4725f4:	e8 5d 03 f9 ff       	call   0x402956
4725f9:	8b c8                	mov    %eax,%ecx
4725fb:	e9 cc 6e f9 ff       	jmp    0x4094cc
472600:	48                   	dec    %eax
472601:	89 01                	mov    %eax,(%ecx)
472603:	8d 4d cc             	lea    -0x34(%ebp),%ecx
472606:	e8 3f 45 f9 ff       	call   0x406b4a
47260b:	8d 43 01             	lea    0x1(%ebx),%eax
47260e:	50                   	push   %eax
47260f:	e8 e2 44 f9 ff       	call   0x406af6
472614:	33 c9                	xor    %ecx,%ecx
472616:	89 45 d4             	mov    %eax,-0x2c(%ebp)
472619:	ba 02 00 00 00       	mov    $0x2,%edx
47261e:	f7 e2                	mul    %edx
472620:	0f 90 c1             	seto   %cl
472623:	f7 d9                	neg    %ecx
472625:	0b c8                	or     %eax,%ecx
472627:	51                   	push   %ecx
472628:	e8 bd ce fa ff       	call   0x41f4ea
47262d:	83 c4 04             	add    $0x4,%esp
472630:	e9 28 70 f9 ff       	jmp    0x40965d
472635:	57                   	push   %edi
472636:	8d 45 ac             	lea    -0x54(%ebp),%eax
472639:	50                   	push   %eax
47263a:	8b cf                	mov    %edi,%ecx
47263c:	e8 4e 7f fc ff       	call   0x43a58f
472641:	50                   	push   %eax
472642:	8b cf                	mov    %edi,%ecx
472644:	e8 a4 48 f9 ff       	call   0x406eed
472649:	8d 4d ac             	lea    -0x54(%ebp),%ecx
47264c:	e8 e6 a4 f9 ff       	call   0x40cb37
472651:	e9 42 6f f9 ff       	jmp    0x409598
472656:	48                   	dec    %eax
472657:	89 01                	mov    %eax,(%ecx)
472659:	8b cf                	mov    %edi,%ecx
47265b:	e8 ea 44 f9 ff       	call   0x406b4a
472660:	8b 47 04             	mov    0x4(%edi),%eax
472663:	40                   	inc    %eax
472664:	03 c3                	add    %ebx,%eax
472666:	50                   	push   %eax
472667:	e8 8a 44 f9 ff       	call   0x406af6
47266c:	33 c9                	xor    %ecx,%ecx
47266e:	89 47 08             	mov    %eax,0x8(%edi)
472671:	ba 02 00 00 00       	mov    $0x2,%edx
472676:	f7 e2                	mul    %edx
472678:	0f 90 c1             	seto   %cl
47267b:	f7 d9                	neg    %ecx
47267d:	0b c8                	or     %eax,%ecx
47267f:	51                   	push   %ecx
472680:	e8 65 ce fa ff       	call   0x41f4ea
472685:	8b f0                	mov    %eax,%esi
472687:	8b 47 04             	mov    0x4(%edi),%eax
47268a:	83 c4 04             	add    $0x4,%esp
47268d:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
472694:	50                   	push   %eax
472695:	ff 37                	push   (%edi)
472697:	56                   	push   %esi
472698:	e8 e3 c7 fa ff       	call   0x41ee80
47269d:	89 37                	mov    %esi,(%edi)
47269f:	8b 75 ec             	mov    -0x14(%ebp),%esi
4726a2:	83 c4 0c             	add    $0xc,%esp
4726a5:	e9 c8 6e f9 ff       	jmp    0x409572
4726aa:	3d c2 41 00 00       	cmp    $0x41c2,%eax
4726af:	73 07                	jae    0x4726b8
4726b1:	03 c0                	add    %eax,%eax
4726b3:	e9 ba 00 00 00       	jmp    0x472772
4726b8:	3d 00 00 00 02       	cmp    $0x2000000,%eax
4726bd:	73 39                	jae    0x4726f8
4726bf:	89 45 e0             	mov    %eax,-0x20(%ebp)
4726c2:	db 45 e0             	fildl  -0x20(%ebp)
4726c5:	85 c0                	test   %eax,%eax
4726c7:	79 06                	jns    0x4726cf
4726c9:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
4726cf:	dd 5d dc             	fstpl  -0x24(%ebp)
4726d2:	dd 45 dc             	fldl   -0x24(%ebp)
4726d5:	dc 0d 10 27 4b 00    	fmull  0x4b2710
4726db:	d9 7d f6             	fnstcw -0xa(%ebp)
4726de:	0f b7 45 f6          	movzwl -0xa(%ebp),%eax
4726e2:	0d 00 0c 00 00       	or     $0xc00,%eax
4726e7:	89 45 e0             	mov    %eax,-0x20(%ebp)
4726ea:	d9 6d e0             	fldcw  -0x20(%ebp)
4726ed:	df 7d dc             	fistpll -0x24(%ebp)
4726f0:	8b 45 dc             	mov    -0x24(%ebp),%eax
4726f3:	d9 6d f6             	fldcw  -0xa(%ebp)
4726f6:	eb 77                	jmp    0x47276f
4726f8:	3d 00 00 00 08       	cmp    $0x8000000,%eax
4726fd:	73 39                	jae    0x472738
4726ff:	89 45 e0             	mov    %eax,-0x20(%ebp)
472702:	db 45 e0             	fildl  -0x20(%ebp)
472705:	85 c0                	test   %eax,%eax
472707:	79 06                	jns    0x47270f
472709:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
47270f:	dd 5d dc             	fstpl  -0x24(%ebp)
472712:	dd 45 dc             	fldl   -0x24(%ebp)
472715:	dc 0d 08 27 4b 00    	fmull  0x4b2708
47271b:	d9 7d f6             	fnstcw -0xa(%ebp)
47271e:	0f b7 45 f6          	movzwl -0xa(%ebp),%eax
472722:	0d 00 0c 00 00       	or     $0xc00,%eax
472727:	89 45 e0             	mov    %eax,-0x20(%ebp)
47272a:	d9 6d e0             	fldcw  -0x20(%ebp)
47272d:	df 7d dc             	fistpll -0x24(%ebp)
472730:	8b 45 dc             	mov    -0x24(%ebp),%eax
472733:	d9 6d f6             	fldcw  -0xa(%ebp)
472736:	eb 37                	jmp    0x47276f
472738:	89 45 e0             	mov    %eax,-0x20(%ebp)
47273b:	db 45 e0             	fildl  -0x20(%ebp)
47273e:	85 c0                	test   %eax,%eax
472740:	79 06                	jns    0x472748
472742:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
472748:	dd 5d dc             	fstpl  -0x24(%ebp)
47274b:	dd 45 dc             	fldl   -0x24(%ebp)
47274e:	dc 0d 00 27 4b 00    	fmull  0x4b2700
472754:	d9 7d f6             	fnstcw -0xa(%ebp)
472757:	0f b7 45 f6          	movzwl -0xa(%ebp),%eax
47275b:	0d 00 0c 00 00       	or     $0xc00,%eax
472760:	89 45 e0             	mov    %eax,-0x20(%ebp)
472763:	d9 6d e0             	fldcw  -0x20(%ebp)
472766:	df 7d dc             	fistpll -0x24(%ebp)
472769:	8b 45 dc             	mov    -0x24(%ebp),%eax
47276c:	d9 6d f6             	fldcw  -0xa(%ebp)
47276f:	8b 5d d0             	mov    -0x30(%ebp),%ebx
472772:	50                   	push   %eax
472773:	89 47 08             	mov    %eax,0x8(%edi)
472776:	e8 7b 43 f9 ff       	call   0x406af6
47277b:	33 c9                	xor    %ecx,%ecx
47277d:	89 47 08             	mov    %eax,0x8(%edi)
472780:	ba 02 00 00 00       	mov    $0x2,%edx
472785:	f7 e2                	mul    %edx
472787:	0f 90 c1             	seto   %cl
47278a:	f7 d9                	neg    %ecx
47278c:	0b c8                	or     %eax,%ecx
47278e:	51                   	push   %ecx
47278f:	e8 e1 c6 fa ff       	call   0x41ee75
472794:	8b 17                	mov    (%edi),%edx
472796:	83 c4 04             	add    $0x4,%esp
472799:	8b c8                	mov    %eax,%ecx