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)
567987:	83 45 bc 04          	addl   $0x4,-0x44(%ebp)
56798b:	8b 55 f0             	mov    -0x10(%ebp),%edx
56798e:	85 d2                	test   %edx,%edx
567990:	0f 8f e5 f1 ff ff    	jg     0x566b7b
567996:	83 6d f4 04          	subl   $0x4,-0xc(%ebp)
56799a:	8b 4d d0             	mov    -0x30(%ebp),%ecx
56799d:	c1 e1 02             	shl    $0x2,%ecx
5679a0:	01 4d c8             	add    %ecx,-0x38(%ebp)
5679a3:	8b 45 cc             	mov    -0x34(%ebp),%eax
5679a6:	c1 e0 02             	shl    $0x2,%eax
5679a9:	01 45 c4             	add    %eax,-0x3c(%ebp)
5679ac:	8b 55 f4             	mov    -0xc(%ebp),%edx
5679af:	85 d2                	test   %edx,%edx
5679b1:	0f 8f 92 f1 ff ff    	jg     0x566b49
5679b7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5679ba:	85 c9                	test   %ecx,%ecx
5679bc:	74 0c                	je     0x5679ca
5679be:	ba 2a 00 00 00       	mov    $0x2a,%edx
5679c3:	8b c3                	mov    %ebx,%eax
5679c5:	e8 82 95 00 00       	call   0x570f4c
5679ca:	33 c0                	xor    %eax,%eax
5679cc:	5f                   	pop    %edi
5679cd:	5e                   	pop    %esi
5679ce:	5b                   	pop    %ebx
5679cf:	8b e5                	mov    %ebp,%esp
5679d1:	5d                   	pop    %ebp
5679d2:	c2 10 00             	ret    $0x10
5679d5:	90                   	nop
5679d6:	90                   	nop
5679d7:	90                   	nop
5679d8:	55                   	push   %ebp
5679d9:	8b ec                	mov    %esp,%ebp
5679db:	83 c4 b8             	add    $0xffffffb8,%esp
5679de:	53                   	push   %ebx
5679df:	56                   	push   %esi
5679e0:	57                   	push   %edi
5679e1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5679e4:	8b da                	mov    %edx,%ebx
5679e6:	8b f8                	mov    %eax,%edi
5679e8:	8b 45 10             	mov    0x10(%ebp),%eax
5679eb:	8b 55 08             	mov    0x8(%ebp),%edx
5679ee:	33 c9                	xor    %ecx,%ecx
5679f0:	89 0a                	mov    %ecx,(%edx)
5679f2:	8b 50 18             	mov    0x18(%eax),%edx
5679f5:	89 55 e4             	mov    %edx,-0x1c(%ebp)
5679f8:	8b 48 14             	mov    0x14(%eax),%ecx
5679fb:	89 4d e0             	mov    %ecx,-0x20(%ebp)
5679fe:	8b 55 14             	mov    0x14(%ebp),%edx
567a01:	8b 4a 14             	mov    0x14(%edx),%ecx
567a04:	49                   	dec    %ecx
567a05:	7e 1f                	jle    0x567a26
567a07:	8b 55 14             	mov    0x14(%ebp),%edx
567a0a:	8b 4a 1c             	mov    0x1c(%edx),%ecx
567a0d:	8b 51 04             	mov    0x4(%ecx),%edx
567a10:	8b 4d 14             	mov    0x14(%ebp),%ecx
567a13:	8b 49 1c             	mov    0x1c(%ecx),%ecx
567a16:	8b 09                	mov    (%ecx),%ecx
567a18:	2b d1                	sub    %ecx,%edx
567a1a:	85 d2                	test   %edx,%edx
567a1c:	79 03                	jns    0x567a21
567a1e:	83 c2 03             	add    $0x3,%edx
567a21:	c1 fa 02             	sar    $0x2,%edx
567a24:	eb 02                	jmp    0x567a28
567a26:	33 d2                	xor    %edx,%edx
567a28:	89 55 dc             	mov    %edx,-0x24(%ebp)
567a2b:	8b 50 14             	mov    0x14(%eax),%edx
567a2e:	4a                   	dec    %edx
567a2f:	7e 19                	jle    0x567a4a
567a31:	8b 48 1c             	mov    0x1c(%eax),%ecx
567a34:	8b 51 04             	mov    0x4(%ecx),%edx
567a37:	8b 48 1c             	mov    0x1c(%eax),%ecx
567a3a:	8b 09                	mov    (%ecx),%ecx
567a3c:	2b d1                	sub    %ecx,%edx
567a3e:	85 d2                	test   %edx,%edx
567a40:	79 03                	jns    0x567a45
567a42:	83 c2 03             	add    $0x3,%edx
567a45:	c1 fa 02             	sar    $0x2,%edx
567a48:	eb 02                	jmp    0x567a4c
567a4a:	33 d2                	xor    %edx,%edx
567a4c:	89 55 d8             	mov    %edx,-0x28(%ebp)
567a4f:	8b 55 dc             	mov    -0x24(%ebp),%edx
567a52:	c1 e2 02             	shl    $0x2,%edx
567a55:	89 55 d4             	mov    %edx,-0x2c(%ebp)
567a58:	ba 01 00 00 00       	mov    $0x1,%edx
567a5d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
567a60:	c1 e1 02             	shl    $0x2,%ecx
567a63:	89 4d d0             	mov    %ecx,-0x30(%ebp)
567a66:	8d 4b 06             	lea    0x6(%ebx),%ecx
567a69:	d3 e2                	shl    %cl,%edx
567a6b:	89 55 f0             	mov    %edx,-0x10(%ebp)
567a6e:	8b 55 14             	mov    0x14(%ebp),%edx
567a71:	8b 4a 1c             	mov    0x1c(%edx),%ecx
567a74:	8b 51 04             	mov    0x4(%ecx),%edx
567a77:	83 c2 04             	add    $0x4,%edx
567a7a:	89 55 cc             	mov    %edx,-0x34(%ebp)
567a7d:	8b 40 1c             	mov    0x1c(%eax),%eax
567a80:	8b 08                	mov    (%eax),%ecx
567a82:	89 4d c8             	mov    %ecx,-0x38(%ebp)
567a85:	8b 45 e0             	mov    -0x20(%ebp),%eax
567a88:	89 45 f8             	mov    %eax,-0x8(%ebp)
567a8b:	8b 55 f8             	mov    -0x8(%ebp),%edx
567a8e:	85 d2                	test   %edx,%edx
567a90:	0f 8e e1 04 00 00    	jle    0x567f77
567a96:	8b 4d cc             	mov    -0x34(%ebp),%ecx
567a99:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
567a9c:	8b 45 c8             	mov    -0x38(%ebp),%eax
567a9f:	89 45 c0             	mov    %eax,-0x40(%ebp)
567aa2:	8b 55 f8             	mov    -0x8(%ebp),%edx
567aa5:	83 fa 04             	cmp    $0x4,%edx
567aa8:	7d 05                	jge    0x567aaf
567aaa:	8b 4d f8             	mov    -0x8(%ebp),%ecx
567aad:	eb 05                	jmp    0x567ab4
567aaf:	b9 04 00 00 00       	mov    $0x4,%ecx
567ab4:	89 4d ec             	mov    %ecx,-0x14(%ebp)
567ab7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
567aba:	89 45 f4             	mov    %eax,-0xc(%ebp)
567abd:	8b 55 f4             	mov    -0xc(%ebp),%edx
567ac0:	85 d2                	test   %edx,%edx
567ac2:	0f 8e 8e 04 00 00    	jle    0x567f56
567ac8:	8b 75 c4             	mov    -0x3c(%ebp),%esi
567acb:	8b 45 c0             	mov    -0x40(%ebp),%eax
567ace:	89 45 bc             	mov    %eax,-0x44(%ebp)
567ad1:	8b 55 ec             	mov    -0x14(%ebp),%edx
567ad4:	89 55 b8             	mov    %edx,-0x48(%ebp)
567ad7:	8b 0e                	mov    (%esi),%ecx
567ad9:	81 e1 00 50 00 00    	and    $0x5000,%ecx
567adf:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
567ae5:	0f 85 ef 00 00 00    	jne    0x567bda
567aeb:	8b 45 bc             	mov    -0x44(%ebp),%eax
567aee:	8d 4b 06             	lea    0x6(%ebx),%ecx
567af1:	83 f9 06             	cmp    $0x6,%ecx
567af4:	8b 10                	mov    (%eax),%edx
567af6:	89 55 e8             	mov    %edx,-0x18(%ebp)
567af9:	7e 2c                	jle    0x567b27
567afb:	85 db                	test   %ebx,%ebx
567afd:	7c 0e                	jl     0x567b0d
567aff:	8b cb                	mov    %ebx,%ecx
567b01:	8b 45 e8             	mov    -0x18(%ebp),%eax
567b04:	99                   	cltd
567b05:	33 c2                	xor    %edx,%eax
567b07:	2b c2                	sub    %edx,%eax
567b09:	d3 f8                	sar    %cl,%eax
567b0b:	eb 0e                	jmp    0x567b1b
567b0d:	8b 45 e8             	mov    -0x18(%ebp),%eax
567b10:	8b cb                	mov    %ebx,%ecx
567b12:	99                   	cltd
567b13:	33 c2                	xor    %edx,%eax
567b15:	f7 d9                	neg    %ecx
567b17:	2b c2                	sub    %edx,%eax
567b19:	d3 e0                	shl    %cl,%eax
567b1b:	83 e0 7f             	and    $0x7f,%eax
567b1e:	8b 04 85 24 0e 6b 00 	mov    0x6b0e24(,%eax,4),%eax
567b25:	eb 2a                	jmp    0x567b51
567b27:	85 db                	test   %ebx,%ebx
567b29:	7c 0e                	jl     0x567b39
567b2b:	8b cb                	mov    %ebx,%ecx
567b2d:	8b 45 e8             	mov    -0x18(%ebp),%eax
567b30:	99                   	cltd
567b31:	33 c2                	xor    %edx,%eax
567b33:	2b c2                	sub    %edx,%eax
567b35:	d3 f8                	sar    %cl,%eax
567b37:	eb 0e                	jmp    0x567b47
567b39:	8b 45 e8             	mov    -0x18(%ebp),%eax
567b3c:	8b cb                	mov    %ebx,%ecx
567b3e:	99                   	cltd
567b3f:	33 c2                	xor    %edx,%eax
567b41:	f7 d9                	neg    %ecx
567b43:	2b c2                	sub    %edx,%eax
567b45:	d3 e0                	shl    %cl,%eax
567b47:	83 e0 7f             	and    $0x7f,%eax
567b4a:	8b 04 85 2c 12 6b 00 	mov    0x6b122c(,%eax,4),%eax
567b51:	8b 55 08             	mov    0x8(%ebp),%edx
567b54:	01 02                	add    %eax,(%edx)
567b56:	8b 06                	mov    (%esi),%eax
567b58:	8b d0                	mov    %eax,%edx