604ff5:	56                   	push   %esi
604ff6:	53                   	push   %ebx
604ff7:	6a 00                	push   $0x0
604ff9:	68 e9 fd 00 00       	push   $0xfde9
604ffe:	e8 93 1e 00 00       	call   0x606e96
605003:	8b d8                	mov    %eax,%ebx
605005:	83 c4 18             	add    $0x18,%esp
605008:	85 db                	test   %ebx,%ebx
60500a:	75 12                	jne    0x60501e
60500c:	ff 15 e0 21 68 00    	call   *0x6821e0
605012:	50                   	push   %eax
605013:	e8 ab 7f fe ff       	call   0x5ecfc3
605018:	59                   	pop    %ecx
605019:	83 c8 ff             	or     $0xffffffff,%eax
60501c:	eb 23                	jmp    0x605041
60501e:	8b 45 fc             	mov    -0x4(%ebp),%eax
605021:	3b de                	cmp    %esi,%ebx
605023:	0f 94 c1             	sete   %cl
605026:	fe c9                	dec    %cl
605028:	8b 14 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%edx
60502f:	80 e1 02             	and    $0x2,%cl
605032:	8a 44 17 2d          	mov    0x2d(%edi,%edx,1),%al
605036:	24 fd                	and    $0xfd,%al
605038:	0a c8                	or     %al,%cl
60503a:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
60503d:	88 4c 17 2d          	mov    %cl,0x2d(%edi,%edx,1)
605041:	5e                   	pop    %esi
605042:	5f                   	pop    %edi
605043:	5b                   	pop    %ebx
605044:	c9                   	leave
605045:	c3                   	ret
605046:	8b ff                	mov    %edi,%edi
605048:	55                   	push   %ebp
605049:	8b ec                	mov    %esp,%ebp
60504b:	8b 45 10             	mov    0x10(%ebp),%eax
60504e:	56                   	push   %esi
60504f:	57                   	push   %edi
605050:	8b 7d 0c             	mov    0xc(%ebp),%edi
605053:	8b cf                	mov    %edi,%ecx
605055:	8b f7                	mov    %edi,%esi
605057:	8d 14 47             	lea    (%edi,%eax,2),%edx
60505a:	3b fa                	cmp    %edx,%edi
60505c:	73 58                	jae    0x6050b6
60505e:	53                   	push   %ebx
60505f:	0f b7 01             	movzwl (%ecx),%eax
605062:	83 f8 1a             	cmp    $0x1a,%eax
605065:	74 34                	je     0x60509b
605067:	83 f8 0d             	cmp    $0xd,%eax
60506a:	75 19                	jne    0x605085
60506c:	8d 59 02             	lea    0x2(%ecx),%ebx
60506f:	3b da                	cmp    %edx,%ebx
605071:	73 12                	jae    0x605085
605073:	6a 0a                	push   $0xa
605075:	58                   	pop    %eax
605076:	66 39 03             	cmp    %ax,(%ebx)
605079:	0f b7 01             	movzwl (%ecx),%eax
60507c:	75 07                	jne    0x605085
60507e:	6a 0a                	push   $0xa
605080:	58                   	pop    %eax
605081:	6a 04                	push   $0x4
605083:	eb 05                	jmp    0x60508a
605085:	0f b7 c0             	movzwl %ax,%eax
605088:	6a 02                	push   $0x2
60508a:	5b                   	pop    %ebx
60508b:	03 cb                	add    %ebx,%ecx
60508d:	66 89 06             	mov    %ax,(%esi)
605090:	8d 5e 02             	lea    0x2(%esi),%ebx
605093:	8b f3                	mov    %ebx,%esi
605095:	3b ca                	cmp    %edx,%ecx
605097:	72 c6                	jb     0x60505f
605099:	eb 1a                	jmp    0x6050b5
60509b:	8b 45 08             	mov    0x8(%ebp),%eax
60509e:	8b c8                	mov    %eax,%ecx
6050a0:	83 e0 3f             	and    $0x3f,%eax
6050a3:	c1 f9 06             	sar    $0x6,%ecx
6050a6:	6b d0 38             	imul   $0x38,%eax,%edx
6050a9:	8b 0c 8d b8 10 73 00 	mov    0x7310b8(,%ecx,4),%ecx
6050b0:	80 4c 11 28 02       	orb    $0x2,0x28(%ecx,%edx,1)
6050b5:	5b                   	pop    %ebx
6050b6:	2b f7                	sub    %edi,%esi
6050b8:	83 e6 fe             	and    $0xfffffffe,%esi
6050bb:	5f                   	pop    %edi
6050bc:	8b c6                	mov    %esi,%eax
6050be:	5e                   	pop    %esi
6050bf:	5d                   	pop    %ebp
6050c0:	c3                   	ret
6050c1:	6a 10                	push   $0x10
6050c3:	68 10 20 70 00       	push   $0x702010
6050c8:	e8 43 d4 fd ff       	call   0x5e2510
6050cd:	8b 75 08             	mov    0x8(%ebp),%esi
6050d0:	83 fe fe             	cmp    $0xfffffffe,%esi
6050d3:	75 18                	jne    0x6050ed
6050d5:	e8 0c 7f fe ff       	call   0x5ecfe6
6050da:	83 20 00             	andl   $0x0,(%eax)
6050dd:	e8 17 7f fe ff       	call   0x5ecff9
6050e2:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
6050e8:	e9 d5 00 00 00       	jmp    0x6051c2
6050ed:	85 f6                	test   %esi,%esi
6050ef:	0f 88 b5 00 00 00    	js     0x6051aa
6050f5:	3b 35 b8 12 73 00    	cmp    0x7312b8,%esi
6050fb:	0f 83 a9 00 00 00    	jae    0x6051aa
605101:	8b de                	mov    %esi,%ebx
605103:	c1 fb 06             	sar    $0x6,%ebx
605106:	8b c6                	mov    %esi,%eax
605108:	83 e0 3f             	and    $0x3f,%eax
60510b:	6b c8 38             	imul   $0x38,%eax,%ecx
60510e:	89 4d e0             	mov    %ecx,-0x20(%ebp)
605111:	8b 04 9d b8 10 73 00 	mov    0x7310b8(,%ebx,4),%eax
605118:	f6 44 01 28 01       	testb  $0x1,0x28(%ecx,%eax,1)
60511d:	0f 84 87 00 00 00    	je     0x6051aa
605123:	81 7d 10 ff ff ff 7f 	cmpl   $0x7fffffff,0x10(%ebp)
60512a:	76 15                	jbe    0x605141
60512c:	e8 b5 7e fe ff       	call   0x5ecfe6
605131:	83 20 00             	andl   $0x0,(%eax)
605134:	e8 c0 7e fe ff       	call   0x5ecff9
605139:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
60513f:	eb 7c                	jmp    0x6051bd
605141:	56                   	push   %esi
605142:	e8 b2 41 00 00       	call   0x6092f9
605147:	59                   	pop    %ecx
605148:	83 cf ff             	or     $0xffffffff,%edi
60514b:	89 7d e4             	mov    %edi,-0x1c(%ebp)
60514e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
605152:	8b 04 9d b8 10 73 00 	mov    0x7310b8(,%ebx,4),%eax
605159:	8b 4d e0             	mov    -0x20(%ebp),%ecx
60515c:	f6 44 01 28 01       	testb  $0x1,0x28(%ecx,%eax,1)
605161:	75 15                	jne    0x605178
605163:	e8 91 7e fe ff       	call   0x5ecff9
605168:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
60516e:	e8 73 7e fe ff       	call   0x5ecfe6
605173:	83 20 00             	andl   $0x0,(%eax)
605176:	eb 14                	jmp    0x60518c
605178:	ff 75 10             	push   0x10(%ebp)
60517b:	ff 75 0c             	push   0xc(%ebp)
60517e:	56                   	push   %esi
60517f:	e8 51 00 00 00       	call   0x6051d5
605184:	83 c4 0c             	add    $0xc,%esp
605187:	8b f8                	mov    %eax,%edi
605189:	89 7d e4             	mov    %edi,-0x1c(%ebp)
60518c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
605193:	e8 0a 00 00 00       	call   0x6051a2
605198:	8b c7                	mov    %edi,%eax
60519a:	eb 29                	jmp    0x6051c5
60519c:	8b 75 08             	mov    0x8(%ebp),%esi
60519f:	8b 7d e4             	mov    -0x1c(%ebp),%edi
6051a2:	56                   	push   %esi
6051a3:	e8 06 42 00 00       	call   0x6093ae
6051a8:	59                   	pop    %ecx
6051a9:	c3                   	ret
6051aa:	e8 37 7e fe ff       	call   0x5ecfe6
6051af:	83 20 00             	andl   $0x0,(%eax)
6051b2:	e8 42 7e fe ff       	call   0x5ecff9
6051b7:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
6051bd:	e8 5d 7d fe ff       	call   0x5ecf1f
6051c2:	83 c8 ff             	or     $0xffffffff,%eax
6051c5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
6051c8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
6051cf:	59                   	pop    %ecx
6051d0:	5f                   	pop    %edi
6051d1:	5e                   	pop    %esi
6051d2:	5b                   	pop    %ebx
6051d3:	c9                   	leave
6051d4:	c3                   	ret
6051d5:	8b ff                	mov    %edi,%edi
6051d7:	55                   	push   %ebp
6051d8:	8b ec                	mov    %esp,%ebp
6051da:	83 ec 28             	sub    $0x28,%esp
6051dd:	53                   	push   %ebx
6051de:	8b 5d 08             	mov    0x8(%ebp),%ebx
6051e1:	57                   	push   %edi
6051e2:	83 fb fe             	cmp    $0xfffffffe,%ebx
6051e5:	75 18                	jne    0x6051ff
6051e7:	e8 fa 7d fe ff       	call   0x5ecfe6
6051ec:	83 20 00             	andl   $0x0,(%eax)
6051ef:	e8 05 7e fe ff       	call   0x5ecff9
6051f4:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
6051fa:	e9 7f 03 00 00       	jmp    0x60557e
6051ff:	85 db                	test   %ebx,%ebx
605201:	0f 88 5f 03 00 00    	js     0x605566
605207:	3b 1d b8 12 73 00    	cmp    0x7312b8,%ebx
60520d:	0f 83 53 03 00 00    	jae    0x605566
605213:	8b c3                	mov    %ebx,%eax
605215:	8b cb                	mov    %ebx,%ecx
605217:	c1 f9 06             	sar    $0x6,%ecx
60521a:	83 e0 3f             	and    $0x3f,%eax
60521d:	6b f8 38             	imul   $0x38,%eax,%edi
605220:	89 4d f8             	mov    %ecx,-0x8(%ebp)
605223:	8b 04 8d b8 10 73 00 	mov    0x7310b8(,%ecx,4),%eax
60522a:	33 c9                	xor    %ecx,%ecx
60522c:	41                   	inc    %ecx
60522d:	89 7d f0             	mov    %edi,-0x10(%ebp)
605230:	89 4d e0             	mov    %ecx,-0x20(%ebp)
605233:	8a 54 38 28          	mov    0x28(%eax,%edi,1),%dl
605237:	84 d1                	test   %dl,%cl
605239:	0f 84 27 03 00 00    	je     0x605566
60523f:	8b 4d 10             	mov    0x10(%ebp),%ecx
605242:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
605248:	76 18                	jbe    0x605262
60524a:	e8 97 7d fe ff       	call   0x5ecfe6
60524f:	83 20 00             	andl   $0x0,(%eax)
605252:	e8 a2 7d fe ff       	call   0x5ecff9
605257:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
60525d:	e9 17 03 00 00       	jmp    0x605579
605262:	85 c9                	test   %ecx,%ecx
605264:	0f 84 f8 02 00 00    	je     0x605562
60526a:	f6 c2 02             	test   $0x2,%dl
60526d:	0f 85 ef 02 00 00    	jne    0x605562
605273:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
605277:	74 d1                	je     0x60524a
605279:	8b 54 38 18          	mov    0x18(%eax,%edi,1),%edx
60527d:	89 55 e8             	mov    %edx,-0x18(%ebp)
605280:	8a 54 38 29          	mov    0x29(%eax,%edi,1),%dl
605284:	88 55 ff             	mov    %dl,-0x1(%ebp)
605287:	56                   	push   %esi
605288:	0f be d2             	movsbl %dl,%edx
60528b:	33 f6                	xor    %esi,%esi
60528d:	83 ea 01             	sub    $0x1,%edx
605290:	74 4f                	je     0x6052e1
605292:	83 ea 01             	sub    $0x1,%edx
605295:	74 0e                	je     0x6052a5
605297:	8b 55 0c             	mov    0xc(%ebp),%edx
60529a:	89 4d f4             	mov    %ecx,-0xc(%ebp)
60529d:	89 55 ec             	mov    %edx,-0x14(%ebp)
6052a0:	e9 c0 00 00 00       	jmp    0x605365
6052a5:	8b c1                	mov    %ecx,%eax
6052a7:	f7 d0                	not    %eax
6052a9:	a8 01                	test   $0x1,%al
6052ab:	75 1c                	jne    0x6052c9
6052ad:	e8 34 7d fe ff       	call   0x5ecfe6
6052b2:	21 30                	and    %esi,(%eax)
6052b4:	e8 40 7d fe ff       	call   0x5ecff9
6052b9:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
6052bf:	e8 5b 7c fe ff       	call   0x5ecf1f
6052c4:	e9 d0 01 00 00       	jmp    0x605499
6052c9:	8b 7d f8             	mov    -0x8(%ebp),%edi
6052cc:	8b 55 0c             	mov    0xc(%ebp),%edx
6052cf:	89 4d f4             	mov    %ecx,-0xc(%ebp)
6052d2:	89 55 ec             	mov    %edx,-0x14(%ebp)
6052d5:	8b 04 bd b8 10 73 00 	mov    0x7310b8(,%edi,4),%eax
6052dc:	e9 84 00 00 00       	jmp    0x605365
6052e1:	8b c1                	mov    %ecx,%eax
6052e3:	f7 d0                	not    %eax
6052e5:	a8 01                	test   $0x1,%al
6052e7:	74 c4                	je     0x6052ad
6052e9:	6a 04                	push   $0x4
6052eb:	58                   	pop    %eax
6052ec:	d1 e9                	shr    $1,%ecx
6052ee:	89 45 f4             	mov    %eax,-0xc(%ebp)
6052f1:	3b c8                	cmp    %eax,%ecx
6052f3:	72 05                	jb     0x6052fa
6052f5:	8b c1                	mov    %ecx,%eax
6052f7:	89 4d f4             	mov    %ecx,-0xc(%ebp)
6052fa:	50                   	push   %eax
6052fb:	e8 f5 0a 00 00       	call   0x605df5
605300:	6a 00                	push   $0x0
605302:	8b f0                	mov    %eax,%esi
605304:	e8 1f f5 ff ff       	call   0x604828
605309:	6a 00                	push   $0x0
60530b:	e8 18 f5 ff ff       	call   0x604828
605310:	83 c4 0c             	add    $0xc,%esp
605313:	89 75 ec             	mov    %esi,-0x14(%ebp)
605316:	85 f6                	test   %esi,%esi
605318:	75 1b                	jne    0x605335
60531a:	e8 da 7c fe ff       	call   0x5ecff9
60531f:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
605325:	e8 bc 7c fe ff       	call   0x5ecfe6
60532a:	c7 00 08 00 00 00    	movl   $0x8,(%eax)
605330:	e9 64 01 00 00       	jmp    0x605499
605335:	6a 01                	push   $0x1
605337:	6a 00                	push   $0x0
605339:	6a 00                	push   $0x0
60533b:	53                   	push   %ebx
60533c:	e8 7c 05 00 00       	call   0x6058bd
605341:	8b 4d f8             	mov    -0x8(%ebp),%ecx
605344:	83 c4 10             	add    $0x10,%esp
605347:	8b 0c 8d b8 10 73 00 	mov    0x7310b8(,%ecx,4),%ecx
60534e:	89 44 0f 20          	mov    %eax,0x20(%edi,%ecx,1)
605352:	8b 45 f8             	mov    -0x8(%ebp),%eax
605355:	89 54 0f 24          	mov    %edx,0x24(%edi,%ecx,1)
605359:	8b d6                	mov    %esi,%edx
60535b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
60535e:	8b 04 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%eax
605365:	8b 5d f0             	mov    -0x10(%ebp),%ebx
605368:	33 ff                	xor    %edi,%edi
60536a:	89 55 dc             	mov    %edx,-0x24(%ebp)
60536d:	f6 44 03 28 48       	testb  $0x48,0x28(%ebx,%eax,1)
605372:	8b 5d 08             	mov    0x8(%ebp),%ebx
605375:	0f 84 bf 00 00 00    	je     0x60543a
60537b:	8b 5d f0             	mov    -0x10(%ebp),%ebx
60537e:	8a 44 03 2a          	mov    0x2a(%ebx,%eax,1),%al
605382:	8b 5d 08             	mov    0x8(%ebp),%ebx
605385:	3c 0a                	cmp    $0xa,%al
605387:	0f 84 ad 00 00 00    	je     0x60543a
60538d:	85 c9                	test   %ecx,%ecx
60538f:	0f 84 a5 00 00 00    	je     0x60543a
605395:	8b 5d f0             	mov    -0x10(%ebp),%ebx
605398:	47                   	inc    %edi
605399:	88 02                	mov    %al,(%edx)
60539b:	42                   	inc    %edx
60539c:	8b 45 f8             	mov    -0x8(%ebp),%eax
60539f:	49                   	dec    %ecx
6053a0:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
6053a4:	89 55 ec             	mov    %edx,-0x14(%ebp)
6053a7:	89 4d f4             	mov    %ecx,-0xc(%ebp)
6053aa:	8b 04 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%eax
6053b1:	c6 44 03 2a 0a       	movb   $0xa,0x2a(%ebx,%eax,1)
6053b6:	8b 5d 08             	mov    0x8(%ebp),%ebx
6053b9:	74 7f                	je     0x60543a
6053bb:	8b 45 f8             	mov    -0x8(%ebp),%eax
6053be:	8b 5d f0             	mov    -0x10(%ebp),%ebx
6053c1:	8b 04 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%eax
6053c8:	8a 44 03 2b          	mov    0x2b(%ebx,%eax,1),%al
6053cc:	8b 5d 08             	mov    0x8(%ebp),%ebx
6053cf:	3c 0a                	cmp    $0xa,%al
6053d1:	74 67                	je     0x60543a
6053d3:	85 c9                	test   %ecx,%ecx
6053d5:	74 63                	je     0x60543a
6053d7:	8b 5d f0             	mov    -0x10(%ebp),%ebx
6053da:	88 02                	mov    %al,(%edx)
6053dc:	42                   	inc    %edx
6053dd:	8b 45 f8             	mov    -0x8(%ebp),%eax
6053e0:	49                   	dec    %ecx
6053e1:	80 7d ff 01          	cmpb   $0x1,-0x1(%ebp)
6053e5:	6a 02                	push   $0x2
6053e7:	89 55 ec             	mov    %edx,-0x14(%ebp)
6053ea:	8b 04 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%eax
6053f1:	5f                   	pop    %edi
6053f2:	89 4d f4             	mov    %ecx,-0xc(%ebp)
6053f5:	c6 44 03 2b 0a       	movb   $0xa,0x2b(%ebx,%eax,1)
6053fa:	8b 5d 08             	mov    0x8(%ebp),%ebx
6053fd:	75 3b                	jne    0x60543a
6053ff:	8b 45 f8             	mov    -0x8(%ebp),%eax
605402:	8b 5d f0             	mov    -0x10(%ebp),%ebx
605405:	8b 04 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%eax
60540c:	8a 44 03 2c          	mov    0x2c(%ebx,%eax,1),%al
605410:	8b 5d 08             	mov    0x8(%ebp),%ebx
605413:	3c 0a                	cmp    $0xa,%al
605415:	74 23                	je     0x60543a
605417:	85 c9                	test   %ecx,%ecx
605419:	74 1f                	je     0x60543a
60541b:	88 02                	mov    %al,(%edx)
60541d:	42                   	inc    %edx
60541e:	8b 45 f8             	mov    -0x8(%ebp),%eax
605421:	49                   	dec    %ecx
605422:	89 4d f4             	mov    %ecx,-0xc(%ebp)
605425:	8b 4d f0             	mov    -0x10(%ebp),%ecx
605428:	6a 03                	push   $0x3
60542a:	8b 04 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%eax
605431:	89 55 ec             	mov    %edx,-0x14(%ebp)
605434:	5f                   	pop    %edi