60616d:	eb f3                	jmp    0x606162
60616f:	6a 03                	push   $0x3
606171:	eb ef                	jmp    0x606162
606173:	33 c0                	xor    %eax,%eax
606175:	5f                   	pop    %edi
606176:	5e                   	pop    %esi
606177:	5d                   	pop    %ebp
606178:	c3                   	ret
606179:	8b ff                	mov    %edi,%edi
60617b:	55                   	push   %ebp
60617c:	8b ec                	mov    %esp,%ebp
60617e:	83 ec 38             	sub    $0x38,%esp
606181:	33 c0                	xor    %eax,%eax
606183:	57                   	push   %edi
606184:	8b 7d 1c             	mov    0x1c(%ebp),%edi
606187:	85 ff                	test   %edi,%edi
606189:	79 02                	jns    0x60618d
60618b:	8b f8                	mov    %eax,%edi
60618d:	53                   	push   %ebx
60618e:	56                   	push   %esi
60618f:	8b 75 0c             	mov    0xc(%ebp),%esi
606192:	8d 4d c8             	lea    -0x38(%ebp),%ecx
606195:	ff 75 28             	push   0x28(%ebp)
606198:	88 06                	mov    %al,(%esi)
60619a:	e8 ee 79 fe ff       	call   0x5edb8d
60619f:	8d 47 0b             	lea    0xb(%edi),%eax
6061a2:	39 45 10             	cmp    %eax,0x10(%ebp)
6061a5:	77 14                	ja     0x6061bb
6061a7:	e8 4d 6e fe ff       	call   0x5ecff9
6061ac:	6a 22                	push   $0x22
6061ae:	5f                   	pop    %edi
6061af:	89 38                	mov    %edi,(%eax)
6061b1:	e8 69 6d fe ff       	call   0x5ecf1f
6061b6:	e9 c0 02 00 00       	jmp    0x60647b
6061bb:	8b 5d 08             	mov    0x8(%ebp),%ebx
6061be:	8b 4b 04             	mov    0x4(%ebx),%ecx
6061c1:	8b c1                	mov    %ecx,%eax
6061c3:	8b 13                	mov    (%ebx),%edx
6061c5:	c1 e8 14             	shr    $0x14,%eax
6061c8:	25 ff 07 00 00       	and    $0x7ff,%eax
6061cd:	3d ff 07 00 00       	cmp    $0x7ff,%eax
6061d2:	75 50                	jne    0x606224
6061d4:	33 c0                	xor    %eax,%eax
6061d6:	50                   	push   %eax
6061d7:	ff 75 24             	push   0x24(%ebp)
6061da:	50                   	push   %eax
6061db:	57                   	push   %edi
6061dc:	ff 75 18             	push   0x18(%ebp)
6061df:	ff 75 14             	push   0x14(%ebp)
6061e2:	ff 75 10             	push   0x10(%ebp)
6061e5:	56                   	push   %esi
6061e6:	53                   	push   %ebx
6061e7:	e8 a6 02 00 00       	call   0x606492
6061ec:	8b f8                	mov    %eax,%edi
6061ee:	83 c4 24             	add    $0x24,%esp
6061f1:	85 ff                	test   %edi,%edi
6061f3:	74 08                	je     0x6061fd
6061f5:	c6 06 00             	movb   $0x0,(%esi)
6061f8:	e9 7e 02 00 00       	jmp    0x60647b
6061fd:	6a 65                	push   $0x65
6061ff:	56                   	push   %esi
606200:	e8 8b e9 fd ff       	call   0x5e4b90
606205:	59                   	pop    %ecx
606206:	59                   	pop    %ecx
606207:	85 c0                	test   %eax,%eax
606209:	74 12                	je     0x60621d
60620b:	8a 4d 20             	mov    0x20(%ebp),%cl
60620e:	80 f1 01             	xor    $0x1,%cl
606211:	c0 e1 05             	shl    $0x5,%cl
606214:	80 c1 50             	add    $0x50,%cl
606217:	88 08                	mov    %cl,(%eax)
606219:	c6 40 03 00          	movb   $0x0,0x3(%eax)
60621d:	33 ff                	xor    %edi,%edi
60621f:	e9 57 02 00 00       	jmp    0x60647b
606224:	33 c0                	xor    %eax,%eax
606226:	3b c8                	cmp    %eax,%ecx
606228:	7f 0d                	jg     0x606237
60622a:	7c 04                	jl     0x606230
60622c:	3b d0                	cmp    %eax,%edx
60622e:	73 07                	jae    0x606237
606230:	c6 06 2d             	movb   $0x2d,(%esi)
606233:	46                   	inc    %esi
606234:	8b 4b 04             	mov    0x4(%ebx),%ecx
606237:	8a 45 20             	mov    0x20(%ebp),%al
60623a:	8d 56 01             	lea    0x1(%esi),%edx
60623d:	34 01                	xor    $0x1,%al
60623f:	c7 45 f0 ff 03 00 00 	movl   $0x3ff,-0x10(%ebp)
606246:	88 45 ff             	mov    %al,-0x1(%ebp)
606249:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
60624f:	0f b6 c0             	movzbl %al,%eax
606252:	c1 e0 05             	shl    $0x5,%eax
606255:	83 c0 07             	add    $0x7,%eax
606258:	89 55 dc             	mov    %edx,-0x24(%ebp)
60625b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
60625e:	33 c0                	xor    %eax,%eax
606260:	0b c1                	or     %ecx,%eax
606262:	6a 30                	push   $0x30
606264:	58                   	pop    %eax
606265:	75 1e                	jne    0x606285
606267:	88 06                	mov    %al,(%esi)
606269:	8b 43 04             	mov    0x4(%ebx),%eax
60626c:	8b 0b                	mov    (%ebx),%ecx
60626e:	25 ff ff 0f 00       	and    $0xfffff,%eax
606273:	0b c8                	or     %eax,%ecx
606275:	75 05                	jne    0x60627c
606277:	89 4d f0             	mov    %ecx,-0x10(%ebp)
60627a:	eb 0e                	jmp    0x60628a
60627c:	c7 45 f0 fe 03 00 00 	movl   $0x3fe,-0x10(%ebp)
606283:	eb 03                	jmp    0x606288
606285:	c6 06 31             	movb   $0x31,(%esi)
606288:	33 c9                	xor    %ecx,%ecx
60628a:	8d 72 01             	lea    0x1(%edx),%esi
60628d:	89 75 f4             	mov    %esi,-0xc(%ebp)
606290:	85 ff                	test   %edi,%edi
606292:	75 04                	jne    0x606298
606294:	8a c1                	mov    %cl,%al
606296:	eb 0d                	jmp    0x6062a5
606298:	8b 45 cc             	mov    -0x34(%ebp),%eax
60629b:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
6062a1:	8b 00                	mov    (%eax),%eax
6062a3:	8a 00                	mov    (%eax),%al
6062a5:	88 02                	mov    %al,(%edx)
6062a7:	8b 43 04             	mov    0x4(%ebx),%eax
6062aa:	25 ff ff 0f 00       	and    $0xfffff,%eax
6062af:	89 45 ec             	mov    %eax,-0x14(%ebp)
6062b2:	77 08                	ja     0x6062bc
6062b4:	39 0b                	cmp    %ecx,(%ebx)
6062b6:	0f 86 c4 00 00 00    	jbe    0x606380
6062bc:	6a 30                	push   $0x30
6062be:	8b d1                	mov    %ecx,%edx
6062c0:	b9 00 00 0f 00       	mov    $0xf0000,%ecx
6062c5:	58                   	pop    %eax
6062c6:	89 45 f8             	mov    %eax,-0x8(%ebp)
6062c9:	89 55 f4             	mov    %edx,-0xc(%ebp)
6062cc:	89 4d ec             	mov    %ecx,-0x14(%ebp)
6062cf:	85 ff                	test   %edi,%edi
6062d1:	7e 50                	jle    0x606323
6062d3:	8b 03                	mov    (%ebx),%eax
6062d5:	23 c2                	and    %edx,%eax
6062d7:	8b 53 04             	mov    0x4(%ebx),%edx
6062da:	23 d1                	and    %ecx,%edx
6062dc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
6062df:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
6062e5:	0f bf c9             	movswl %cx,%ecx
6062e8:	e8 73 bd fd ff       	call   0x5e2060
6062ed:	6a 30                	push   $0x30
6062ef:	59                   	pop    %ecx
6062f0:	66 03 c1             	add    %cx,%ax
6062f3:	0f b7 c0             	movzwl %ax,%eax
6062f6:	83 f8 39             	cmp    $0x39,%eax
6062f9:	76 03                	jbe    0x6062fe
6062fb:	03 45 e4             	add    -0x1c(%ebp),%eax
6062fe:	8b 55 f4             	mov    -0xc(%ebp),%edx
606301:	8b 4d ec             	mov    -0x14(%ebp),%ecx
606304:	0f ac ca 04          	shrd   $0x4,%ecx,%edx
606308:	88 06                	mov    %al,(%esi)
60630a:	46                   	inc    %esi
60630b:	8b 45 f8             	mov    -0x8(%ebp),%eax
60630e:	c1 e9 04             	shr    $0x4,%ecx
606311:	83 e8 04             	sub    $0x4,%eax
606314:	4f                   	dec    %edi
606315:	89 55 f4             	mov    %edx,-0xc(%ebp)
606318:	89 4d ec             	mov    %ecx,-0x14(%ebp)
60631b:	89 45 f8             	mov    %eax,-0x8(%ebp)
60631e:	66 85 c0             	test   %ax,%ax
606321:	79 ac                	jns    0x6062cf
606323:	89 75 f4             	mov    %esi,-0xc(%ebp)
606326:	66 85 c0             	test   %ax,%ax
606329:	78 55                	js     0x606380
60632b:	8b 03                	mov    (%ebx),%eax
60632d:	23 c2                	and    %edx,%eax
60632f:	8b 53 04             	mov    0x4(%ebx),%edx
606332:	23 d1                	and    %ecx,%edx
606334:	8b 4d f8             	mov    -0x8(%ebp),%ecx
606337:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
60633d:	0f bf c9             	movswl %cx,%ecx
606340:	e8 1b bd fd ff       	call   0x5e2060
606345:	66 83 f8 08          	cmp    $0x8,%ax
606349:	76 35                	jbe    0x606380
60634b:	6a 30                	push   $0x30
60634d:	8d 46 ff             	lea    -0x1(%esi),%eax
606350:	5b                   	pop    %ebx
606351:	8a 08                	mov    (%eax),%cl
606353:	80 f9 66             	cmp    $0x66,%cl
606356:	74 05                	je     0x60635d
606358:	80 f9 46             	cmp    $0x46,%cl
60635b:	75 05                	jne    0x606362
60635d:	88 18                	mov    %bl,(%eax)
60635f:	48                   	dec    %eax
606360:	eb ef                	jmp    0x606351
606362:	8b 5d 08             	mov    0x8(%ebp),%ebx
606365:	3b 45 dc             	cmp    -0x24(%ebp),%eax
606368:	74 13                	je     0x60637d
60636a:	80 f9 39             	cmp    $0x39,%cl
60636d:	75 08                	jne    0x606377
60636f:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
606372:	80 c1 3a             	add    $0x3a,%cl
606375:	eb 02                	jmp    0x606379
606377:	fe c1                	inc    %cl
606379:	88 08                	mov    %cl,(%eax)
60637b:	eb 03                	jmp    0x606380
60637d:	fe 40 ff             	incb   -0x1(%eax)
606380:	85 ff                	test   %edi,%edi
606382:	7e 13                	jle    0x606397
606384:	57                   	push   %edi
606385:	6a 30                	push   $0x30
606387:	58                   	pop    %eax
606388:	50                   	push   %eax
606389:	56                   	push   %esi
60638a:	e8 71 d6 fd ff       	call   0x5e3a00
60638f:	83 c4 0c             	add    $0xc,%esp
606392:	03 f7                	add    %edi,%esi
606394:	89 75 f4             	mov    %esi,-0xc(%ebp)
606397:	8b 45 dc             	mov    -0x24(%ebp),%eax
60639a:	80 38 00             	cmpb   $0x0,(%eax)
60639d:	75 05                	jne    0x6063a4
60639f:	8b f0                	mov    %eax,%esi
6063a1:	89 75 f4             	mov    %esi,-0xc(%ebp)
6063a4:	8a 45 ff             	mov    -0x1(%ebp),%al
6063a7:	b1 34                	mov    $0x34,%cl
6063a9:	c0 e0 05             	shl    $0x5,%al
6063ac:	04 50                	add    $0x50,%al
6063ae:	88 06                	mov    %al,(%esi)
6063b0:	8b 03                	mov    (%ebx),%eax
6063b2:	8b 53 04             	mov    0x4(%ebx),%edx
6063b5:	e8 a6 bc fd ff       	call   0x5e2060
6063ba:	8b c8                	mov    %eax,%ecx
6063bc:	33 f6                	xor    %esi,%esi
6063be:	8b 45 f4             	mov    -0xc(%ebp),%eax
6063c1:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
6063c7:	2b 4d f0             	sub    -0x10(%ebp),%ecx
6063ca:	1b f6                	sbb    %esi,%esi
6063cc:	8d 50 02             	lea    0x2(%eax),%edx
6063cf:	89 55 dc             	mov    %edx,-0x24(%ebp)
6063d2:	78 0a                	js     0x6063de
6063d4:	7f 04                	jg     0x6063da
6063d6:	85 c9                	test   %ecx,%ecx
6063d8:	72 04                	jb     0x6063de
6063da:	b3 2b                	mov    $0x2b,%bl
6063dc:	eb 0a                	jmp    0x6063e8
6063de:	f7 d9                	neg    %ecx
6063e0:	6a 2d                	push   $0x2d
6063e2:	83 d6 00             	adc    $0x0,%esi
6063e5:	f7 de                	neg    %esi
6063e7:	5b                   	pop    %ebx
6063e8:	88 58 01             	mov    %bl,0x1(%eax)
6063eb:	8b fa                	mov    %edx,%edi
6063ed:	6a 30                	push   $0x30
6063ef:	58                   	pop    %eax
6063f0:	88 02                	mov    %al,(%edx)
6063f2:	33 c0                	xor    %eax,%eax
6063f4:	3b f0                	cmp    %eax,%esi
6063f6:	7c 28                	jl     0x606420
6063f8:	bb e8 03 00 00       	mov    $0x3e8,%ebx
6063fd:	7f 04                	jg     0x606403
6063ff:	3b cb                	cmp    %ebx,%ecx
606401:	72 1d                	jb     0x606420
606403:	53                   	push   %ebx
606404:	50                   	push   %eax
606405:	53                   	push   %ebx
606406:	56                   	push   %esi
606407:	51                   	push   %ecx
606408:	e8 e3 bc fd ff       	call   0x5e20f0
60640d:	8b f3                	mov    %ebx,%esi
60640f:	5b                   	pop    %ebx
606410:	90                   	nop
606411:	89 55 e4             	mov    %edx,-0x1c(%ebp)
606414:	04 30                	add    $0x30,%al
606416:	8b 55 dc             	mov    -0x24(%ebp),%edx
606419:	88 02                	mov    %al,(%edx)
60641b:	8d 7a 01             	lea    0x1(%edx),%edi
60641e:	33 c0                	xor    %eax,%eax
606420:	3b fa                	cmp    %edx,%edi
606422:	75 0b                	jne    0x60642f
606424:	3b f0                	cmp    %eax,%esi
606426:	7c 23                	jl     0x60644b
606428:	7f 05                	jg     0x60642f
60642a:	83 f9 64             	cmp    $0x64,%ecx
60642d:	72 1c                	jb     0x60644b
60642f:	53                   	push   %ebx
606430:	50                   	push   %eax
606431:	6a 64                	push   $0x64
606433:	56                   	push   %esi
606434:	51                   	push   %ecx
606435:	e8 b6 bc fd ff       	call   0x5e20f0
60643a:	8b f3                	mov    %ebx,%esi
60643c:	5b                   	pop    %ebx
60643d:	90                   	nop
60643e:	04 30                	add    $0x30,%al
606440:	89 55 e4             	mov    %edx,-0x1c(%ebp)
606443:	8b 55 dc             	mov    -0x24(%ebp),%edx
606446:	88 07                	mov    %al,(%edi)
606448:	47                   	inc    %edi
606449:	33 c0                	xor    %eax,%eax
60644b:	3b fa                	cmp    %edx,%edi
60644d:	75 0b                	jne    0x60645a
60644f:	3b f0                	cmp    %eax,%esi
606451:	7c 1e                	jl     0x606471
606453:	7f 05                	jg     0x60645a
606455:	83 f9 0a             	cmp    $0xa,%ecx
606458:	72 17                	jb     0x606471
60645a:	53                   	push   %ebx
60645b:	50                   	push   %eax
60645c:	6a 0a                	push   $0xa
60645e:	56                   	push   %esi
60645f:	51                   	push   %ecx
606460:	e8 8b bc fd ff       	call   0x5e20f0
606465:	5b                   	pop    %ebx
606466:	90                   	nop
606467:	04 30                	add    $0x30,%al
606469:	89 55 dc             	mov    %edx,-0x24(%ebp)
60646c:	88 07                	mov    %al,(%edi)
60646e:	47                   	inc    %edi
60646f:	33 c0                	xor    %eax,%eax
606471:	80 c1 30             	add    $0x30,%cl
606474:	88 0f                	mov    %cl,(%edi)
606476:	88 47 01             	mov    %al,0x1(%edi)
606479:	8b f8                	mov    %eax,%edi
60647b:	80 7d d4 00          	cmpb   $0x0,-0x2c(%ebp)
60647f:	5e                   	pop    %esi
606480:	5b                   	pop    %ebx
606481:	74 0a                	je     0x60648d
606483:	8b 4d c8             	mov    -0x38(%ebp),%ecx
606486:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
60648d:	8b c7                	mov    %edi,%eax
60648f:	5f                   	pop    %edi
606490:	c9                   	leave
606491:	c3                   	ret
606492:	8b ff                	mov    %edi,%edi
606494:	55                   	push   %ebp
606495:	8b ec                	mov    %esp,%ebp
606497:	83 ec 0c             	sub    $0xc,%esp
60649a:	56                   	push   %esi
60649b:	8b 75 1c             	mov    0x1c(%ebp),%esi
60649e:	57                   	push   %edi
60649f:	8d 7e 01             	lea    0x1(%esi),%edi
6064a2:	8d 47 02             	lea    0x2(%edi),%eax
6064a5:	3b 45 18             	cmp    0x18(%ebp),%eax
6064a8:	72 03                	jb     0x6064ad
6064aa:	8b 45 18             	mov    0x18(%ebp),%eax
6064ad:	50                   	push   %eax
6064ae:	ff 75 14             	push   0x14(%ebp)
6064b1:	8d 45 f4             	lea    -0xc(%ebp),%eax
6064b4:	50                   	push   %eax
6064b5:	8b 45 08             	mov    0x8(%ebp),%eax
6064b8:	57                   	push   %edi
6064b9:	ff 70 04             	push   0x4(%eax)
6064bc:	ff 30                	push   (%eax)
6064be:	e8 c9 a2 00 00       	call   0x61078c
6064c3:	83 c9 ff             	or     $0xffffffff,%ecx