571f9e:	01 33                	add    %esi,(%ebx)
571fa0:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
571fa7:	eb 1b                	jmp    0x571fc4
571fa9:	c1 e6 08             	shl    $0x8,%esi
571fac:	01 33                	add    %esi,(%ebx)
571fae:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
571fb5:	eb 0d                	jmp    0x571fc4
571fb7:	81 03 00 ff 00 00    	addl   $0xff00,(%ebx)
571fbd:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
571fc4:	5d                   	pop    %ebp
571fc5:	5f                   	pop    %edi
571fc6:	5e                   	pop    %esi
571fc7:	5b                   	pop    %ebx
571fc8:	c3                   	ret
571fc9:	90                   	nop
571fca:	90                   	nop
571fcb:	90                   	nop
571fcc:	53                   	push   %ebx
571fcd:	8b d8                	mov    %eax,%ebx
571fcf:	56                   	push   %esi
571fd0:	8b f2                	mov    %edx,%esi
571fd2:	8b 43 08             	mov    0x8(%ebx),%eax
571fd5:	50                   	push   %eax
571fd6:	8b 13                	mov    (%ebx),%edx
571fd8:	52                   	push   %edx
571fd9:	8b 4b 04             	mov    0x4(%ebx),%ecx
571fdc:	51                   	push   %ecx
571fdd:	68 60 17 6a 00       	push   $0x6a1760
571fe2:	56                   	push   %esi
571fe3:	e8 e4 80 00 00       	call   0x57a0cc
571fe8:	8b 43 0c             	mov    0xc(%ebx),%eax
571feb:	8b 53 10             	mov    0x10(%ebx),%edx
571fee:	2b c2                	sub    %edx,%eax
571ff0:	83 c4 14             	add    $0x14,%esp
571ff3:	85 c0                	test   %eax,%eax
571ff5:	79 03                	jns    0x571ffa
571ff7:	83 c0 03             	add    $0x3,%eax
571ffa:	c1 f8 02             	sar    $0x2,%eax
571ffd:	50                   	push   %eax
571ffe:	68 87 17 6a 00       	push   $0x6a1787
572003:	56                   	push   %esi
572004:	e8 c3 80 00 00       	call   0x57a0cc
572009:	83 c4 0c             	add    $0xc,%esp
57200c:	8b 4b 0c             	mov    0xc(%ebx),%ecx
57200f:	8b 09                	mov    (%ecx),%ecx
572011:	0f b7 01             	movzwl (%ecx),%eax
572014:	50                   	push   %eax
572015:	0f b7 51 02          	movzwl 0x2(%ecx),%edx
572019:	52                   	push   %edx
57201a:	8b c1                	mov    %ecx,%eax
57201c:	81 e8 f8 17 6a 00    	sub    $0x6a17f8,%eax
572022:	b9 0c 00 00 00       	mov    $0xc,%ecx
572027:	99                   	cltd
572028:	f7 f9                	idiv   %ecx
57202a:	50                   	push   %eax
57202b:	68 92 17 6a 00       	push   $0x6a1792
572030:	56                   	push   %esi
572031:	e8 96 80 00 00       	call   0x57a0cc
572036:	83 c4 14             	add    $0x14,%esp
572039:	5e                   	pop    %esi
57203a:	5b                   	pop    %ebx
57203b:	c3                   	ret
57203c:	53                   	push   %ebx
57203d:	56                   	push   %esi
57203e:	57                   	push   %edi
57203f:	8b f2                	mov    %edx,%esi
572041:	8b f8                	mov    %eax,%edi
572043:	b8 24 00 00 00       	mov    $0x24,%eax
572048:	e8 2f 63 00 00       	call   0x57837c
57204d:	8b d8                	mov    %eax,%ebx
57204f:	85 c0                	test   %eax,%eax
572051:	74 34                	je     0x572087
572053:	89 73 18             	mov    %esi,0x18(%ebx)
572056:	8b f7                	mov    %edi,%esi
572058:	89 73 0c             	mov    %esi,0xc(%ebx)
57205b:	8b c6                	mov    %esi,%eax
57205d:	c1 e0 02             	shl    $0x2,%eax
572060:	e8 17 63 00 00       	call   0x57837c
572065:	8b f8                	mov    %eax,%edi
572067:	89 7b 10             	mov    %edi,0x10(%ebx)
57206a:	85 ff                	test   %edi,%edi
57206c:	74 19                	je     0x572087
57206e:	89 7b 14             	mov    %edi,0x14(%ebx)
572071:	8b c3                	mov    %ebx,%eax
572073:	e8 38 00 00 00       	call   0x5720b0
572078:	33 c9                	xor    %ecx,%ecx
57207a:	33 d2                	xor    %edx,%edx
57207c:	8b c3                	mov    %ebx,%eax
57207e:	e8 51 00 00 00       	call   0x5720d4
572083:	8b c3                	mov    %ebx,%eax
572085:	eb 0d                	jmp    0x572094
572087:	85 db                	test   %ebx,%ebx
572089:	74 07                	je     0x572092
57208b:	8b c3                	mov    %ebx,%eax
57208d:	e8 06 00 00 00       	call   0x572098
572092:	33 c0                	xor    %eax,%eax
572094:	5f                   	pop    %edi
572095:	5e                   	pop    %esi
572096:	5b                   	pop    %ebx
572097:	c3                   	ret
572098:	53                   	push   %ebx
572099:	8b d8                	mov    %eax,%ebx
57209b:	8b 43 10             	mov    0x10(%ebx),%eax
57209e:	85 c0                	test   %eax,%eax
5720a0:	74 05                	je     0x5720a7
5720a2:	e8 dd 62 00 00       	call   0x578384
5720a7:	8b c3                	mov    %ebx,%eax
5720a9:	e8 d6 62 00 00       	call   0x578384
5720ae:	5b                   	pop    %ebx
5720af:	c3                   	ret
5720b0:	c7 40 04 00 80 00 00 	movl   $0x8000,0x4(%eax)
5720b7:	66 c7 40 1c ff ff    	movw   $0xffff,0x1c(%eax)
5720bd:	33 d2                	xor    %edx,%edx
5720bf:	33 c9                	xor    %ecx,%ecx
5720c1:	89 10                	mov    %edx,(%eax)
5720c3:	c7 40 08 0c 00 00 00 	movl   $0xc,0x8(%eax)
5720ca:	66 c7 40 1e ff ff    	movw   $0xffff,0x1e(%eax)
5720d0:	89 48 20             	mov    %ecx,0x20(%eax)
5720d3:	c3                   	ret
5720d4:	53                   	push   %ebx
5720d5:	56                   	push   %esi
5720d6:	57                   	push   %edi
5720d7:	8b 58 10             	mov    0x10(%eax),%ebx
5720da:	8b 70 0c             	mov    0xc(%eax),%esi
5720dd:	3b d6                	cmp    %esi,%edx
5720df:	7e 05                	jle    0x5720e6
5720e1:	8b 70 0c             	mov    0xc(%eax),%esi
5720e4:	eb 20                	jmp    0x572106
5720e6:	8b f2                	mov    %edx,%esi
5720e8:	eb 1c                	jmp    0x572106
5720ea:	0f bf 79 04          	movswl 0x4(%ecx),%edi
5720ee:	03 ff                	add    %edi,%edi
5720f0:	03 39                	add    (%ecx),%edi
5720f2:	c1 e7 02             	shl    $0x2,%edi
5720f5:	8d 3c 7f             	lea    (%edi,%edi,2),%edi
5720f8:	81 c7 f8 17 6a 00    	add    $0x6a17f8,%edi
5720fe:	89 3b                	mov    %edi,(%ebx)
572100:	83 c3 04             	add    $0x4,%ebx
572103:	83 c1 08             	add    $0x8,%ecx
572106:	4e                   	dec    %esi
572107:	79 e1                	jns    0x5720ea
572109:	8b 70 0c             	mov    0xc(%eax),%esi
57210c:	2b f2                	sub    %edx,%esi
57210e:	eb 09                	jmp    0x572119
572110:	c7 03 f8 17 6a 00    	movl   $0x6a17f8,(%ebx)
572116:	83 c3 04             	add    $0x4,%ebx
572119:	4e                   	dec    %esi
57211a:	79 f4                	jns    0x572110
57211c:	5f                   	pop    %edi
57211d:	5e                   	pop    %esi
57211e:	5b                   	pop    %ebx
57211f:	c3                   	ret
572120:	8b 48 04             	mov    0x4(%eax),%ecx
572123:	89 0a                	mov    %ecx,(%edx)
572125:	8b 08                	mov    (%eax),%ecx
572127:	89 4a 04             	mov    %ecx,0x4(%edx)
57212a:	8b 48 08             	mov    0x8(%eax),%ecx
57212d:	89 4a 08             	mov    %ecx,0x8(%edx)
572130:	0f bf 40 1e          	movswl 0x1e(%eax),%eax
572134:	89 42 0c             	mov    %eax,0xc(%edx)
572137:	c3                   	ret
572138:	53                   	push   %ebx
572139:	8b d8                	mov    %eax,%ebx
57213b:	56                   	push   %esi
57213c:	57                   	push   %edi
57213d:	8b 43 14             	mov    0x14(%ebx),%eax
572140:	8b 00                	mov    (%eax),%eax
572142:	0f b7 48 02          	movzwl 0x2(%eax),%ecx
572146:	3b d1                	cmp    %ecx,%edx
572148:	75 22                	jne    0x57216c
57214a:	0f b7 10             	movzwl (%eax),%edx
57214d:	29 53 04             	sub    %edx,0x4(%ebx)
572150:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
572154:	75 0c                	jne    0x572162
572156:	8b c3                	mov    %ebx,%eax
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