413fa7:	56                   	push   %esi
413fa8:	e8 6e fd ff ff       	call   0x413d1b
413fad:	59                   	pop    %ecx
413fae:	c3                   	ret
413faf:	e8 95 41 ff ff       	call   0x408149
413fb4:	83 20 00             	andl   $0x0,(%eax)
413fb7:	e8 c1 41 ff ff       	call   0x40817d
413fbc:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
413fc2:	e8 2e 76 ff ff       	call   0x40b5f5
413fc7:	83 c8 ff             	or     $0xffffffff,%eax
413fca:	e8 26 6e ff ff       	call   0x40adf5
413fcf:	c3                   	ret
413fd0:	55                   	push   %ebp
413fd1:	8b ec                	mov    %esp,%ebp
413fd3:	83 ec 28             	sub    $0x28,%esp
413fd6:	53                   	push   %ebx
413fd7:	8b 5d 08             	mov    0x8(%ebp),%ebx
413fda:	56                   	push   %esi
413fdb:	8b 75 10             	mov    0x10(%ebp),%esi
413fde:	57                   	push   %edi
413fdf:	6a fe                	push   $0xfffffffe
413fe1:	58                   	pop    %eax
413fe2:	33 ff                	xor    %edi,%edi
413fe4:	89 7d e0             	mov    %edi,-0x20(%ebp)
413fe7:	89 45 e8             	mov    %eax,-0x18(%ebp)
413fea:	89 75 d8             	mov    %esi,-0x28(%ebp)
413fed:	3b d8                	cmp    %eax,%ebx
413fef:	75 17                	jne    0x414008
413ff1:	e8 53 41 ff ff       	call   0x408149
413ff6:	89 38                	mov    %edi,(%eax)
413ff8:	e8 80 41 ff ff       	call   0x40817d
413ffd:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
414003:	e9 5a 07 00 00       	jmp    0x414762
414008:	e8 e5 95 ff ff       	call   0x40d5f2
41400d:	85 c0                	test   %eax,%eax
41400f:	0f 88 4d 07 00 00    	js     0x414762
414015:	85 db                	test   %ebx,%ebx
414017:	0f 88 2e 07 00 00    	js     0x41474b
41401d:	3b 1d 14 2a 42 00    	cmp    0x422a14,%ebx
414023:	0f 83 22 07 00 00    	jae    0x41474b
414029:	8b cb                	mov    %ebx,%ecx
41402b:	c1 f9 05             	sar    $0x5,%ecx
41402e:	83 e3 1f             	and    $0x1f,%ebx
414031:	8b 14 8d 20 2a 42 00 	mov    0x422a20(,%ecx,4),%edx
414038:	c1 e3 06             	shl    $0x6,%ebx
41403b:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41403e:	8a 44 1a 04          	mov    0x4(%edx,%ebx,1),%al
414042:	89 5d dc             	mov    %ebx,-0x24(%ebp)
414045:	a8 01                	test   $0x1,%al
414047:	0f 84 fe 06 00 00    	je     0x41474b
41404d:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
414053:	76 17                	jbe    0x41406c
414055:	e8 ef 40 ff ff       	call   0x408149
41405a:	89 38                	mov    %edi,(%eax)
41405c:	e8 1c 41 ff ff       	call   0x40817d
414061:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
414067:	e9 f1 06 00 00       	jmp    0x41475d
41406c:	85 f6                	test   %esi,%esi
41406e:	0f 84 d3 06 00 00    	je     0x414747
414074:	a8 02                	test   $0x2,%al
414076:	0f 85 cb 06 00 00    	jne    0x414747
41407c:	39 7d 0c             	cmp    %edi,0xc(%ebp)
41407f:	75 09                	jne    0x41408a
414081:	e8 c3 40 ff ff       	call   0x408149
414086:	21 38                	and    %edi,(%eax)
414088:	eb d2                	jmp    0x41405c
41408a:	8a 44 1a 24          	mov    0x24(%edx,%ebx,1),%al
41408e:	02 c0                	add    %al,%al
414090:	d0 f8                	sar    $1,%al
414092:	88 45 13             	mov    %al,0x13(%ebp)
414095:	0f be c0             	movsbl %al,%eax
414098:	48                   	dec    %eax
414099:	74 16                	je     0x4140b1
41409b:	48                   	dec    %eax
41409c:	75 0b                	jne    0x4140a9
41409e:	8b c6                	mov    %esi,%eax
4140a0:	f7 d0                	not    %eax
4140a2:	a8 01                	test   $0x1,%al
4140a4:	74 db                	je     0x414081
4140a6:	83 e6 fe             	and    $0xfffffffe,%esi
4140a9:	8b 45 0c             	mov    0xc(%ebp),%eax
4140ac:	89 45 f0             	mov    %eax,-0x10(%ebp)
4140af:	eb 64                	jmp    0x414115
4140b1:	8b c6                	mov    %esi,%eax
4140b3:	f7 d0                	not    %eax
4140b5:	a8 01                	test   $0x1,%al
4140b7:	74 c8                	je     0x414081
4140b9:	d1 ee                	shr    $1,%esi
4140bb:	83 fe 04             	cmp    $0x4,%esi
4140be:	73 03                	jae    0x4140c3
4140c0:	6a 04                	push   $0x4
4140c2:	5e                   	pop    %esi
4140c3:	56                   	push   %esi
4140c4:	e8 d9 49 ff ff       	call   0x408aa2
4140c9:	59                   	pop    %ecx
4140ca:	89 45 f0             	mov    %eax,-0x10(%ebp)
4140cd:	85 c0                	test   %eax,%eax
4140cf:	75 1b                	jne    0x4140ec
4140d1:	e8 a7 40 ff ff       	call   0x40817d
4140d6:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
4140dc:	e8 68 40 ff ff       	call   0x408149
4140e1:	c7 00 08 00 00 00    	movl   $0x8,(%eax)
4140e7:	e9 76 06 00 00       	jmp    0x414762
4140ec:	6a 01                	push   $0x1
4140ee:	6a 00                	push   $0x0
4140f0:	6a 00                	push   $0x0
4140f2:	ff 75 08             	push   0x8(%ebp)
4140f5:	e8 a1 b0 ff ff       	call   0x40f19b
4140fa:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4140fd:	83 c4 10             	add    $0x10,%esp
414100:	8b 0c 8d 20 2a 42 00 	mov    0x422a20(,%ecx,4),%ecx
414107:	89 44 19 28          	mov    %eax,0x28(%ecx,%ebx,1)
41410b:	8b 45 f0             	mov    -0x10(%ebp),%eax
41410e:	89 54 19 2c          	mov    %edx,0x2c(%ecx,%ebx,1)
414112:	8b 4d f4             	mov    -0xc(%ebp),%ecx
414115:	8b 14 8d 20 2a 42 00 	mov    0x422a20(,%ecx,4),%edx
41411c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41411f:	f6 44 1a 04 48       	testb  $0x48,0x4(%edx,%ebx,1)
414124:	89 45 e4             	mov    %eax,-0x1c(%ebp)
414127:	0f 84 85 00 00 00    	je     0x4141b2
41412d:	8a 54 1a 05          	mov    0x5(%edx,%ebx,1),%dl
414131:	80 fa 0a             	cmp    $0xa,%dl
414134:	74 7c                	je     0x4141b2
414136:	85 f6                	test   %esi,%esi
414138:	74 78                	je     0x4141b2
41413a:	88 10                	mov    %dl,(%eax)
41413c:	33 ff                	xor    %edi,%edi
41413e:	8d 50 01             	lea    0x1(%eax),%edx
414141:	8b 04 8d 20 2a 42 00 	mov    0x422a20(,%ecx,4),%eax
414148:	47                   	inc    %edi
414149:	4e                   	dec    %esi
41414a:	80 7d 13 00          	cmpb   $0x0,0x13(%ebp)
41414e:	89 55 e4             	mov    %edx,-0x1c(%ebp)
414151:	c6 44 18 05 0a       	movb   $0xa,0x5(%eax,%ebx,1)
414156:	74 5a                	je     0x4141b2
414158:	8b 04 8d 20 2a 42 00 	mov    0x422a20(,%ecx,4),%eax
41415f:	8a 44 18 25          	mov    0x25(%eax,%ebx,1),%al
414163:	3c 0a                	cmp    $0xa,%al
414165:	74 4b                	je     0x4141b2
414167:	85 f6                	test   %esi,%esi
414169:	74 47                	je     0x4141b2
41416b:	88 02                	mov    %al,(%edx)
41416d:	8b 04 8d 20 2a 42 00 	mov    0x422a20(,%ecx,4),%eax
414174:	42                   	inc    %edx
414175:	6a 02                	push   $0x2
414177:	4e                   	dec    %esi
414178:	80 7d 13 01          	cmpb   $0x1,0x13(%ebp)
41417c:	89 55 e4             	mov    %edx,-0x1c(%ebp)
41417f:	5f                   	pop    %edi
414180:	c6 44 18 25 0a       	movb   $0xa,0x25(%eax,%ebx,1)
414185:	75 2b                	jne    0x4141b2
414187:	8b 04 8d 20 2a 42 00 	mov    0x422a20(,%ecx,4),%eax
41418e:	8a 44 18 26          	mov    0x26(%eax,%ebx,1),%al
414192:	3c 0a                	cmp    $0xa,%al
414194:	74 1c                	je     0x4141b2
414196:	85 f6                	test   %esi,%esi
414198:	74 18                	je     0x4141b2
41419a:	6a 03                	push   $0x3
41419c:	5f                   	pop    %edi
41419d:	88 02                	mov    %al,(%edx)
41419f:	8b 04 8d 20 2a 42 00 	mov    0x422a20(,%ecx,4),%eax
4141a6:	6a 0a                	push   $0xa
4141a8:	42                   	inc    %edx
4141a9:	59                   	pop    %ecx
4141aa:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4141ad:	4e                   	dec    %esi
4141ae:	88 4c 18 26          	mov    %cl,0x26(%eax,%ebx,1)
4141b2:	ff 75 08             	push   0x8(%ebp)
4141b5:	e8 fb dc ff ff       	call   0x411eb5
4141ba:	85 c0                	test   %eax,%eax
4141bc:	8b 45 f4             	mov    -0xc(%ebp),%eax
4141bf:	59                   	pop    %ecx
4141c0:	74 71                	je     0x414233
4141c2:	8b 0c 85 20 2a 42 00 	mov    0x422a20(,%eax,4),%ecx
4141c9:	f6 44 19 04 80       	testb  $0x80,0x4(%ecx,%ebx,1)
4141ce:	74 63                	je     0x414233
4141d0:	8d 45 e0             	lea    -0x20(%ebp),%eax
4141d3:	50                   	push   %eax
4141d4:	ff 34 19             	push   (%ecx,%ebx,1)
4141d7:	ff 15 f8 90 41 00    	call   *0x4190f8
4141dd:	89 45 e0             	mov    %eax,-0x20(%ebp)
4141e0:	85 c0                	test   %eax,%eax
4141e2:	74 4c                	je     0x414230
4141e4:	80 7d 13 02          	cmpb   $0x2,0x13(%ebp)
4141e8:	75 46                	jne    0x414230
4141ea:	6a 00                	push   $0x0
4141ec:	8d 45 ec             	lea    -0x14(%ebp),%eax
4141ef:	50                   	push   %eax
4141f0:	8b 45 f4             	mov    -0xc(%ebp),%eax
4141f3:	d1 ee                	shr    $1,%esi
4141f5:	8b 04 85 20 2a 42 00 	mov    0x422a20(,%eax,4),%eax
4141fc:	56                   	push   %esi
4141fd:	ff 75 e4             	push   -0x1c(%ebp)
414200:	ff 34 18             	push   (%eax,%ebx,1)
414203:	ff 15 38 90 41 00    	call   *0x419038
414209:	85 c0                	test   %eax,%eax
41420b:	75 18                	jne    0x414225
41420d:	ff 15 18 90 41 00    	call   *0x419018
414213:	50                   	push   %eax
414214:	e8 43 3f ff ff       	call   0x40815c
414219:	59                   	pop    %ecx
41421a:	83 cb ff             	or     $0xffffffff,%ebx
41421d:	8b 45 f0             	mov    -0x10(%ebp),%eax
414220:	e9 b8 02 00 00       	jmp    0x4144dd
414225:	8b 45 ec             	mov    -0x14(%ebp),%eax
414228:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
41422b:	89 4d ec             	mov    %ecx,-0x14(%ebp)
41422e:	eb 38                	jmp    0x414268
414230:	8b 45 f4             	mov    -0xc(%ebp),%eax
414233:	8b 04 85 20 2a 42 00 	mov    0x422a20(,%eax,4),%eax
41423a:	6a 00                	push   $0x0
41423c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
41423f:	51                   	push   %ecx
414240:	56                   	push   %esi
414241:	ff 75 e4             	push   -0x1c(%ebp)
414244:	ff 34 18             	push   (%eax,%ebx,1)
414247:	ff 15 fc 90 41 00    	call   *0x4190fc
41424d:	85 c0                	test   %eax,%eax
41424f:	0f 84 be 04 00 00    	je     0x414713
414255:	8b 4d ec             	mov    -0x14(%ebp),%ecx
414258:	85 c9                	test   %ecx,%ecx
41425a:	0f 88 b3 04 00 00    	js     0x414713
414260:	3b ce                	cmp    %esi,%ecx
414262:	0f 87 ab 04 00 00    	ja     0x414713
414268:	8b 55 f4             	mov    -0xc(%ebp),%edx
41426b:	03 f9                	add    %ecx,%edi
41426d:	8b 34 95 20 2a 42 00 	mov    0x422a20(,%edx,4),%esi
414274:	8a 44 1e 04          	mov    0x4(%esi,%ebx,1),%al
414278:	84 c0                	test   %al,%al
41427a:	0f 89 57 02 00 00    	jns    0x4144d7
414280:	80 7d 13 02          	cmpb   $0x2,0x13(%ebp)
414284:	0f 84 6d 02 00 00    	je     0x4144f7
41428a:	85 c9                	test   %ecx,%ecx
41428c:	74 0c                	je     0x41429a
41428e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
414291:	80 39 0a             	cmpb   $0xa,(%ecx)
414294:	75 04                	jne    0x41429a
414296:	0c 04                	or     $0x4,%al
414298:	eb 02                	jmp    0x41429c
41429a:	24 fb                	and    $0xfb,%al
41429c:	88 44 1e 04          	mov    %al,0x4(%esi,%ebx,1)
4142a0:	8b 45 f0             	mov    -0x10(%ebp),%eax
4142a3:	8b f0                	mov    %eax,%esi
4142a5:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
4142a8:	89 45 e0             	mov    %eax,-0x20(%ebp)
4142ab:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4142ae:	3b c1                	cmp    %ecx,%eax
4142b0:	0f 83 0e 01 00 00    	jae    0x4143c4
4142b6:	6a 0d                	push   $0xd
4142b8:	59                   	pop    %ecx
4142b9:	8b f8                	mov    %eax,%edi
4142bb:	8a 07                	mov    (%edi),%al
4142bd:	3c 1a                	cmp    $0x1a,%al
4142bf:	0f 84 e3 00 00 00    	je     0x4143a8
4142c5:	3a c1                	cmp    %cl,%al
4142c7:	74 09                	je     0x4142d2
4142c9:	88 06                	mov    %al,(%esi)
4142cb:	46                   	inc    %esi
4142cc:	47                   	inc    %edi
4142cd:	e9 9c 00 00 00       	jmp    0x41436e
4142d2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4142d5:	48                   	dec    %eax
4142d6:	3b f8                	cmp    %eax,%edi
4142d8:	73 1c                	jae    0x4142f6
4142da:	8d 47 01             	lea    0x1(%edi),%eax
4142dd:	80 38 0a             	cmpb   $0xa,(%eax)
4142e0:	75 0d                	jne    0x4142ef
4142e2:	6a 0a                	push   $0xa
4142e4:	58                   	pop    %eax
4142e5:	83 c7 02             	add    $0x2,%edi
4142e8:	88 06                	mov    %al,(%esi)
4142ea:	e9 ab 00 00 00       	jmp    0x41439a
4142ef:	88 0e                	mov    %cl,(%esi)
4142f1:	46                   	inc    %esi
4142f2:	8b f8                	mov    %eax,%edi
4142f4:	eb 78                	jmp    0x41436e
4142f6:	6a 00                	push   $0x0
4142f8:	8d 45 ec             	lea    -0x14(%ebp),%eax
4142fb:	50                   	push   %eax
4142fc:	6a 01                	push   $0x1
4142fe:	8d 45 ff             	lea    -0x1(%ebp),%eax
414301:	50                   	push   %eax
414302:	8b 04 95 20 2a 42 00 	mov    0x422a20(,%edx,4),%eax
414309:	47                   	inc    %edi
41430a:	ff 34 18             	push   (%eax,%ebx,1)
41430d:	ff 15 fc 90 41 00    	call   *0x4190fc
414313:	85 c0                	test   %eax,%eax
414315:	75 0a                	jne    0x414321
414317:	ff 15 18 90 41 00    	call   *0x419018
41431d:	85 c0                	test   %eax,%eax
41431f:	75 7c                	jne    0x41439d
414321:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
414325:	74 76                	je     0x41439d
414327:	8b 55 f4             	mov    -0xc(%ebp),%edx
41432a:	8b 04 95 20 2a 42 00 	mov    0x422a20(,%edx,4),%eax
414331:	f6 44 18 04 48       	testb  $0x48,0x4(%eax,%ebx,1)
414336:	74 23                	je     0x41435b
414338:	6a 0a                	push   $0xa
41433a:	58                   	pop    %eax
41433b:	6a 0d                	push   $0xd
41433d:	38 45 ff             	cmp    %al,-0x1(%ebp)
414340:	75 05                	jne    0x414347
414342:	88 06                	mov    %al,(%esi)
414344:	46                   	inc    %esi
414345:	eb 26                	jmp    0x41436d
414347:	c6 06 0d             	movb   $0xd,(%esi)
41434a:	8b 0c 95 20 2a 42 00 	mov    0x422a20(,%edx,4),%ecx
414351:	8a 45 ff             	mov    -0x1(%ebp),%al
414354:	46                   	inc    %esi
414355:	88 44 19 05          	mov    %al,0x5(%ecx,%ebx,1)
414359:	eb 12                	jmp    0x41436d
41435b:	3b 75 f0             	cmp    -0x10(%ebp),%esi
41435e:	75 19                	jne    0x414379
414360:	6a 0a                	push   $0xa
414362:	58                   	pop    %eax
414363:	38 45 ff             	cmp    %al,-0x1(%ebp)
414366:	75 11                	jne    0x414379
414368:	88 06                	mov    %al,(%esi)
41436a:	46                   	inc    %esi
41436b:	6a 0d                	push   $0xd
41436d:	59                   	pop    %ecx
41436e:	3b 7d e4             	cmp    -0x1c(%ebp),%edi
414371:	0f 82 44 ff ff ff    	jb     0x4142bb
414377:	eb 4b                	jmp    0x4143c4
414379:	6a 01                	push   $0x1
41437b:	6a ff                	push   $0xffffffff
41437d:	6a ff                	push   $0xffffffff
41437f:	ff 75 08             	push   0x8(%ebp)
414382:	e8 14 ae ff ff       	call   0x40f19b
414387:	8b 55 f4             	mov    -0xc(%ebp),%edx
41438a:	83 c4 10             	add    $0x10,%esp
41438d:	6a 0a                	push   $0xa
41438f:	58                   	pop    %eax
414390:	38 45 ff             	cmp    %al,-0x1(%ebp)
414393:	74 d6                	je     0x41436b
414395:	6a 0d                	push   $0xd
414397:	59                   	pop    %ecx
414398:	88 0e                	mov    %cl,(%esi)
41439a:	46                   	inc    %esi
41439b:	eb d1                	jmp    0x41436e
41439d:	8b 55 f4             	mov    -0xc(%ebp),%edx
4143a0:	6a 0d                	push   $0xd
4143a2:	59                   	pop    %ecx
4143a3:	88 0e                	mov    %cl,(%esi)
4143a5:	46                   	inc    %esi
4143a6:	eb c6                	jmp    0x41436e
4143a8:	8b 0c 95 20 2a 42 00 	mov    0x422a20(,%edx,4),%ecx
4143af:	8a 44 19 04          	mov    0x4(%ecx,%ebx,1),%al
4143b3:	a8 40                	test   $0x40,%al
4143b5:	75 08                	jne    0x4143bf