563425:	83 c2 03             	add    $0x3,%edx
563428:	c1 fa 02             	sar    $0x2,%edx
56342b:	eb 02                	jmp    0x56342f
56342d:	33 d2                	xor    %edx,%edx
56342f:	89 55 c4             	mov    %edx,-0x3c(%ebp)
563432:	8b c7                	mov    %edi,%eax
563434:	c1 e0 02             	shl    $0x2,%eax
563437:	89 45 d4             	mov    %eax,-0x2c(%ebp)
56343a:	8b 55 c4             	mov    -0x3c(%ebp),%edx
56343d:	c1 e2 02             	shl    $0x2,%edx
563440:	89 55 c0             	mov    %edx,-0x40(%ebp)
563443:	8b 4d f8             	mov    -0x8(%ebp),%ecx
563446:	b8 01 00 00 00       	mov    $0x1,%eax
56344b:	d3 e0                	shl    %cl,%eax
56344d:	89 45 ec             	mov    %eax,-0x14(%ebp)
563450:	8b 55 ec             	mov    -0x14(%ebp),%edx
563453:	d1 fa                	sar    $1,%edx
563455:	89 55 e8             	mov    %edx,-0x18(%ebp)
563458:	8b 4d ec             	mov    -0x14(%ebp),%ecx
56345b:	8b 45 e8             	mov    -0x18(%ebp),%eax
56345e:	0b c8                	or     %eax,%ecx
563460:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
563463:	8b 55 0c             	mov    0xc(%ebp),%edx
563466:	8b 4a 1c             	mov    0x1c(%edx),%ecx
563469:	8b 41 04             	mov    0x4(%ecx),%eax
56346c:	83 c0 04             	add    $0x4,%eax
56346f:	89 45 d0             	mov    %eax,-0x30(%ebp)
563472:	8b 55 08             	mov    0x8(%ebp),%edx
563475:	8b 4a 1c             	mov    0x1c(%edx),%ecx
563478:	8b 01                	mov    (%ecx),%eax
56347a:	89 45 bc             	mov    %eax,-0x44(%ebp)
56347d:	8b 55 d8             	mov    -0x28(%ebp),%edx
563480:	89 55 f4             	mov    %edx,-0xc(%ebp)
563483:	8b 4d f4             	mov    -0xc(%ebp),%ecx
563486:	85 c9                	test   %ecx,%ecx
563488:	0f 8e d0 07 00 00    	jle    0x563c5e
56348e:	8b 45 d0             	mov    -0x30(%ebp),%eax
563491:	89 45 cc             	mov    %eax,-0x34(%ebp)
563494:	8b 55 bc             	mov    -0x44(%ebp),%edx
563497:	89 55 b8             	mov    %edx,-0x48(%ebp)
56349a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
56349d:	83 f9 04             	cmp    $0x4,%ecx
5634a0:	7d 05                	jge    0x5634a7
5634a2:	8b 45 f4             	mov    -0xc(%ebp),%eax
5634a5:	eb 05                	jmp    0x5634ac
5634a7:	b8 04 00 00 00       	mov    $0x4,%eax
5634ac:	89 45 e0             	mov    %eax,-0x20(%ebp)
5634af:	8b 55 dc             	mov    -0x24(%ebp),%edx
5634b2:	89 55 f0             	mov    %edx,-0x10(%ebp)
5634b5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5634b8:	85 c9                	test   %ecx,%ecx
5634ba:	0f 8e 7d 07 00 00    	jle    0x563c3d
5634c0:	8b 75 cc             	mov    -0x34(%ebp),%esi
5634c3:	8b 45 b8             	mov    -0x48(%ebp),%eax
5634c6:	89 45 c8             	mov    %eax,-0x38(%ebp)
5634c9:	8b 55 e0             	mov    -0x20(%ebp),%edx
5634cc:	89 55 b4             	mov    %edx,-0x4c(%ebp)
5634cf:	8b 0e                	mov    (%esi),%ecx
5634d1:	89 4d b0             	mov    %ecx,-0x50(%ebp)
5634d4:	8b 45 b0             	mov    -0x50(%ebp),%eax
5634d7:	25 ff 00 00 00       	and    $0xff,%eax
5634dc:	85 c0                	test   %eax,%eax
5634de:	0f 84 a9 01 00 00    	je     0x56368d
5634e4:	f6 45 b1 50          	testb  $0x50,-0x4f(%ebp)
5634e8:	0f 85 9f 01 00 00    	jne    0x56368d
5634ee:	8b 55 14             	mov    0x14(%ebp),%edx
5634f1:	c1 e2 08             	shl    $0x8,%edx
5634f4:	0b d0                	or     %eax,%edx
5634f6:	8b 43 10             	mov    0x10(%ebx),%eax
5634f9:	8b 0c 95 10 b4 6a 00 	mov    0x6ab410(,%edx,4),%ecx
563500:	c1 e1 02             	shl    $0x2,%ecx
563503:	03 c8                	add    %eax,%ecx
563505:	89 4b 0c             	mov    %ecx,0xc(%ebx)
563508:	8b 53 0c             	mov    0xc(%ebx),%edx
56350b:	8b 0a                	mov    (%edx),%ecx
56350d:	0f b7 01             	movzwl (%ecx),%eax
563510:	29 43 04             	sub    %eax,0x4(%ebx)
563513:	8b 4b 0c             	mov    0xc(%ebx),%ecx
563516:	8b 13                	mov    (%ebx),%edx
563518:	c1 ea 10             	shr    $0x10,%edx
56351b:	8b 01                	mov    (%ecx),%eax
56351d:	0f b7 08             	movzwl (%eax),%ecx
563520:	3b d1                	cmp    %ecx,%edx
563522:	72 27                	jb     0x56354b
563524:	8b 53 0c             	mov    0xc(%ebx),%edx
563527:	8b 02                	mov    (%edx),%eax
563529:	0f b7 10             	movzwl (%eax),%edx
56352c:	c1 e2 10             	shl    $0x10,%edx
56352f:	29 13                	sub    %edx,(%ebx)
563531:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
563535:	74 0b                	je     0x563542
563537:	8b 4b 0c             	mov    0xc(%ebx),%ecx
56353a:	8b 01                	mov    (%ecx),%eax
56353c:	0f b7 40 02          	movzwl 0x2(%eax),%eax
563540:	eb 10                	jmp    0x563552
563542:	8b c3                	mov    %ebx,%eax
563544:	e8 67 e7 00 00       	call   0x571cb0
563549:	eb 07                	jmp    0x563552
56354b:	8b c3                	mov    %ebx,%eax
56354d:	e8 7e e8 00 00       	call   0x571dd0
563552:	85 c0                	test   %eax,%eax
563554:	0f 84 2d 01 00 00    	je     0x563687
56355a:	8b 55 b0             	mov    -0x50(%ebp),%edx
56355d:	8b 43 10             	mov    0x10(%ebx),%eax
563560:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
563566:	c1 fa 04             	sar    $0x4,%edx
563569:	8b 0c 95 18 c8 6a 00 	mov    0x6ac818(,%edx,4),%ecx
563570:	c1 e1 02             	shl    $0x2,%ecx
563573:	03 c8                	add    %eax,%ecx
563575:	89 4b 0c             	mov    %ecx,0xc(%ebx)
563578:	8b 53 0c             	mov    0xc(%ebx),%edx
56357b:	8b 0a                	mov    (%edx),%ecx
56357d:	0f b7 01             	movzwl (%ecx),%eax
563580:	29 43 04             	sub    %eax,0x4(%ebx)
563583:	8b 4b 0c             	mov    0xc(%ebx),%ecx
563586:	8b 13                	mov    (%ebx),%edx
563588:	c1 ea 10             	shr    $0x10,%edx
56358b:	8b 01                	mov    (%ecx),%eax
56358d:	0f b7 08             	movzwl (%eax),%ecx
563590:	3b d1                	cmp    %ecx,%edx
563592:	72 27                	jb     0x5635bb
563594:	8b 53 0c             	mov    0xc(%ebx),%edx
563597:	8b 02                	mov    (%edx),%eax
563599:	0f b7 10             	movzwl (%eax),%edx
56359c:	c1 e2 10             	shl    $0x10,%edx
56359f:	29 13                	sub    %edx,(%ebx)
5635a1:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
5635a5:	74 0b                	je     0x5635b2
5635a7:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5635aa:	8b 01                	mov    (%ecx),%eax
5635ac:	0f b7 40 02          	movzwl 0x2(%eax),%eax
5635b0:	eb 10                	jmp    0x5635c2
5635b2:	8b c3                	mov    %ebx,%eax
5635b4:	e8 f7 e6 00 00       	call   0x571cb0
5635b9:	eb 07                	jmp    0x5635c2
5635bb:	8b c3                	mov    %ebx,%eax
5635bd:	e8 0e e8 00 00       	call   0x571dd0
5635c2:	8b 55 b0             	mov    -0x50(%ebp),%edx
5635c5:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
5635cb:	c1 fa 04             	sar    $0x4,%edx
5635ce:	33 04 95 14 c4 6a 00 	xor    0x6ac414(,%edx,4),%eax
5635d5:	8b cf                	mov    %edi,%ecx
5635d7:	c1 e1 02             	shl    $0x2,%ecx
5635da:	8b d6                	mov    %esi,%edx
5635dc:	2b d1                	sub    %ecx,%edx
5635de:	89 55 ac             	mov    %edx,-0x54(%ebp)
5635e1:	8b d7                	mov    %edi,%edx
5635e3:	c1 e2 02             	shl    $0x2,%edx
5635e6:	03 d6                	add    %esi,%edx
5635e8:	8b 4d 10             	mov    0x10(%ebp),%ecx
5635eb:	85 c9                	test   %ecx,%ecx
5635ed:	74 32                	je     0x563621
5635ef:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
5635f3:	83 4a 04 08          	orl    $0x8,0x4(%edx)
5635f7:	85 c0                	test   %eax,%eax
5635f9:	74 16                	je     0x563611
5635fb:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
563601:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
563608:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
56360f:	eb 5d                	jmp    0x56366e
563611:	83 0a 10             	orl    $0x10,(%edx)
563614:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
563618:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
56361f:	eb 4d                	jmp    0x56366e
563621:	8b 4d ac             	mov    -0x54(%ebp),%ecx
563624:	83 49 fc 02          	orl    $0x2,-0x4(%ecx)
563628:	8b 4d ac             	mov    -0x54(%ebp),%ecx
56362b:	83 49 04 04          	orl    $0x4,0x4(%ecx)
56362f:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
563633:	83 4a 04 08          	orl    $0x8,0x4(%edx)
563637:	85 c0                	test   %eax,%eax
563639:	74 1f                	je     0x56365a
56363b:	8b 4d ac             	mov    -0x54(%ebp),%ecx
56363e:	81 09 40 04 00 00    	orl    $0x440,(%ecx)
563644:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
56364a:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
563651:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
563658:	eb 14                	jmp    0x56366e
56365a:	8b 4d ac             	mov    -0x54(%ebp),%ecx
56365d:	83 09 40             	orl    $0x40,(%ecx)
563660:	83 0a 10             	orl    $0x10,(%edx)
563663:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
563667:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
56366e:	81 0e 00 10 00 00    	orl    $0x1000,(%esi)
563674:	85 c0                	test   %eax,%eax
563676:	74 07                	je     0x56367f
563678:	8b 45 e4             	mov    -0x1c(%ebp),%eax
56367b:	f7 d8                	neg    %eax
56367d:	eb 03                	jmp    0x563682
56367f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
563682:	8b 55 c8             	mov    -0x38(%ebp),%edx
563685:	89 02                	mov    %eax,(%edx)
563687:	81 0e 00 40 00 00    	orl    $0x4000,(%esi)
56368d:	ff 4d b4             	decl   -0x4c(%ebp)
563690:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
563693:	85 c9                	test   %ecx,%ecx
563695:	0f 8e 8c 05 00 00    	jle    0x563c27
56369b:	8b c7                	mov    %edi,%eax
56369d:	8b 55 c4             	mov    -0x3c(%ebp),%edx
5636a0:	c1 e0 02             	shl    $0x2,%eax
5636a3:	c1 e2 02             	shl    $0x2,%edx
5636a6:	03 f0                	add    %eax,%esi
5636a8:	01 55 c8             	add    %edx,-0x38(%ebp)
5636ab:	8b 0e                	mov    (%esi),%ecx
5636ad:	89 4d a8             	mov    %ecx,-0x58(%ebp)
5636b0:	8b 45 a8             	mov    -0x58(%ebp),%eax
5636b3:	25 ff 00 00 00       	and    $0xff,%eax
5636b8:	85 c0                	test   %eax,%eax
5636ba:	0f 84 ab 01 00 00    	je     0x56386b
5636c0:	f6 45 a9 50          	testb  $0x50,-0x57(%ebp)
5636c4:	0f 85 a1 01 00 00    	jne    0x56386b
5636ca:	8b 55 14             	mov    0x14(%ebp),%edx
5636cd:	8b 4d a8             	mov    -0x58(%ebp),%ecx
5636d0:	c1 e2 08             	shl    $0x8,%edx
5636d3:	81 e1 ff 00 00 00    	and    $0xff,%ecx
5636d9:	0b d1                	or     %ecx,%edx
5636db:	8b 04 95 10 b4 6a 00 	mov    0x6ab410(,%edx,4),%eax
5636e2:	8b 53 10             	mov    0x10(%ebx),%edx
5636e5:	c1 e0 02             	shl    $0x2,%eax
5636e8:	03 c2                	add    %edx,%eax
5636ea:	89 43 0c             	mov    %eax,0xc(%ebx)
5636ed:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5636f0:	8b 01                	mov    (%ecx),%eax
5636f2:	0f b7 10             	movzwl (%eax),%edx
5636f5:	29 53 04             	sub    %edx,0x4(%ebx)
5636f8:	8b 43 0c             	mov    0xc(%ebx),%eax
5636fb:	8b 0b                	mov    (%ebx),%ecx
5636fd:	c1 e9 10             	shr    $0x10,%ecx
563700:	8b 10                	mov    (%eax),%edx
563702:	0f b7 02             	movzwl (%edx),%eax
563705:	3b c8                	cmp    %eax,%ecx
563707:	72 27                	jb     0x563730
563709:	8b 53 0c             	mov    0xc(%ebx),%edx
56370c:	8b 0a                	mov    (%edx),%ecx
56370e:	0f b7 01             	movzwl (%ecx),%eax
563711:	c1 e0 10             	shl    $0x10,%eax
563714:	29 03                	sub    %eax,(%ebx)
563716:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
56371a:	74 0b                	je     0x563727
56371c:	8b 53 0c             	mov    0xc(%ebx),%edx
56371f:	8b 0a                	mov    (%edx),%ecx
563721:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
563725:	eb 10                	jmp    0x563737
563727:	8b c3                	mov    %ebx,%eax
563729:	e8 82 e5 00 00       	call   0x571cb0
56372e:	eb 07                	jmp    0x563737
563730:	8b c3                	mov    %ebx,%eax
563732:	e8 99 e6 00 00       	call   0x571dd0
563737:	85 c0                	test   %eax,%eax
563739:	0f 84 26 01 00 00    	je     0x563865
56373f:	8b 55 a8             	mov    -0x58(%ebp),%edx
563742:	8b 43 10             	mov    0x10(%ebx),%eax
563745:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
56374b:	c1 fa 04             	sar    $0x4,%edx
56374e:	8b 0c 95 18 c8 6a 00 	mov    0x6ac818(,%edx,4),%ecx
563755:	c1 e1 02             	shl    $0x2,%ecx
563758:	03 c8                	add    %eax,%ecx
56375a:	89 4b 0c             	mov    %ecx,0xc(%ebx)
56375d:	8b 53 0c             	mov    0xc(%ebx),%edx
563760:	8b 0a                	mov    (%edx),%ecx
563762:	0f b7 01             	movzwl (%ecx),%eax
563765:	29 43 04             	sub    %eax,0x4(%ebx)
563768:	8b 4b 0c             	mov    0xc(%ebx),%ecx
56376b:	8b 13                	mov    (%ebx),%edx
56376d:	c1 ea 10             	shr    $0x10,%edx
563770:	8b 01                	mov    (%ecx),%eax
563772:	0f b7 08             	movzwl (%eax),%ecx
563775:	3b d1                	cmp    %ecx,%edx
563777:	72 27                	jb     0x5637a0
563779:	8b 53 0c             	mov    0xc(%ebx),%edx
56377c:	8b 02                	mov    (%edx),%eax
56377e:	0f b7 10             	movzwl (%eax),%edx
563781:	c1 e2 10             	shl    $0x10,%edx
563784:	29 13                	sub    %edx,(%ebx)
563786:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
56378a:	74 0b                	je     0x563797
56378c:	8b 4b 0c             	mov    0xc(%ebx),%ecx
56378f:	8b 01                	mov    (%ecx),%eax
563791:	0f b7 40 02          	movzwl 0x2(%eax),%eax
563795:	eb 10                	jmp    0x5637a7
563797:	8b c3                	mov    %ebx,%eax
563799:	e8 12 e5 00 00       	call   0x571cb0
56379e:	eb 07                	jmp    0x5637a7
5637a0:	8b c3                	mov    %ebx,%eax
5637a2:	e8 29 e6 00 00       	call   0x571dd0
5637a7:	8b 55 a8             	mov    -0x58(%ebp),%edx
5637aa:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
5637b0:	c1 fa 04             	sar    $0x4,%edx
5637b3:	33 04 95 14 c4 6a 00 	xor    0x6ac414(,%edx,4),%eax
5637ba:	8b cf                	mov    %edi,%ecx
5637bc:	c1 e1 02             	shl    $0x2,%ecx
5637bf:	8b d6                	mov    %esi,%edx
5637c1:	2b d1                	sub    %ecx,%edx
5637c3:	89 55 a4             	mov    %edx,-0x5c(%ebp)
5637c6:	8b d7                	mov    %edi,%edx
5637c8:	c1 e2 02             	shl    $0x2,%edx
5637cb:	03 d6                	add    %esi,%edx
5637cd:	eb 30                	jmp    0x5637ff
5637cf:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
5637d3:	83 4a 04 08          	orl    $0x8,0x4(%edx)
5637d7:	85 c0                	test   %eax,%eax
5637d9:	74 14                	je     0x5637ef
5637db:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
5637e1:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
5637e8:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
5637ef:	83 0a 10             	orl    $0x10,(%edx)
5637f2:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
5637f6:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
5637fd:	eb 4d                	jmp    0x56384c
5637ff:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
563802:	83 49 fc 02          	orl    $0x2,-0x4(%ecx)
563806:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
563809:	83 49 04 04          	orl    $0x4,0x4(%ecx)
56380d:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
563811:	83 4a 04 08          	orl    $0x8,0x4(%edx)
563815:	85 c0                	test   %eax,%eax
563817:	74 1f                	je     0x563838
563819:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
56381c:	81 09 40 04 00 00    	orl    $0x440,(%ecx)
563822:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
563828:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
56382f:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
563836:	eb 14                	jmp    0x56384c
563838:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
56383b:	83 09 40             	orl    $0x40,(%ecx)
56383e:	83 0a 10             	orl    $0x10,(%edx)
563841:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
563845:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
56384c:	81 0e 00 10 00 00    	orl    $0x1000,(%esi)
563852:	85 c0                	test   %eax,%eax
563854:	74 07                	je     0x56385d
563856:	8b 45 e4             	mov    -0x1c(%ebp),%eax
563859:	f7 d8                	neg    %eax
56385b:	eb 03                	jmp    0x563860
56385d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
563860:	8b 55 c8             	mov    -0x38(%ebp),%edx
563863:	89 02                	mov    %eax,(%edx)
563865:	81 0e 00 40 00 00    	orl    $0x4000,(%esi)
56386b:	ff 4d b4             	decl   -0x4c(%ebp)
56386e:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
563871:	85 c9                	test   %ecx,%ecx
563873:	0f 8e ae 03 00 00    	jle    0x563c27
563879:	8b c7                	mov    %edi,%eax
56387b:	8b 55 c4             	mov    -0x3c(%ebp),%edx
56387e:	c1 e0 02             	shl    $0x2,%eax
563881:	c1 e2 02             	shl    $0x2,%edx
563884:	03 f0                	add    %eax,%esi
563886:	01 55 c8             	add    %edx,-0x38(%ebp)
563889:	8b 0e                	mov    (%esi),%ecx
56388b:	89 4d a0             	mov    %ecx,-0x60(%ebp)