409353:	8b c1                	mov    %ecx,%eax
409355:	5d                   	pop    %ebp
409356:	c2 04 00             	ret    $0x4
409359:	e8 0c fe ff ff       	call   0x40916a
40935e:	cc                   	int3
40935f:	8b ff                	mov    %edi,%edi
409361:	55                   	push   %ebp
409362:	8b ec                	mov    %esp,%ebp
409364:	51                   	push   %ecx
409365:	56                   	push   %esi
409366:	8b f1                	mov    %ecx,%esi
409368:	8b 4d 08             	mov    0x8(%ebp),%ecx
40936b:	57                   	push   %edi
40936c:	8b 7e 10             	mov    0x10(%esi),%edi
40936f:	3b f9                	cmp    %ecx,%edi
409371:	72 6d                	jb     0x4093e0
409373:	8b 55 0c             	mov    0xc(%ebp),%edx
409376:	8b c7                	mov    %edi,%eax
409378:	2b c1                	sub    %ecx,%eax
40937a:	3b c2                	cmp    %edx,%eax
40937c:	77 15                	ja     0x409393
40937e:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
409382:	89 4e 10             	mov    %ecx,0x10(%esi)
409385:	72 04                	jb     0x40938b
409387:	8b 06                	mov    (%esi),%eax
409389:	eb 02                	jmp    0x40938d
40938b:	8b c6                	mov    %esi,%eax
40938d:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
409391:	eb 45                	jmp    0x4093d8
409393:	85 d2                	test   %edx,%edx
409395:	74 41                	je     0x4093d8
409397:	8b 46 14             	mov    0x14(%esi),%eax
40939a:	53                   	push   %ebx
40939b:	83 f8 10             	cmp    $0x10,%eax
40939e:	72 04                	jb     0x4093a4
4093a0:	8b 1e                	mov    (%esi),%ebx
4093a2:	eb 02                	jmp    0x4093a6
4093a4:	8b de                	mov    %esi,%ebx
4093a6:	2b fa                	sub    %edx,%edi
4093a8:	03 d9                	add    %ecx,%ebx
4093aa:	89 7d fc             	mov    %edi,-0x4(%ebp)
4093ad:	29 4d fc             	sub    %ecx,-0x4(%ebp)
4093b0:	74 13                	je     0x4093c5
4093b2:	ff 75 fc             	push   -0x4(%ebp)
4093b5:	8d 04 13             	lea    (%ebx,%edx,1),%eax
4093b8:	50                   	push   %eax
4093b9:	53                   	push   %ebx
4093ba:	e8 ed 0a 00 00       	call   0x409eac
4093bf:	8b 46 14             	mov    0x14(%esi),%eax
4093c2:	83 c4 0c             	add    $0xc,%esp
4093c5:	89 7e 10             	mov    %edi,0x10(%esi)
4093c8:	5b                   	pop    %ebx
4093c9:	83 f8 10             	cmp    $0x10,%eax
4093cc:	72 04                	jb     0x4093d2
4093ce:	8b 06                	mov    (%esi),%eax
4093d0:	eb 02                	jmp    0x4093d4
4093d2:	8b c6                	mov    %esi,%eax
4093d4:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
4093d8:	5f                   	pop    %edi
4093d9:	8b c6                	mov    %esi,%eax
4093db:	5e                   	pop    %esi
4093dc:	c9                   	leave
4093dd:	c2 08 00             	ret    $0x8
4093e0:	8b ce                	mov    %esi,%ecx
4093e2:	e8 83 fd ff ff       	call   0x40916a
4093e7:	cc                   	int3
4093e8:	8b ff                	mov    %edi,%edi
4093ea:	55                   	push   %ebp
4093eb:	8b ec                	mov    %esp,%ebp
4093ed:	8b 45 08             	mov    0x8(%ebp),%eax
4093f0:	80 38 00             	cmpb   $0x0,(%eax)
4093f3:	75 04                	jne    0x4093f9
4093f5:	33 c0                	xor    %eax,%eax
4093f7:	5d                   	pop    %ebp
4093f8:	c3                   	ret
4093f9:	8d 50 01             	lea    0x1(%eax),%edx
4093fc:	8a 08                	mov    (%eax),%cl
4093fe:	40                   	inc    %eax
4093ff:	84 c9                	test   %cl,%cl
409401:	75 f9                	jne    0x4093fc
409403:	2b c2                	sub    %edx,%eax
409405:	5d                   	pop    %ebp
409406:	c3                   	ret
409407:	cc                   	int3
409408:	cc                   	int3
409409:	cc                   	int3
40940a:	cc                   	int3
40940b:	cc                   	int3
40940c:	cc                   	int3
40940d:	cc                   	int3
40940e:	cc                   	int3
40940f:	cc                   	int3
409410:	8b ff                	mov    %edi,%edi
409412:	55                   	push   %ebp
409413:	8b ec                	mov    %esp,%ebp
409415:	ff 75 0c             	push   0xc(%ebp)
409418:	e8 a9 00 00 00       	call   0x4094c6
40941d:	59                   	pop    %ecx
40941e:	85 c0                	test   %eax,%eax
409420:	75 05                	jne    0x409427
409422:	b8 08 1a 40 00       	mov    $0x401a08,%eax
409427:	8b 4d 08             	mov    0x8(%ebp),%ecx
40942a:	50                   	push   %eax
40942b:	e8 6c f9 ff ff       	call   0x408d9c
409430:	8b 45 08             	mov    0x8(%ebp),%eax
409433:	5d                   	pop    %ebp
409434:	c2 08 00             	ret    $0x8
409437:	cc                   	int3
409438:	cc                   	int3
409439:	cc                   	int3
40943a:	cc                   	int3
40943b:	cc                   	int3
40943c:	cc                   	int3
40943d:	cc                   	int3
40943e:	cc                   	int3
40943f:	cc                   	int3
409440:	8b ff                	mov    %edi,%edi
409442:	55                   	push   %ebp
409443:	8b ec                	mov    %esp,%ebp
409445:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
409449:	75 0f                	jne    0x40945a
40944b:	8b 4d 08             	mov    0x8(%ebp),%ecx
40944e:	68 24 1a 40 00       	push   $0x401a24
409453:	e8 44 f9 ff ff       	call   0x408d9c
409458:	eb 0b                	jmp    0x409465
40945a:	ff 75 0c             	push   0xc(%ebp)
40945d:	ff 75 08             	push   0x8(%ebp)
409460:	e8 ab ff ff ff       	call   0x409410
409465:	8b 45 08             	mov    0x8(%ebp),%eax
409468:	5d                   	pop    %ebp
409469:	c2 08 00             	ret    $0x8
40946c:	cc                   	int3
40946d:	cc                   	int3
40946e:	cc                   	int3
40946f:	cc                   	int3
409470:	8b ff                	mov    %edi,%edi
409472:	55                   	push   %ebp
409473:	8b ec                	mov    %esp,%ebp
409475:	ff 75 0c             	push   0xc(%ebp)
409478:	e8 75 00 00 00       	call   0x4094f2
40947d:	59                   	pop    %ecx
40947e:	85 c0                	test   %eax,%eax
409480:	75 05                	jne    0x409487
409482:	b8 08 1a 40 00       	mov    $0x401a08,%eax
409487:	8b 4d 08             	mov    0x8(%ebp),%ecx
40948a:	50                   	push   %eax
40948b:	e8 0c f9 ff ff       	call   0x408d9c
409490:	8b 45 08             	mov    0x8(%ebp),%eax
409493:	5d                   	pop    %ebp
409494:	c2 08 00             	ret    $0x8
409497:	cc                   	int3
409498:	cc                   	int3
409499:	cc                   	int3
40949a:	cc                   	int3
40949b:	cc                   	int3
40949c:	cc                   	int3
40949d:	cc                   	int3
40949e:	cc                   	int3
40949f:	cc                   	int3
4094a0:	b8 00 1a 40 00       	mov    $0x401a00,%eax
4094a5:	c3                   	ret
4094a6:	cc                   	int3
4094a7:	cc                   	int3
4094a8:	cc                   	int3
4094a9:	cc                   	int3
4094aa:	cc                   	int3
4094ab:	cc                   	int3
4094ac:	cc                   	int3
4094ad:	cc                   	int3
4094ae:	cc                   	int3
4094af:	cc                   	int3
4094b0:	b8 18 1a 40 00       	mov    $0x401a18,%eax
4094b5:	c3                   	ret
4094b6:	cc                   	int3
4094b7:	cc                   	int3
4094b8:	cc                   	int3
4094b9:	cc                   	int3
4094ba:	cc                   	int3
4094bb:	cc                   	int3
4094bc:	cc                   	int3
4094bd:	cc                   	int3
4094be:	cc                   	int3
4094bf:	cc                   	int3
4094c0:	b8 3c 1a 40 00       	mov    $0x401a3c,%eax
4094c5:	c3                   	ret
4094c6:	8b ff                	mov    %edi,%edi
4094c8:	55                   	push   %ebp
4094c9:	8b ec                	mov    %esp,%ebp
4094cb:	83 3d cc 12 40 00 00 	cmpl   $0x0,0x4012cc
4094d2:	b8 c8 12 40 00       	mov    $0x4012c8,%eax
4094d7:	74 10                	je     0x4094e9
4094d9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4094dc:	39 08                	cmp    %ecx,(%eax)
4094de:	74 0d                	je     0x4094ed
4094e0:	83 c0 08             	add    $0x8,%eax
4094e3:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4094e7:	75 f3                	jne    0x4094dc
4094e9:	33 c0                	xor    %eax,%eax
4094eb:	5d                   	pop    %ebp
4094ec:	c3                   	ret
4094ed:	8b 40 04             	mov    0x4(%eax),%eax
4094f0:	5d                   	pop    %ebp
4094f1:	c3                   	ret
4094f2:	8b ff                	mov    %edi,%edi
4094f4:	55                   	push   %ebp
4094f5:	8b ec                	mov    %esp,%ebp
4094f7:	83 3d 74 10 40 00 00 	cmpl   $0x0,0x401074
4094fe:	b8 70 10 40 00       	mov    $0x401070,%eax
409503:	74 10                	je     0x409515
409505:	8b 4d 08             	mov    0x8(%ebp),%ecx
409508:	39 08                	cmp    %ecx,(%eax)
40950a:	74 0d                	je     0x409519
40950c:	83 c0 08             	add    $0x8,%eax
40950f:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
409513:	75 f3                	jne    0x409508
409515:	33 c0                	xor    %eax,%eax
409517:	5d                   	pop    %ebp
409518:	c3                   	ret
409519:	8b 40 04             	mov    0x4(%eax),%eax
40951c:	5d                   	pop    %ebp
40951d:	c3                   	ret
40951e:	cc                   	int3
40951f:	cc                   	int3
409520:	e8 aa 02 00 00       	call   0x4097cf
409525:	6a 02                	push   $0x2
409527:	a3 64 c2 40 00       	mov    %eax,0x40c264
40952c:	e8 77 0a 00 00       	call   0x409fa8
409531:	50                   	push   %eax
409532:	ff 15 a8 f1 40 00    	call   *0x40f1a8
409538:	83 0d 28 ee 40 00 ff 	orl    $0xffffffff,0x40ee28
40953f:	83 0d 2c ee 40 00 ff 	orl    $0xffffffff,0x40ee2c
409546:	59                   	pop    %ecx
409547:	59                   	pop    %ecx
409548:	ff 15 a4 f1 40 00    	call   *0x40f1a4
40954e:	8b 0d 98 c5 40 00    	mov    0x40c598,%ecx
409554:	89 08                	mov    %ecx,(%eax)
409556:	ff 15 b4 f1 40 00    	call   *0x40f1b4
40955c:	8b 0d 8c c5 40 00    	mov    0x40c58c,%ecx
409562:	89 08                	mov    %ecx,(%eax)
409564:	e8 27 a9 ff ff       	call   0x403e90
409569:	83 3d e0 c1 40 00 00 	cmpl   $0x0,0x40c1e0
409570:	75 0c                	jne    0x40957e
409572:	68 90 3e 40 00       	push   $0x403e90
409577:	ff 15 7c f1 40 00    	call   *0x40f17c
40957d:	59                   	pop    %ecx
40957e:	e8 4a 0c 00 00       	call   0x40a1cd
409583:	33 c0                	xor    %eax,%eax
409585:	c3                   	ret
409586:	cc                   	int3
409587:	cc                   	int3
409588:	cc                   	int3
409589:	cc                   	int3
40958a:	cc                   	int3
40958b:	cc                   	int3
40958c:	cc                   	int3
40958d:	cc                   	int3
40958e:	cc                   	int3
40958f:	cc                   	int3
409590:	a1 94 c5 40 00       	mov    0x40c594,%eax
409595:	68 68 c2 40 00       	push   $0x40c268
40959a:	ff 35 90 c5 40 00    	push   0x40c590
4095a0:	a3 68 c2 40 00       	mov    %eax,0x40c268
4095a5:	68 5c c2 40 00       	push   $0x40c25c
4095aa:	68 58 c2 40 00       	push   $0x40c258
4095af:	68 54 c2 40 00       	push   $0x40c254
4095b4:	ff 15 ac f1 40 00    	call   *0x40f1ac
4095ba:	83 c4 14             	add    $0x14,%esp
4095bd:	a3 60 c2 40 00       	mov    %eax,0x40c260
4095c2:	c3                   	ret
4095c3:	6a 58                	push   $0x58
4095c5:	68 70 ae 40 00       	push   $0x40ae70
4095ca:	e8 19 0c 00 00       	call   0x40a1e8
4095cf:	33 db                	xor    %ebx,%ebx
4095d1:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4095d4:	8d 45 98             	lea    -0x68(%ebp),%eax
4095d7:	50                   	push   %eax
4095d8:	ff 15 4c f1 40 00    	call   *0x40f14c
4095de:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4095e1:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
4095e7:	8b 70 04             	mov    0x4(%eax),%esi
4095ea:	8b fb                	mov    %ebx,%edi
4095ec:	ba 20 ee 40 00       	mov    $0x40ee20,%edx
4095f1:	8b ce                	mov    %esi,%ecx
4095f3:	33 c0                	xor    %eax,%eax
4095f5:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
4095f9:	85 c0                	test   %eax,%eax
4095fb:	74 18                	je     0x409615
4095fd:	3b c6                	cmp    %esi,%eax
4095ff:	75 07                	jne    0x409608
409601:	33 f6                	xor    %esi,%esi
409603:	46                   	inc    %esi
409604:	8b fe                	mov    %esi,%edi
409606:	eb 10                	jmp    0x409618
409608:	68 e8 03 00 00       	push   $0x3e8
40960d:	ff 15 58 f0 40 00    	call   *0x40f058
409613:	eb d7                	jmp    0x4095ec
409615:	33 f6                	xor    %esi,%esi
409617:	46                   	inc    %esi
409618:	39 35 24 ee 40 00    	cmp    %esi,0x40ee24
40961e:	75 0a                	jne    0x40962a
409620:	6a 1f                	push   $0x1f
409622:	e8 b7 09 00 00       	call   0x409fde
409627:	59                   	pop    %ecx
409628:	eb 3a                	jmp    0x409664
40962a:	39 1d 24 ee 40 00    	cmp    %ebx,0x40ee24
409630:	75 2c                	jne    0x40965e
409632:	89 35 24 ee 40 00    	mov    %esi,0x40ee24
409638:	68 64 18 40 00       	push   $0x401864
40963d:	68 58 18 40 00       	push   $0x401858
409642:	e8 57 01 00 00       	call   0x40979e
409647:	59                   	pop    %ecx
409648:	59                   	pop    %ecx
409649:	85 c0                	test   %eax,%eax
40964b:	74 17                	je     0x409664
40964d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409654:	b8 ff 00 00 00       	mov    $0xff,%eax
409659:	e9 30 01 00 00       	jmp    0x40978e
40965e:	89 35 50 c2 40 00    	mov    %esi,0x40c250
409664:	39 35 24 ee 40 00    	cmp    %esi,0x40ee24
40966a:	75 1b                	jne    0x409687
40966c:	68 54 18 40 00       	push   $0x401854
409671:	68 2c 18 40 00       	push   $0x40182c
409676:	e8 65 0b 00 00       	call   0x40a1e0
40967b:	59                   	pop    %ecx
40967c:	59                   	pop    %ecx
40967d:	c7 05 24 ee 40 00 02 	movl   $0x2,0x40ee24
409684:	00 00 00
409687:	85 ff                	test   %edi,%edi
409689:	75 09                	jne    0x409694
40968b:	33 c0                	xor    %eax,%eax
40968d:	b9 20 ee 40 00       	mov    $0x40ee20,%ecx
409692:	87 01                	xchg   %eax,(%ecx)
409694:	83 3d 30 ee 40 00 00 	cmpl   $0x0,0x40ee30
40969b:	74 23                	je     0x4096c0
40969d:	68 30 ee 40 00       	push   $0x40ee30
4096a2:	e8 99 09 00 00       	call   0x40a040
4096a7:	59                   	pop    %ecx
4096a8:	85 c0                	test   %eax,%eax
4096aa:	74 14                	je     0x4096c0
4096ac:	53                   	push   %ebx
4096ad:	6a 02                	push   $0x2
4096af:	53                   	push   %ebx
4096b0:	8b 35 30 ee 40 00    	mov    0x40ee30,%esi
4096b6:	8b ce                	mov    %esi,%ecx
4096b8:	ff 15 20 f2 40 00    	call   *0x40f220
4096be:	ff d6                	call   *%esi
4096c0:	a1 a0 f1 40 00       	mov    0x40f1a0,%eax
4096c5:	8b 08                	mov    (%eax),%ecx
4096c7:	85 c9                	test   %ecx,%ecx
4096c9:	74 82                	je     0x40964d