481628:	83 f8 7b             	cmp    $0x7b,%eax
48162b:	75 22                	jne    0x48164f
48162d:	8d 4f 04             	lea    0x4(%edi),%ecx
481630:	e8 65 f9 fe ff       	call   0x470f9a
481635:	85 c0                	test   %eax,%eax
481637:	74 16                	je     0x48164f
481639:	8b 4d 28             	mov    0x28(%ebp),%ecx
48163c:	ff 41 5c             	incl   0x5c(%ecx)
48163f:	8b 55 f8             	mov    -0x8(%ebp),%edx
481642:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
481645:	be 7e 00 00 00       	mov    $0x7e,%esi
48164a:	e9 0d 6c f8 ff       	jmp    0x40825c
48164f:	8b 55 f8             	mov    -0x8(%ebp),%edx
481652:	b8 9d 00 00 00       	mov    $0x9d,%eax
481657:	66 89 02             	mov    %ax,(%edx)
48165a:	8b 7d fc             	mov    -0x4(%ebp),%edi
48165d:	83 c2 02             	add    $0x2,%edx
481660:	89 55 f8             	mov    %edx,-0x8(%ebp)
481663:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
48166a:	e9 11 65 f8 ff       	jmp    0x407b80
48166f:	0f b7 47 02          	movzwl 0x2(%edi),%eax
481673:	8b c8                	mov    %eax,%ecx
481675:	83 f9 21             	cmp    $0x21,%ecx
481678:	74 58                	je     0x4816d2
48167a:	83 f9 3d             	cmp    $0x3d,%ecx
48167d:	74 37                	je     0x4816b6
48167f:	c7 45 bc ff 00 00 00 	movl   $0xff,-0x44(%ebp)
481686:	66 3b 45 bc          	cmp    -0x44(%ebp),%ax
48168a:	0f 87 f6 0a 00 00    	ja     0x482186
481690:	8b 45 28             	mov    0x28(%ebp),%eax
481693:	8b 40 0c             	mov    0xc(%eax),%eax
481696:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
48169a:	0f 84 e6 0a 00 00    	je     0x482186
4816a0:	8b 4d 28             	mov    0x28(%ebp),%ecx
4816a3:	83 fa 3c             	cmp    $0x3c,%edx
4816a6:	0f 84 2b 01 00 00    	je     0x4817d7
4816ac:	ba 27 00 00 00       	mov    $0x27,%edx
4816b1:	e9 26 01 00 00       	jmp    0x4817dc
4816b6:	8b 4d 28             	mov    0x28(%ebp),%ecx
4816b9:	8b 55 f8             	mov    -0x8(%ebp),%edx
4816bc:	ff 41 5c             	incl   0x5c(%ecx)
4816bf:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
4816c2:	83 c7 04             	add    $0x4,%edi
4816c5:	be 7f 00 00 00       	mov    $0x7f,%esi
4816ca:	89 7d fc             	mov    %edi,-0x4(%ebp)
4816cd:	e9 8a 6b f8 ff       	jmp    0x40825c
4816d2:	8b 4d 28             	mov    0x28(%ebp),%ecx
4816d5:	8b 55 f8             	mov    -0x8(%ebp),%edx
4816d8:	ff 41 5c             	incl   0x5c(%ecx)
4816db:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
4816de:	83 c7 04             	add    $0x4,%edi
4816e1:	be 80 00 00 00       	mov    $0x80,%esi
4816e6:	89 7d fc             	mov    %edi,-0x4(%ebp)
4816e9:	e9 6e 6b f8 ff       	jmp    0x40825c
4816ee:	8b 55 f8             	mov    -0x8(%ebp),%edx
4816f1:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
4816f4:	83 c7 02             	add    $0x2,%edi
4816f7:	be 81 00 00 00       	mov    $0x81,%esi
4816fc:	89 7d fc             	mov    %edi,-0x4(%ebp)
4816ff:	e9 58 6b f8 ff       	jmp    0x40825c
481704:	8b 55 f8             	mov    -0x8(%ebp),%edx
481707:	b8 76 00 00 00       	mov    $0x76,%eax
48170c:	66 89 02             	mov    %ax,(%edx)
48170f:	8b 7d fc             	mov    -0x4(%ebp),%edi
481712:	83 c7 02             	add    $0x2,%edi
481715:	89 7d fc             	mov    %edi,-0x4(%ebp)
481718:	0f b7 07             	movzwl (%edi),%eax
48171b:	33 c9                	xor    %ecx,%ecx
48171d:	89 95 78 ff ff ff    	mov    %edx,-0x88(%ebp)
481723:	c7 85 58 ff ff ff 01 	movl   $0x1,-0xa8(%ebp)
48172a:	00 00 00
48172d:	83 f8 30             	cmp    $0x30,%eax
481730:	72 20                	jb     0x481752
481732:	66 83 f8 39          	cmp    $0x39,%ax
481736:	77 1a                	ja     0x481752
481738:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
48173b:	0f b7 c0             	movzwl %ax,%eax
48173e:	83 c7 02             	add    $0x2,%edi
481741:	8d 49 e8             	lea    -0x18(%ecx),%ecx
481744:	89 7d fc             	mov    %edi,-0x4(%ebp)
481747:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
48174a:	0f b7 07             	movzwl (%edi),%eax
48174d:	83 f8 30             	cmp    $0x30,%eax
481750:	73 e0                	jae    0x481732
481752:	66 83 3f 29          	cmpw   $0x29,(%edi)
481756:	0f 85 57 0a 00 00    	jne    0x4821b3
48175c:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
481762:	0f 8f 36 0a 00 00    	jg     0x48219e
481768:	66 89 4a 02          	mov    %cx,0x2(%edx)
48176c:	8b 45 fc             	mov    -0x4(%ebp),%eax
48176f:	8b 4d 28             	mov    0x28(%ebp),%ecx
481772:	2b 41 18             	sub    0x18(%ecx),%eax
481775:	d1 f8                	sar    $1,%eax
481777:	40                   	inc    %eax
481778:	66 89 42 04          	mov    %ax,0x4(%edx)
48177c:	33 c0                	xor    %eax,%eax
48177e:	66 89 42 06          	mov    %ax,0x6(%edx)
481782:	8b 7d fc             	mov    -0x4(%ebp),%edi
481785:	83 c2 08             	add    $0x8,%edx
481788:	89 55 f8             	mov    %edx,-0x8(%ebp)
48178b:	89 45 e0             	mov    %eax,-0x20(%ebp)
48178e:	e9 ed 63 f8 ff       	jmp    0x407b80
481793:	83 c7 02             	add    $0x2,%edi
481796:	89 7d fc             	mov    %edi,-0x4(%ebp)
481799:	0f b7 07             	movzwl (%edi),%eax
48179c:	83 f8 3d             	cmp    $0x3d,%eax
48179f:	74 2c                	je     0x4817cd
4817a1:	83 f8 3e             	cmp    $0x3e,%eax
4817a4:	74 1a                	je     0x4817c0
4817a6:	83 f8 3c             	cmp    $0x3c,%eax
4817a9:	74 2c                	je     0x4817d7
4817ab:	8b 45 0c             	mov    0xc(%ebp),%eax
4817ae:	c7 00 29 00 00 00    	movl   $0x29,(%eax)
4817b4:	8b 45 08             	mov    0x8(%ebp),%eax
4817b7:	89 38                	mov    %edi,(%eax)
4817b9:	33 c0                	xor    %eax,%eax
4817bb:	e9 72 62 f8 ff       	jmp    0x407a32
4817c0:	ba 01 00 00 00       	mov    $0x1,%edx
4817c5:	8d 5a 28             	lea    0x28(%edx),%ebx
4817c8:	e9 0c 02 00 00       	jmp    0x4819d9
4817cd:	33 d2                	xor    %edx,%edx
4817cf:	8d 5a 29             	lea    0x29(%edx),%ebx
4817d2:	e9 02 02 00 00       	jmp    0x4819d9
4817d7:	ba 3e 00 00 00       	mov    $0x3e,%edx
4817dc:	83 c7 02             	add    $0x2,%edi
4817df:	89 7d fc             	mov    %edi,-0x4(%ebp)
4817e2:	0f b7 07             	movzwl (%edi),%eax
4817e5:	89 7d 94             	mov    %edi,-0x6c(%ebp)
4817e8:	83 f8 30             	cmp    $0x30,%eax
4817eb:	72 09                	jb     0x4817f6
4817ed:	83 f8 39             	cmp    $0x39,%eax
4817f0:	0f 86 39 09 00 00    	jbe    0x48212f
4817f6:	c7 45 bc ff 00 00 00 	movl   $0xff,-0x44(%ebp)
4817fd:	66 3b 45 bc          	cmp    -0x44(%ebp),%ax
481801:	77 22                	ja     0x481825
481803:	8b 49 0c             	mov    0xc(%ecx),%ecx
481806:	0f b7 c0             	movzwl %ax,%eax
481809:	f6 04 08 10          	testb  $0x10,(%eax,%ecx,1)
48180d:	74 16                	je     0x481825
48180f:	83 c7 02             	add    $0x2,%edi
481812:	89 7d fc             	mov    %edi,-0x4(%ebp)
481815:	0f b7 07             	movzwl (%edi),%eax
481818:	c7 45 bc ff 00 00 00 	movl   $0xff,-0x44(%ebp)
48181f:	66 3b 45 bc          	cmp    -0x44(%ebp),%ax
481823:	76 e1                	jbe    0x481806
481825:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
481828:	8b c7                	mov    %edi,%eax
48182a:	2b 45 94             	sub    -0x6c(%ebp),%eax
48182d:	d1 f8                	sar    $1,%eax
48182f:	89 45 9c             	mov    %eax,-0x64(%ebp)
481832:	8b 45 28             	mov    0x28(%ebp),%eax
481835:	85 c9                	test   %ecx,%ecx
481837:	0f 84 87 01 00 00    	je     0x4819c4
48183d:	8b 40 40             	mov    0x40(%eax),%eax
481840:	40                   	inc    %eax
481841:	89 45 ec             	mov    %eax,-0x14(%ebp)
481844:	66 39 17             	cmp    %dx,(%edi)
481847:	0f 85 d2 09 00 00    	jne    0x48221f
48184d:	8b 55 28             	mov    0x28(%ebp),%edx
481850:	8b 4a 30             	mov    0x30(%edx),%ecx
481853:	89 4d f0             	mov    %ecx,-0x10(%ebp)
481856:	81 f9 10 27 00 00    	cmp    $0x2710,%ecx
48185c:	0f 8d a8 09 00 00    	jge    0x48220a
481862:	8b 45 9c             	mov    -0x64(%ebp),%eax
481865:	83 c0 02             	add    $0x2,%eax
481868:	3b 42 34             	cmp    0x34(%edx),%eax
48186b:	7e 0d                	jle    0x48187a
48186d:	83 7d 9c 20          	cmpl   $0x20,-0x64(%ebp)
481871:	89 42 34             	mov    %eax,0x34(%edx)
481874:	0f 8f 4e 09 00 00    	jg     0x4821c8
48187a:	8b 42 28             	mov    0x28(%edx),%eax
48187d:	33 d2                	xor    %edx,%edx
48187f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
481882:	89 55 d4             	mov    %edx,-0x2c(%ebp)
481885:	85 c9                	test   %ecx,%ecx
481887:	0f 8e 80 00 00 00    	jle    0x48190d
48188d:	8b 55 9c             	mov    -0x64(%ebp),%edx
481890:	3b 50 04             	cmp    0x4(%eax),%edx
481893:	8b 55 d4             	mov    -0x2c(%ebp),%edx
481896:	75 4f                	jne    0x4818e7
481898:	ff 75 9c             	push   -0x64(%ebp)
48189b:	8b 10                	mov    (%eax),%edx
48189d:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4818a0:	e8 82 fa fe ff       	call   0x471327
4818a5:	83 c4 04             	add    $0x4,%esp
4818a8:	85 c0                	test   %eax,%eax
4818aa:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4818ad:	75 35                	jne    0x4818e4
4818af:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4818b2:	39 48 08             	cmp    %ecx,0x8(%eax)
4818b5:	74 50                	je     0x481907
4818b7:	f7 45 f4 00 00 08 00 	testl  $0x80000,-0xc(%ebp)
4818be:	0f 84 19 09 00 00    	je     0x4821dd
4818c4:	8b 4d 28             	mov    0x28(%ebp),%ecx
4818c7:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4818ca:	c7 41 78 01 00 00 00 	movl   $0x1,0x78(%ecx)
4818d1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4818d4:	42                   	inc    %edx
4818d5:	83 c0 0c             	add    $0xc,%eax
4818d8:	89 55 d4             	mov    %edx,-0x2c(%ebp)
4818db:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4818de:	3b d1                	cmp    %ecx,%edx
4818e0:	7c ab                	jl     0x48188d
4818e2:	eb 29                	jmp    0x48190d
4818e4:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4818e7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4818ea:	39 48 08             	cmp    %ecx,0x8(%eax)
4818ed:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4818f0:	75 e2                	jne    0x4818d4
4818f2:	8b 45 0c             	mov    0xc(%ebp),%eax
4818f5:	c7 00 41 00 00 00    	movl   $0x41,(%eax)
4818fb:	8b 45 08             	mov    0x8(%ebp),%eax
4818fe:	89 38                	mov    %edi,(%eax)
481900:	33 c0                	xor    %eax,%eax
481902:	e9 2b 61 f8 ff       	jmp    0x407a32
481907:	8b 4d f0             	mov    -0x10(%ebp),%ecx
48190a:	8b 55 d4             	mov    -0x2c(%ebp),%edx
48190d:	3b d1                	cmp    %ecx,%edx
48190f:	0f 8c a9 00 00 00    	jl     0x4819be
481915:	8b 55 28             	mov    0x28(%ebp),%edx
481918:	8b 42 38             	mov    0x38(%edx),%eax
48191b:	3b c8                	cmp    %eax,%ecx
48191d:	7c 59                	jl     0x481978
48191f:	03 c0                	add    %eax,%eax
481921:	89 45 bc             	mov    %eax,-0x44(%ebp)
481924:	8d 04 40             	lea    (%eax,%eax,2),%eax
481927:	c1 e0 02             	shl    $0x2,%eax
48192a:	50                   	push   %eax
48192b:	ff 15 dc bd 4b 00    	call   *0x4bbddc
481931:	8b f8                	mov    %eax,%edi
481933:	83 c4 04             	add    $0x4,%esp
481936:	85 ff                	test   %edi,%edi
481938:	0f 84 b4 08 00 00    	je     0x4821f2
48193e:	8b 45 28             	mov    0x28(%ebp),%eax
481941:	8b 48 38             	mov    0x38(%eax),%ecx
481944:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
481947:	c1 e1 02             	shl    $0x2,%ecx
48194a:	51                   	push   %ecx
48194b:	ff 70 28             	push   0x28(%eax)
48194e:	57                   	push   %edi
48194f:	e8 2c d5 f9 ff       	call   0x41ee80
481954:	8b 55 28             	mov    0x28(%ebp),%edx
481957:	83 c4 0c             	add    $0xc,%esp
48195a:	83 7a 38 14          	cmpl   $0x14,0x38(%edx)
48195e:	7e 0f                	jle    0x48196f
481960:	ff 72 28             	push   0x28(%edx)
481963:	ff 15 0c b8 4b 00    	call   *0x4bb80c
481969:	8b 55 28             	mov    0x28(%ebp),%edx
48196c:	83 c4 04             	add    $0x4,%esp
48196f:	8b 45 bc             	mov    -0x44(%ebp),%eax
481972:	89 7a 28             	mov    %edi,0x28(%edx)
481975:	89 42 38             	mov    %eax,0x38(%edx)
481978:	8b 42 30             	mov    0x30(%edx),%eax
48197b:	8b 7d 94             	mov    -0x6c(%ebp),%edi
48197e:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
481981:	8b 42 28             	mov    0x28(%edx),%eax
481984:	89 3c 88             	mov    %edi,(%eax,%ecx,4)
481987:	8b 42 30             	mov    0x30(%edx),%eax
48198a:	8b 7d 9c             	mov    -0x64(%ebp),%edi
48198d:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
481990:	8b 42 28             	mov    0x28(%edx),%eax
481993:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
481997:	8b 42 30             	mov    0x30(%edx),%eax
48199a:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
48199d:	8b 42 28             	mov    0x28(%edx),%eax
4819a0:	8b 55 ec             	mov    -0x14(%ebp),%edx
4819a3:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
4819a7:	8b 45 28             	mov    0x28(%ebp),%eax
4819aa:	8b 7d fc             	mov    -0x4(%ebp),%edi
4819ad:	ff 40 30             	incl   0x30(%eax)
4819b0:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
4819b3:	83 c7 02             	add    $0x2,%edi
4819b6:	89 7d fc             	mov    %edi,-0x4(%ebp)
4819b9:	e9 86 68 f8 ff       	jmp    0x408244
4819be:	8b 45 28             	mov    0x28(%ebp),%eax
4819c1:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
4819c4:	83 c7 02             	add    $0x2,%edi
4819c7:	89 7d fc             	mov    %edi,-0x4(%ebp)
4819ca:	e9 75 68 f8 ff       	jmp    0x408244
4819cf:	bb 29 00 00 00       	mov    $0x29,%ebx
4819d4:	ba 01 00 00 00       	mov    $0x1,%edx
4819d9:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4819dc:	83 c7 02             	add    $0x2,%edi
4819df:	89 7d fc             	mov    %edi,-0x4(%ebp)
4819e2:	0f b7 07             	movzwl (%edi),%eax
4819e5:	8b f7                	mov    %edi,%esi
4819e7:	89 7d e8             	mov    %edi,-0x18(%ebp)
4819ea:	89 75 94             	mov    %esi,-0x6c(%ebp)
4819ed:	83 f8 30             	cmp    $0x30,%eax
4819f0:	72 09                	jb     0x4819fb
4819f2:	83 f8 39             	cmp    $0x39,%eax
4819f5:	0f 86 34 07 00 00    	jbe    0x48212f
4819fb:	c7 45 bc ff 00 00 00 	movl   $0xff,-0x44(%ebp)
481a02:	66 3b 45 bc          	cmp    -0x44(%ebp),%ax
481a06:	77 28                	ja     0x481a30
481a08:	8b 49 0c             	mov    0xc(%ecx),%ecx
481a0b:	0f b7 c0             	movzwl %ax,%eax
481a0e:	f6 04 08 10          	testb  $0x10,(%eax,%ecx,1)
481a12:	74 16                	je     0x481a2a
481a14:	83 c7 02             	add    $0x2,%edi
481a17:	89 7d fc             	mov    %edi,-0x4(%ebp)
481a1a:	0f b7 07             	movzwl (%edi),%eax
481a1d:	c7 45 bc ff 00 00 00 	movl   $0xff,-0x44(%ebp)
481a24:	66 3b 45 bc          	cmp    -0x44(%ebp),%ax
481a28:	76 e1                	jbe    0x481a0b
481a2a:	8b 4d 28             	mov    0x28(%ebp),%ecx
481a2d:	89 7d e8             	mov    %edi,-0x18(%ebp)
481a30:	8b c7                	mov    %edi,%eax
481a32:	2b c6                	sub    %esi,%eax
481a34:	d1 f8                	sar    $1,%eax
481a36:	83 7d 2c 00          	cmpl   $0x0,0x2c(%ebp)
481a3a:	89 45 9c             	mov    %eax,-0x64(%ebp)
481a3d:	74 6f                	je     0x481aae
481a3f:	85 c0                	test   %eax,%eax
481a41:	0f 84 ed 07 00 00    	je     0x482234
481a47:	66 39 1f             	cmp    %bx,(%edi)
481a4a:	0f 85 cf 07 00 00    	jne    0x48221f
481a50:	83 f8 20             	cmp    $0x20,%eax
481a53:	0f 8f 6f 07 00 00    	jg     0x4821c8
481a59:	8b 59 30             	mov    0x30(%ecx),%ebx
481a5c:	8b 71 28             	mov    0x28(%ecx),%esi
481a5f:	33 ff                	xor    %edi,%edi
481a61:	85 db                	test   %ebx,%ebx
481a63:	7e 28                	jle    0x481a8d
481a65:	3b 46 04             	cmp    0x4(%esi),%eax
481a68:	75 15                	jne    0x481a7f
481a6a:	8b 16                	mov    (%esi),%edx
481a6c:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
481a6f:	50                   	push   %eax
481a70:	e8 b2 f8 fe ff       	call   0x471327
481a75:	83 c4 04             	add    $0x4,%esp
481a78:	85 c0                	test   %eax,%eax
481a7a:	74 0b                	je     0x481a87
481a7c:	8b 45 9c             	mov    -0x64(%ebp),%eax
481a7f:	47                   	inc    %edi
481a80:	83 c6 0c             	add    $0xc,%esi
481a83:	3b fb                	cmp    %ebx,%edi
481a85:	7c de                	jl     0x481a65
481a87:	8b 55 e4             	mov    -0x1c(%ebp),%edx
481a8a:	8b 4d 28             	mov    0x28(%ebp),%ecx
481a8d:	3b fb                	cmp    %ebx,%edi
481a8f:	7d 05                	jge    0x481a96
481a91:	8b 7e 08             	mov    0x8(%esi),%edi
481a94:	eb 02                	jmp    0x481a98
481a96:	33 ff                	xor    %edi,%edi
481a98:	89 7d c8             	mov    %edi,-0x38(%ebp)
481a9b:	85 d2                	test   %edx,%edx
481a9d:	0f 85 e6 02 00 00    	jne    0x481d89
481aa3:	ff 41 54             	incl   0x54(%ecx)
481aa6:	8b 5d f4             	mov    -0xc(%ebp),%ebx