54551b:	2b c2                	sub    %edx,%eax
54551d:	8b 55 fc             	mov    -0x4(%ebp),%edx
545520:	8b c8                	mov    %eax,%ecx
545522:	8b 45 c8             	mov    -0x38(%ebp),%eax
545525:	8d 04 40             	lea    (%eax,%eax,2),%eax
545528:	0f b6 44 02 01       	movzbl 0x1(%edx,%eax,1),%eax
54552d:	8b 55 fc             	mov    -0x4(%ebp),%edx
545530:	0f b6 52 01          	movzbl 0x1(%edx),%edx
545534:	2b c2                	sub    %edx,%eax
545536:	99                   	cltd
545537:	33 c2                	xor    %edx,%eax
545539:	2b c2                	sub    %edx,%eax
54553b:	8b 55 fc             	mov    -0x4(%ebp),%edx
54553e:	03 c8                	add    %eax,%ecx
545540:	8b 45 c8             	mov    -0x38(%ebp),%eax
545543:	8d 04 40             	lea    (%eax,%eax,2),%eax
545546:	0f b6 44 02 02       	movzbl 0x2(%edx,%eax,1),%eax
54554b:	8b 55 fc             	mov    -0x4(%ebp),%edx
54554e:	0f b6 52 02          	movzbl 0x2(%edx),%edx
545552:	2b c2                	sub    %edx,%eax
545554:	99                   	cltd
545555:	33 c2                	xor    %edx,%eax
545557:	2b c2                	sub    %edx,%eax
545559:	03 c8                	add    %eax,%ecx
54555b:	33 c0                	xor    %eax,%eax
54555d:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
545560:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
545567:	89 45 cc             	mov    %eax,-0x34(%ebp)
54556a:	8b 45 10             	mov    0x10(%ebp),%eax
54556d:	8b 4d d0             	mov    -0x30(%ebp),%ecx
545570:	3b c8                	cmp    %eax,%ecx
545572:	0f 8d 98 00 00 00    	jge    0x545610
545578:	8b 55 c8             	mov    -0x38(%ebp),%edx
54557b:	8d 14 52             	lea    (%edx,%edx,2),%edx
54557e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
545581:	33 c0                	xor    %eax,%eax
545583:	8a 04 11             	mov    (%ecx,%edx,1),%al
545586:	8b 55 d0             	mov    -0x30(%ebp),%edx
545589:	8d 14 52             	lea    (%edx,%edx,2),%edx
54558c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54558f:	0f b6 14 11          	movzbl (%ecx,%edx,1),%edx
545593:	2b c2                	sub    %edx,%eax
545595:	99                   	cltd
545596:	33 c2                	xor    %edx,%eax
545598:	2b c2                	sub    %edx,%eax
54559a:	8b c8                	mov    %eax,%ecx
54559c:	8b 45 c8             	mov    -0x38(%ebp),%eax
54559f:	8d 04 40             	lea    (%eax,%eax,2),%eax
5455a2:	8b 55 fc             	mov    -0x4(%ebp),%edx
5455a5:	0f b6 44 02 01       	movzbl 0x1(%edx,%eax,1),%eax
5455aa:	8b 55 d0             	mov    -0x30(%ebp),%edx
5455ad:	8d 14 52             	lea    (%edx,%edx,2),%edx
5455b0:	8b 75 fc             	mov    -0x4(%ebp),%esi
5455b3:	0f b6 54 16 01       	movzbl 0x1(%esi,%edx,1),%edx
5455b8:	2b c2                	sub    %edx,%eax
5455ba:	99                   	cltd
5455bb:	33 c2                	xor    %edx,%eax
5455bd:	2b c2                	sub    %edx,%eax
5455bf:	03 c8                	add    %eax,%ecx
5455c1:	8b 45 c8             	mov    -0x38(%ebp),%eax
5455c4:	8d 04 40             	lea    (%eax,%eax,2),%eax
5455c7:	8b 55 fc             	mov    -0x4(%ebp),%edx
5455ca:	0f b6 44 02 02       	movzbl 0x2(%edx,%eax,1),%eax
5455cf:	8b 55 d0             	mov    -0x30(%ebp),%edx
5455d2:	8d 14 52             	lea    (%edx,%edx,2),%edx
5455d5:	8b 75 fc             	mov    -0x4(%ebp),%esi
5455d8:	0f b6 54 16 02       	movzbl 0x2(%esi,%edx,1),%edx
5455dd:	2b c2                	sub    %edx,%eax
5455df:	99                   	cltd
5455e0:	33 c2                	xor    %edx,%eax
5455e2:	2b c2                	sub    %edx,%eax
5455e4:	03 c8                	add    %eax,%ecx
5455e6:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
5455e9:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5455ec:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5455ef:	3b c1                	cmp    %ecx,%eax
5455f1:	7d 0c                	jge    0x5455ff
5455f3:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5455f6:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5455f9:	8b 55 d0             	mov    -0x30(%ebp),%edx
5455fc:	89 55 cc             	mov    %edx,-0x34(%ebp)
5455ff:	ff 45 d0             	incl   -0x30(%ebp)
545602:	8b 4d d0             	mov    -0x30(%ebp),%ecx
545605:	8b 45 10             	mov    0x10(%ebp),%eax
545608:	3b c8                	cmp    %eax,%ecx
54560a:	0f 8c 68 ff ff ff    	jl     0x545578
545610:	8b 93 b0 01 00 00    	mov    0x1b0(%ebx),%edx
545616:	8b 4d f0             	mov    -0x10(%ebp),%ecx
545619:	8a 45 cc             	mov    -0x34(%ebp),%al
54561c:	88 04 0a             	mov    %al,(%edx,%ecx,1)
54561f:	ff 45 f0             	incl   -0x10(%ebp)
545622:	8b 55 f0             	mov    -0x10(%ebp),%edx
545625:	8b 4d f8             	mov    -0x8(%ebp),%ecx
545628:	3b d1                	cmp    %ecx,%edx
54562a:	0f 8c a7 fe ff ff    	jl     0x5454d7
545630:	8b 93 10 02 00 00    	mov    0x210(%ebx),%edx
545636:	8b c3                	mov    %ebx,%eax
545638:	e8 9f 57 00 00       	call   0x54addc
54563d:	33 c9                	xor    %ecx,%ecx
54563f:	89 8b 10 02 00 00    	mov    %ecx,0x210(%ebx)
545645:	e9 f1 03 00 00       	jmp    0x545a3b
54564a:	33 c0                	xor    %eax,%eax
54564c:	89 45 b8             	mov    %eax,-0x48(%ebp)
54564f:	8b c3                	mov    %ebx,%eax
545651:	8b 55 f8             	mov    -0x8(%ebp),%edx
545654:	e8 0f 57 00 00       	call   0x54ad68
545659:	89 83 14 02 00 00    	mov    %eax,0x214(%ebx)
54565f:	8b c3                	mov    %ebx,%eax
545661:	8b 55 f8             	mov    -0x8(%ebp),%edx
545664:	e8 ff 56 00 00       	call   0x54ad68
545669:	89 83 18 02 00 00    	mov    %eax,0x218(%ebx)
54566f:	33 d2                	xor    %edx,%edx
545671:	89 55 c0             	mov    %edx,-0x40(%ebp)
545674:	8b 4d c0             	mov    -0x40(%ebp),%ecx
545677:	8b 45 f8             	mov    -0x8(%ebp),%eax
54567a:	3b c8                	cmp    %eax,%ecx
54567c:	7d 2b                	jge    0x5456a9
54567e:	8b 93 14 02 00 00    	mov    0x214(%ebx),%edx
545684:	8b 4d c0             	mov    -0x40(%ebp),%ecx
545687:	8a 45 c0             	mov    -0x40(%ebp),%al
54568a:	88 04 0a             	mov    %al,(%edx,%ecx,1)
54568d:	8b 93 18 02 00 00    	mov    0x218(%ebx),%edx
545693:	8b 4d c0             	mov    -0x40(%ebp),%ecx
545696:	8a 45 c0             	mov    -0x40(%ebp),%al
545699:	88 04 0a             	mov    %al,(%edx,%ecx,1)
54569c:	ff 45 c0             	incl   -0x40(%ebp)
54569f:	8b 55 c0             	mov    -0x40(%ebp),%edx
5456a2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5456a5:	3b d1                	cmp    %ecx,%edx
5456a7:	7c d5                	jl     0x54567e
5456a9:	ba 04 0c 00 00       	mov    $0xc04,%edx
5456ae:	8b c3                	mov    %ebx,%eax
5456b0:	e8 b3 56 00 00       	call   0x54ad68
5456b5:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5456b8:	33 c9                	xor    %ecx,%ecx
5456ba:	89 4d c0             	mov    %ecx,-0x40(%ebp)
5456bd:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5456c0:	8b 55 c0             	mov    -0x40(%ebp),%edx
5456c3:	33 c9                	xor    %ecx,%ecx
5456c5:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
5456c8:	ff 45 c0             	incl   -0x40(%ebp)
5456cb:	8b 45 c0             	mov    -0x40(%ebp),%eax
5456ce:	3d 01 03 00 00       	cmp    $0x301,%eax
5456d3:	7c e8                	jl     0x5456bd
5456d5:	8b 75 f8             	mov    -0x8(%ebp),%esi
5456d8:	c7 45 bc 60 00 00 00 	movl   $0x60,-0x44(%ebp)
5456df:	8b 45 10             	mov    0x10(%ebp),%eax
5456e2:	3b f0                	cmp    %eax,%esi
5456e4:	0f 8e 1d 03 00 00    	jle    0x545a07
5456ea:	33 d2                	xor    %edx,%edx
5456ec:	89 55 c0             	mov    %edx,-0x40(%ebp)
5456ef:	e9 db 00 00 00       	jmp    0x5457cf
5456f4:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5456f7:	41                   	inc    %ecx
5456f8:	89 4d b0             	mov    %ecx,-0x50(%ebp)
5456fb:	8b 45 b0             	mov    -0x50(%ebp),%eax
5456fe:	3b f0                	cmp    %eax,%esi
545700:	0f 8e bf 00 00 00    	jle    0x5457c5
545706:	8b 55 c0             	mov    -0x40(%ebp),%edx
545709:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54570c:	33 c0                	xor    %eax,%eax
54570e:	8d 14 52             	lea    (%edx,%edx,2),%edx
545711:	8a 04 11             	mov    (%ecx,%edx,1),%al
545714:	8b 55 b0             	mov    -0x50(%ebp),%edx
545717:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54571a:	8d 14 52             	lea    (%edx,%edx,2),%edx
54571d:	0f b6 14 11          	movzbl (%ecx,%edx,1),%edx
545721:	2b c2                	sub    %edx,%eax
545723:	8b 4d fc             	mov    -0x4(%ebp),%ecx
545726:	99                   	cltd
545727:	33 c2                	xor    %edx,%eax
545729:	2b c2                	sub    %edx,%eax
54572b:	8b 55 fc             	mov    -0x4(%ebp),%edx
54572e:	8b f8                	mov    %eax,%edi
545730:	8b 45 c0             	mov    -0x40(%ebp),%eax
545733:	8d 04 40             	lea    (%eax,%eax,2),%eax
545736:	0f b6 44 02 01       	movzbl 0x1(%edx,%eax,1),%eax
54573b:	8b 55 b0             	mov    -0x50(%ebp),%edx
54573e:	8d 14 52             	lea    (%edx,%edx,2),%edx
545741:	0f b6 54 11 01       	movzbl 0x1(%ecx,%edx,1),%edx
545746:	2b c2                	sub    %edx,%eax
545748:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54574b:	99                   	cltd
54574c:	33 c2                	xor    %edx,%eax
54574e:	2b c2                	sub    %edx,%eax
545750:	8b 55 b0             	mov    -0x50(%ebp),%edx
545753:	03 f8                	add    %eax,%edi
545755:	8b 45 c0             	mov    -0x40(%ebp),%eax
545758:	8d 14 52             	lea    (%edx,%edx,2),%edx
54575b:	8d 04 40             	lea    (%eax,%eax,2),%eax
54575e:	0f b6 44 01 02       	movzbl 0x2(%ecx,%eax,1),%eax
545763:	8b 4d fc             	mov    -0x4(%ebp),%ecx
545766:	0f b6 54 11 02       	movzbl 0x2(%ecx,%edx,1),%edx
54576b:	2b c2                	sub    %edx,%eax
54576d:	99                   	cltd
54576e:	33 c2                	xor    %edx,%eax
545770:	2b c2                	sub    %edx,%eax
545772:	03 f8                	add    %eax,%edi
545774:	8b 45 bc             	mov    -0x44(%ebp),%eax
545777:	3b f8                	cmp    %eax,%edi
545779:	7f 3c                	jg     0x5457b7
54577b:	ba 08 00 00 00       	mov    $0x8,%edx
545780:	8b c3                	mov    %ebx,%eax
545782:	e8 89 56 00 00       	call   0x54ae10
545787:	89 45 b8             	mov    %eax,-0x48(%ebp)
54578a:	8b 4d b8             	mov    -0x48(%ebp),%ecx
54578d:	85 c9                	test   %ecx,%ecx
54578f:	74 34                	je     0x5457c5
545791:	8b 45 b4             	mov    -0x4c(%ebp),%eax
545794:	8b 4d b8             	mov    -0x48(%ebp),%ecx
545797:	8b 14 b8             	mov    (%eax,%edi,4),%edx
54579a:	89 11                	mov    %edx,(%ecx)
54579c:	8b 55 b8             	mov    -0x48(%ebp),%edx
54579f:	8a 45 c0             	mov    -0x40(%ebp),%al
5457a2:	88 42 04             	mov    %al,0x4(%edx)
5457a5:	8b 45 b8             	mov    -0x48(%ebp),%eax
5457a8:	8a 4d b0             	mov    -0x50(%ebp),%cl
5457ab:	88 48 05             	mov    %cl,0x5(%eax)
5457ae:	8b 55 b4             	mov    -0x4c(%ebp),%edx
5457b1:	8b 4d b8             	mov    -0x48(%ebp),%ecx
5457b4:	89 0c ba             	mov    %ecx,(%edx,%edi,4)
5457b7:	ff 45 b0             	incl   -0x50(%ebp)
5457ba:	8b 45 b0             	mov    -0x50(%ebp),%eax
5457bd:	3b f0                	cmp    %eax,%esi
5457bf:	0f 8f 41 ff ff ff    	jg     0x545706
5457c5:	8b 55 b8             	mov    -0x48(%ebp),%edx
5457c8:	85 d2                	test   %edx,%edx
5457ca:	74 11                	je     0x5457dd
5457cc:	ff 45 c0             	incl   -0x40(%ebp)
5457cf:	8d 4e ff             	lea    -0x1(%esi),%ecx
5457d2:	8b 45 c0             	mov    -0x40(%ebp),%eax
5457d5:	3b c8                	cmp    %eax,%ecx
5457d7:	0f 8f 17 ff ff ff    	jg     0x5456f4
5457dd:	8b 55 b8             	mov    -0x48(%ebp),%edx
5457e0:	85 d2                	test   %edx,%edx
5457e2:	0f 84 c3 01 00 00    	je     0x5459ab
5457e8:	33 c9                	xor    %ecx,%ecx
5457ea:	89 4d c0             	mov    %ecx,-0x40(%ebp)
5457ed:	8b 45 c0             	mov    -0x40(%ebp),%eax
5457f0:	8b 55 bc             	mov    -0x44(%ebp),%edx
5457f3:	3b c2                	cmp    %edx,%eax
5457f5:	0f 8f b0 01 00 00    	jg     0x5459ab
5457fb:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
5457fe:	8b 45 c0             	mov    -0x40(%ebp),%eax
545801:	8b 14 81             	mov    (%ecx,%eax,4),%edx
545804:	85 d2                	test   %edx,%edx
545806:	0f 84 8e 01 00 00    	je     0x54599a
54580c:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
54580f:	8b 45 c0             	mov    -0x40(%ebp),%eax
545812:	8b 14 81             	mov    (%ecx,%eax,4),%edx
545815:	89 55 ac             	mov    %edx,-0x54(%ebp)
545818:	8b 4d ac             	mov    -0x54(%ebp),%ecx
54581b:	85 c9                	test   %ecx,%ecx
54581d:	0f 84 70 01 00 00    	je     0x545993
545823:	8b 45 ac             	mov    -0x54(%ebp),%eax
545826:	33 d2                	xor    %edx,%edx
545828:	8a 50 04             	mov    0x4(%eax),%dl
54582b:	8b 8b 14 02 00 00    	mov    0x214(%ebx),%ecx
545831:	33 c0                	xor    %eax,%eax
545833:	8a 04 11             	mov    (%ecx,%edx,1),%al
545836:	3b f0                	cmp    %eax,%esi
545838:	0f 8e 3b 01 00 00    	jle    0x545979
54583e:	8b 55 ac             	mov    -0x54(%ebp),%edx
545841:	33 c9                	xor    %ecx,%ecx
545843:	8a 4a 05             	mov    0x5(%edx),%cl
545846:	8b 83 14 02 00 00    	mov    0x214(%ebx),%eax
54584c:	33 d2                	xor    %edx,%edx
54584e:	8a 14 08             	mov    (%eax,%ecx,1),%dl
545851:	3b f2                	cmp    %edx,%esi
545853:	0f 8e 20 01 00 00    	jle    0x545979
545859:	f7 c6 01 00 00 00    	test   $0x1,%esi
54585f:	74 18                	je     0x545879
545861:	8b 4d ac             	mov    -0x54(%ebp),%ecx
545864:	33 c0                	xor    %eax,%eax
545866:	8a 41 04             	mov    0x4(%ecx),%al
545869:	89 45 a8             	mov    %eax,-0x58(%ebp)
54586c:	8b 55 ac             	mov    -0x54(%ebp),%edx
54586f:	33 c9                	xor    %ecx,%ecx
545871:	8a 4a 05             	mov    0x5(%edx),%cl
545874:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
545877:	eb 16                	jmp    0x54588f
545879:	8b 45 ac             	mov    -0x54(%ebp),%eax
54587c:	33 d2                	xor    %edx,%edx
54587e:	8a 50 05             	mov    0x5(%eax),%dl
545881:	89 55 a8             	mov    %edx,-0x58(%ebp)
545884:	8b 4d ac             	mov    -0x54(%ebp),%ecx
545887:	33 c0                	xor    %eax,%eax
545889:	8a 41 04             	mov    0x4(%ecx),%al
54588c:	89 45 a4             	mov    %eax,-0x5c(%ebp)
54588f:	8b 93 14 02 00 00    	mov    0x214(%ebx),%edx
545895:	8b 4d a8             	mov    -0x58(%ebp),%ecx
545898:	33 c0                	xor    %eax,%eax
54589a:	4e                   	dec    %esi
54589b:	8a 04 0a             	mov    (%edx,%ecx,1),%al
54589e:	8b 7d fc             	mov    -0x4(%ebp),%edi
5458a1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5458a4:	8d 14 40             	lea    (%eax,%eax,2),%edx
5458a7:	8d 04 76             	lea    (%esi,%esi,2),%eax
5458aa:	03 ca                	add    %edx,%ecx
5458ac:	66 8b 14 07          	mov    (%edi,%eax,1),%dx
5458b0:	66 89 11             	mov    %dx,(%ecx)
5458b3:	8a 54 07 02          	mov    0x2(%edi,%eax,1),%dl
5458b7:	88 51 02             	mov    %dl,0x2(%ecx)
5458ba:	8b 45 08             	mov    0x8(%ebp),%eax
5458bd:	85 c0                	test   %eax,%eax
5458bf:	75 5f                	jne    0x545920
5458c1:	33 c0                	xor    %eax,%eax
5458c3:	8b 55 f8             	mov    -0x8(%ebp),%edx
5458c6:	3b c2                	cmp    %edx,%eax
5458c8:	7d 56                	jge    0x545920
5458ca:	8b 8b b0 01 00 00    	mov    0x1b0(%ebx),%ecx
5458d0:	8b 7d a8             	mov    -0x58(%ebp),%edi
5458d3:	8a 14 01             	mov    (%ecx,%eax,1),%dl
5458d6:	8b 8b 14 02 00 00    	mov    0x214(%ebx),%ecx
5458dc:	8a 0c 39             	mov    (%ecx,%edi,1),%cl
5458df:	3a d1                	cmp    %cl,%dl
5458e1:	75 15                	jne    0x5458f8
5458e3:	8b 93 14 02 00 00    	mov    0x214(%ebx),%edx
5458e9:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
5458ec:	8a 14 0a             	mov    (%edx,%ecx,1),%dl
5458ef:	8b 8b b0 01 00 00    	mov    0x1b0(%ebx),%ecx
5458f5:	88 14 01             	mov    %dl,(%ecx,%eax,1)
5458f8:	8b 93 b0 01 00 00    	mov    0x1b0(%ebx),%edx
5458fe:	33 c9                	xor    %ecx,%ecx
545900:	8a 0c 02             	mov    (%edx,%eax,1),%cl
545903:	3b f1                	cmp    %ecx,%esi
545905:	75 11                	jne    0x545918
545907:	8b 8b 14 02 00 00    	mov    0x214(%ebx),%ecx
54590d:	8b 7d a8             	mov    -0x58(%ebp),%edi
545910:	8a 0c 39             	mov    (%ecx,%edi,1),%cl
545913:	51                   	push   %ecx
545914:	59                   	pop    %ecx
545915:	88 0c 02             	mov    %cl,(%edx,%eax,1)
545918:	40                   	inc    %eax
545919:	8b 55 f8             	mov    -0x8(%ebp),%edx
54591c:	3b c2                	cmp    %edx,%eax
54591e:	7c aa                	jl     0x5458ca
545920:	8b 83 14 02 00 00    	mov    0x214(%ebx),%eax
545926:	8b 55 a8             	mov    -0x58(%ebp),%edx
545929:	8a 04 10             	mov    (%eax,%edx,1),%al
54592c:	8b 8b 18 02 00 00    	mov    0x218(%ebx),%ecx
545932:	33 d2                	xor    %edx,%edx
545934:	8a 14 31             	mov    (%ecx,%esi,1),%dl
545937:	8b 8b 14 02 00 00    	mov    0x214(%ebx),%ecx
54593d:	88 04 11             	mov    %al,(%ecx,%edx,1)
545940:	8b 83 14 02 00 00    	mov    0x214(%ebx),%eax
545946:	8b 55 a8             	mov    -0x58(%ebp),%edx
545949:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
54594d:	8b 8b 18 02 00 00    	mov    0x218(%ebx),%ecx
545953:	8b 93 18 02 00 00    	mov    0x218(%ebx),%edx