52911c:	4a                   	dec    %edx
52911d:	eb 07                	jmp    0x529126
52911f:	8b 53 2c             	mov    0x2c(%ebx),%edx
529122:	2b 54 24 14          	sub    0x14(%esp),%edx
529126:	8b 43 30             	mov    0x30(%ebx),%eax
529129:	3b 43 34             	cmp    0x34(%ebx),%eax
52912c:	74 38                	je     0x529166
52912e:	8b 4c 24 08          	mov    0x8(%esp),%ecx
529132:	89 4b 20             	mov    %ecx,0x20(%ebx)
529135:	89 7b 1c             	mov    %edi,0x1c(%ebx)
529138:	8b 44 24 10          	mov    0x10(%esp),%eax
52913c:	89 46 04             	mov    %eax,0x4(%esi)
52913f:	8b 54 24 0c          	mov    0xc(%esp),%edx
529143:	2b 16                	sub    (%esi),%edx
529145:	01 56 08             	add    %edx,0x8(%esi)
529148:	8b d6                	mov    %esi,%edx
52914a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
52914e:	89 0e                	mov    %ecx,(%esi)
529150:	8b 44 24 14          	mov    0x14(%esp),%eax
529154:	89 43 34             	mov    %eax,0x34(%ebx)
529157:	8b c3                	mov    %ebx,%eax
529159:	8b 0c 24             	mov    (%esp),%ecx
52915c:	e8 1f 11 00 00       	call   0x52a280
529161:	e9 b8 00 00 00       	jmp    0x52921e
529166:	c7 03 08 00 00 00    	movl   $0x8,(%ebx)
52916c:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
529173:	8b 54 24 08          	mov    0x8(%esp),%edx
529177:	89 53 20             	mov    %edx,0x20(%ebx)
52917a:	89 7b 1c             	mov    %edi,0x1c(%ebx)
52917d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
529181:	89 4e 04             	mov    %ecx,0x4(%esi)
529184:	8b 44 24 0c          	mov    0xc(%esp),%eax
529188:	2b 06                	sub    (%esi),%eax
52918a:	01 46 08             	add    %eax,0x8(%esi)
52918d:	8b c3                	mov    %ebx,%eax
52918f:	8b 54 24 0c          	mov    0xc(%esp),%edx
529193:	89 16                	mov    %edx,(%esi)
529195:	8b d6                	mov    %esi,%edx
529197:	8b 4c 24 14          	mov    0x14(%esp),%ecx
52919b:	89 4b 34             	mov    %ecx,0x34(%ebx)
52919e:	8b 0c 24             	mov    (%esp),%ecx
5291a1:	e8 da 10 00 00       	call   0x52a280
5291a6:	eb 76                	jmp    0x52921e
5291a8:	c7 04 24 fd ff ff ff 	movl   $0xfffffffd,(%esp)
5291af:	8b 44 24 08          	mov    0x8(%esp),%eax
5291b3:	89 43 20             	mov    %eax,0x20(%ebx)
5291b6:	89 7b 1c             	mov    %edi,0x1c(%ebx)
5291b9:	8b 54 24 10          	mov    0x10(%esp),%edx
5291bd:	89 56 04             	mov    %edx,0x4(%esi)
5291c0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5291c4:	2b 0e                	sub    (%esi),%ecx
5291c6:	01 4e 08             	add    %ecx,0x8(%esi)
5291c9:	8b 44 24 0c          	mov    0xc(%esp),%eax
5291cd:	89 06                	mov    %eax,(%esi)
5291cf:	8b c3                	mov    %ebx,%eax
5291d1:	8b 54 24 14          	mov    0x14(%esp),%edx
5291d5:	89 53 34             	mov    %edx,0x34(%ebx)
5291d8:	8b d6                	mov    %esi,%edx
5291da:	8b 0c 24             	mov    (%esp),%ecx
5291dd:	e8 9e 10 00 00       	call   0x52a280
5291e2:	eb 3a                	jmp    0x52921e
5291e4:	c7 04 24 fe ff ff ff 	movl   $0xfffffffe,(%esp)
5291eb:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5291ef:	89 4b 20             	mov    %ecx,0x20(%ebx)
5291f2:	89 7b 1c             	mov    %edi,0x1c(%ebx)
5291f5:	8b 44 24 10          	mov    0x10(%esp),%eax
5291f9:	89 46 04             	mov    %eax,0x4(%esi)
5291fc:	8b 54 24 0c          	mov    0xc(%esp),%edx
529200:	2b 16                	sub    (%esi),%edx
529202:	01 56 08             	add    %edx,0x8(%esi)
529205:	8b d6                	mov    %esi,%edx
529207:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
52920b:	89 0e                	mov    %ecx,(%esi)
52920d:	8b 44 24 14          	mov    0x14(%esp),%eax
529211:	89 43 34             	mov    %eax,0x34(%ebx)
529214:	8b c3                	mov    %ebx,%eax
529216:	8b 0c 24             	mov    (%esp),%ecx
529219:	e8 62 10 00 00       	call   0x52a280
52921e:	83 c4 3c             	add    $0x3c,%esp
529221:	5d                   	pop    %ebp
529222:	5f                   	pop    %edi
529223:	5e                   	pop    %esi
529224:	5b                   	pop    %ebx
529225:	c3                   	ret
529226:	90                   	nop
529227:	90                   	nop
529228:	53                   	push   %ebx
529229:	56                   	push   %esi
52922a:	8b da                	mov    %edx,%ebx
52922c:	8b f0                	mov    %eax,%esi
52922e:	33 c9                	xor    %ecx,%ecx
529230:	8b d3                	mov    %ebx,%edx
529232:	8b c6                	mov    %esi,%eax
529234:	e8 1b f2 ff ff       	call   0x528454
529239:	8b 56 28             	mov    0x28(%esi),%edx
52923c:	8b 43 28             	mov    0x28(%ebx),%eax
52923f:	ff 53 24             	call   *0x24(%ebx)
529242:	8b 56 24             	mov    0x24(%esi),%edx
529245:	8b 43 28             	mov    0x28(%ebx),%eax
529248:	ff 53 24             	call   *0x24(%ebx)
52924b:	8b d6                	mov    %esi,%edx
52924d:	8b 43 28             	mov    0x28(%ebx),%eax
529250:	ff 53 24             	call   *0x24(%ebx)
529253:	33 c0                	xor    %eax,%eax
529255:	5e                   	pop    %esi
529256:	5b                   	pop    %ebx
529257:	c3                   	ret
529258:	53                   	push   %ebx
529259:	56                   	push   %esi
52925a:	8b f1                	mov    %ecx,%esi
52925c:	8b d8                	mov    %eax,%ebx
52925e:	56                   	push   %esi
52925f:	52                   	push   %edx
529260:	8b 43 28             	mov    0x28(%ebx),%eax
529263:	50                   	push   %eax
529264:	e8 77 d1 ff ff       	call   0x5263e0
529269:	83 c4 0c             	add    $0xc,%esp
52926c:	8b 53 28             	mov    0x28(%ebx),%edx
52926f:	03 d6                	add    %esi,%edx
529271:	89 53 34             	mov    %edx,0x34(%ebx)
529274:	89 53 30             	mov    %edx,0x30(%ebx)
529277:	5e                   	pop    %esi
529278:	5b                   	pop    %ebx
529279:	c3                   	ret
52927a:	90                   	nop
52927b:	90                   	nop
52927c:	83 38 01             	cmpl   $0x1,(%eax)
52927f:	0f 94 c0             	sete   %al
529282:	83 e0 01             	and    $0x1,%eax
529285:	c3                   	ret
529286:	8b c0                	mov    %eax,%eax
529288:	55                   	push   %ebp
529289:	8b ec                	mov    %esp,%ebp
52928b:	81 c4 f8 fe ff ff    	add    $0xfffffef8,%esp
529291:	53                   	push   %ebx
529292:	56                   	push   %esi
529293:	89 4d f4             	mov    %ecx,-0xc(%ebp)
529296:	89 55 f8             	mov    %edx,-0x8(%ebp)
529299:	89 45 fc             	mov    %eax,-0x4(%ebp)
52929c:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
5292a2:	89 45 d8             	mov    %eax,-0x28(%ebp)
5292a5:	8b 55 d8             	mov    -0x28(%ebp),%edx
5292a8:	33 c9                	xor    %ecx,%ecx
5292aa:	89 0a                	mov    %ecx,(%edx)
5292ac:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
5292b0:	8b 45 d8             	mov    -0x28(%ebp),%eax
5292b3:	33 d2                	xor    %edx,%edx
5292b5:	89 10                	mov    %edx,(%eax)
5292b7:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
5292bb:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5292be:	33 c0                	xor    %eax,%eax
5292c0:	89 01                	mov    %eax,(%ecx)
5292c2:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
5292c6:	8b 55 d8             	mov    -0x28(%ebp),%edx
5292c9:	33 c9                	xor    %ecx,%ecx
5292cb:	89 0a                	mov    %ecx,(%edx)
5292cd:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
5292d1:	8b 45 d8             	mov    -0x28(%ebp),%eax
5292d4:	33 d2                	xor    %edx,%edx
5292d6:	89 10                	mov    %edx,(%eax)
5292d8:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
5292dc:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5292df:	33 c0                	xor    %eax,%eax
5292e1:	89 01                	mov    %eax,(%ecx)
5292e3:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
5292e7:	8b 55 d8             	mov    -0x28(%ebp),%edx
5292ea:	33 c9                	xor    %ecx,%ecx
5292ec:	89 0a                	mov    %ecx,(%edx)
5292ee:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
5292f2:	8b 45 d8             	mov    -0x28(%ebp),%eax
5292f5:	33 d2                	xor    %edx,%edx
5292f7:	89 10                	mov    %edx,(%eax)
5292f9:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
5292fd:	8b 4d d8             	mov    -0x28(%ebp),%ecx
529300:	33 c0                	xor    %eax,%eax
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