40835e:	74 03                	je     0x408363
408360:	88 41 14             	mov    %al,0x14(%ecx)
408363:	89 41 08             	mov    %eax,0x8(%ecx)
408366:	89 41 0c             	mov    %eax,0xc(%ecx)
408369:	89 41 10             	mov    %eax,0x10(%ecx)
40836c:	c3                   	ret
40836d:	8b ff                	mov    %edi,%edi
40836f:	55                   	push   %ebp
408370:	8b ec                	mov    %esp,%ebp
408372:	81 ec 2c 02 00 00    	sub    $0x22c,%esp
408378:	a1 14 60 41 00       	mov    0x416014,%eax
40837d:	33 c5                	xor    %ebp,%eax
40837f:	89 45 fc             	mov    %eax,-0x4(%ebp)
408382:	8b 45 08             	mov    0x8(%ebp),%eax
408385:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40838b:	68 05 01 00 00       	push   $0x105
408390:	51                   	push   %ecx
408391:	50                   	push   %eax
408392:	ff 15 04 f0 40 00    	call   *0x40f004
408398:	85 c0                	test   %eax,%eax
40839a:	75 11                	jne    0x4083ad
40839c:	ff 15 58 f0 40 00    	call   *0x40f058
4083a2:	50                   	push   %eax
4083a3:	e8 4e f5 ff ff       	call   0x4078f6
4083a8:	59                   	pop    %ecx
4083a9:	33 c0                	xor    %eax,%eax
4083ab:	eb 55                	jmp    0x408402
4083ad:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4083b0:	8b 45 10             	mov    0x10(%ebp),%eax
4083b3:	83 a5 e4 fd ff ff 00 	andl   $0x0,-0x21c(%ebp)
4083ba:	89 8d d4 fd ff ff    	mov    %ecx,-0x22c(%ebp)
4083c0:	89 85 d8 fd ff ff    	mov    %eax,-0x228(%ebp)
4083c6:	89 8d dc fd ff ff    	mov    %ecx,-0x224(%ebp)
4083cc:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
4083d2:	c6 85 e8 fd ff ff 00 	movb   $0x0,-0x218(%ebp)
4083d9:	e8 0d fd ff ff       	call   0x4080eb
4083de:	50                   	push   %eax
4083df:	8d 85 ef fd ff ff    	lea    -0x211(%ebp),%eax
4083e5:	50                   	push   %eax
4083e6:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
4083ec:	50                   	push   %eax
4083ed:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
4083f3:	50                   	push   %eax
4083f4:	e8 77 fe ff ff       	call   0x408270
4083f9:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
4083ff:	83 c4 10             	add    $0x10,%esp
408402:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408405:	33 cd                	xor    %ebp,%ecx
408407:	e8 29 b2 ff ff       	call   0x403635
40840c:	c9                   	leave
40840d:	c3                   	ret
40840e:	6a 08                	push   $0x8
408410:	68 b8 4b 41 00       	push   $0x414bb8
408415:	e8 f6 af ff ff       	call   0x403410
40841a:	8b 45 08             	mov    0x8(%ebp),%eax
40841d:	ff 30                	push   (%eax)
40841f:	e8 a8 f3 ff ff       	call   0x4077cc
408424:	59                   	pop    %ecx
408425:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408429:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40842c:	e8 2a 00 00 00       	call   0x40845b
408431:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
408438:	e8 12 00 00 00       	call   0x40844f
40843d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408440:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408447:	59                   	pop    %ecx
408448:	5f                   	pop    %edi
408449:	5e                   	pop    %esi
40844a:	5b                   	pop    %ebx
40844b:	c9                   	leave
40844c:	c2 0c 00             	ret    $0xc
40844f:	8b 45 10             	mov    0x10(%ebp),%eax
408452:	ff 30                	push   (%eax)
408454:	e8 bb f3 ff ff       	call   0x407814
408459:	59                   	pop    %ecx
40845a:	c3                   	ret
40845b:	8b ff                	mov    %edi,%edi
40845d:	56                   	push   %esi
40845e:	8b f1                	mov    %ecx,%esi
408460:	b9 01 01 00 00       	mov    $0x101,%ecx
408465:	51                   	push   %ecx
408466:	8b 06                	mov    (%esi),%eax
408468:	8b 00                	mov    (%eax),%eax
40846a:	8b 40 48             	mov    0x48(%eax),%eax
40846d:	83 c0 18             	add    $0x18,%eax
408470:	50                   	push   %eax
408471:	51                   	push   %ecx
408472:	ff 35 44 70 41 00    	push   0x417044
408478:	e8 6d 07 00 00       	call   0x408bea
40847d:	8b 06                	mov    (%esi),%eax
40847f:	b9 00 01 00 00       	mov    $0x100,%ecx
408484:	51                   	push   %ecx
408485:	8b 00                	mov    (%eax),%eax
408487:	8b 40 48             	mov    0x48(%eax),%eax
40848a:	05 19 01 00 00       	add    $0x119,%eax
40848f:	50                   	push   %eax
408490:	51                   	push   %ecx
408491:	ff 35 48 70 41 00    	push   0x417048
408497:	e8 4e 07 00 00       	call   0x408bea
40849c:	8b 46 04             	mov    0x4(%esi),%eax
40849f:	83 c4 20             	add    $0x20,%esp
4084a2:	83 c9 ff             	or     $0xffffffff,%ecx
4084a5:	8b 00                	mov    (%eax),%eax
4084a7:	8b 00                	mov    (%eax),%eax
4084a9:	f0 0f c1 08          	lock xadd %ecx,(%eax)
4084ad:	75 15                	jne    0x4084c4
4084af:	8b 46 04             	mov    0x4(%esi),%eax
4084b2:	8b 00                	mov    (%eax),%eax
4084b4:	81 38 28 61 41 00    	cmpl   $0x416128,(%eax)
4084ba:	74 08                	je     0x4084c4
4084bc:	ff 30                	push   (%eax)
4084be:	e8 b6 f3 ff ff       	call   0x407879
4084c3:	59                   	pop    %ecx
4084c4:	8b 06                	mov    (%esi),%eax
4084c6:	8b 10                	mov    (%eax),%edx
4084c8:	8b 46 04             	mov    0x4(%esi),%eax
4084cb:	8b 08                	mov    (%eax),%ecx
4084cd:	8b 42 48             	mov    0x48(%edx),%eax
4084d0:	89 01                	mov    %eax,(%ecx)
4084d2:	8b 06                	mov    (%esi),%eax
4084d4:	8b 00                	mov    (%eax),%eax
4084d6:	8b 40 48             	mov    0x48(%eax),%eax
4084d9:	f0 ff 00             	lock incl (%eax)
4084dc:	5e                   	pop    %esi
4084dd:	c3                   	ret
4084de:	8b ff                	mov    %edi,%edi
4084e0:	55                   	push   %ebp
4084e1:	8b ec                	mov    %esp,%ebp
4084e3:	8b 45 08             	mov    0x8(%ebp),%eax
4084e6:	2d a4 03 00 00       	sub    $0x3a4,%eax
4084eb:	74 28                	je     0x408515
4084ed:	83 e8 04             	sub    $0x4,%eax
4084f0:	74 1c                	je     0x40850e
4084f2:	83 e8 0d             	sub    $0xd,%eax
4084f5:	74 10                	je     0x408507
4084f7:	83 e8 01             	sub    $0x1,%eax
4084fa:	74 04                	je     0x408500
4084fc:	33 c0                	xor    %eax,%eax
4084fe:	5d                   	pop    %ebp
4084ff:	c3                   	ret
408500:	a1 44 04 41 00       	mov    0x410444,%eax
408505:	5d                   	pop    %ebp
408506:	c3                   	ret
408507:	a1 40 04 41 00       	mov    0x410440,%eax
40850c:	5d                   	pop    %ebp
40850d:	c3                   	ret
40850e:	a1 3c 04 41 00       	mov    0x41043c,%eax
408513:	5d                   	pop    %ebp
408514:	c3                   	ret
408515:	a1 38 04 41 00       	mov    0x410438,%eax
40851a:	5d                   	pop    %ebp
40851b:	c3                   	ret
40851c:	8b ff                	mov    %edi,%edi
40851e:	55                   	push   %ebp
40851f:	8b ec                	mov    %esp,%ebp
408521:	83 ec 10             	sub    $0x10,%esp
408524:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408527:	6a 00                	push   $0x0
408529:	e8 f2 fa ff ff       	call   0x408020
40852e:	83 25 50 70 41 00 00 	andl   $0x0,0x417050
408535:	8b 45 08             	mov    0x8(%ebp),%eax
408538:	83 f8 fe             	cmp    $0xfffffffe,%eax
40853b:	75 12                	jne    0x40854f
40853d:	c7 05 50 70 41 00 01 	movl   $0x1,0x417050
408544:	00 00 00
408547:	ff 15 bc f0 40 00    	call   *0x40f0bc
40854d:	eb 2c                	jmp    0x40857b
40854f:	83 f8 fd             	cmp    $0xfffffffd,%eax
408552:	75 12                	jne    0x408566
408554:	c7 05 50 70 41 00 01 	movl   $0x1,0x417050
40855b:	00 00 00
40855e:	ff 15 b8 f0 40 00    	call   *0x40f0b8
408564:	eb 15                	jmp    0x40857b
408566:	83 f8 fc             	cmp    $0xfffffffc,%eax
408569:	75 10                	jne    0x40857b
40856b:	8b 45 f4             	mov    -0xc(%ebp),%eax
40856e:	c7 05 50 70 41 00 01 	movl   $0x1,0x417050
408575:	00 00 00
408578:	8b 40 08             	mov    0x8(%eax),%eax
40857b:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
40857f:	74 0a                	je     0x40858b
408581:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408584:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
40858b:	c9                   	leave
40858c:	c3                   	ret
40858d:	8b ff                	mov    %edi,%edi
40858f:	55                   	push   %ebp
408590:	8b ec                	mov    %esp,%ebp
408592:	53                   	push   %ebx
408593:	8b 5d 08             	mov    0x8(%ebp),%ebx
408596:	56                   	push   %esi
408597:	57                   	push   %edi
408598:	68 01 01 00 00       	push   $0x101
40859d:	33 f6                	xor    %esi,%esi
40859f:	8d 43 18             	lea    0x18(%ebx),%eax
4085a2:	56                   	push   %esi
4085a3:	50                   	push   %eax
4085a4:	e8 37 ba ff ff       	call   0x403fe0
4085a9:	83 c4 0c             	add    $0xc,%esp
4085ac:	89 73 04             	mov    %esi,0x4(%ebx)
4085af:	89 73 08             	mov    %esi,0x8(%ebx)
4085b2:	8d 7b 0c             	lea    0xc(%ebx),%edi
4085b5:	89 b3 1c 02 00 00    	mov    %esi,0x21c(%ebx)
4085bb:	33 c0                	xor    %eax,%eax
4085bd:	ab                   	stos   %eax,%es:(%edi)
4085be:	8b ce                	mov    %esi,%ecx
4085c0:	ab                   	stos   %eax,%es:(%edi)
4085c1:	ab                   	stos   %eax,%es:(%edi)
4085c2:	8a 81 40 61 41 00    	mov    0x416140(%ecx),%al
4085c8:	88 44 0b 18          	mov    %al,0x18(%ebx,%ecx,1)
4085cc:	41                   	inc    %ecx
4085cd:	81 f9 01 01 00 00    	cmp    $0x101,%ecx
4085d3:	7c ed                	jl     0x4085c2
4085d5:	8a 86 41 62 41 00    	mov    0x416241(%esi),%al
4085db:	88 84 33 19 01 00 00 	mov    %al,0x119(%ebx,%esi,1)
4085e2:	46                   	inc    %esi
4085e3:	81 fe 00 01 00 00    	cmp    $0x100,%esi
4085e9:	7c ea                	jl     0x4085d5
4085eb:	5f                   	pop    %edi
4085ec:	5e                   	pop    %esi
4085ed:	5b                   	pop    %ebx
4085ee:	5d                   	pop    %ebp
4085ef:	c3                   	ret
4085f0:	8b ff                	mov    %edi,%edi
4085f2:	55                   	push   %ebp
4085f3:	8b ec                	mov    %esp,%ebp
4085f5:	81 ec 20 07 00 00    	sub    $0x720,%esp
4085fb:	a1 14 60 41 00       	mov    0x416014,%eax
408600:	33 c5                	xor    %ebp,%eax
408602:	89 45 fc             	mov    %eax,-0x4(%ebp)
408605:	53                   	push   %ebx
408606:	56                   	push   %esi
408607:	57                   	push   %edi
408608:	8b 7d 08             	mov    0x8(%ebp),%edi
40860b:	81 7f 04 e9 fd 00 00 	cmpl   $0xfde9,0x4(%edi)
408612:	0f 84 0c 01 00 00    	je     0x408724
408618:	8d 85 e8 f8 ff ff    	lea    -0x718(%ebp),%eax
40861e:	50                   	push   %eax
40861f:	ff 77 04             	push   0x4(%edi)
408622:	ff 15 c0 f0 40 00    	call   *0x40f0c0
408628:	85 c0                	test   %eax,%eax
40862a:	0f 84 f4 00 00 00    	je     0x408724
408630:	33 db                	xor    %ebx,%ebx
408632:	be 00 01 00 00       	mov    $0x100,%esi
408637:	8b c3                	mov    %ebx,%eax
408639:	88 84 05 fc fe ff ff 	mov    %al,-0x104(%ebp,%eax,1)
408640:	40                   	inc    %eax
408641:	3b c6                	cmp    %esi,%eax
408643:	72 f4                	jb     0x408639
408645:	8a 85 ee f8 ff ff    	mov    -0x712(%ebp),%al
40864b:	8d 8d ee f8 ff ff    	lea    -0x712(%ebp),%ecx
408651:	c6 85 fc fe ff ff 20 	movb   $0x20,-0x104(%ebp)
408658:	eb 1f                	jmp    0x408679
40865a:	0f b6 51 01          	movzbl 0x1(%ecx),%edx
40865e:	0f b6 c0             	movzbl %al,%eax
408661:	eb 0d                	jmp    0x408670
408663:	3b c6                	cmp    %esi,%eax
408665:	73 0d                	jae    0x408674
408667:	c6 84 05 fc fe ff ff 	movb   $0x20,-0x104(%ebp,%eax,1)
40866e:	20
40866f:	40                   	inc    %eax
408670:	3b c2                	cmp    %edx,%eax
408672:	76 ef                	jbe    0x408663
408674:	83 c1 02             	add    $0x2,%ecx
408677:	8a 01                	mov    (%ecx),%al
408679:	84 c0                	test   %al,%al
40867b:	75 dd                	jne    0x40865a
40867d:	53                   	push   %ebx
40867e:	ff 77 04             	push   0x4(%edi)
408681:	8d 85 fc f8 ff ff    	lea    -0x704(%ebp),%eax
408687:	50                   	push   %eax
408688:	56                   	push   %esi
408689:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
40868f:	50                   	push   %eax
408690:	6a 01                	push   $0x1
408692:	53                   	push   %ebx
408693:	e8 3c 10 00 00       	call   0x4096d4
408698:	53                   	push   %ebx
408699:	ff 77 04             	push   0x4(%edi)
40869c:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
4086a2:	56                   	push   %esi
4086a3:	50                   	push   %eax
4086a4:	56                   	push   %esi
4086a5:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
4086ab:	50                   	push   %eax
4086ac:	56                   	push   %esi
4086ad:	ff b7 1c 02 00 00    	push   0x21c(%edi)
4086b3:	53                   	push   %ebx
4086b4:	e8 ea 2f 00 00       	call   0x40b6a3
4086b9:	83 c4 40             	add    $0x40,%esp
4086bc:	8d 85 fc fc ff ff    	lea    -0x304(%ebp),%eax
4086c2:	53                   	push   %ebx
4086c3:	ff 77 04             	push   0x4(%edi)
4086c6:	56                   	push   %esi
4086c7:	50                   	push   %eax
4086c8:	56                   	push   %esi
4086c9:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
4086cf:	50                   	push   %eax
4086d0:	68 00 02 00 00       	push   $0x200
4086d5:	ff b7 1c 02 00 00    	push   0x21c(%edi)
4086db:	53                   	push   %ebx
4086dc:	e8 c2 2f 00 00       	call   0x40b6a3
4086e1:	83 c4 24             	add    $0x24,%esp
4086e4:	8d 47 19             	lea    0x19(%edi),%eax
4086e7:	8b cb                	mov    %ebx,%ecx
4086e9:	0f b7 94 4d fc f8 ff 	movzwl -0x704(%ebp,%ecx,2),%edx
4086f0:	ff
4086f1:	f6 c2 01             	test   $0x1,%dl
4086f4:	74 0c                	je     0x408702
4086f6:	80 08 10             	orb    $0x10,(%eax)
4086f9:	8a 94 0d fc fd ff ff 	mov    -0x204(%ebp,%ecx,1),%dl
408700:	eb 13                	jmp    0x408715
408702:	f6 c2 02             	test   $0x2,%dl
408705:	74 0c                	je     0x408713
408707:	80 08 20             	orb    $0x20,(%eax)
40870a:	8a 94 0d fc fc ff ff 	mov    -0x304(%ebp,%ecx,1),%dl
408711:	eb 02                	jmp    0x408715
408713:	8a d3                	mov    %bl,%dl
408715:	41                   	inc    %ecx
408716:	88 90 00 01 00 00    	mov    %dl,0x100(%eax)
40871c:	40                   	inc    %eax
40871d:	83 ee 01             	sub    $0x1,%esi
408720:	75 c7                	jne    0x4086e9
408722:	eb 62                	jmp    0x408786
408724:	6a a6                	push   $0xffffffa6
408726:	58                   	pop    %eax
408727:	6a 86                	push   $0xffffff86
408729:	5a                   	pop    %edx
40872a:	2b d7                	sub    %edi,%edx
40872c:	8d 4f 19             	lea    0x19(%edi),%ecx
40872f:	89 95 e4 f8 ff ff    	mov    %edx,-0x71c(%ebp)
408735:	2b c7                	sub    %edi,%eax
408737:	6a e7                	push   $0xffffffe7
408739:	5a                   	pop    %edx
40873a:	2b d7                	sub    %edi,%edx
40873c:	89 85 e0 f8 ff ff    	mov    %eax,-0x720(%ebp)
408742:	8b bd e4 f8 ff ff    	mov    -0x71c(%ebp),%edi
408748:	33 db                	xor    %ebx,%ebx
40874a:	be 00 01 00 00       	mov    $0x100,%esi
40874f:	03 c1                	add    %ecx,%eax
408751:	83 f8 19             	cmp    $0x19,%eax
408754:	77 08                	ja     0x40875e
408756:	80 09 10             	orb    $0x10,(%ecx)
408759:	8d 41 20             	lea    0x20(%ecx),%eax
40875c:	eb 0e                	jmp    0x40876c
40875e:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
408761:	83 f8 19             	cmp    $0x19,%eax
408764:	77 0a                	ja     0x408770
408766:	80 09 20             	orb    $0x20,(%ecx)
408769:	8d 41 e0             	lea    -0x20(%ecx),%eax