473475:	50                   	push   %eax
473476:	ff 75 10             	push   0x10(%ebp)
473479:	8b cf                	mov    %edi,%ecx
47347b:	e8 35 f1 fc ff       	call   0x4425b5
473480:	88 5c 24 13          	mov    %bl,0x13(%esp)
473484:	e9 14 96 f9 ff       	jmp    0x40ca9d
473489:	8d 45 0c             	lea    0xc(%ebp),%eax
47348c:	50                   	push   %eax
47348d:	8d 45 10             	lea    0x10(%ebp),%eax
473490:	50                   	push   %eax
473491:	68 d8 34 4b 00       	push   $0x4b34d8
473496:	8d 4d 98             	lea    -0x68(%ebp),%ecx
473499:	e8 f8 8e fd ff       	call   0x44c396
47349e:	85 c0                	test   %eax,%eax
4734a0:	74 1d                	je     0x4734bf
4734a2:	8d 4d 98             	lea    -0x68(%ebp),%ecx
4734a5:	e8 a8 0d f9 ff       	call   0x404252
4734aa:	0f b6 47 02          	movzbl 0x2(%edi),%eax
4734ae:	50                   	push   %eax
4734af:	51                   	push   %ecx
4734b0:	8b 4f 60             	mov    0x60(%edi),%ecx
4734b3:	e8 91 36 fd ff       	call   0x446b49
4734b8:	59                   	pop    %ecx
4734b9:	59                   	pop    %ecx
4734ba:	e9 e1 0c f9 ff       	jmp    0x4041a0
4734bf:	8b 45 10             	mov    0x10(%ebp),%eax
4734c2:	83 c9 ff             	or     $0xffffffff,%ecx
4734c5:	8b 00                	mov    (%eax),%eax
4734c7:	6a 04                	push   $0x4
4734c9:	89 47 10             	mov    %eax,0x10(%edi)
4734cc:	40                   	inc    %eax
4734cd:	5e                   	pop    %esi
4734ce:	66 89 4d e8          	mov    %cx,-0x18(%ebp)
4734d2:	89 45 0c             	mov    %eax,0xc(%ebp)
4734d5:	33 c9                	xor    %ecx,%ecx
4734d7:	6a 10                	push   $0x10
4734d9:	5a                   	pop    %edx
4734da:	f7 e2                	mul    %edx
4734dc:	0f 90 c1             	seto   %cl
4734df:	c7 45 d0 b4 dd 49 00 	movl   $0x49ddb4,-0x30(%ebp)
4734e6:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
4734e9:	89 5d d8             	mov    %ebx,-0x28(%ebp)
4734ec:	89 5d dc             	mov    %ebx,-0x24(%ebp)
4734ef:	f7 d9                	neg    %ecx
4734f1:	0b c8                	or     %eax,%ecx
4734f3:	33 c0                	xor    %eax,%eax
4734f5:	03 ce                	add    %esi,%ecx
4734f7:	0f 92 c0             	setb   %al
4734fa:	f7 d8                	neg    %eax
4734fc:	0b c1                	or     %ecx,%eax
4734fe:	50                   	push   %eax
4734ff:	e8 e6 bf fa ff       	call   0x41f4ea
473504:	59                   	pop    %ecx
473505:	85 c0                	test   %eax,%eax
473507:	74 1f                	je     0x473528
473509:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47350c:	68 8c 49 40 00       	push   $0x40498c
473511:	51                   	push   %ecx
473512:	89 08                	mov    %ecx,(%eax)
473514:	03 c6                	add    %esi,%eax
473516:	6a 10                	push   $0x10
473518:	5a                   	pop    %edx
473519:	8b c8                	mov    %eax,%ecx
47351b:	89 45 0c             	mov    %eax,0xc(%ebp)
47351e:	e8 49 14 f9 ff       	call   0x40496c
473523:	8b 45 0c             	mov    0xc(%ebp),%eax
473526:	eb 02                	jmp    0x47352a
473528:	8b c3                	mov    %ebx,%eax
47352a:	89 47 4c             	mov    %eax,0x4c(%edi)
47352d:	83 c8 ff             	or     $0xffffffff,%eax
473530:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
473534:	33 c0                	xor    %eax,%eax
473536:	40                   	inc    %eax
473537:	89 45 f4             	mov    %eax,-0xc(%ebp)
47353a:	39 47 10             	cmp    %eax,0x10(%edi)
47353d:	0f 8c 71 01 00 00    	jl     0x4736b4
473543:	c7 45 f8 10 00 00 00 	movl   $0x10,-0x8(%ebp)
47354a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
47354d:	e8 de 19 f9 ff       	call   0x404f30
473552:	8b 45 10             	mov    0x10(%ebp),%eax
473555:	03 c6                	add    %esi,%eax
473557:	46                   	inc    %esi
473558:	0f b6 00             	movzbl (%eax),%eax
47355b:	50                   	push   %eax
47355c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
47355f:	89 75 0c             	mov    %esi,0xc(%ebp)
473562:	89 45 ec             	mov    %eax,-0x14(%ebp)
473565:	e8 92 86 f9 ff       	call   0x40bbfc
47356a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
47356d:	e8 39 67 fd ff       	call   0x449cab
473572:	84 c0                	test   %al,%al
473574:	74 12                	je     0x473588
473576:	8b 45 10             	mov    0x10(%ebp),%eax
473579:	03 c6                	add    %esi,%eax
47357b:	83 c6 04             	add    $0x4,%esi
47357e:	8b 00                	mov    (%eax),%eax
473580:	89 45 e0             	mov    %eax,-0x20(%ebp)
473583:	e9 f3 00 00 00       	jmp    0x47367b
473588:	8d 4d e0             	lea    -0x20(%ebp),%ecx
47358b:	e8 05 67 fd ff       	call   0x449c95
473590:	84 c0                	test   %al,%al
473592:	74 18                	je     0x4735ac
473594:	8b 4d 10             	mov    0x10(%ebp),%ecx
473597:	03 ce                	add    %esi,%ecx
473599:	83 c6 08             	add    $0x8,%esi
47359c:	8b 01                	mov    (%ecx),%eax
47359e:	89 45 e0             	mov    %eax,-0x20(%ebp)
4735a1:	8b 41 04             	mov    0x4(%ecx),%eax
4735a4:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4735a7:	e9 cf 00 00 00       	jmp    0x47367b
4735ac:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4735af:	e8 cb 66 fd ff       	call   0x449c7f
4735b4:	84 c0                	test   %al,%al
4735b6:	74 12                	je     0x4735ca
4735b8:	8b 45 10             	mov    0x10(%ebp),%eax
4735bb:	03 c6                	add    %esi,%eax
4735bd:	83 c6 08             	add    $0x8,%esi
4735c0:	dd 00                	fldl   (%eax)
4735c2:	dd 5d e0             	fstpl  -0x20(%ebp)
4735c5:	e9 b1 00 00 00       	jmp    0x47367b
4735ca:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4735cd:	e8 3a a3 fa ff       	call   0x41d90c
4735d2:	84 c0                	test   %al,%al
4735d4:	0f 84 a1 00 00 00    	je     0x47367b
4735da:	8d 45 0c             	lea    0xc(%ebp),%eax
4735dd:	50                   	push   %eax
4735de:	ff 75 10             	push   0x10(%ebp)
4735e1:	e8 6b ef fc ff       	call   0x442551
4735e6:	8b f0                	mov    %eax,%esi
4735e8:	8b 45 ec             	mov    -0x14(%ebp),%eax
4735eb:	89 75 f0             	mov    %esi,-0x10(%ebp)
4735ee:	56                   	push   %esi
4735ef:	83 f8 31             	cmp    $0x31,%eax
4735f2:	75 21                	jne    0x473615
4735f4:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4735f7:	e8 1d 98 f9 ff       	call   0x40ce19
4735fc:	8b 4f 04             	mov    0x4(%edi),%ecx
4735ff:	ff 75 c0             	push   -0x40(%ebp)
473602:	8b 11                	mov    (%ecx),%edx
473604:	ff 52 04             	call   *0x4(%edx)
473607:	8d 4d c0             	lea    -0x40(%ebp),%ecx
47360a:	8b f0                	mov    %eax,%esi
47360c:	e8 26 95 f9 ff       	call   0x40cb37
473611:	6a 01                	push   $0x1
473613:	eb 21                	jmp    0x473636
473615:	83 f8 30             	cmp    $0x30,%eax
473618:	75 2c                	jne    0x473646
47361a:	8d 4d b0             	lea    -0x50(%ebp),%ecx
47361d:	e8 f7 97 f9 ff       	call   0x40ce19
473622:	8d 45 b0             	lea    -0x50(%ebp),%eax
473625:	50                   	push   %eax
473626:	e8 7a 8c fa ff       	call   0x41c2a5
47362b:	8d 4d b0             	lea    -0x50(%ebp),%ecx
47362e:	8b f0                	mov    %eax,%esi
473630:	e8 02 95 f9 ff       	call   0x40cb37
473635:	53                   	push   %ebx
473636:	8d 4d e0             	lea    -0x20(%ebp),%ecx
473639:	e8 be 85 f9 ff       	call   0x40bbfc
47363e:	89 75 e0             	mov    %esi,-0x20(%ebp)
473641:	8b 75 f0             	mov    -0x10(%ebp),%esi
473644:	eb 2b                	jmp    0x473671
473646:	83 f8 37             	cmp    $0x37,%eax
473649:	75 1e                	jne    0x473669
47364b:	8b cf                	mov    %edi,%ecx
47364d:	e8 20 ee fc ff       	call   0x442472
473652:	85 c0                	test   %eax,%eax
473654:	0f 84 82 00 00 00    	je     0x4736dc
47365a:	56                   	push   %esi
47365b:	e8 fe be fa ff       	call   0x41f55e
473660:	8b 75 0c             	mov    0xc(%ebp),%esi
473663:	59                   	pop    %ecx
473664:	e9 e9 fe ff ff       	jmp    0x473552
473669:	8d 4d e0             	lea    -0x20(%ebp),%ecx
47366c:	e8 a1 65 fd ff       	call   0x449c12
473671:	56                   	push   %esi
473672:	e8 e7 be fa ff       	call   0x41f55e
473677:	8b 75 0c             	mov    0xc(%ebp),%esi
47367a:	59                   	pop    %ecx
47367b:	8d 45 e0             	lea    -0x20(%ebp),%eax
47367e:	50                   	push   %eax
47367f:	8d 4d d0             	lea    -0x30(%ebp),%ecx
473682:	e8 fe 83 f9 ff       	call   0x40ba85
473687:	83 7d ec 7f          	cmpl   $0x7f,-0x14(%ebp)
47368b:	0f 85 c1 fe ff ff    	jne    0x473552
473691:	8b 4f 4c             	mov    0x4c(%edi),%ecx
473694:	03 4d f8             	add    -0x8(%ebp),%ecx
473697:	8d 45 d0             	lea    -0x30(%ebp),%eax
47369a:	50                   	push   %eax
47369b:	e8 39 17 f9 ff       	call   0x404dd9
4736a0:	8b 45 f4             	mov    -0xc(%ebp),%eax
4736a3:	83 45 f8 10          	addl   $0x10,-0x8(%ebp)
4736a7:	40                   	inc    %eax
4736a8:	89 45 f4             	mov    %eax,-0xc(%ebp)
4736ab:	3b 47 10             	cmp    0x10(%edi),%eax
4736ae:	0f 8e 96 fe ff ff    	jle    0x47354a
4736b4:	ff 75 10             	push   0x10(%ebp)
4736b7:	e8 e1 e5 fa ff       	call   0x421c9d
4736bc:	59                   	pop    %ecx
4736bd:	8d 4d 98             	lea    -0x68(%ebp),%ecx
4736c0:	e8 8d 0b f9 ff       	call   0x404252
4736c5:	b3 01                	mov    $0x1,%bl
4736c7:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4736ca:	e8 42 18 f9 ff       	call   0x404f11
4736cf:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4736d2:	e8 1e a2 fa ff       	call   0x41d8f5
4736d7:	e9 c4 0a f9 ff       	jmp    0x4041a0
4736dc:	8b 45 f4             	mov    -0xc(%ebp),%eax
4736df:	68 00 dc 49 00       	push   $0x49dc00
4736e4:	68 00 35 4b 00       	push   $0x4b3500
4736e9:	50                   	push   %eax
4736ea:	ff 75 08             	push   0x8(%ebp)
4736ed:	8b cf                	mov    %edi,%ecx
4736ef:	e8 c1 ee fc ff       	call   0x4425b5
4736f4:	56                   	push   %esi
4736f5:	e8 64 be fa ff       	call   0x41f55e
4736fa:	59                   	pop    %ecx
4736fb:	ff 75 10             	push   0x10(%ebp)
4736fe:	e8 9a e5 fa ff       	call   0x421c9d
473703:	59                   	pop    %ecx
473704:	8d 4d 98             	lea    -0x68(%ebp),%ecx
473707:	e8 46 0b f9 ff       	call   0x404252
47370c:	eb b9                	jmp    0x4736c7
47370e:	33 c0                	xor    %eax,%eax
473710:	66 89 85 a8 ff fe ff 	mov    %ax,-0x10058(%ebp)
473717:	8b 45 14             	mov    0x14(%ebp),%eax
47371a:	6a 58                	push   $0x58
47371c:	c6 00 01             	movb   $0x1,(%eax)
47371f:	8d 45 a8             	lea    -0x58(%ebp),%eax
473722:	6a 00                	push   $0x0
473724:	50                   	push   %eax
473725:	e8 26 d6 fa ff       	call   0x420d50
47372a:	83 65 ac 00          	andl   $0x0,-0x54(%ebp)
47372e:	8d 85 a8 ff fe ff    	lea    -0x10058(%ebp),%eax
473734:	83 c4 0c             	add    $0xc,%esp
473737:	89 45 c4             	mov    %eax,-0x3c(%ebp)
47373a:	8d 45 a8             	lea    -0x58(%ebp),%eax
47373d:	50                   	push   %eax
47373e:	c7 45 a8 58 00 00 00 	movl   $0x58,-0x58(%ebp)
473745:	c7 45 d8 74 33 4b 00 	movl   $0x4b3374,-0x28(%ebp)
47374c:	c7 45 c8 ff 7f 00 00 	movl   $0x7fff,-0x38(%ebp)
473753:	c7 45 b4 90 33 4b 00 	movl   $0x4b3390,-0x4c(%ebp)
47375a:	c7 45 c0 01 00 00 00 	movl   $0x1,-0x40(%ebp)
473761:	c7 45 dc 04 18 00 00 	movl   $0x1804,-0x24(%ebp)
473768:	c7 45 e4 18 34 4b 00 	movl   $0x4b3418,-0x1c(%ebp)
47376f:	ff 15 bc d0 48 00    	call   *0x48d0bc
473775:	85 c0                	test   %eax,%eax
473777:	75 07                	jne    0x473780
473779:	32 c0                	xor    %al,%al
47377b:	e9 b3 09 f9 ff       	jmp    0x404133
473780:	8d 85 a8 ff fe ff    	lea    -0x10058(%ebp),%eax
473786:	50                   	push   %eax
473787:	8b ce                	mov    %esi,%ecx
473789:	e8 d5 32 f9 ff       	call   0x406a63
47378e:	e9 78 09 f9 ff       	jmp    0x40410b
473793:	66 83 79 08 05       	cmpw   $0x5,0x8(%ecx)
473798:	0f 85 57 87 f9 ff    	jne    0x40bef5
47379e:	83 fa 02             	cmp    $0x2,%edx
4737a1:	0f 86 4e 87 f9 ff    	jbe    0x40bef5
4737a7:	8b 44 93 f8          	mov    -0x8(%ebx,%edx,4),%eax
4737ab:	0f b7 78 08          	movzwl 0x8(%eax),%edi
4737af:	8b 44 93 f4          	mov    -0xc(%ebx,%edx,4),%eax
4737b3:	0f b7 40 08          	movzwl 0x8(%eax),%eax
4737b7:	66 83 ff 49          	cmp    $0x49,%di
4737bb:	74 1f                	je     0x4737dc
4737bd:	66 83 ff 4a          	cmp    $0x4a,%di
4737c1:	74 19                	je     0x4737dc
4737c3:	66 83 ff 4c          	cmp    $0x4c,%di
4737c7:	74 13                	je     0x4737dc
4737c9:	6a 30                	push   $0x30
4737cb:	59                   	pop    %ecx
4737cc:	66 85 ff             	test   %di,%di
4737cf:	74 2d                	je     0x4737fe
4737d1:	66 3b f9             	cmp    %cx,%di
4737d4:	0f 85 1b 87 f9 ff    	jne    0x40bef5
4737da:	eb 22                	jmp    0x4737fe
4737dc:	83 fa 03             	cmp    $0x3,%edx
4737df:	0f 86 10 87 f9 ff    	jbe    0x40bef5
4737e5:	6a 30                	push   $0x30
4737e7:	59                   	pop    %ecx
4737e8:	66 85 c0             	test   %ax,%ax
4737eb:	74 09                	je     0x4737f6
4737ed:	66 3b c1             	cmp    %cx,%ax
4737f0:	0f 85 ff 86 f9 ff    	jne    0x40bef5
4737f6:	8b 44 93 f0          	mov    -0x10(%ebx,%edx,4),%eax
4737fa:	0f b7 40 08          	movzwl 0x8(%eax),%eax
4737fe:	66 85 c0             	test   %ax,%ax
473801:	0f 84 ec 86 f9 ff    	je     0x40bef3
473807:	66 3b c1             	cmp    %cx,%ax
47380a:	0f 85 e5 86 f9 ff    	jne    0x40bef5
473810:	e9 de 86 f9 ff       	jmp    0x40bef3
473815:	8b 47 54             	mov    0x54(%edi),%eax
473818:	8b 04 98             	mov    (%eax,%ebx,4),%eax
47381b:	8b 08                	mov    (%eax),%ecx
47381d:	85 c9                	test   %ecx,%ecx
47381f:	74 06                	je     0x473827
473821:	8b 01                	mov    (%ecx),%eax
473823:	6a 01                	push   $0x1
473825:	ff 10                	call   *(%eax)
473827:	43                   	inc    %ebx
473828:	3b 5f 58             	cmp    0x58(%edi),%ebx
47382b:	72 e8                	jb     0x473815
47382d:	e9 f2 1a f9 ff       	jmp    0x405324
473832:	8b 03                	mov    (%ebx),%eax
473834:	89 06                	mov    %eax,(%esi)
473836:	8b 43 04             	mov    0x4(%ebx),%eax
473839:	89 46 04             	mov    %eax,0x4(%esi)
47383c:	e9 9f 82 f9 ff       	jmp    0x40bae0
473841:	33 f6                	xor    %esi,%esi
473843:	e9 99 82 f9 ff       	jmp    0x40bae1
473848:	47                   	inc    %edi
473849:	6a 53                	push   $0x53
47384b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
47384e:	89 7d f8             	mov    %edi,-0x8(%ebp)
473851:	e8 a6 83 f9 ff       	call   0x40bbfc
473856:	e9 29 7e f9 ff       	jmp    0x40b684
47385b:	47                   	inc    %edi
47385c:	6a 54                	push   $0x54
47385e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
473861:	89 7d f8             	mov    %edi,-0x8(%ebp)
473864:	e8 93 83 f9 ff       	call   0x40bbfc
473869:	e9 16 7e f9 ff       	jmp    0x40b684
47386e:	6a 51                	push   $0x51
473870:	8d 4d e8             	lea    -0x18(%ebp),%ecx
473873:	e8 84 83 f9 ff       	call   0x40bbfc
473878:	8b 4d 10             	mov    0x10(%ebp),%ecx
47387b:	8d 45 e8             	lea    -0x18(%ebp),%eax
47387e:	50                   	push   %eax
47387f:	e8 01 82 f9 ff       	call   0x40ba85
473884:	47                   	inc    %edi
473885:	89 7d f8             	mov    %edi,-0x8(%ebp)
473888:	e9 03 7e f9 ff       	jmp    0x40b690
47388d:	6a 57                	push   $0x57
47388f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
473892:	e8 65 83 f9 ff       	call   0x40bbfc
473897:	8b 4d 10             	mov    0x10(%ebp),%ecx
47389a:	8d 45 e8             	lea    -0x18(%ebp),%eax
47389d:	50                   	push   %eax
47389e:	e8 e2 81 f9 ff       	call   0x40ba85
4738a3:	47                   	inc    %edi
4738a4:	89 7d f8             	mov    %edi,-0x8(%ebp)
4738a7:	e9 e4 7d f9 ff       	jmp    0x40b690
4738ac:	6a 58                	push   $0x58
4738ae:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4738b1:	e8 46 83 f9 ff       	call   0x40bbfc
4738b6:	8b 4d 10             	mov    0x10(%ebp),%ecx
4738b9:	8d 45 e8             	lea    -0x18(%ebp),%eax
4738bc:	50                   	push   %eax
4738bd:	e8 c3 81 f9 ff       	call   0x40ba85
4738c2:	47                   	inc    %edi
4738c3:	89 7d f8             	mov    %edi,-0x8(%ebp)