605faf:	39 7d 10             	cmp    %edi,0x10(%ebp)
605fb2:	76 10                	jbe    0x605fc4
605fb4:	8b 45 08             	mov    0x8(%ebp),%eax
605fb7:	85 c0                	test   %eax,%eax
605fb9:	74 02                	je     0x605fbd
605fbb:	21 38                	and    %edi,(%eax)
605fbd:	33 c0                	xor    %eax,%eax
605fbf:	e9 ba 00 00 00       	jmp    0x60607e
605fc4:	53                   	push   %ebx
605fc5:	8b 5d 08             	mov    0x8(%ebp),%ebx
605fc8:	85 db                	test   %ebx,%ebx
605fca:	74 03                	je     0x605fcf
605fcc:	83 0b ff             	orl    $0xffffffff,(%ebx)
605fcf:	81 7d 10 ff ff ff 7f 	cmpl   $0x7fffffff,0x10(%ebp)
605fd6:	56                   	push   %esi
605fd7:	76 14                	jbe    0x605fed
605fd9:	e8 1b 70 fe ff       	call   0x5ecff9
605fde:	6a 16                	push   $0x16
605fe0:	5e                   	pop    %esi
605fe1:	89 30                	mov    %esi,(%eax)
605fe3:	e8 37 6f fe ff       	call   0x5ecf1f
605fe8:	e9 8d 00 00 00       	jmp    0x60607a
605fed:	ff 75 18             	push   0x18(%ebp)
605ff0:	8d 4d e8             	lea    -0x18(%ebp),%ecx
605ff3:	e8 95 7b fe ff       	call   0x5edb8d
605ff8:	8b 45 ec             	mov    -0x14(%ebp),%eax
605ffb:	33 f6                	xor    %esi,%esi
605ffd:	8b 48 08             	mov    0x8(%eax),%ecx
606000:	81 f9 e9 fd 00 00    	cmp    $0xfde9,%ecx
606006:	75 2c                	jne    0x606034
606008:	8d 45 f8             	lea    -0x8(%ebp),%eax
60600b:	89 75 f8             	mov    %esi,-0x8(%ebp)
60600e:	50                   	push   %eax
60600f:	0f b7 45 14          	movzwl 0x14(%ebp),%eax
606013:	50                   	push   %eax
606014:	57                   	push   %edi
606015:	89 75 fc             	mov    %esi,-0x4(%ebp)
606018:	e8 da a5 00 00       	call   0x6105f7
60601d:	83 c4 0c             	add    $0xc,%esp
606020:	85 db                	test   %ebx,%ebx
606022:	74 02                	je     0x606026
606024:	89 03                	mov    %eax,(%ebx)
606026:	83 f8 04             	cmp    $0x4,%eax
606029:	7e 3f                	jle    0x60606a
60602b:	e8 c9 6f fe ff       	call   0x5ecff9
606030:	8b 30                	mov    (%eax),%esi
606032:	eb 36                	jmp    0x60606a
606034:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
60603a:	75 5c                	jne    0x606098
60603c:	66 8b 45 14          	mov    0x14(%ebp),%ax
606040:	b9 ff 00 00 00       	mov    $0xff,%ecx
606045:	66 3b c1             	cmp    %cx,%ax
606048:	76 37                	jbe    0x606081
60604a:	85 ff                	test   %edi,%edi
60604c:	74 12                	je     0x606060
60604e:	39 75 10             	cmp    %esi,0x10(%ebp)
606051:	76 0d                	jbe    0x606060
606053:	ff 75 10             	push   0x10(%ebp)
606056:	56                   	push   %esi
606057:	57                   	push   %edi
606058:	e8 a3 d9 fd ff       	call   0x5e3a00
60605d:	83 c4 0c             	add    $0xc,%esp
606060:	e8 94 6f fe ff       	call   0x5ecff9
606065:	6a 2a                	push   $0x2a
606067:	5e                   	pop    %esi
606068:	89 30                	mov    %esi,(%eax)
60606a:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
60606e:	74 0a                	je     0x60607a
606070:	8b 4d e8             	mov    -0x18(%ebp),%ecx
606073:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
60607a:	8b c6                	mov    %esi,%eax
60607c:	5e                   	pop    %esi
60607d:	5b                   	pop    %ebx
60607e:	5f                   	pop    %edi
60607f:	c9                   	leave
606080:	c3                   	ret
606081:	85 ff                	test   %edi,%edi
606083:	74 07                	je     0x60608c
606085:	39 75 10             	cmp    %esi,0x10(%ebp)
606088:	76 5c                	jbe    0x6060e6
60608a:	88 07                	mov    %al,(%edi)
60608c:	85 db                	test   %ebx,%ebx
60608e:	74 da                	je     0x60606a
606090:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
606096:	eb d2                	jmp    0x60606a
606098:	8d 45 fc             	lea    -0x4(%ebp),%eax
60609b:	89 75 fc             	mov    %esi,-0x4(%ebp)
60609e:	50                   	push   %eax
60609f:	56                   	push   %esi
6060a0:	ff 75 10             	push   0x10(%ebp)
6060a3:	8d 45 14             	lea    0x14(%ebp),%eax
6060a6:	57                   	push   %edi
6060a7:	6a 01                	push   $0x1
6060a9:	50                   	push   %eax
6060aa:	56                   	push   %esi
6060ab:	51                   	push   %ecx
6060ac:	e8 97 19 00 00       	call   0x607a48
6060b1:	83 c4 20             	add    $0x20,%esp
6060b4:	85 c0                	test   %eax,%eax
6060b6:	74 0d                	je     0x6060c5
6060b8:	39 75 fc             	cmp    %esi,-0x4(%ebp)
6060bb:	75 a3                	jne    0x606060
6060bd:	85 db                	test   %ebx,%ebx
6060bf:	74 a9                	je     0x60606a
6060c1:	89 03                	mov    %eax,(%ebx)
6060c3:	eb a5                	jmp    0x60606a
6060c5:	ff 15 e0 21 68 00    	call   *0x6821e0
6060cb:	83 f8 7a             	cmp    $0x7a,%eax
6060ce:	75 90                	jne    0x606060
6060d0:	85 ff                	test   %edi,%edi
6060d2:	74 12                	je     0x6060e6
6060d4:	39 75 10             	cmp    %esi,0x10(%ebp)
6060d7:	76 0d                	jbe    0x6060e6
6060d9:	ff 75 10             	push   0x10(%ebp)
6060dc:	56                   	push   %esi
6060dd:	57                   	push   %edi
6060de:	e8 1d d9 fd ff       	call   0x5e3a00
6060e3:	83 c4 0c             	add    $0xc,%esp
6060e6:	e8 0e 6f fe ff       	call   0x5ecff9
6060eb:	6a 22                	push   $0x22
6060ed:	5e                   	pop    %esi
6060ee:	89 30                	mov    %esi,(%eax)
6060f0:	e8 2a 6e fe ff       	call   0x5ecf1f
6060f5:	e9 70 ff ff ff       	jmp    0x60606a
6060fa:	8b ff                	mov    %edi,%edi
6060fc:	55                   	push   %ebp
6060fd:	8b ec                	mov    %esp,%ebp
6060ff:	6a 00                	push   $0x0
606101:	ff 75 14             	push   0x14(%ebp)
606104:	ff 75 10             	push   0x10(%ebp)
606107:	ff 75 0c             	push   0xc(%ebp)
60610a:	ff 75 08             	push   0x8(%ebp)
60610d:	e8 8d fe ff ff       	call   0x605f9f
606112:	83 c4 14             	add    $0x14,%esp
606115:	5d                   	pop    %ebp
606116:	c3                   	ret
606117:	8b ff                	mov    %edi,%edi
606119:	55                   	push   %ebp
60611a:	8b ec                	mov    %esp,%ebp
60611c:	8b 45 08             	mov    0x8(%ebp),%eax
60611f:	33 c9                	xor    %ecx,%ecx
606121:	56                   	push   %esi
606122:	57                   	push   %edi
606123:	be ff 07 00 00       	mov    $0x7ff,%esi
606128:	8b 38                	mov    (%eax),%edi
60612a:	8b 50 04             	mov    0x4(%eax),%edx
60612d:	8b c2                	mov    %edx,%eax
60612f:	c1 e8 14             	shr    $0x14,%eax
606132:	23 c6                	and    %esi,%eax
606134:	3b c6                	cmp    %esi,%eax
606136:	75 3b                	jne    0x606173
606138:	8b f2                	mov    %edx,%esi
60613a:	8b c7                	mov    %edi,%eax
60613c:	81 e6 ff ff 0f 00    	and    $0xfffff,%esi
606142:	0b c6                	or     %esi,%eax
606144:	75 03                	jne    0x606149
606146:	40                   	inc    %eax
606147:	eb 2c                	jmp    0x606175
606149:	b8 00 00 08 00       	mov    $0x80000,%eax
60614e:	3b d1                	cmp    %ecx,%edx
606150:	7f 13                	jg     0x606165
606152:	7c 04                	jl     0x606158
606154:	3b f9                	cmp    %ecx,%edi
606156:	73 0d                	jae    0x606165
606158:	3b f9                	cmp    %ecx,%edi
60615a:	75 09                	jne    0x606165
60615c:	3b f0                	cmp    %eax,%esi
60615e:	75 05                	jne    0x606165
606160:	6a 04                	push   $0x4
606162:	58                   	pop    %eax
606163:	eb 10                	jmp    0x606175
606165:	23 d0                	and    %eax,%edx
606167:	0b ca                	or     %edx,%ecx
606169:	74 04                	je     0x60616f
60616b:	6a 02                	push   $0x2
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