40e247:	57                   	push   %edi
40e248:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40e24b:	8b fa                	mov    %edx,%edi
40e24d:	8b d8                	mov    %eax,%ebx
40e24f:	8b 75 08             	mov    0x8(%ebp),%esi
40e252:	33 c0                	xor    %eax,%eax
40e254:	55                   	push   %ebp
40e255:	68 5b e3 40 00       	push   $0x40e35b
40e25a:	64 ff 30             	push   %fs:(%eax)
40e25d:	64 89 20             	mov    %esp,%fs:(%eax)
40e260:	f6 45 0c 02          	testb  $0x2,0xc(%ebp)
40e264:	74 16                	je     0x40e27c
40e266:	8d 55 f8             	lea    -0x8(%ebp),%edx
40e269:	8b c3                	mov    %ebx,%eax
40e26b:	e8 08 b0 ff ff       	call   0x409278
40e270:	8d 55 f4             	lea    -0xc(%ebp),%edx
40e273:	8b c7                	mov    %edi,%eax
40e275:	e8 fe af ff ff       	call   0x409278
40e27a:	eb 14                	jmp    0x40e290
40e27c:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e27f:	8b d3                	mov    %ebx,%edx
40e281:	e8 7a 66 ff ff       	call   0x404900
40e286:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e289:	8b d7                	mov    %edi,%edx
40e28b:	e8 70 66 ff ff       	call   0x404900
40e290:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e293:	8b d3                	mov    %ebx,%edx
40e295:	e8 66 66 ff ff       	call   0x404900
40e29a:	8b c6                	mov    %esi,%eax
40e29c:	e8 c7 65 ff ff       	call   0x404868
40e2a1:	e9 90 00 00 00       	jmp    0x40e336
40e2a6:	8b 55 f8             	mov    -0x8(%ebp),%edx
40e2a9:	8b 45 f4             	mov    -0xc(%ebp),%eax
40e2ac:	e8 e3 f7 ff ff       	call   0x40da94
40e2b1:	8b d8                	mov    %eax,%ebx
40e2b3:	85 db                	test   %ebx,%ebx
40e2b5:	75 0c                	jne    0x40e2c3
40e2b7:	8b c6                	mov    %esi,%eax
40e2b9:	8b 55 f0             	mov    -0x10(%ebp),%edx
40e2bc:	e8 67 68 ff ff       	call   0x404b28
40e2c1:	eb 7d                	jmp    0x40e340
40e2c3:	ff 36                	push   (%esi)
40e2c5:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e2c8:	50                   	push   %eax
40e2c9:	8b cb                	mov    %ebx,%ecx
40e2cb:	49                   	dec    %ecx
40e2cc:	ba 01 00 00 00       	mov    $0x1,%edx
40e2d1:	8b 45 f0             	mov    -0x10(%ebp),%eax
40e2d4:	e8 9f 6a ff ff       	call   0x404d78
40e2d9:	ff 75 ec             	push   -0x14(%ebp)
40e2dc:	ff 75 fc             	push   -0x4(%ebp)
40e2df:	8b c6                	mov    %esi,%eax
40e2e1:	ba 03 00 00 00       	mov    $0x3,%edx
40e2e6:	e8 f5 68 ff ff       	call   0x404be0
40e2eb:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e2ee:	50                   	push   %eax
40e2ef:	8b c7                	mov    %edi,%eax
40e2f1:	e8 2a 68 ff ff       	call   0x404b20
40e2f6:	8b d0                	mov    %eax,%edx
40e2f8:	03 d3                	add    %ebx,%edx
40e2fa:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
40e2ff:	8b 45 f0             	mov    -0x10(%ebp),%eax
40e302:	e8 71 6a ff ff       	call   0x404d78
40e307:	f6 45 0c 01          	testb  $0x1,0xc(%ebp)
40e30b:	75 0c                	jne    0x40e319
40e30d:	8b c6                	mov    %esi,%eax
40e30f:	8b 55 f0             	mov    -0x10(%ebp),%edx
40e312:	e8 11 68 ff ff       	call   0x404b28
40e317:	eb 27                	jmp    0x40e340
40e319:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e31c:	50                   	push   %eax
40e31d:	8b 45 f4             	mov    -0xc(%ebp),%eax
40e320:	e8 fb 67 ff ff       	call   0x404b20
40e325:	8b d0                	mov    %eax,%edx
40e327:	03 d3                	add    %ebx,%edx
40e329:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
40e32e:	8b 45 f8             	mov    -0x8(%ebp),%eax
40e331:	e8 42 6a ff ff       	call   0x404d78
40e336:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40e33a:	0f 85 66 ff ff ff    	jne    0x40e2a6
40e340:	33 c0                	xor    %eax,%eax
40e342:	5a                   	pop    %edx
40e343:	59                   	pop    %ecx
40e344:	59                   	pop    %ecx
40e345:	64 89 10             	mov    %edx,%fs:(%eax)
40e348:	68 62 e3 40 00       	push   $0x40e362
40e34d:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e350:	ba 04 00 00 00       	mov    $0x4,%edx
40e355:	e8 32 65 ff ff       	call   0x40488c
40e35a:	c3                   	ret
40e35b:	e9 ac 5e ff ff       	jmp    0x40420c
40e360:	eb eb                	jmp    0x40e34d
40e362:	5f                   	pop    %edi
40e363:	5e                   	pop    %esi
40e364:	5b                   	pop    %ebx
40e365:	8b e5                	mov    %ebp,%esp
40e367:	5d                   	pop    %ebp
40e368:	c2 08 00             	ret    $0x8
40e36b:	90                   	nop
40e36c:	ff 25 b4 7a 6b 00    	jmp    *0x6b7ab4
40e372:	8b c0                	mov    %eax,%eax
40e374:	55                   	push   %ebp
40e375:	8b ec                	mov    %esp,%ebp
40e377:	83 c4 ec             	add    $0xffffffec,%esp
40e37a:	53                   	push   %ebx
40e37b:	33 c0                	xor    %eax,%eax
40e37d:	89 45 ec             	mov    %eax,-0x14(%ebp)
40e380:	33 c0                	xor    %eax,%eax
40e382:	55                   	push   %ebp
40e383:	68 04 e4 40 00       	push   $0x40e404
40e388:	64 ff 30             	push   %fs:(%eax)
40e38b:	64 89 20             	mov    %esp,%fs:(%eax)
40e38e:	e8 6d 8e ff ff       	call   0x407200
40e393:	8b d8                	mov    %eax,%ebx
40e395:	85 db                	test   %ebx,%ebx
40e397:	74 37                	je     0x40e3d0
40e399:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40e39c:	c6 45 f4 00          	movb   $0x0,-0xc(%ebp)
40e3a0:	8d 55 ec             	lea    -0x14(%ebp),%edx
40e3a3:	8b c3                	mov    %ebx,%eax
40e3a5:	e8 3a e2 ff ff       	call   0x40c5e4
40e3aa:	8b 45 ec             	mov    -0x14(%ebp),%eax
40e3ad:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e3b0:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
40e3b4:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e3b7:	50                   	push   %eax
40e3b8:	6a 01                	push   $0x1
40e3ba:	8b 0d 38 70 6a 00    	mov    0x6a7038,%ecx
40e3c0:	b2 01                	mov    $0x1,%dl
40e3c2:	a1 60 8e 40 00       	mov    0x408e60,%eax
40e3c7:	e8 74 eb ff ff       	call   0x40cf40
40e3cc:	8b d0                	mov    %eax,%edx
40e3ce:	eb 14                	jmp    0x40e3e4
40e3d0:	8b 0d e8 71 6a 00    	mov    0x6a71e8,%ecx
40e3d6:	b2 01                	mov    $0x1,%dl
40e3d8:	a1 60 8e 40 00       	mov    0x408e60,%eax
40e3dd:	e8 22 eb ff ff       	call   0x40cf04
40e3e2:	8b d0                	mov    %eax,%edx
40e3e4:	89 5a 0c             	mov    %ebx,0xc(%edx)
40e3e7:	8b c2                	mov    %edx,%eax
40e3e9:	e8 56 5e ff ff       	call   0x404244
40e3ee:	33 c0                	xor    %eax,%eax
40e3f0:	5a                   	pop    %edx
40e3f1:	59                   	pop    %ecx
40e3f2:	59                   	pop    %ecx
40e3f3:	64 89 10             	mov    %edx,%fs:(%eax)
40e3f6:	68 0b e4 40 00       	push   $0x40e40b
40e3fb:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e3fe:	e8 65 64 ff ff       	call   0x404868
40e403:	c3                   	ret
40e404:	e9 03 5e ff ff       	jmp    0x40420c
40e409:	eb f0                	jmp    0x40e3fb
40e40b:	5b                   	pop    %ebx
40e40c:	8b e5                	mov    %ebp,%esp
40e40e:	5d                   	pop    %ebp
40e40f:	c3                   	ret
40e410:	53                   	push   %ebx
40e411:	8b d8                	mov    %eax,%ebx
40e413:	85 db                	test   %ebx,%ebx
40e415:	75 05                	jne    0x40e41c
40e417:	e8 58 ff ff ff       	call   0x40e374
40e41c:	8b c3                	mov    %ebx,%eax
40e41e:	5b                   	pop    %ebx
40e41f:	c3                   	ret
40e420:	53                   	push   %ebx
40e421:	b0 01                	mov    $0x1,%al
40e423:	8b 1d 20 a3 68 00    	mov    0x68a320,%ebx
40e429:	eb 05                	jmp    0x40e430
40e42b:	ff 53 04             	call   *0x4(%ebx)
40e42e:	8b 1b                	mov    (%ebx),%ebx
40e430:	84 c0                	test   %al,%al
40e432:	74 04                	je     0x40e438
40e434:	85 db                	test   %ebx,%ebx
40e436:	75 f3                	jne    0x40e42b
40e438:	5b                   	pop    %ebx
40e439:	c3                   	ret
40e43a:	8b c0                	mov    %eax,%eax
40e43c:	53                   	push   %ebx
40e43d:	bb 20 a3 68 00       	mov    $0x68a320,%ebx
40e442:	eb 10                	jmp    0x40e454
40e444:	8b 03                	mov    (%ebx),%eax
40e446:	8b 10                	mov    (%eax),%edx
40e448:	89 13                	mov    %edx,(%ebx)
40e44a:	ba 08 00 00 00       	mov    $0x8,%edx
40e44f:	e8 78 43 ff ff       	call   0x4027cc
40e454:	83 3b 00             	cmpl   $0x0,(%ebx)
40e457:	75 eb                	jne    0x40e444
40e459:	5b                   	pop    %ebx
40e45a:	c3                   	ret
40e45b:	90                   	nop
40e45c:	53                   	push   %ebx
40e45d:	68 94 e4 40 00       	push   $0x40e494
40e462:	e8 c1 8d ff ff       	call   0x407228
40e467:	8b d8                	mov    %eax,%ebx
40e469:	85 db                	test   %ebx,%ebx
40e46b:	74 10                	je     0x40e47d
40e46d:	68 a4 e4 40 00       	push   $0x40e4a4
40e472:	53                   	push   %ebx
40e473:	e8 b8 8d ff ff       	call   0x407230
40e478:	a3 44 a1 68 00       	mov    %eax,0x68a144
40e47d:	83 3d 44 a1 68 00 00 	cmpl   $0x0,0x68a144
40e484:	75 0a                	jne    0x40e490
40e486:	b8 e8 9c 40 00       	mov    $0x409ce8,%eax
40e48b:	a3 44 a1 68 00       	mov    %eax,0x68a144
40e490:	5b                   	pop    %ebx
40e491:	c3                   	ret
40e492:	00 00                	add    %al,(%eax)
40e494:	6b 65 72 6e          	imul   $0x6e,0x72(%ebp),%esp
40e498:	65 6c                	gs insb (%dx),%es:(%edi)
40e49a:	33 32                	xor    (%edx),%esi
40e49c:	2e 64 6c             	cs fs insb (%dx),%es:(%edi)
40e49f:	6c                   	insb   (%dx),%es:(%edi)
40e4a0:	00 00                	add    %al,(%eax)
40e4a2:	00 00                	add    %al,(%eax)
40e4a4:	47                   	inc    %edi
40e4a5:	65 74 44             	gs je  0x40e4ec
40e4a8:	69 73 6b 46 72 65 65 	imul   $0x65657246,0x6b(%ebx),%esi
40e4af:	53                   	push   %ebx
40e4b0:	70 61                	jo     0x40e513
40e4b2:	63 65 45             	arpl   %esp,0x45(%ebp)
40e4b5:	78 41                	js     0x40e4f8
40e4b7:	00 ba 01 00 00 00    	add    %bh,0x1(%edx)
40e4bd:	92                   	xchg   %eax,%edx
40e4be:	f0 0f c1 02          	lock xadd %eax,(%edx)
40e4c2:	40                   	inc    %eax
40e4c3:	c3                   	ret
40e4c4:	ba ff ff ff ff       	mov    $0xffffffff,%edx
40e4c9:	92                   	xchg   %eax,%edx
40e4ca:	f0 0f c1 02          	lock xadd %eax,(%edx)
40e4ce:	48                   	dec    %eax
40e4cf:	c3                   	ret
40e4d0:	87 10                	xchg   %edx,(%eax)
40e4d2:	89 d0                	mov    %edx,%eax
40e4d4:	c3                   	ret
40e4d5:	8d 40 00             	lea    0x0(%eax),%eax
40e4d8:	92                   	xchg   %eax,%edx
40e4d9:	f0 0f c1 02          	lock xadd %eax,(%edx)
40e4dd:	c3                   	ret
40e4de:	8b c0                	mov    %eax,%eax
40e4e0:	2c e5                	sub    $0xe5,%al
40e4e2:	40                   	inc    %eax
40e4ff:	00 2c e5 40 00 44 00 	add    %ch,0x440040(,%eiz,8)
40e506:	00 00                	add    %al,(%eax)
40e508:	e8 10 40 00 c0       	call   0xc041251d
40e50d:	3c 40                	cmp    $0x40,%al
40e50f:	00 cc                	add    %cl,%ah
40e511:	3c 40                	cmp    $0x40,%al
40e513:	00 d0                	add    %dl,%al
40e515:	3c 40                	cmp    $0x40,%al
40e517:	00 d4                	add    %dl,%ah
40e519:	3c 40                	cmp    $0x40,%al
40e51b:	00 c8                	add    %cl,%al
40e51d:	3c 40                	cmp    $0x40,%al
40e51f:	00 10                	add    %dl,(%eax)
40e521:	3a 40 00             	cmp    0x0(%eax),%al
40e524:	2c 3a                	sub    $0x3a,%al
40e526:	40                   	inc    %eax
40e527:	00 44 e5 40          	add    %al,0x40(%ebp,%eiz,8)
40e52b:	00 14 54             	add    %dl,(%esp,%edx,2)
40e52e:	54                   	push   %esp
40e52f:	68 72 65 61 64       	push   $0x64616572
40e534:	4c                   	dec    %esp
40e535:	6f                   	outsl  %ds:(%esi),(%dx)
40e536:	63 61 6c             	arpl   %esp,0x6c(%ecx)
40e539:	43                   	inc    %ebx
40e53a:	6f                   	outsl  %ds:(%esi),(%dx)
40e53b:	75 6e                	jne    0x40e5ab
40e53d:	74 65                	je     0x40e5a4
40e53f:	72 32                	jb     0x40e573
40e541:	8d 40 00             	lea    0x0(%eax),%eax
40e544:	53                   	push   %ebx
40e545:	56                   	push   %esi
40e546:	57                   	push   %edi
40e547:	55                   	push   %ebp
40e548:	e8 f7 58 ff ff       	call   0x403e44
40e54d:	8b da                	mov    %edx,%ebx
40e54f:	8b f8                	mov    %eax,%edi
40e551:	33 f6                	xor    %esi,%esi
40e553:	8b 6c b7 04          	mov    0x4(%edi,%esi,4),%ebp
40e557:	33 c0                	xor    %eax,%eax
40e559:	89 44 b7 04          	mov    %eax,0x4(%edi,%esi,4)
40e55d:	85 ed                	test   %ebp,%ebp
40e55f:	74 0e                	je     0x40e56f
40e561:	8b c5                	mov    %ebp,%eax
40e563:	8b 6d 00             	mov    0x0(%ebp),%ebp
40e566:	e8 61 42 ff ff       	call   0x4027cc
40e56b:	85 ed                	test   %ebp,%ebp
40e56d:	75 f2                	jne    0x40e561
40e56f:	46                   	inc    %esi
40e570:	83 fe 10             	cmp    $0x10,%esi
40e573:	75 de                	jne    0x40e553
40e575:	8b d3                	mov    %ebx,%edx
40e577:	80 e2 fc             	and    $0xfc,%dl
40e57a:	8b c7                	mov    %edi,%eax
40e57c:	e8 e7 54 ff ff       	call   0x403a68
40e581:	84 db                	test   %bl,%bl
40e583:	7e 07                	jle    0x40e58c
40e585:	8b c7                	mov    %edi,%eax
40e587:	e8 a0 58 ff ff       	call   0x403e2c
40e58c:	5d                   	pop    %ebp
40e58d:	5f                   	pop    %edi
40e58e:	5e                   	pop    %esi
40e58f:	5b                   	pop    %ebx
40e590:	c3                   	ret
40e591:	8d 40 00             	lea    0x0(%eax),%eax
40e594:	55                   	push   %ebp
40e595:	8b ec                	mov    %esp,%ebp
40e597:	51                   	push   %ecx
40e598:	e8 2b 8c ff ff       	call   0x4071c8
40e59d:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
40e5a1:	8a 45 fe             	mov    -0x2(%ebp),%al
40e5a4:	32 45 ff             	xor    -0x1(%ebp),%al
40e5a7:	24 0f                	and    $0xf,%al
40e5a9:	59                   	pop    %ecx
40e5aa:	5d                   	pop    %ebp
40e5ab:	c3                   	ret
40e5ac:	53                   	push   %ebx
40e5ad:	56                   	push   %esi
40e5ae:	57                   	push   %edi
40e5af:	55                   	push   %ebp
40e5b0:	51                   	push   %ecx
40e5b1:	89 14 24             	mov    %edx,(%esp)
40e5b4:	8b f8                	mov    %eax,%edi
40e5b6:	8b c7                	mov    %edi,%eax
40e5b8:	e8 d7 ff ff ff       	call   0x40e594
40e5bd:	8b d8                	mov    %eax,%ebx
40e5bf:	e8 04 8c ff ff       	call   0x4071c8
40e5c4:	8b f0                	mov    %eax,%esi
40e5c6:	33 c0                	xor    %eax,%eax
40e5c8:	8a c3                	mov    %bl,%al
40e5ca:	8b 6c 87 04          	mov    0x4(%edi,%eax,4),%ebp
40e5ce:	eb 03                	jmp    0x40e5d3
40e5d0:	8b 6d 00             	mov    0x0(%ebp),%ebp
40e5d3:	85 ed                	test   %ebp,%ebp
40e5d5:	74 05                	je     0x40e5dc
40e5d7:	3b 75 04             	cmp    0x4(%ebp),%esi
40e5da:	75 f4                	jne    0x40e5d0
40e5dc:	85 ed                	test   %ebp,%ebp
40e5de:	75 38                	jne    0x40e618
40e5e0:	8b c7                	mov    %edi,%eax
40e5e2:	e8 55 00 00 00       	call   0x40e63c
40e5e7:	8b e8                	mov    %eax,%ebp
40e5e9:	85 ed                	test   %ebp,%ebp
40e5eb:	75 2b                	jne    0x40e618
40e5ed:	b8 10 00 00 00       	mov    $0x10,%eax
40e5f2:	e8 bd aa ff ff       	call   0x4090b4
40e5f7:	8b e8                	mov    %eax,%ebp
40e5f9:	89 75 04             	mov    %esi,0x4(%ebp)
40e5fc:	c7 45 08 ff ff ff 7f 	movl   $0x7fffffff,0x8(%ebp)
40e603:	89 6d 00             	mov    %ebp,0x0(%ebp)