452556:	7e 31                	jle    0x452589
452558:	6a 30                	push   $0x30
45255a:	5f                   	pop    %edi
45255b:	0f b7 04 50          	movzwl (%eax,%edx,2),%eax
45255f:	66 3b c7             	cmp    %di,%ax
452562:	0f 82 65 10 00 00    	jb     0x4535cd
452568:	66 3b 85 70 ff ff ff 	cmp    -0x90(%ebp),%ax
45256f:	0f 87 58 10 00 00    	ja     0x4535cd
452575:	6b c9 0a             	imul   $0xa,%ecx,%ecx
452578:	83 c0 d0             	add    $0xffffffd0,%eax
45257b:	03 c8                	add    %eax,%ecx
45257d:	8b 45 ec             	mov    -0x14(%ebp),%eax
452580:	42                   	inc    %edx
452581:	3b d3                	cmp    %ebx,%edx
452583:	7c d6                	jl     0x45255b
452585:	85 c9                	test   %ecx,%ecx
452587:	75 05                	jne    0x45258e
452589:	b9 ff ff 00 00       	mov    $0xffff,%ecx
45258e:	8b 55 f8             	mov    -0x8(%ebp),%edx
452591:	b8 8f 00 00 00       	mov    $0x8f,%eax
452596:	66 89 42 04          	mov    %ax,0x4(%edx)
45259a:	66 89 4a 06          	mov    %cx,0x6(%edx)
45259e:	e9 bc 53 fc ff       	jmp    0x41795f
4525a3:	83 7d e8 06          	cmpl   $0x6,-0x18(%ebp)
4525a7:	0f 85 20 10 00 00    	jne    0x4535cd
4525ad:	6a 06                	push   $0x6
4525af:	ba 20 b9 4b 00       	mov    $0x4bb920,%edx
4525b4:	8b c8                	mov    %eax,%ecx
4525b6:	e8 da 5d fc ff       	call   0x418395
4525bb:	59                   	pop    %ecx
4525bc:	85 c0                	test   %eax,%eax
4525be:	0f 85 09 10 00 00    	jne    0x4535cd
4525c4:	8b 55 f8             	mov    -0x8(%ebp),%edx
4525c7:	b8 91 00 00 00       	mov    $0x91,%eax
4525cc:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4525cf:	66 89 42 04          	mov    %ax,0x4(%edx)
4525d3:	8b 45 f4             	mov    -0xc(%ebp),%eax
4525d6:	8b 75 fc             	mov    -0x4(%ebp),%esi
4525d9:	89 45 e0             	mov    %eax,-0x20(%ebp)
4525dc:	e9 87 53 fc ff       	jmp    0x417968
4525e1:	6a 2b                	push   $0x2b
4525e3:	5a                   	pop    %edx
4525e4:	3b c2                	cmp    %edx,%eax
4525e6:	74 1b                	je     0x452603
4525e8:	6a 2d                	push   $0x2d
4525ea:	5a                   	pop    %edx
4525eb:	3b c2                	cmp    %edx,%eax
4525ed:	74 14                	je     0x452603
4525ef:	83 f8 2f             	cmp    $0x2f,%eax
4525f2:	0f 8e cc 56 fc ff    	jle    0x417cc4
4525f8:	6a 39                	push   $0x39
4525fa:	5a                   	pop    %edx
4525fb:	3b c2                	cmp    %edx,%eax
4525fd:	0f 8f c1 56 fc ff    	jg     0x417cc4
452603:	6a 29                	push   $0x29
452605:	58                   	pop    %eax
452606:	8b d8                	mov    %eax,%ebx
452608:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
45260b:	e9 fb 0e 00 00       	jmp    0x45350b
452610:	8b 45 f4             	mov    -0xc(%ebp),%eax
452613:	89 45 c8             	mov    %eax,-0x38(%ebp)
452616:	bb 83 00 00 00       	mov    $0x83,%ebx
45261b:	eb 05                	jmp    0x452622
45261d:	bb 81 00 00 00       	mov    $0x81,%ebx
452622:	03 f2                	add    %edx,%esi
452624:	eb 10                	jmp    0x452636
452626:	8b 55 28             	mov    0x28(%ebp),%edx
452629:	6a 7d                	push   $0x7d
45262b:	58                   	pop    %eax
45262c:	8b d8                	mov    %eax,%ebx
45262e:	ff 42 5c             	incl   0x5c(%edx)
452631:	6a 02                	push   $0x2
452633:	58                   	pop    %eax
452634:	03 f0                	add    %eax,%esi
452636:	89 75 fc             	mov    %esi,-0x4(%ebp)
452639:	e9 2f 10 00 00       	jmp    0x45366d
45263e:	03 f2                	add    %edx,%esi
452640:	6a 3d                	push   $0x3d
452642:	89 75 fc             	mov    %esi,-0x4(%ebp)
452645:	58                   	pop    %eax
452646:	0f b7 3e             	movzwl (%esi),%edi
452649:	66 3b f8             	cmp    %ax,%di
45264c:	0f 84 a4 fa ff ff    	je     0x4520f6
452652:	6a 3e                	push   $0x3e
452654:	58                   	pop    %eax
452655:	66 3b f8             	cmp    %ax,%di
452658:	74 13                	je     0x45266d
45265a:	6a 3c                	push   $0x3c
45265c:	59                   	pop    %ecx
45265d:	66 3b f9             	cmp    %cx,%di
452660:	0f 84 ba 00 00 00    	je     0x452720
452666:	6a 29                	push   $0x29
452668:	e9 11 20 00 00       	jmp    0x45467e
45266d:	8b 45 f4             	mov    -0xc(%ebp),%eax
452670:	89 45 e8             	mov    %eax,-0x18(%ebp)
452673:	e9 81 fa ff ff       	jmp    0x4520f9
452678:	8b 55 f8             	mov    -0x8(%ebp),%edx
45267b:	8b 45 f4             	mov    -0xc(%ebp),%eax
45267e:	6a 76                	push   $0x76
452680:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
452686:	58                   	pop    %eax
452687:	66 89 02             	mov    %ax,(%edx)
45268a:	8b 75 fc             	mov    -0x4(%ebp),%esi
45268d:	6a 02                	push   $0x2
45268f:	58                   	pop    %eax
452690:	03 f0                	add    %eax,%esi
452692:	89 55 88             	mov    %edx,-0x78(%ebp)
452695:	03 d0                	add    %eax,%edx
452697:	89 75 fc             	mov    %esi,-0x4(%ebp)
45269a:	6a 30                	push   $0x30
45269c:	5f                   	pop    %edi
45269d:	0f b7 06             	movzwl (%esi),%eax
4526a0:	66 3b c7             	cmp    %di,%ax
4526a3:	72 27                	jb     0x4526cc
4526a5:	6a 02                	push   $0x2
4526a7:	5b                   	pop    %ebx
4526a8:	66 3b 85 70 ff ff ff 	cmp    -0x90(%ebp),%ax
4526af:	77 18                	ja     0x4526c9
4526b1:	6b c9 0a             	imul   $0xa,%ecx,%ecx
4526b4:	03 f3                	add    %ebx,%esi
4526b6:	0f b7 c0             	movzwl %ax,%eax
4526b9:	83 c0 d0             	add    $0xffffffd0,%eax
4526bc:	89 75 fc             	mov    %esi,-0x4(%ebp)
4526bf:	03 c8                	add    %eax,%ecx
4526c1:	0f b7 06             	movzwl (%esi),%eax
4526c4:	66 3b c7             	cmp    %di,%ax
4526c7:	73 df                	jae    0x4526a8
4526c9:	8b 5d 28             	mov    0x28(%ebp),%ebx
4526cc:	6a 29                	push   $0x29
4526ce:	58                   	pop    %eax
4526cf:	66 39 06             	cmp    %ax,(%esi)
4526d2:	0f 85 e8 1e 00 00    	jne    0x4545c0
4526d8:	b8 ff 00 00 00       	mov    $0xff,%eax
4526dd:	3b c8                	cmp    %eax,%ecx
4526df:	0f 8e 74 fa ff ff    	jle    0x452159
4526e5:	6a 26                	push   $0x26
4526e7:	e9 92 1f 00 00       	jmp    0x45467e
4526ec:	0f b7 46 02          	movzwl 0x2(%esi),%eax
4526f0:	8b c8                	mov    %eax,%ecx
4526f2:	83 f9 21             	cmp    $0x21,%ecx
4526f5:	0f 84 d6 01 00 00    	je     0x4528d1
4526fb:	83 f9 3d             	cmp    $0x3d,%ecx
4526fe:	0f 84 c8 01 00 00    	je     0x4528cc
452704:	66 3b 85 4c ff ff ff 	cmp    -0xb4(%ebp),%ax
45270b:	0f 87 e0 1e 00 00    	ja     0x4545f1
452711:	8b 43 0c             	mov    0xc(%ebx),%eax
452714:	6a 10                	push   $0x10
452716:	5b                   	pop    %ebx
452717:	84 1c 01             	test   %bl,(%ecx,%eax,1)
45271a:	0f 84 d1 1e 00 00    	je     0x4545f1
452720:	6a 3c                	push   $0x3c
452722:	58                   	pop    %eax
452723:	33 c9                	xor    %ecx,%ecx
452725:	66 3b f8             	cmp    %ax,%di
452728:	6a 17                	push   $0x17
45272a:	0f 95 c1             	setne  %cl
45272d:	03 f2                	add    %edx,%esi
45272f:	58                   	pop    %eax
452730:	49                   	dec    %ecx
452731:	89 75 fc             	mov    %esi,-0x4(%ebp)
452734:	23 c8                	and    %eax,%ecx
452736:	8b de                	mov    %esi,%ebx
452738:	6a 27                	push   $0x27
45273a:	58                   	pop    %eax
45273b:	03 c8                	add    %eax,%ecx
45273d:	89 5d dc             	mov    %ebx,-0x24(%ebp)
452740:	0f b7 06             	movzwl (%esi),%eax
452743:	6a 30                	push   $0x30
452745:	5a                   	pop    %edx
452746:	66 3b c2             	cmp    %dx,%ax
452749:	72 0c                	jb     0x452757
45274b:	6a 39                	push   $0x39
45274d:	5a                   	pop    %edx
45274e:	66 3b c2             	cmp    %dx,%ax
452751:	0f 86 2c 1e 00 00    	jbe    0x454583
452757:	8b 7d 28             	mov    0x28(%ebp),%edi
45275a:	ba ff 00 00 00       	mov    $0xff,%edx
45275f:	66 3b c2             	cmp    %dx,%ax
452762:	77 23                	ja     0x452787
452764:	8b 57 0c             	mov    0xc(%edi),%edx
452767:	6a 02                	push   $0x2
452769:	5b                   	pop    %ebx
45276a:	0f b7 c0             	movzwl %ax,%eax
45276d:	f6 04 10 10          	testb  $0x10,(%eax,%edx,1)
452771:	74 11                	je     0x452784
452773:	03 f3                	add    %ebx,%esi
452775:	89 75 fc             	mov    %esi,-0x4(%ebp)
452778:	0f b7 06             	movzwl (%esi),%eax
45277b:	66 3b 85 4c ff ff ff 	cmp    -0xb4(%ebp),%ax
452782:	76 e6                	jbe    0x45276a
452784:	8b 5d dc             	mov    -0x24(%ebp),%ebx
452787:	8b d6                	mov    %esi,%edx
452789:	2b d3                	sub    %ebx,%edx
45278b:	d1 fa                	sar    $1,%edx
45278d:	83 7d 2c 00          	cmpl   $0x0,0x2c(%ebp)
452791:	89 55 ec             	mov    %edx,-0x14(%ebp)
452794:	0f 84 22 01 00 00    	je     0x4528bc
45279a:	8b 47 40             	mov    0x40(%edi),%eax
45279d:	40                   	inc    %eax
45279e:	89 45 e8             	mov    %eax,-0x18(%ebp)
4527a1:	66 39 0e             	cmp    %cx,(%esi)
4527a4:	0f 85 40 1e 00 00    	jne    0x4545ea
4527aa:	81 7f 30 10 27 00 00 	cmpl   $0x2710,0x30(%edi)
4527b1:	0f 8d 25 1e 00 00    	jge    0x4545dc
4527b7:	8d 42 02             	lea    0x2(%edx),%eax
4527ba:	3b 47 34             	cmp    0x34(%edi),%eax
4527bd:	7e 11                	jle    0x4527d0
4527bf:	6a 20                	push   $0x20
4527c1:	89 47 34             	mov    %eax,0x34(%edi)
4527c4:	58                   	pop    %eax
4527c5:	3b d0                	cmp    %eax,%edx
4527c7:	7e 07                	jle    0x4527d0
4527c9:	6a 30                	push   $0x30
4527cb:	e9 ae 1e 00 00       	jmp    0x45467e
4527d0:	8b 4d 28             	mov    0x28(%ebp),%ecx
4527d3:	33 c0                	xor    %eax,%eax
4527d5:	8b 7f 28             	mov    0x28(%edi),%edi
4527d8:	8b d8                	mov    %eax,%ebx
4527da:	39 41 30             	cmp    %eax,0x30(%ecx)
4527dd:	7e 5d                	jle    0x45283c
4527df:	3b 57 04             	cmp    0x4(%edi),%edx
4527e2:	75 3f                	jne    0x452823
4527e4:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4527e7:	52                   	push   %edx
4527e8:	8b 17                	mov    (%edi),%edx
4527ea:	e8 09 c2 03 00       	call   0x48e9f8
4527ef:	59                   	pop    %ecx
4527f0:	85 c0                	test   %eax,%eax
4527f2:	75 2c                	jne    0x452820
4527f4:	8b 45 e8             	mov    -0x18(%ebp),%eax
4527f7:	39 47 08             	cmp    %eax,0x8(%edi)
4527fa:	74 3d                	je     0x452839
4527fc:	f7 45 cc 00 00 08 00 	testl  $0x80000,-0x34(%ebp)
452803:	0f 84 be 1d 00 00    	je     0x4545c7
452809:	8b 4d 28             	mov    0x28(%ebp),%ecx
45280c:	8b 45 f4             	mov    -0xc(%ebp),%eax
45280f:	89 41 78             	mov    %eax,0x78(%ecx)
452812:	8b 55 ec             	mov    -0x14(%ebp),%edx
452815:	43                   	inc    %ebx
452816:	83 c7 0c             	add    $0xc,%edi
452819:	3b 59 30             	cmp    0x30(%ecx),%ebx
45281c:	7c c1                	jl     0x4527df
45281e:	eb 1c                	jmp    0x45283c
452820:	8b 4d 28             	mov    0x28(%ebp),%ecx
452823:	8b 45 e8             	mov    -0x18(%ebp),%eax
452826:	39 47 08             	cmp    %eax,0x8(%edi)
452829:	75 e7                	jne    0x452812
45282b:	8b 45 0c             	mov    0xc(%ebp),%eax
45282e:	c7 00 41 00 00 00    	movl   $0x41,(%eax)
452834:	e9 79 1e 00 00       	jmp    0x4546b2
452839:	8b 4d 28             	mov    0x28(%ebp),%ecx
45283c:	3b 59 30             	cmp    0x30(%ecx),%ebx
45283f:	8b 5d 28             	mov    0x28(%ebp),%ebx
452842:	7c 7b                	jl     0x4528bf
452844:	8b 43 38             	mov    0x38(%ebx),%eax
452847:	39 43 30             	cmp    %eax,0x30(%ebx)
45284a:	7c 3f                	jl     0x45288b
45284c:	8d 3c 00             	lea    (%eax,%eax,1),%edi
45284f:	6b c7 0c             	imul   $0xc,%edi,%eax
452852:	50                   	push   %eax
452853:	ff 15 4c 57 4a 00    	call   *0x4a574c
452859:	8b f0                	mov    %eax,%esi
45285b:	59                   	pop    %ecx
45285c:	85 f6                	test   %esi,%esi
45285e:	0f 84 6a 1d 00 00    	je     0x4545ce
452864:	6b 43 38 0c          	imul   $0xc,0x38(%ebx),%eax
452868:	50                   	push   %eax
452869:	ff 73 28             	push   0x28(%ebx)
45286c:	56                   	push   %esi
45286d:	e8 0e e8 fc ff       	call   0x421080
452872:	83 c4 0c             	add    $0xc,%esp
452875:	83 7b 38 14          	cmpl   $0x14,0x38(%ebx)
452879:	7e 0a                	jle    0x452885
45287b:	ff 73 28             	push   0x28(%ebx)
45287e:	ff 15 48 57 4a 00    	call   *0x4a5748
452884:	59                   	pop    %ecx
452885:	89 73 28             	mov    %esi,0x28(%ebx)
452888:	89 7b 38             	mov    %edi,0x38(%ebx)
45288b:	6b 4b 30 0c          	imul   $0xc,0x30(%ebx),%ecx
45288f:	8b 43 28             	mov    0x28(%ebx),%eax
452892:	8b 55 dc             	mov    -0x24(%ebp),%edx
452895:	89 14 01             	mov    %edx,(%ecx,%eax,1)
452898:	6b 4b 30 0c          	imul   $0xc,0x30(%ebx),%ecx
45289c:	8b 43 28             	mov    0x28(%ebx),%eax
45289f:	8b 55 ec             	mov    -0x14(%ebp),%edx
4528a2:	89 54 01 04          	mov    %edx,0x4(%ecx,%eax,1)
4528a6:	6b 4b 30 0c          	imul   $0xc,0x30(%ebx),%ecx
4528aa:	8b 43 28             	mov    0x28(%ebx),%eax
4528ad:	8b 55 e8             	mov    -0x18(%ebp),%edx
4528b0:	89 54 01 08          	mov    %edx,0x8(%ecx,%eax,1)
4528b4:	ff 43 30             	incl   0x30(%ebx)
4528b7:	8b 75 fc             	mov    -0x4(%ebp),%esi
4528ba:	eb 03                	jmp    0x4528bf
4528bc:	8b 5d 28             	mov    0x28(%ebp),%ebx
4528bf:	6a 02                	push   $0x2
4528c1:	58                   	pop    %eax
4528c2:	03 f0                	add    %eax,%esi
4528c4:	89 75 fc             	mov    %esi,-0x4(%ebp)
4528c7:	e9 7f 50 fc ff       	jmp    0x41794b
4528cc:	6a 7f                	push   $0x7f
4528ce:	5b                   	pop    %ebx
4528cf:	eb 05                	jmp    0x4528d6
4528d1:	bb 80 00 00 00       	mov    $0x80,%ebx
4528d6:	8b 55 28             	mov    0x28(%ebp),%edx
4528d9:	6a 04                	push   $0x4
4528db:	ff 42 5c             	incl   0x5c(%edx)
4528de:	e9 50 fd ff ff       	jmp    0x452633
4528e3:	f6 45 cc 02          	testb  $0x2,-0x34(%ebp)
4528e7:	8b d9                	mov    %ecx,%ebx
4528e9:	6a 00                	push   $0x0
4528eb:	58                   	pop    %eax
4528ec:	0f 95 c0             	setne  %al
4528ef:	83 c0 19             	add    $0x19,%eax
4528f2:	e9 2a 57 fc ff       	jmp    0x418021
4528f7:	85 c9                	test   %ecx,%ecx
4528f9:	0f 84 fc 4a fc ff    	je     0x4173fb
4528ff:	ff 75 0c             	push   0xc(%ebp)
452902:	8d 45 c0             	lea    -0x40(%ebp),%eax
452905:	50                   	push   %eax
452906:	8d 4e 02             	lea    0x2(%esi),%ecx
452909:	8d 55 b0             	lea    -0x50(%ebp),%edx
45290c:	e8 c0 bd 03 00       	call   0x48e6d1
452911:	8b f0                	mov    %eax,%esi
452913:	8b 45 0c             	mov    0xc(%ebp),%eax
452916:	59                   	pop    %ecx
452917:	59                   	pop    %ecx
452918:	33 c9                	xor    %ecx,%ecx
45291a:	89 75 fc             	mov    %esi,-0x4(%ebp)
45291d:	39 08                	cmp    %ecx,(%eax)
45291f:	0f 85 8d 1d 00 00    	jne    0x4546b2
452925:	8b 55 c0             	mov    -0x40(%ebp),%edx
452928:	8b 7d b0             	mov    -0x50(%ebp),%edi
45292b:	e9 dd 51 fc ff       	jmp    0x417b0d
452930:	6a 02                	push   $0x2
452932:	5a                   	pop    %edx
452933:	0f b7 06             	movzwl (%esi),%eax
452936:	bf ff 00 00 00       	mov    $0xff,%edi
45293b:	8b 5d 28             	mov    0x28(%ebp),%ebx
45293e:	66 3b c7             	cmp    %di,%ax
452941:	77 16                	ja     0x452959
452943:	8b 4b 0c             	mov    0xc(%ebx),%ecx
452946:	0f b7 c0             	movzwl %ax,%eax
452949:	f6 04 08 01          	testb  $0x1,(%eax,%ecx,1)
45294d:	74 0a                	je     0x452959
45294f:	03 f2                	add    %edx,%esi
452951:	0f b7 06             	movzwl (%esi),%eax
452954:	66 3b c7             	cmp    %di,%ax
452957:	76 ed                	jbe    0x452946
452959:	6a 23                	push   $0x23
45295b:	58                   	pop    %eax