572158:	e8 ef 02 00 00       	call   0x57244c
57215d:	e9 d6 02 00 00       	jmp    0x572438
572162:	0f b7 10             	movzwl (%eax),%edx
572165:	01 13                	add    %edx,(%ebx)
572167:	e9 cc 02 00 00       	jmp    0x572438
57216c:	8b 4b 14             	mov    0x14(%ebx),%ecx
57216f:	8b 01                	mov    (%ecx),%eax
572171:	0f b7 10             	movzwl (%eax),%edx
572174:	29 53 04             	sub    %edx,0x4(%ebx)
572177:	0f b7 10             	movzwl (%eax),%edx
57217a:	8b 4b 04             	mov    0x4(%ebx),%ecx
57217d:	3b d1                	cmp    %ecx,%edx
57217f:	76 04                	jbe    0x572185
572181:	01 13                	add    %edx,(%ebx)
572183:	eb 06                	jmp    0x57218b
572185:	0f b7 10             	movzwl (%eax),%edx
572188:	89 53 04             	mov    %edx,0x4(%ebx)
57218b:	8b 4b 14             	mov    0x14(%ebx),%ecx
57218e:	8b 40 08             	mov    0x8(%eax),%eax
572191:	89 01                	mov    %eax,(%ecx)
572193:	d1 63 04             	shll   $1,0x4(%ebx)
572196:	d1 23                	shll   $1,(%ebx)
572198:	ff 4b 08             	decl   0x8(%ebx)
57219b:	0f 85 8d 02 00 00    	jne    0x57242e
5721a1:	66 81 7b 1c ff 00    	cmpw   $0xff,0x1c(%ebx)
5721a7:	0f 84 ed 01 00 00    	je     0x57239a
5721ad:	f6 43 03 08          	testb  $0x8,0x3(%ebx)
5721b1:	0f 84 4a 01 00 00    	je     0x572301
5721b7:	66 ff 43 1c          	incw   0x1c(%ebx)
5721bb:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
5721bf:	66 3d ff 00          	cmp    $0xff,%ax
5721c3:	0f 85 9f 00 00 00    	jne    0x572268
5721c9:	81 23 ff ff ff 07    	andl   $0x7ffffff,(%ebx)
5721cf:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
5721d4:	7c 6a                	jl     0x572240
5721d6:	8b 53 18             	mov    0x18(%ebx),%edx
5721d9:	f6 42 08 07          	testb  $0x7,0x8(%edx)
5721dd:	75 57                	jne    0x572236
5721df:	8b 73 18             	mov    0x18(%ebx),%esi
5721e2:	8b 7e 40             	mov    0x40(%esi),%edi
5721e5:	85 ff                	test   %edi,%edi
5721e7:	7c 13                	jl     0x5721fc
5721e9:	8b 46 3c             	mov    0x3c(%esi),%eax
5721ec:	3b f8                	cmp    %eax,%edi
5721ee:	7f 0c                	jg     0x5721fc
5721f0:	8b 53 18             	mov    0x18(%ebx),%edx
5721f3:	83 4a 08 04          	orl    $0x4,0x8(%edx)
5721f7:	83 c9 ff             	or     $0xffffffff,%ecx
5721fa:	eb 3d                	jmp    0x572239
5721fc:	8b 43 18             	mov    0x18(%ebx),%eax
5721ff:	83 48 04 20          	orl    $0x20,0x4(%eax)
572203:	8b 53 18             	mov    0x18(%ebx),%edx
572206:	ff 4a 1c             	decl   0x1c(%edx)
572209:	79 11                	jns    0x57221c
57220b:	33 d2                	xor    %edx,%edx
57220d:	8b 43 18             	mov    0x18(%ebx),%eax
572210:	8a 53 1c             	mov    0x1c(%ebx),%dl
572213:	e8 00 6c 00 00       	call   0x578e18
572218:	8b c8                	mov    %eax,%ecx
57221a:	eb 1d                	jmp    0x572239
57221c:	8b 43 18             	mov    0x18(%ebx),%eax
57221f:	ff 40 3c             	incl   0x3c(%eax)
572222:	8b 53 18             	mov    0x18(%ebx),%edx
572225:	8b 4a 18             	mov    0x18(%edx),%ecx
572228:	ff 42 18             	incl   0x18(%edx)
57222b:	8a 43 1c             	mov    0x1c(%ebx),%al
57222e:	88 01                	mov    %al,(%ecx)
572230:	33 c9                	xor    %ecx,%ecx
572232:	8a c8                	mov    %al,%cl
572234:	eb 03                	jmp    0x572239
572236:	83 c9 ff             	or     $0xffffffff,%ecx
572239:	41                   	inc    %ecx
57223a:	75 04                	jne    0x572240
57223c:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
572240:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572244:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
572248:	8b 13                	mov    (%ebx),%edx
57224a:	c1 ea 14             	shr    $0x14,%edx
57224d:	66 81 e2 ff 00       	and    $0xff,%dx
572252:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572256:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
57225c:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
572263:	e9 c6 01 00 00       	jmp    0x57242e
572268:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
57226d:	7c 6a                	jl     0x5722d9
57226f:	8b 43 18             	mov    0x18(%ebx),%eax
572272:	f6 40 08 07          	testb  $0x7,0x8(%eax)
572276:	75 57                	jne    0x5722cf
572278:	8b 73 18             	mov    0x18(%ebx),%esi
57227b:	8b 7e 40             	mov    0x40(%esi),%edi
57227e:	85 ff                	test   %edi,%edi
572280:	7c 13                	jl     0x572295
572282:	8b 46 3c             	mov    0x3c(%esi),%eax
572285:	3b f8                	cmp    %eax,%edi
572287:	7f 0c                	jg     0x572295
572289:	8b 53 18             	mov    0x18(%ebx),%edx
57228c:	83 4a 08 04          	orl    $0x4,0x8(%edx)
572290:	83 c9 ff             	or     $0xffffffff,%ecx
572293:	eb 3d                	jmp    0x5722d2
572295:	8b 43 18             	mov    0x18(%ebx),%eax
572298:	83 48 04 20          	orl    $0x20,0x4(%eax)
57229c:	8b 53 18             	mov    0x18(%ebx),%edx
57229f:	ff 4a 1c             	decl   0x1c(%edx)
5722a2:	79 11                	jns    0x5722b5
5722a4:	33 d2                	xor    %edx,%edx
5722a6:	8b 43 18             	mov    0x18(%ebx),%eax
5722a9:	8a 53 1c             	mov    0x1c(%ebx),%dl
5722ac:	e8 67 6b 00 00       	call   0x578e18
5722b1:	8b c8                	mov    %eax,%ecx
5722b3:	eb 1d                	jmp    0x5722d2
5722b5:	8b 43 18             	mov    0x18(%ebx),%eax
5722b8:	ff 40 3c             	incl   0x3c(%eax)
5722bb:	8b 53 18             	mov    0x18(%ebx),%edx
5722be:	8b 4a 18             	mov    0x18(%edx),%ecx
5722c1:	ff 42 18             	incl   0x18(%edx)
5722c4:	8a 43 1c             	mov    0x1c(%ebx),%al
5722c7:	88 01                	mov    %al,(%ecx)
5722c9:	33 c9                	xor    %ecx,%ecx
5722cb:	8a c8                	mov    %al,%cl
5722cd:	eb 03                	jmp    0x5722d2
5722cf:	83 c9 ff             	or     $0xffffffff,%ecx
5722d2:	41                   	inc    %ecx
5722d3:	75 04                	jne    0x5722d9
5722d5:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
5722d9:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
5722dd:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
5722e1:	8b 13                	mov    (%ebx),%edx
5722e3:	c1 ea 13             	shr    $0x13,%edx
5722e6:	66 81 e2 ff 00       	and    $0xff,%dx
5722eb:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
5722ef:	81 23 ff ff 07 00    	andl   $0x7ffff,(%ebx)
5722f5:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
5722fc:	e9 2d 01 00 00       	jmp    0x57242e
572301:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
572306:	7c 6a                	jl     0x572372
572308:	8b 43 18             	mov    0x18(%ebx),%eax
57230b:	f6 40 08 07          	testb  $0x7,0x8(%eax)
57230f:	75 57                	jne    0x572368
572311:	8b 73 18             	mov    0x18(%ebx),%esi
572314:	8b 7e 40             	mov    0x40(%esi),%edi
572317:	85 ff                	test   %edi,%edi
572319:	7c 13                	jl     0x57232e
57231b:	8b 46 3c             	mov    0x3c(%esi),%eax
57231e:	3b f8                	cmp    %eax,%edi
572320:	7f 0c                	jg     0x57232e
572322:	8b 53 18             	mov    0x18(%ebx),%edx
572325:	83 4a 08 04          	orl    $0x4,0x8(%edx)
572329:	83 c9 ff             	or     $0xffffffff,%ecx
57232c:	eb 3d                	jmp    0x57236b
57232e:	8b 43 18             	mov    0x18(%ebx),%eax
572331:	83 48 04 20          	orl    $0x20,0x4(%eax)
572335:	8b 53 18             	mov    0x18(%ebx),%edx
572338:	ff 4a 1c             	decl   0x1c(%edx)
57233b:	79 11                	jns    0x57234e
57233d:	33 d2                	xor    %edx,%edx
57233f:	8b 43 18             	mov    0x18(%ebx),%eax
572342:	8a 53 1c             	mov    0x1c(%ebx),%dl
572345:	e8 ce 6a 00 00       	call   0x578e18
57234a:	8b c8                	mov    %eax,%ecx
57234c:	eb 1d                	jmp    0x57236b
57234e:	8b 43 18             	mov    0x18(%ebx),%eax
572351:	ff 40 3c             	incl   0x3c(%eax)
572354:	8b 53 18             	mov    0x18(%ebx),%edx
572357:	8b 4a 18             	mov    0x18(%edx),%ecx
57235a:	ff 42 18             	incl   0x18(%edx)
57235d:	8a 43 1c             	mov    0x1c(%ebx),%al
572360:	88 01                	mov    %al,(%ecx)
572362:	33 c9                	xor    %ecx,%ecx
572364:	8a c8                	mov    %al,%cl
572366:	eb 03                	jmp    0x57236b
572368:	83 c9 ff             	or     $0xffffffff,%ecx
57236b:	41                   	inc    %ecx
57236c:	75 04                	jne    0x572372
57236e:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
572372:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572376:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
57237a:	8b 13                	mov    (%ebx),%edx
57237c:	c1 ea 13             	shr    $0x13,%edx
57237f:	66 81 e2 ff 00       	and    $0xff,%dx
572384:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572388:	81 23 ff ff 07 00    	andl   $0x7ffff,(%ebx)
57238e:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
572395:	e9 94 00 00 00       	jmp    0x57242e
57239a:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
57239f:	7c 6a                	jl     0x57240b
5723a1:	8b 43 18             	mov    0x18(%ebx),%eax
5723a4:	f6 40 08 07          	testb  $0x7,0x8(%eax)
5723a8:	75 57                	jne    0x572401
5723aa:	8b 73 18             	mov    0x18(%ebx),%esi
5723ad:	8b 7e 40             	mov    0x40(%esi),%edi
5723b0:	85 ff                	test   %edi,%edi
5723b2:	7c 13                	jl     0x5723c7
5723b4:	8b 46 3c             	mov    0x3c(%esi),%eax
5723b7:	3b f8                	cmp    %eax,%edi
5723b9:	7f 0c                	jg     0x5723c7
5723bb:	8b 53 18             	mov    0x18(%ebx),%edx
5723be:	83 4a 08 04          	orl    $0x4,0x8(%edx)
5723c2:	83 c9 ff             	or     $0xffffffff,%ecx
5723c5:	eb 3d                	jmp    0x572404
5723c7:	8b 43 18             	mov    0x18(%ebx),%eax
5723ca:	83 48 04 20          	orl    $0x20,0x4(%eax)
5723ce:	8b 53 18             	mov    0x18(%ebx),%edx
5723d1:	ff 4a 1c             	decl   0x1c(%edx)
5723d4:	79 11                	jns    0x5723e7
5723d6:	33 d2                	xor    %edx,%edx
5723d8:	8b 43 18             	mov    0x18(%ebx),%eax
5723db:	8a 53 1c             	mov    0x1c(%ebx),%dl
5723de:	e8 35 6a 00 00       	call   0x578e18
5723e3:	8b c8                	mov    %eax,%ecx
5723e5:	eb 1d                	jmp    0x572404
5723e7:	8b 43 18             	mov    0x18(%ebx),%eax
5723ea:	ff 40 3c             	incl   0x3c(%eax)
5723ed:	8b 53 18             	mov    0x18(%ebx),%edx
5723f0:	8b 4a 18             	mov    0x18(%edx),%ecx
5723f3:	ff 42 18             	incl   0x18(%edx)
5723f6:	8a 43 1c             	mov    0x1c(%ebx),%al
5723f9:	88 01                	mov    %al,(%ecx)
5723fb:	33 c9                	xor    %ecx,%ecx
5723fd:	8a c8                	mov    %al,%cl
5723ff:	eb 03                	jmp    0x572404
572401:	83 c9 ff             	or     $0xffffffff,%ecx
572404:	41                   	inc    %ecx
572405:	75 04                	jne    0x57240b
572407:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
57240b:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
57240f:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
572413:	8b 13                	mov    (%ebx),%edx
572415:	c1 ea 14             	shr    $0x14,%edx
572418:	66 81 e2 ff 00       	and    $0xff,%dx
57241d:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572421:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
572427:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
57242e:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
572432:	0f 84 5b fd ff ff    	je     0x572193
572438:	8b 43 20             	mov    0x20(%ebx),%eax
57243b:	85 c0                	test   %eax,%eax
57243d:	74 05                	je     0x572444
57243f:	83 c8 ff             	or     $0xffffffff,%eax
572442:	eb 02                	jmp    0x572446
572444:	33 c0                	xor    %eax,%eax
572446:	5f                   	pop    %edi
572447:	5e                   	pop    %esi
572448:	5b                   	pop    %ebx
572449:	c3                   	ret
57244a:	90                   	nop
57244b:	90                   	nop
57244c:	53                   	push   %ebx
57244d:	8b d8                	mov    %eax,%ebx
57244f:	56                   	push   %esi
572450:	57                   	push   %edi
572451:	8b 43 14             	mov    0x14(%ebx),%eax
572454:	8b 4b 04             	mov    0x4(%ebx),%ecx
572457:	8b 00                	mov    (%eax),%eax
572459:	0f b7 10             	movzwl (%eax),%edx
57245c:	3b d1                	cmp    %ecx,%edx
57245e:	76 05                	jbe    0x572465
572460:	89 53 04             	mov    %edx,0x4(%ebx)
572463:	eb 05                	jmp    0x57246a
572465:	0f b7 10             	movzwl (%eax),%edx
572468:	01 13                	add    %edx,(%ebx)
57246a:	8b 4b 14             	mov    0x14(%ebx),%ecx
57246d:	8b 40 04             	mov    0x4(%eax),%eax
572470:	89 01                	mov    %eax,(%ecx)
572472:	d1 63 04             	shll   $1,0x4(%ebx)
572475:	d1 23                	shll   $1,(%ebx)
572477:	ff 4b 08             	decl   0x8(%ebx)
57247a:	0f 85 8d 02 00 00    	jne    0x57270d
572480:	66 81 7b 1c ff 00    	cmpw   $0xff,0x1c(%ebx)
572486:	0f 84 ed 01 00 00    	je     0x572679
57248c:	f6 43 03 08          	testb  $0x8,0x3(%ebx)
572490:	0f 84 4a 01 00 00    	je     0x5725e0
572496:	66 ff 43 1c          	incw   0x1c(%ebx)
57249a:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
57249e:	66 3d ff 00          	cmp    $0xff,%ax
5724a2:	0f 85 9f 00 00 00    	jne    0x572547
5724a8:	81 23 ff ff ff 07    	andl   $0x7ffffff,(%ebx)
5724ae:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
5724b3:	7c 6a                	jl     0x57251f
5724b5:	8b 53 18             	mov    0x18(%ebx),%edx
5724b8:	f6 42 08 07          	testb  $0x7,0x8(%edx)
5724bc:	75 57                	jne    0x572515
5724be:	8b 73 18             	mov    0x18(%ebx),%esi
5724c1:	8b 7e 40             	mov    0x40(%esi),%edi
5724c4:	85 ff                	test   %edi,%edi
5724c6:	7c 13                	jl     0x5724db
5724c8:	8b 46 3c             	mov    0x3c(%esi),%eax
5724cb:	3b f8                	cmp    %eax,%edi
5724cd:	7f 0c                	jg     0x5724db
5724cf:	8b 53 18             	mov    0x18(%ebx),%edx
5724d2:	83 4a 08 04          	orl    $0x4,0x8(%edx)
5724d6:	83 c9 ff             	or     $0xffffffff,%ecx
5724d9:	eb 3d                	jmp    0x572518
5724db:	8b 43 18             	mov    0x18(%ebx),%eax
5724de:	83 48 04 20          	orl    $0x20,0x4(%eax)
5724e2:	8b 53 18             	mov    0x18(%ebx),%edx
5724e5:	ff 4a 1c             	decl   0x1c(%edx)
5724e8:	79 11                	jns    0x5724fb
5724ea:	33 d2                	xor    %edx,%edx
5724ec:	8b 43 18             	mov    0x18(%ebx),%eax
5724ef:	8a 53 1c             	mov    0x1c(%ebx),%dl
5724f2:	e8 21 69 00 00       	call   0x578e18
5724f7:	8b c8                	mov    %eax,%ecx
5724f9:	eb 1d                	jmp    0x572518
5724fb:	8b 43 18             	mov    0x18(%ebx),%eax
5724fe:	ff 40 3c             	incl   0x3c(%eax)
572501:	8b 53 18             	mov    0x18(%ebx),%edx
572504:	8b 4a 18             	mov    0x18(%edx),%ecx
572507:	ff 42 18             	incl   0x18(%edx)
57250a:	8a 43 1c             	mov    0x1c(%ebx),%al
57250d:	88 01                	mov    %al,(%ecx)
57250f:	33 c9                	xor    %ecx,%ecx
572511:	8a c8                	mov    %al,%cl
572513:	eb 03                	jmp    0x572518
572515:	83 c9 ff             	or     $0xffffffff,%ecx
572518:	41                   	inc    %ecx
572519:	75 04                	jne    0x57251f
57251b:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
57251f:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572523:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
572527:	8b 13                	mov    (%ebx),%edx
572529:	c1 ea 14             	shr    $0x14,%edx
57252c:	66 81 e2 ff 00       	and    $0xff,%dx
572531:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572535:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
57253b:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
572542:	e9 c6 01 00 00       	jmp    0x57270d
572547:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
57254c:	7c 6a                	jl     0x5725b8
57254e:	8b 43 18             	mov    0x18(%ebx),%eax
572551:	f6 40 08 07          	testb  $0x7,0x8(%eax)
572555:	75 57                	jne    0x5725ae
572557:	8b 73 18             	mov    0x18(%ebx),%esi
57255a:	8b 7e 40             	mov    0x40(%esi),%edi
57255d:	85 ff                	test   %edi,%edi
57255f:	7c 13                	jl     0x572574
572561:	8b 46 3c             	mov    0x3c(%esi),%eax
572564:	3b f8                	cmp    %eax,%edi
572566:	7f 0c                	jg     0x572574
572568:	8b 53 18             	mov    0x18(%ebx),%edx
57256b:	83 4a 08 04          	orl    $0x4,0x8(%edx)
57256f:	83 c9 ff             	or     $0xffffffff,%ecx
572572:	eb 3d                	jmp    0x5725b1
572574:	8b 43 18             	mov    0x18(%ebx),%eax
572577:	83 48 04 20          	orl    $0x20,0x4(%eax)
57257b:	8b 53 18             	mov    0x18(%ebx),%edx
57257e:	ff 4a 1c             	decl   0x1c(%edx)
572581:	79 11                	jns    0x572594
572583:	33 d2                	xor    %edx,%edx
572585:	8b 43 18             	mov    0x18(%ebx),%eax
572588:	8a 53 1c             	mov    0x1c(%ebx),%dl