529302:	89 01                	mov    %eax,(%ecx)
529304:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
529308:	8b 55 d8             	mov    -0x28(%ebp),%edx
52930b:	33 c9                	xor    %ecx,%ecx
52930d:	89 0a                	mov    %ecx,(%edx)
52930f:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
529313:	8b 45 d8             	mov    -0x28(%ebp),%eax
529316:	33 d2                	xor    %edx,%edx
529318:	89 10                	mov    %edx,(%eax)
52931a:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
52931e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
529321:	33 c0                	xor    %eax,%eax
529323:	89 01                	mov    %eax,(%ecx)
529325:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
529329:	8b 55 d8             	mov    -0x28(%ebp),%edx
52932c:	33 c9                	xor    %ecx,%ecx
52932e:	89 0a                	mov    %ecx,(%edx)
529330:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
529334:	8b 45 d8             	mov    -0x28(%ebp),%eax
529337:	33 d2                	xor    %edx,%edx
529339:	89 10                	mov    %edx,(%eax)
52933b:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
52933f:	8b 4d d8             	mov    -0x28(%ebp),%ecx
529342:	33 c0                	xor    %eax,%eax
529344:	89 01                	mov    %eax,(%ecx)
529346:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
52934a:	8b 55 d8             	mov    -0x28(%ebp),%edx
52934d:	33 c9                	xor    %ecx,%ecx
52934f:	89 0a                	mov    %ecx,(%edx)
529351:	8b 45 fc             	mov    -0x4(%ebp),%eax
529354:	89 45 d8             	mov    %eax,-0x28(%ebp)
529357:	8b 55 f8             	mov    -0x8(%ebp),%edx
52935a:	89 55 e4             	mov    %edx,-0x1c(%ebp)
52935d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
529360:	8b 01                	mov    (%ecx),%eax
529362:	ff 84 85 74 ff ff ff 	incl   -0x8c(%ebp,%eax,4)
529369:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
52936d:	ff 4d e4             	decl   -0x1c(%ebp)
529370:	75 eb                	jne    0x52935d
529372:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
529378:	3b 55 f8             	cmp    -0x8(%ebp),%edx
52937b:	75 15                	jne    0x529392
52937d:	8b 4d 18             	mov    0x18(%ebp),%ecx
529380:	33 c0                	xor    %eax,%eax
529382:	89 01                	mov    %eax,(%ecx)
529384:	33 c9                	xor    %ecx,%ecx
529386:	8b 55 14             	mov    0x14(%ebp),%edx
529389:	33 c0                	xor    %eax,%eax
52938b:	89 0a                	mov    %ecx,(%edx)
52938d:	e9 e3 03 00 00       	jmp    0x529775
529392:	8b 55 14             	mov    0x14(%ebp),%edx
529395:	b8 01 00 00 00       	mov    $0x1,%eax
52939a:	8b 0a                	mov    (%edx),%ecx
52939c:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
5293a2:	89 4d dc             	mov    %ecx,-0x24(%ebp)
5293a5:	89 55 c0             	mov    %edx,-0x40(%ebp)
5293a8:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5293ab:	83 39 00             	cmpl   $0x0,(%ecx)
5293ae:	75 0a                	jne    0x5293ba
5293b0:	40                   	inc    %eax
5293b1:	83 45 c0 04          	addl   $0x4,-0x40(%ebp)
5293b5:	83 f8 0f             	cmp    $0xf,%eax
5293b8:	76 ee                	jbe    0x5293a8
5293ba:	89 45 e0             	mov    %eax,-0x20(%ebp)
5293bd:	3b 45 dc             	cmp    -0x24(%ebp),%eax
5293c0:	76 03                	jbe    0x5293c5
5293c2:	89 45 dc             	mov    %eax,-0x24(%ebp)
5293c5:	c7 45 e4 0f 00 00 00 	movl   $0xf,-0x1c(%ebp)
5293cc:	8d 55 b0             	lea    -0x50(%ebp),%edx
5293cf:	89 55 bc             	mov    %edx,-0x44(%ebp)
5293d2:	8b 4d bc             	mov    -0x44(%ebp),%ecx
5293d5:	83 39 00             	cmpl   $0x0,(%ecx)
5293d8:	75 0d                	jne    0x5293e7
5293da:	ff 4d e4             	decl   -0x1c(%ebp)
5293dd:	83 45 bc fc          	addl   $0xfffffffc,-0x44(%ebp)
5293e1:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
5293e5:	75 eb                	jne    0x5293d2
5293e7:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5293ea:	89 55 ec             	mov    %edx,-0x14(%ebp)
5293ed:	8b 4d dc             	mov    -0x24(%ebp),%ecx
5293f0:	3b 4d e4             	cmp    -0x1c(%ebp),%ecx
5293f3:	76 06                	jbe    0x5293fb
5293f5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5293f8:	89 55 dc             	mov    %edx,-0x24(%ebp)
5293fb:	8b 4d 14             	mov    0x14(%ebp),%ecx
5293fe:	8b 55 dc             	mov    -0x24(%ebp),%edx
529401:	89 11                	mov    %edx,(%ecx)
529403:	8b c8                	mov    %eax,%ecx
529405:	ba 01 00 00 00       	mov    $0x1,%edx
52940a:	d3 e2                	shl    %cl,%edx
52940c:	89 55 c4             	mov    %edx,-0x3c(%ebp)
52940f:	8d 8c 85 74 ff ff ff 	lea    -0x8c(%ebp,%eax,4),%ecx
529416:	89 4d bc             	mov    %ecx,-0x44(%ebp)
529419:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
52941c:	73 26                	jae    0x529444
52941e:	8b 55 bc             	mov    -0x44(%ebp),%edx
529421:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
529424:	2b 0a                	sub    (%edx),%ecx
529426:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
529429:	85 c9                	test   %ecx,%ecx
52942b:	7d 0a                	jge    0x529437
52942d:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
529432:	e9 3e 03 00 00       	jmp    0x529775
529437:	83 45 bc 04          	addl   $0x4,-0x44(%ebp)
52943b:	d1 65 c4             	shll   $1,-0x3c(%ebp)
52943e:	40                   	inc    %eax
52943f:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
529442:	72 da                	jb     0x52941e
529444:	8b 55 e4             	mov    -0x1c(%ebp),%edx
529447:	8b 45 c4             	mov    -0x3c(%ebp),%eax
52944a:	2b 84 95 74 ff ff ff 	sub    -0x8c(%ebp,%edx,4),%eax
529451:	89 45 c4             	mov    %eax,-0x3c(%ebp)
529454:	85 c0                	test   %eax,%eax
529456:	7d 0a                	jge    0x529462
529458:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
52945d:	e9 13 03 00 00       	jmp    0x529775
529462:	8b 55 e4             	mov    -0x1c(%ebp),%edx
529465:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
529468:	01 8c 95 74 ff ff ff 	add    %ecx,-0x8c(%ebp,%edx,4)
52946f:	33 d2                	xor    %edx,%edx
529471:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
529477:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
52947d:	89 4d d8             	mov    %ecx,-0x28(%ebp)
529480:	8d 8d 00 ff ff ff    	lea    -0x100(%ebp),%ecx
529486:	89 d0                	mov    %edx,%eax
529488:	eb 0e                	jmp    0x529498
52948a:	8b 55 d8             	mov    -0x28(%ebp),%edx
52948d:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
529491:	03 02                	add    (%edx),%eax
529493:	89 01                	mov    %eax,(%ecx)
529495:	83 c1 04             	add    $0x4,%ecx
529498:	ff 4d e4             	decl   -0x1c(%ebp)
52949b:	75 ed                	jne    0x52948a
52949d:	8b 45 fc             	mov    -0x4(%ebp),%eax
5294a0:	89 45 d8             	mov    %eax,-0x28(%ebp)
5294a3:	33 c0                	xor    %eax,%eax
5294a5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5294a8:	8b 55 d8             	mov    -0x28(%ebp),%edx
5294ab:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
5294af:	8b 02                	mov    (%edx),%eax
5294b1:	85 c0                	test   %eax,%eax
5294b3:	74 17                	je     0x5294cc
5294b5:	8b 8c 85 f8 fe ff ff 	mov    -0x108(%ebp,%eax,4),%ecx
5294bc:	ff 84 85 f8 fe ff ff 	incl   -0x108(%ebp,%eax,4)
5294c3:	8b 45 08             	mov    0x8(%ebp),%eax
5294c6:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5294c9:	89 14 88             	mov    %edx,(%eax,%ecx,4)
5294cc:	ff 45 e4             	incl   -0x1c(%ebp)
5294cf:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5294d2:	3b 4d f8             	cmp    -0x8(%ebp),%ecx
5294d5:	72 d1                	jb     0x5294a8
5294d7:	8b 45 ec             	mov    -0x14(%ebp),%eax
5294da:	8b 94 85 f8 fe ff ff 	mov    -0x108(%ebp,%eax,4),%edx
5294e1:	89 55 f8             	mov    %edx,-0x8(%ebp)
5294e4:	33 c9                	xor    %ecx,%ecx
5294e6:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5294e9:	89 8d f8 fe ff ff    	mov    %ecx,-0x108(%ebp)
5294ef:	8b 45 08             	mov    0x8(%ebp),%eax
5294f2:	89 45 d8             	mov    %eax,-0x28(%ebp)
5294f5:	c7 45 e8 ff ff ff ff 	movl   $0xffffffff,-0x18(%ebp)
5294fc:	8b 55 dc             	mov    -0x24(%ebp),%edx
5294ff:	f7 da                	neg    %edx
529501:	89 55 c8             	mov    %edx,-0x38(%ebp)
529504:	33 c0                	xor    %eax,%eax
529506:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
52950c:	33 d2                	xor    %edx,%edx
52950e:	89 55 d4             	mov    %edx,-0x2c(%ebp)
529511:	33 f6                	xor    %esi,%esi
529513:	8b 45 e0             	mov    -0x20(%ebp),%eax
529516:	8d 94 85 74 ff ff ff 	lea    -0x8c(%ebp,%eax,4),%edx
52951d:	89 55 bc             	mov    %edx,-0x44(%ebp)
529520:	8b 4d e0             	mov    -0x20(%ebp),%ecx
529523:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
529526:	0f 8f 34 02 00 00    	jg     0x529760
52952c:	8b 45 bc             	mov    -0x44(%ebp),%eax
52952f:	8b 10                	mov    (%eax),%edx
529531:	89 55 f0             	mov    %edx,-0x10(%ebp)
529534:	e9 05 02 00 00       	jmp    0x52973e
529539:	8b 4d e8             	mov    -0x18(%ebp),%ecx
52953c:	8d 84 8d f8 fe ff ff 	lea    -0x108(%ebp,%ecx,4),%eax
529543:	89 45 b4             	mov    %eax,-0x4c(%ebp)
529546:	8b 55 e8             	mov    -0x18(%ebp),%edx
529549:	8d 8c 95 38 ff ff ff 	lea    -0xc8(%ebp,%edx,4),%ecx
529550:	89 4d b8             	mov    %ecx,-0x48(%ebp)
529553:	e9 ec 00 00 00       	jmp    0x529644
529558:	ff 45 e8             	incl   -0x18(%ebp)
52955b:	83 45 b4 04          	addl   $0x4,-0x4c(%ebp)
52955f:	83 45 b8 04          	addl   $0x4,-0x48(%ebp)
529563:	8b 45 dc             	mov    -0x24(%ebp),%eax
529566:	01 45 c8             	add    %eax,-0x38(%ebp)
529569:	8b 75 ec             	mov    -0x14(%ebp),%esi
52956c:	2b 75 c8             	sub    -0x38(%ebp),%esi
52956f:	3b 75 dc             	cmp    -0x24(%ebp),%esi
529572:	76 05                	jbe    0x529579
529574:	8b 45 dc             	mov    -0x24(%ebp),%eax
529577:	eb 02                	jmp    0x52957b
529579:	8b c6                	mov    %esi,%eax
52957b:	8b f0                	mov    %eax,%esi
52957d:	8b 45 e0             	mov    -0x20(%ebp),%eax
529580:	2b 45 c8             	sub    -0x38(%ebp),%eax
529583:	ba 01 00 00 00       	mov    $0x1,%edx
529588:	8b c8                	mov    %eax,%ecx
52958a:	8b 5d f0             	mov    -0x10(%ebp),%ebx
52958d:	d3 e2                	shl    %cl,%edx
52958f:	43                   	inc    %ebx
529590:	3b d3                	cmp    %ebx,%edx
529592:	76 26                	jbe    0x5295ba
529594:	2b d3                	sub    %ebx,%edx
529596:	8b 4d e0             	mov    -0x20(%ebp),%ecx
529599:	c1 e1 02             	shl    $0x2,%ecx
52959c:	8d 9d 74 ff ff ff    	lea    -0x8c(%ebp),%ebx
5295a2:	03 cb                	add    %ebx,%ecx
5295a4:	3b f0                	cmp    %eax,%esi
5295a6:	76 12                	jbe    0x5295ba
5295a8:	eb 0b                	jmp    0x5295b5
5295aa:	03 d2                	add    %edx,%edx
5295ac:	83 c1 04             	add    $0x4,%ecx
5295af:	3b 11                	cmp    (%ecx),%edx
5295b1:	76 07                	jbe    0x5295ba
5295b3:	2b 11                	sub    (%ecx),%edx
5295b5:	40                   	inc    %eax
5295b6:	3b f0                	cmp    %eax,%esi
5295b8:	77 f0                	ja     0x5295aa
5295ba:	8b c8                	mov    %eax,%ecx
5295bc:	be 01 00 00 00       	mov    $0x1,%esi
5295c1:	d3 e6                	shl    %cl,%esi
5295c3:	8b 55 0c             	mov    0xc(%ebp),%edx
5295c6:	8b 12                	mov    (%edx),%edx
5295c8:	8b ca                	mov    %edx,%ecx
5295ca:	03 ce                	add    %esi,%ecx
5295cc:	81 f9 a0 05 00 00    	cmp    $0x5a0,%ecx
5295d2:	76 0a                	jbe    0x5295de
5295d4:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
5295d9:	e9 97 01 00 00       	jmp    0x529775
5295de:	c1 e2 03             	shl    $0x3,%edx
5295e1:	03 55 10             	add    0x10(%ebp),%edx
5295e4:	89 55 d4             	mov    %edx,-0x2c(%ebp)
5295e7:	8b 4d b8             	mov    -0x48(%ebp),%ecx
5295ea:	89 11                	mov    %edx,(%ecx)
5295ec:	8b 55 0c             	mov    0xc(%ebp),%edx
5295ef:	01 32                	add    %esi,(%edx)
5295f1:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
5295f5:	74 45                	je     0x52963c
5295f7:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
5295fa:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5295fd:	89 11                	mov    %edx,(%ecx)
5295ff:	8a 4d dc             	mov    -0x24(%ebp),%cl
529602:	88 4d cd             	mov    %cl,-0x33(%ebp)
529605:	88 45 cc             	mov    %al,-0x34(%ebp)
529608:	8b 4d c8             	mov    -0x38(%ebp),%ecx
52960b:	2b 4d dc             	sub    -0x24(%ebp),%ecx
52960e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
529611:	d3 e8                	shr    %cl,%eax
529613:	8b 55 b8             	mov    -0x48(%ebp),%edx
529616:	8b 52 fc             	mov    -0x4(%edx),%edx
529619:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
52961c:	2b ca                	sub    %edx,%ecx
52961e:	85 c9                	test   %ecx,%ecx
529620:	79 03                	jns    0x529625
529622:	83 c1 07             	add    $0x7,%ecx
529625:	c1 f9 03             	sar    $0x3,%ecx
529628:	2b c8                	sub    %eax,%ecx
52962a:	89 4d d0             	mov    %ecx,-0x30(%ebp)
52962d:	8b 4d cc             	mov    -0x34(%ebp),%ecx
529630:	89 0c c2             	mov    %ecx,(%edx,%eax,8)
529633:	8b 4d d0             	mov    -0x30(%ebp),%ecx
529636:	89 4c c2 04          	mov    %ecx,0x4(%edx,%eax,8)
52963a:	eb 08                	jmp    0x529644
52963c:	8b 45 18             	mov    0x18(%ebp),%eax
52963f:	8b 55 d4             	mov    -0x2c(%ebp),%edx
529642:	89 10                	mov    %edx,(%eax)
529644:	8b 45 c8             	mov    -0x38(%ebp),%eax
529647:	03 45 dc             	add    -0x24(%ebp),%eax
52964a:	3b 45 e0             	cmp    -0x20(%ebp),%eax
52964d:	0f 8c 05 ff ff ff    	jl     0x529558
529653:	8a 55 e0             	mov    -0x20(%ebp),%dl
529656:	2a 55 c8             	sub    -0x38(%ebp),%dl
529659:	88 55 cd             	mov    %dl,-0x33(%ebp)
52965c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
52965f:	c1 e1 02             	shl    $0x2,%ecx
529662:	03 4d 08             	add    0x8(%ebp),%ecx
529665:	3b 4d d8             	cmp    -0x28(%ebp),%ecx
529668:	77 06                	ja     0x529670
52966a:	c6 45 cc c0          	movb   $0xc0,-0x34(%ebp)
52966e:	eb 49                	jmp    0x5296b9
529670:	8b 45 d8             	mov    -0x28(%ebp),%eax
529673:	8b 00                	mov    (%eax),%eax
529675:	3b 45 f4             	cmp    -0xc(%ebp),%eax
529678:	73 1e                	jae    0x529698
52967a:	3d 00 01 00 00       	cmp    $0x100,%eax
52967f:	73 04                	jae    0x529685
529681:	33 d2                	xor    %edx,%edx
529683:	eb 02                	jmp    0x529687
529685:	b2 60                	mov    $0x60,%dl
529687:	88 55 cc             	mov    %dl,-0x34(%ebp)
52968a:	8b 45 d8             	mov    -0x28(%ebp),%eax
52968d:	8b 08                	mov    (%eax),%ecx
52968f:	89 4d d0             	mov    %ecx,-0x30(%ebp)
529692:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
529696:	eb 21                	jmp    0x5296b9
529698:	8b 45 d8             	mov    -0x28(%ebp),%eax
52969b:	8b 00                	mov    (%eax),%eax
52969d:	2b 45 f4             	sub    -0xc(%ebp),%eax
5296a0:	8b 55 1c             	mov    0x1c(%ebp),%edx
5296a3:	8a 0c 82             	mov    (%edx,%eax,4),%cl
5296a6:	80 c1 50             	add    $0x50,%cl
5296a9:	88 4d cc             	mov    %cl,-0x34(%ebp)
5296ac:	8b 55 20             	mov    0x20(%ebp),%edx
5296af:	8b 04 82             	mov    (%edx,%eax,4),%eax
5296b2:	89 45 d0             	mov    %eax,-0x30(%ebp)
5296b5:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
5296b9:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5296bc:	2b 4d c8             	sub    -0x38(%ebp),%ecx
5296bf:	ba 01 00 00 00       	mov    $0x1,%edx
5296c4:	d3 e2                	shl    %cl,%edx
5296c6:	8b 4d c8             	mov    -0x38(%ebp),%ecx
5296c9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5296cc:	d3 e8                	shr    %cl,%eax
5296ce:	3b f0                	cmp    %eax,%esi
5296d0:	76 16                	jbe    0x5296e8
5296d2:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5296d5:	8b 5d cc             	mov    -0x34(%ebp),%ebx
5296d8:	89 1c c1             	mov    %ebx,(%ecx,%eax,8)
5296db:	8b 5d d0             	mov    -0x30(%ebp),%ebx
5296de:	89 5c c1 04          	mov    %ebx,0x4(%ecx,%eax,8)
5296e2:	03 c2                	add    %edx,%eax
5296e4:	3b f0                	cmp    %eax,%esi
5296e6:	77 ea                	ja     0x5296d2
5296e8:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5296eb:	49                   	dec    %ecx
5296ec:	b8 01 00 00 00       	mov    $0x1,%eax
5296f1:	d3 e0                	shl    %cl,%eax
5296f3:	eb 05                	jmp    0x5296fa
5296f5:	31 45 e4             	xor    %eax,-0x1c(%ebp)
5296f8:	d1 e8                	shr    $1,%eax
5296fa:	85 45 e4             	test   %eax,-0x1c(%ebp)
5296fd:	75 f6                	jne    0x5296f5
5296ff:	31 45 e4             	xor    %eax,-0x1c(%ebp)
529702:	b8 01 00 00 00       	mov    $0x1,%eax
529707:	8b 4d c8             	mov    -0x38(%ebp),%ecx
52970a:	8b 55 e8             	mov    -0x18(%ebp),%edx
52970d:	d3 e0                	shl    %cl,%eax
52970f:	8d 94 95 f8 fe ff ff 	lea    -0x108(%ebp,%edx,4),%edx
529716:	48                   	dec    %eax
529717:	89 55 b4             	mov    %edx,-0x4c(%ebp)
52971a:	eb 18                	jmp    0x529734
52971c:	ff 4d e8             	decl   -0x18(%ebp)
52971f:	83 45 b4 fc          	addl   $0xfffffffc,-0x4c(%ebp)
529723:	8b 45 dc             	mov    -0x24(%ebp),%eax
529726:	29 45 c8             	sub    %eax,-0x38(%ebp)