567527:	83 c9 ff             	or     $0xffffffff,%ecx
56752a:	41                   	inc    %ecx
56752b:	75 05                	jne    0x567532
56752d:	83 c8 ff             	or     $0xffffffff,%eax
567530:	eb 20                	jmp    0x567552
567532:	8b 45 b0             	mov    -0x50(%ebp),%eax
567535:	83 e0 01             	and    $0x1,%eax
567538:	eb 18                	jmp    0x567552
56753a:	66 8b 55 b0          	mov    -0x50(%ebp),%dx
56753e:	8b 4b 08             	mov    0x8(%ebx),%ecx
567541:	66 83 e2 01          	and    $0x1,%dx
567545:	66 d3 e2             	shl    %cl,%dx
567548:	66 09 53 04          	or     %dx,0x4(%ebx)
56754c:	8b 45 b0             	mov    -0x50(%ebp),%eax
56754f:	83 e0 01             	and    $0x1,%eax
567552:	40                   	inc    %eax
567553:	75 08                	jne    0x56755d
567555:	83 c8 ff             	or     $0xffffffff,%eax
567558:	e9 6f 04 00 00       	jmp    0x5679cc
56755d:	8b 55 d8             	mov    -0x28(%ebp),%edx
567560:	c1 e2 02             	shl    $0x2,%edx
567563:	52                   	push   %edx
567564:	8b d6                	mov    %esi,%edx
567566:	58                   	pop    %eax
567567:	2b d0                	sub    %eax,%edx
567569:	8b 45 d8             	mov    -0x28(%ebp),%eax
56756c:	c1 e0 02             	shl    $0x2,%eax
56756f:	03 c6                	add    %esi,%eax
567571:	eb 33                	jmp    0x5675a6
567573:	83 48 fc 01          	orl    $0x1,-0x4(%eax)
567577:	83 48 04 08          	orl    $0x8,0x4(%eax)
56757b:	8b 55 b0             	mov    -0x50(%ebp),%edx
56757e:	85 d2                	test   %edx,%edx
567580:	74 14                	je     0x567596
567582:	81 08 10 01 00 00    	orl    $0x110,(%eax)
567588:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
56758f:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
567596:	83 08 10             	orl    $0x10,(%eax)
567599:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
56759d:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
5675a4:	eb 44                	jmp    0x5675ea
5675a6:	83 4a fc 02          	orl    $0x2,-0x4(%edx)
5675aa:	83 4a 04 04          	orl    $0x4,0x4(%edx)
5675ae:	83 48 fc 01          	orl    $0x1,-0x4(%eax)
5675b2:	83 48 04 08          	orl    $0x8,0x4(%eax)
5675b6:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5675b9:	85 c9                	test   %ecx,%ecx
5675bb:	74 1c                	je     0x5675d9
5675bd:	81 0a 40 04 00 00    	orl    $0x440,(%edx)
5675c3:	81 08 10 01 00 00    	orl    $0x110,(%eax)
5675c9:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
5675d0:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
5675d7:	eb 11                	jmp    0x5675ea
5675d9:	83 0a 40             	orl    $0x40,(%edx)
5675dc:	83 08 10             	orl    $0x10,(%eax)
5675df:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
5675e3:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
5675ea:	81 0e 00 10 00 00    	orl    $0x1000,(%esi)
5675f0:	81 0e 00 40 00 00    	orl    $0x4000,(%esi)
5675f6:	ff 4d ec             	decl   -0x14(%ebp)
5675f9:	8b 45 ec             	mov    -0x14(%ebp),%eax
5675fc:	85 c0                	test   %eax,%eax
5675fe:	0f 8e 7c 03 00 00    	jle    0x567980
567604:	8b 55 d8             	mov    -0x28(%ebp),%edx
567607:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
56760a:	c1 e2 02             	shl    $0x2,%edx
56760d:	c1 e1 02             	shl    $0x2,%ecx
567610:	03 f2                	add    %edx,%esi
567612:	03 f9                	add    %ecx,%edi
567614:	8b 06                	mov    (%esi),%eax
567616:	a8 ff                	test   $0xff,%al
567618:	0f 84 5a 03 00 00    	je     0x567978
56761e:	f6 c4 50             	test   $0x50,%ah
567621:	0f 85 51 03 00 00    	jne    0x567978
567627:	8b 07                	mov    (%edi),%eax
567629:	99                   	cltd
56762a:	33 c2                	xor    %edx,%eax
56762c:	2b c2                	sub    %edx,%eax
56762e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
567631:	23 c1                	and    %ecx,%eax
567633:	74 07                	je     0x56763c
567635:	b8 01 00 00 00       	mov    $0x1,%eax
56763a:	eb 02                	jmp    0x56763e
56763c:	33 c0                	xor    %eax,%eax
56763e:	89 45 ac             	mov    %eax,-0x54(%ebp)
567641:	f6 43 10 02          	testb  $0x2,0x10(%ebx)
567645:	75 17                	jne    0x56765e
567647:	68 85 02 00 00       	push   $0x285
56764c:	68 d7 f7 69 00       	push   $0x69f7d7
567651:	68 ae f7 69 00       	push   $0x69f7ae
567656:	e8 e5 34 ff ff       	call   0x55ab40
56765b:	83 c4 0c             	add    $0xc,%esp
56765e:	ff 4b 08             	decl   0x8(%ebx)
567661:	0f 89 c3 00 00 00    	jns    0x56772a
567667:	66 8b 53 04          	mov    0x4(%ebx),%dx
56766b:	c1 e2 08             	shl    $0x8,%edx
56766e:	66 81 e2 ff ff       	and    $0xffff,%dx
567673:	66 89 53 04          	mov    %dx,0x4(%ebx)
567677:	66 81 7b 04 00 ff    	cmpw   $0xff00,0x4(%ebx)
56767d:	75 07                	jne    0x567686
56767f:	b9 06 00 00 00       	mov    $0x6,%ecx
567684:	eb 05                	jmp    0x56768b
567686:	b9 07 00 00 00       	mov    $0x7,%ecx
56768b:	89 4b 08             	mov    %ecx,0x8(%ebx)
56768e:	66 8b 45 ac          	mov    -0x54(%ebp),%ax
567692:	8b 4b 08             	mov    0x8(%ebx),%ecx
567695:	66 83 e0 01          	and    $0x1,%ax
567699:	66 d3 e0             	shl    %cl,%ax
56769c:	66 09 43 04          	or     %ax,0x4(%ebx)
5676a0:	8b 53 0c             	mov    0xc(%ebx),%edx
5676a3:	f6 42 08 07          	testb  $0x7,0x8(%edx)
5676a7:	75 6e                	jne    0x567717
5676a9:	8b 43 0c             	mov    0xc(%ebx),%eax
5676ac:	8b 50 40             	mov    0x40(%eax),%edx
5676af:	85 d2                	test   %edx,%edx
5676b1:	7c 1c                	jl     0x5676cf
5676b3:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5676b6:	8b 53 0c             	mov    0xc(%ebx),%edx
5676b9:	8b 41 40             	mov    0x40(%ecx),%eax
5676bc:	8b 4a 3c             	mov    0x3c(%edx),%ecx
5676bf:	3b c1                	cmp    %ecx,%eax
5676c1:	7f 0c                	jg     0x5676cf
5676c3:	8b 43 0c             	mov    0xc(%ebx),%eax
5676c6:	83 48 08 04          	orl    $0x4,0x8(%eax)
5676ca:	83 ca ff             	or     $0xffffffff,%edx
5676cd:	eb 4b                	jmp    0x56771a
5676cf:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5676d2:	83 49 04 20          	orl    $0x20,0x4(%ecx)
5676d6:	8b 43 0c             	mov    0xc(%ebx),%eax
5676d9:	ff 48 1c             	decl   0x1c(%eax)
5676dc:	79 19                	jns    0x5676f7
5676de:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
5676e2:	c1 fa 08             	sar    $0x8,%edx
5676e5:	8b 43 0c             	mov    0xc(%ebx),%eax
5676e8:	81 e2 ff 00 00 00    	and    $0xff,%edx
5676ee:	e8 25 17 01 00       	call   0x578e18
5676f3:	8b d0                	mov    %eax,%edx
5676f5:	eb 23                	jmp    0x56771a
5676f7:	8b 43 0c             	mov    0xc(%ebx),%eax
5676fa:	ff 40 3c             	incl   0x3c(%eax)
5676fd:	8b 4b 0c             	mov    0xc(%ebx),%ecx
567700:	8b 41 18             	mov    0x18(%ecx),%eax
567703:	ff 41 18             	incl   0x18(%ecx)
567706:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
56770a:	c1 fa 08             	sar    $0x8,%edx
56770d:	88 10                	mov    %dl,(%eax)
56770f:	81 e2 ff 00 00 00    	and    $0xff,%edx
567715:	eb 03                	jmp    0x56771a
567717:	83 ca ff             	or     $0xffffffff,%edx
56771a:	42                   	inc    %edx
56771b:	75 05                	jne    0x567722
56771d:	83 c8 ff             	or     $0xffffffff,%eax
567720:	eb 20                	jmp    0x567742
567722:	8b 45 ac             	mov    -0x54(%ebp),%eax
567725:	83 e0 01             	and    $0x1,%eax
567728:	eb 18                	jmp    0x567742
56772a:	66 8b 55 ac          	mov    -0x54(%ebp),%dx
56772e:	8b 4b 08             	mov    0x8(%ebx),%ecx
567731:	66 83 e2 01          	and    $0x1,%dx
567735:	66 d3 e2             	shl    %cl,%dx
567738:	66 09 53 04          	or     %dx,0x4(%ebx)
56773c:	8b 45 ac             	mov    -0x54(%ebp),%eax
56773f:	83 e0 01             	and    $0x1,%eax
567742:	40                   	inc    %eax
567743:	75 08                	jne    0x56774d
567745:	83 c8 ff             	or     $0xffffffff,%eax
567748:	e9 7f 02 00 00       	jmp    0x5679cc
56774d:	8b 55 ac             	mov    -0x54(%ebp),%edx
567750:	85 d2                	test   %edx,%edx
567752:	0f 84 1a 02 00 00    	je     0x567972
567758:	8b 4d fc             	mov    -0x4(%ebp),%ecx
56775b:	83 c1 06             	add    $0x6,%ecx
56775e:	83 f9 06             	cmp    $0x6,%ecx
567761:	7e 2f                	jle    0x567792
567763:	8b 45 fc             	mov    -0x4(%ebp),%eax
567766:	85 c0                	test   %eax,%eax
567768:	7c 0e                	jl     0x567778
56776a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
56776d:	8b 07                	mov    (%edi),%eax
56776f:	99                   	cltd
567770:	33 c2                	xor    %edx,%eax
567772:	2b c2                	sub    %edx,%eax
567774:	d3 f8                	sar    %cl,%eax
567776:	eb 0e                	jmp    0x567786
567778:	8b 07                	mov    (%edi),%eax
56777a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
56777d:	99                   	cltd
56777e:	33 c2                	xor    %edx,%eax
567780:	f7 d9                	neg    %ecx
567782:	2b c2                	sub    %edx,%eax
567784:	d3 e0                	shl    %cl,%eax
567786:	83 e0 7f             	and    $0x7f,%eax
567789:	8b 0c 85 20 0c 6b 00 	mov    0x6b0c20(,%eax,4),%ecx
567790:	eb 2d                	jmp    0x5677bf
567792:	8b 45 fc             	mov    -0x4(%ebp),%eax
567795:	85 c0                	test   %eax,%eax
567797:	7c 0e                	jl     0x5677a7
567799:	8b 4d fc             	mov    -0x4(%ebp),%ecx
56779c:	8b 07                	mov    (%edi),%eax
56779e:	99                   	cltd
56779f:	33 c2                	xor    %edx,%eax
5677a1:	2b c2                	sub    %edx,%eax
5677a3:	d3 f8                	sar    %cl,%eax
5677a5:	eb 0e                	jmp    0x5677b5
5677a7:	8b 07                	mov    (%edi),%eax
5677a9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5677ac:	99                   	cltd
5677ad:	33 c2                	xor    %edx,%eax
5677af:	f7 d9                	neg    %ecx
5677b1:	2b c2                	sub    %edx,%eax
5677b3:	d3 e0                	shl    %cl,%eax
5677b5:	83 e0 7f             	and    $0x7f,%eax
5677b8:	8b 0c 85 28 10 6b 00 	mov    0x6b1028(,%eax,4),%ecx
5677bf:	8b 45 08             	mov    0x8(%ebp),%eax
5677c2:	01 08                	add    %ecx,(%eax)
5677c4:	8b 17                	mov    (%edi),%edx
5677c6:	85 d2                	test   %edx,%edx
5677c8:	7d 07                	jge    0x5677d1
5677ca:	b9 01 00 00 00       	mov    $0x1,%ecx
5677cf:	eb 02                	jmp    0x5677d3
5677d1:	33 c9                	xor    %ecx,%ecx
5677d3:	89 4d ac             	mov    %ecx,-0x54(%ebp)
5677d6:	f6 43 10 02          	testb  $0x2,0x10(%ebx)
5677da:	75 17                	jne    0x5677f3
5677dc:	68 85 02 00 00       	push   $0x285
5677e1:	68 0a f8 69 00       	push   $0x69f80a
5677e6:	68 e3 f7 69 00       	push   $0x69f7e3
5677eb:	e8 50 33 ff ff       	call   0x55ab40
5677f0:	83 c4 0c             	add    $0xc,%esp
5677f3:	ff 4b 08             	decl   0x8(%ebx)
5677f6:	0f 89 c0 00 00 00    	jns    0x5678bc
5677fc:	66 8b 43 04          	mov    0x4(%ebx),%ax
567800:	c1 e0 08             	shl    $0x8,%eax
567803:	66 25 ff ff          	and    $0xffff,%ax
567807:	66 89 43 04          	mov    %ax,0x4(%ebx)
56780b:	66 81 7b 04 00 ff    	cmpw   $0xff00,0x4(%ebx)
567811:	75 07                	jne    0x56781a
567813:	ba 06 00 00 00       	mov    $0x6,%edx
567818:	eb 05                	jmp    0x56781f
56781a:	ba 07 00 00 00       	mov    $0x7,%edx
56781f:	89 53 08             	mov    %edx,0x8(%ebx)
567822:	66 8b 45 ac          	mov    -0x54(%ebp),%ax
567826:	8b 4b 08             	mov    0x8(%ebx),%ecx
567829:	66 83 e0 01          	and    $0x1,%ax
56782d:	66 d3 e0             	shl    %cl,%ax
567830:	66 09 43 04          	or     %ax,0x4(%ebx)
567834:	8b 43 0c             	mov    0xc(%ebx),%eax
567837:	f6 40 08 07          	testb  $0x7,0x8(%eax)
56783b:	75 6c                	jne    0x5678a9
56783d:	8b 53 0c             	mov    0xc(%ebx),%edx
567840:	8b 4a 40             	mov    0x40(%edx),%ecx
567843:	85 c9                	test   %ecx,%ecx
567845:	7c 1c                	jl     0x567863
567847:	8b 43 0c             	mov    0xc(%ebx),%eax
56784a:	8b 4b 0c             	mov    0xc(%ebx),%ecx
56784d:	8b 50 40             	mov    0x40(%eax),%edx
567850:	8b 41 3c             	mov    0x3c(%ecx),%eax
567853:	3b d0                	cmp    %eax,%edx
567855:	7f 0c                	jg     0x567863
567857:	8b 53 0c             	mov    0xc(%ebx),%edx
56785a:	83 4a 08 04          	orl    $0x4,0x8(%edx)
56785e:	83 c9 ff             	or     $0xffffffff,%ecx
567861:	eb 49                	jmp    0x5678ac
567863:	8b 43 0c             	mov    0xc(%ebx),%eax
567866:	83 48 04 20          	orl    $0x20,0x4(%eax)
56786a:	8b 53 0c             	mov    0xc(%ebx),%edx
56786d:	ff 4a 1c             	decl   0x1c(%edx)
567870:	79 19                	jns    0x56788b
567872:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
567876:	c1 fa 08             	sar    $0x8,%edx
567879:	8b 43 0c             	mov    0xc(%ebx),%eax
56787c:	81 e2 ff 00 00 00    	and    $0xff,%edx
567882:	e8 91 15 01 00       	call   0x578e18
567887:	8b c8                	mov    %eax,%ecx
567889:	eb 21                	jmp    0x5678ac
56788b:	8b 43 0c             	mov    0xc(%ebx),%eax
56788e:	ff 40 3c             	incl   0x3c(%eax)
567891:	8b 53 0c             	mov    0xc(%ebx),%edx
567894:	8b 4a 18             	mov    0x18(%edx),%ecx
567897:	ff 42 18             	incl   0x18(%edx)
56789a:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
56789e:	c1 f8 08             	sar    $0x8,%eax
5678a1:	88 01                	mov    %al,(%ecx)
5678a3:	33 c9                	xor    %ecx,%ecx
5678a5:	8a c8                	mov    %al,%cl
5678a7:	eb 03                	jmp    0x5678ac
5678a9:	83 c9 ff             	or     $0xffffffff,%ecx
5678ac:	41                   	inc    %ecx
5678ad:	75 05                	jne    0x5678b4
5678af:	83 c8 ff             	or     $0xffffffff,%eax
5678b2:	eb 20                	jmp    0x5678d4
5678b4:	8b 45 ac             	mov    -0x54(%ebp),%eax
5678b7:	83 e0 01             	and    $0x1,%eax
5678ba:	eb 18                	jmp    0x5678d4
5678bc:	66 8b 55 ac          	mov    -0x54(%ebp),%dx
5678c0:	8b 4b 08             	mov    0x8(%ebx),%ecx
5678c3:	66 83 e2 01          	and    $0x1,%dx
5678c7:	66 d3 e2             	shl    %cl,%dx
5678ca:	66 09 53 04          	or     %dx,0x4(%ebx)
5678ce:	8b 45 ac             	mov    -0x54(%ebp),%eax
5678d1:	83 e0 01             	and    $0x1,%eax
5678d4:	40                   	inc    %eax
5678d5:	75 08                	jne    0x5678df
5678d7:	83 c8 ff             	or     $0xffffffff,%eax
5678da:	e9 ed 00 00 00       	jmp    0x5679cc
5678df:	8b 55 d8             	mov    -0x28(%ebp),%edx
5678e2:	c1 e2 02             	shl    $0x2,%edx
5678e5:	52                   	push   %edx
5678e6:	8b d6                	mov    %esi,%edx
5678e8:	58                   	pop    %eax
5678e9:	2b d0                	sub    %eax,%edx
5678eb:	8b 45 d8             	mov    -0x28(%ebp),%eax
5678ee:	c1 e0 02             	shl    $0x2,%eax
5678f1:	03 c6                	add    %esi,%eax
5678f3:	eb 33                	jmp    0x567928
5678f5:	83 48 fc 01          	orl    $0x1,-0x4(%eax)
5678f9:	83 48 04 08          	orl    $0x8,0x4(%eax)
5678fd:	8b 55 ac             	mov    -0x54(%ebp),%edx
567900:	85 d2                	test   %edx,%edx
567902:	74 14                	je     0x567918
567904:	81 08 10 01 00 00    	orl    $0x110,(%eax)
56790a:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
567911:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
567918:	83 08 10             	orl    $0x10,(%eax)
56791b:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
56791f:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
567926:	eb 44                	jmp    0x56796c
567928:	83 4a fc 02          	orl    $0x2,-0x4(%edx)
56792c:	83 4a 04 04          	orl    $0x4,0x4(%edx)
567930:	83 48 fc 01          	orl    $0x1,-0x4(%eax)
567934:	83 48 04 08          	orl    $0x8,0x4(%eax)
567938:	8b 4d ac             	mov    -0x54(%ebp),%ecx
56793b:	85 c9                	test   %ecx,%ecx
56793d:	74 1c                	je     0x56795b
56793f:	81 0a 40 04 00 00    	orl    $0x440,(%edx)
567945:	81 08 10 01 00 00    	orl    $0x110,(%eax)
56794b:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
567952:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
567959:	eb 11                	jmp    0x56796c
56795b:	83 0a 40             	orl    $0x40,(%edx)
56795e:	83 08 10             	orl    $0x10,(%eax)
567961:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
567965:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
56796c:	81 0e 00 10 00 00    	orl    $0x1000,(%esi)
567972:	81 0e 00 40 00 00    	orl    $0x4000,(%esi)
567978:	ff 4d ec             	decl   -0x14(%ebp)
56797b:	8b 45 ec             	mov    -0x14(%ebp),%eax
56797e:	85 c0                	test   %eax,%eax
567980:	ff 4d f0             	decl   -0x10(%ebp)
567983:	83 45 c0 04          	addl   $0x4,-0x40(%ebp)