4082b2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4082b5:	59                   	pop    %ecx
4082b6:	89 46 04             	mov    %eax,0x4(%esi)
4082b9:	83 c8 ff             	or     $0xffffffff,%eax
4082bc:	5f                   	pop    %edi
4082bd:	5b                   	pop    %ebx
4082be:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4082c1:	33 cd                	xor    %ebp,%ecx
4082c3:	5e                   	pop    %esi
4082c4:	e8 8d ac ff ff       	call   0x402f56
4082c9:	8b e5                	mov    %ebp,%esp
4082cb:	5d                   	pop    %ebp
4082cc:	c3                   	ret
4082cd:	8b ff                	mov    %edi,%edi
4082cf:	55                   	push   %ebp
4082d0:	8b ec                	mov    %esp,%ebp
4082d2:	33 c0                	xor    %eax,%eax
4082d4:	81 7d 08 63 73 6d e0 	cmpl   $0xe06d7363,0x8(%ebp)
4082db:	0f 94 c0             	sete   %al
4082de:	5d                   	pop    %ebp
4082df:	c3                   	ret
4082e0:	6a 0c                	push   $0xc
4082e2:	68 d8 1b 42 00       	push   $0x421bd8
4082e7:	e8 f4 ff 00 00       	call   0x4182e0
4082ec:	8b 75 10             	mov    0x10(%ebp),%esi
4082ef:	85 f6                	test   %esi,%esi
4082f1:	75 12                	jne    0x408305
4082f3:	e8 b4 b7 ff ff       	call   0x403aac
4082f8:	84 c0                	test   %al,%al
4082fa:	74 09                	je     0x408305
4082fc:	ff 75 08             	push   0x8(%ebp)
4082ff:	e8 36 01 00 00       	call   0x40843a
408304:	59                   	pop    %ecx
408305:	6a 02                	push   $0x2
408307:	e8 99 6b 00 00       	call   0x40eea5
40830c:	59                   	pop    %ecx
40830d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408311:	80 3d 38 3f 42 00 00 	cmpb   $0x0,0x423f38
408318:	0f 85 99 00 00 00    	jne    0x4083b7
40831e:	33 c0                	xor    %eax,%eax
408320:	40                   	inc    %eax
408321:	b9 30 3f 42 00       	mov    $0x423f30,%ecx
408326:	87 01                	xchg   %eax,(%ecx)
408328:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40832f:	8b 7d 0c             	mov    0xc(%ebp),%edi
408332:	85 ff                	test   %edi,%edi
408334:	75 3c                	jne    0x408372
408336:	8b 1d 0c 30 42 00    	mov    0x42300c,%ebx
40833c:	8b d3                	mov    %ebx,%edx
40833e:	83 e2 1f             	and    $0x1f,%edx
408341:	6a 20                	push   $0x20
408343:	59                   	pop    %ecx
408344:	2b ca                	sub    %edx,%ecx
408346:	33 c0                	xor    %eax,%eax
408348:	d3 c8                	ror    %cl,%eax
40834a:	33 c3                	xor    %ebx,%eax
40834c:	8b 0d 34 3f 42 00    	mov    0x423f34,%ecx
408352:	3b c8                	cmp    %eax,%ecx
408354:	74 15                	je     0x40836b
408356:	33 d9                	xor    %ecx,%ebx
408358:	33 c0                	xor    %eax,%eax
40835a:	50                   	push   %eax
40835b:	50                   	push   %eax
40835c:	50                   	push   %eax
40835d:	8b ca                	mov    %edx,%ecx
40835f:	d3 cb                	ror    %cl,%ebx
408361:	8b cb                	mov    %ebx,%ecx
408363:	ff 15 a8 b1 41 00    	call   *0x41b1a8
408369:	ff d3                	call   *%ebx
40836b:	68 5c 41 42 00       	push   $0x42415c
408370:	eb 0a                	jmp    0x40837c
408372:	83 ff 01             	cmp    $0x1,%edi
408375:	75 0b                	jne    0x408382
408377:	68 68 41 42 00       	push   $0x424168
40837c:	e8 ef 0c 00 00       	call   0x409070
408381:	59                   	pop    %ecx
408382:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408386:	85 ff                	test   %edi,%edi
408388:	75 11                	jne    0x40839b
40838a:	68 08 b2 41 00       	push   $0x41b208
40838f:	68 f8 b1 41 00       	push   $0x41b1f8
408394:	e8 e1 0f 00 00       	call   0x40937a
408399:	59                   	pop    %ecx
40839a:	59                   	pop    %ecx
40839b:	68 10 b2 41 00       	push   $0x41b210
4083a0:	68 0c b2 41 00       	push   $0x41b20c
4083a5:	e8 d0 0f 00 00       	call   0x40937a
4083aa:	59                   	pop    %ecx
4083ab:	59                   	pop    %ecx
4083ac:	85 f6                	test   %esi,%esi
4083ae:	75 07                	jne    0x4083b7
4083b0:	c6 05 38 3f 42 00 01 	movb   $0x1,0x423f38
4083b7:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4083be:	e8 27 00 00 00       	call   0x4083ea
4083c3:	85 f6                	test   %esi,%esi
4083c5:	75 2c                	jne    0x4083f3
4083c7:	ff 75 08             	push   0x8(%ebp)
4083ca:	e8 2a 00 00 00       	call   0x4083f9
4083cf:	8b 45 ec             	mov    -0x14(%ebp),%eax
4083d2:	8b 00                	mov    (%eax),%eax
4083d4:	ff 30                	push   (%eax)
4083d6:	e8 f2 fe ff ff       	call   0x4082cd
4083db:	83 c4 04             	add    $0x4,%esp
4083de:	c3                   	ret
4083df:	8b 65 e8             	mov    -0x18(%ebp),%esp
4083e2:	e8 8d 12 00 00       	call   0x409674
4083e7:	8b 75 10             	mov    0x10(%ebp),%esi
4083ea:	6a 02                	push   $0x2
4083ec:	e8 fc 6a 00 00       	call   0x40eeed
4083f1:	59                   	pop    %ecx
4083f2:	c3                   	ret
4083f3:	e8 31 ff 00 00       	call   0x418329
4083f8:	c3                   	ret
4083f9:	8b ff                	mov    %edi,%edi
4083fb:	55                   	push   %ebp
4083fc:	8b ec                	mov    %esp,%ebp
4083fe:	e8 b1 3d 00 00       	call   0x40c1b4
408403:	84 c0                	test   %al,%al
408405:	74 20                	je     0x408427
408407:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
40840d:	8b 40 68             	mov    0x68(%eax),%eax
408410:	c1 e8 08             	shr    $0x8,%eax
408413:	a8 01                	test   $0x1,%al
408415:	75 10                	jne    0x408427
408417:	ff 75 08             	push   0x8(%ebp)
40841a:	ff 15 b4 b0 41 00    	call   *0x41b0b4
408420:	50                   	push   %eax
408421:	ff 15 b8 b0 41 00    	call   *0x41b0b8
408427:	ff 75 08             	push   0x8(%ebp)
40842a:	e8 0b 00 00 00       	call   0x40843a
40842f:	59                   	pop    %ecx
408430:	ff 75 08             	push   0x8(%ebp)
408433:	ff 15 28 b1 41 00    	call   *0x41b128
408439:	cc                   	int3
40843a:	8b ff                	mov    %edi,%edi
40843c:	55                   	push   %ebp
40843d:	8b ec                	mov    %esp,%ebp
40843f:	51                   	push   %ecx
408440:	51                   	push   %ecx
408441:	a1 0c 30 42 00       	mov    0x42300c,%eax
408446:	33 c5                	xor    %ebp,%eax
408448:	89 45 fc             	mov    %eax,-0x4(%ebp)
40844b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40844f:	8d 45 f8             	lea    -0x8(%ebp),%eax
408452:	50                   	push   %eax
408453:	68 34 bf 41 00       	push   $0x41bf34
408458:	6a 00                	push   $0x0
40845a:	ff 15 24 b1 41 00    	call   *0x41b124
408460:	85 c0                	test   %eax,%eax
408462:	74 23                	je     0x408487
408464:	56                   	push   %esi
408465:	68 4c bf 41 00       	push   $0x41bf4c
40846a:	ff 75 f8             	push   -0x8(%ebp)
40846d:	ff 15 68 b0 41 00    	call   *0x41b068
408473:	8b f0                	mov    %eax,%esi
408475:	85 f6                	test   %esi,%esi
408477:	74 0d                	je     0x408486
408479:	ff 75 08             	push   0x8(%ebp)
40847c:	8b ce                	mov    %esi,%ecx
40847e:	ff 15 a8 b1 41 00    	call   *0x41b1a8
408484:	ff d6                	call   *%esi
408486:	5e                   	pop    %esi
408487:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40848b:	74 09                	je     0x408496
40848d:	ff 75 f8             	push   -0x8(%ebp)
408490:	ff 15 04 b1 41 00    	call   *0x41b104
408496:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408499:	33 cd                	xor    %ebp,%ecx
40849b:	e8 b6 aa ff ff       	call   0x402f56
4084a0:	8b e5                	mov    %ebp,%esp
4084a2:	5d                   	pop    %ebp
4084a3:	c3                   	ret
4084a4:	8b ff                	mov    %edi,%edi
4084a6:	55                   	push   %ebp
4084a7:	8b ec                	mov    %esp,%ebp
4084a9:	8b 45 08             	mov    0x8(%ebp),%eax
4084ac:	a3 34 3f 42 00       	mov    %eax,0x423f34
4084b1:	5d                   	pop    %ebp
4084b2:	c3                   	ret
4084b3:	6a 01                	push   $0x1
4084b5:	6a 02                	push   $0x2
4084b7:	6a 00                	push   $0x0
4084b9:	e8 22 fe ff ff       	call   0x4082e0
4084be:	83 c4 0c             	add    $0xc,%esp
4084c1:	c3                   	ret
4084c2:	6a 01                	push   $0x1
4084c4:	6a 00                	push   $0x0
4084c6:	6a 00                	push   $0x0
4084c8:	e8 13 fe ff ff       	call   0x4082e0
4084cd:	83 c4 0c             	add    $0xc,%esp
4084d0:	c3                   	ret
4084d1:	8b ff                	mov    %edi,%edi
4084d3:	55                   	push   %ebp
4084d4:	8b ec                	mov    %esp,%ebp
4084d6:	6a 00                	push   $0x0
4084d8:	6a 02                	push   $0x2
4084da:	ff 75 08             	push   0x8(%ebp)
4084dd:	e8 fe fd ff ff       	call   0x4082e0
4084e2:	83 c4 0c             	add    $0xc,%esp
4084e5:	5d                   	pop    %ebp
4084e6:	c3                   	ret
4084e7:	8b ff                	mov    %edi,%edi
4084e9:	55                   	push   %ebp
4084ea:	8b ec                	mov    %esp,%ebp
4084ec:	a1 0c 30 42 00       	mov    0x42300c,%eax
4084f1:	83 e0 1f             	and    $0x1f,%eax
4084f4:	6a 20                	push   $0x20
4084f6:	59                   	pop    %ecx
4084f7:	2b c8                	sub    %eax,%ecx
4084f9:	33 c0                	xor    %eax,%eax
4084fb:	d3 c8                	ror    %cl,%eax
4084fd:	33 05 0c 30 42 00    	xor    0x42300c,%eax
408503:	39 05 34 3f 42 00    	cmp    %eax,0x423f34
408509:	0f 85 65 11 00 00    	jne    0x409674
40850f:	ff 75 08             	push   0x8(%ebp)
408512:	e8 b9 0d 00 00       	call   0x4092d0
408517:	59                   	pop    %ecx
408518:	a3 34 3f 42 00       	mov    %eax,0x423f34
40851d:	5d                   	pop    %ebp
40851e:	c3                   	ret
40851f:	8b ff                	mov    %edi,%edi
408521:	55                   	push   %ebp
408522:	8b ec                	mov    %esp,%ebp
408524:	6a 00                	push   $0x0
408526:	6a 00                	push   $0x0
408528:	ff 75 08             	push   0x8(%ebp)
40852b:	e8 b0 fd ff ff       	call   0x4082e0
408530:	83 c4 0c             	add    $0xc,%esp
408533:	5d                   	pop    %ebp
408534:	c3                   	ret
408535:	8b ff                	mov    %edi,%edi
408537:	55                   	push   %ebp
408538:	8b ec                	mov    %esp,%ebp
40853a:	83 ec 0c             	sub    $0xc,%esp
40853d:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
408541:	56                   	push   %esi
408542:	74 1c                	je     0x408560
408544:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
408548:	74 16                	je     0x408560
40854a:	e8 b8 f7 ff ff       	call   0x407d07
40854f:	6a 16                	push   $0x16
408551:	5e                   	pop    %esi
408552:	89 30                	mov    %esi,(%eax)
408554:	e8 d5 f6 ff ff       	call   0x407c2e
408559:	8b c6                	mov    %esi,%eax
40855b:	e9 ef 00 00 00       	jmp    0x40864f
408560:	53                   	push   %ebx
408561:	57                   	push   %edi
408562:	68 04 01 00 00       	push   $0x104
408567:	be 40 3f 42 00       	mov    $0x423f40,%esi
40856c:	33 ff                	xor    %edi,%edi
40856e:	56                   	push   %esi
40856f:	57                   	push   %edi
408570:	ff 15 30 b0 41 00    	call   *0x41b030
408576:	8b 1d 90 41 42 00    	mov    0x424190,%ebx
40857c:	89 35 94 41 42 00    	mov    %esi,0x424194
408582:	85 db                	test   %ebx,%ebx
408584:	74 05                	je     0x40858b
408586:	66 39 3b             	cmp    %di,(%ebx)
408589:	75 02                	jne    0x40858d
40858b:	8b de                	mov    %esi,%ebx
40858d:	8d 45 f4             	lea    -0xc(%ebp),%eax
408590:	89 7d fc             	mov    %edi,-0x4(%ebp)
408593:	50                   	push   %eax
408594:	8d 45 fc             	lea    -0x4(%ebp),%eax
408597:	89 7d f4             	mov    %edi,-0xc(%ebp)
40859a:	50                   	push   %eax
40859b:	57                   	push   %edi
40859c:	57                   	push   %edi
40859d:	53                   	push   %ebx
40859e:	e8 b1 00 00 00       	call   0x408654
4085a3:	6a 02                	push   $0x2
4085a5:	ff 75 f4             	push   -0xc(%ebp)
4085a8:	ff 75 fc             	push   -0x4(%ebp)
4085ab:	e8 2a 02 00 00       	call   0x4087da
4085b0:	8b f0                	mov    %eax,%esi
4085b2:	83 c4 20             	add    $0x20,%esp
4085b5:	85 f6                	test   %esi,%esi
4085b7:	75 0c                	jne    0x4085c5
4085b9:	e8 49 f7 ff ff       	call   0x407d07
4085be:	6a 0c                	push   $0xc
4085c0:	5f                   	pop    %edi
4085c1:	89 38                	mov    %edi,(%eax)
4085c3:	eb 31                	jmp    0x4085f6
4085c5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4085c8:	50                   	push   %eax
4085c9:	8d 45 fc             	lea    -0x4(%ebp),%eax
4085cc:	50                   	push   %eax
4085cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4085d0:	8d 04 86             	lea    (%esi,%eax,4),%eax
4085d3:	50                   	push   %eax
4085d4:	56                   	push   %esi
4085d5:	53                   	push   %ebx
4085d6:	e8 79 00 00 00       	call   0x408654
4085db:	83 c4 14             	add    $0x14,%esp
4085de:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
4085e2:	75 16                	jne    0x4085fa
4085e4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4085e7:	48                   	dec    %eax
4085e8:	a3 80 41 42 00       	mov    %eax,0x424180
4085ed:	8b c6                	mov    %esi,%eax
4085ef:	8b f7                	mov    %edi,%esi
4085f1:	a3 88 41 42 00       	mov    %eax,0x424188
4085f6:	8b df                	mov    %edi,%ebx
4085f8:	eb 4a                	jmp    0x408644
4085fa:	8d 45 f8             	lea    -0x8(%ebp),%eax
4085fd:	89 7d f8             	mov    %edi,-0x8(%ebp)
408600:	50                   	push   %eax
408601:	56                   	push   %esi
408602:	e8 17 6e 00 00       	call   0x40f41e
408607:	8b d8                	mov    %eax,%ebx
408609:	59                   	pop    %ecx
40860a:	59                   	pop    %ecx
40860b:	85 db                	test   %ebx,%ebx
40860d:	74 05                	je     0x408614
40860f:	8b 45 f8             	mov    -0x8(%ebp),%eax
408612:	eb 26                	jmp    0x40863a
408614:	8b 55 f8             	mov    -0x8(%ebp),%edx
408617:	8b cf                	mov    %edi,%ecx
408619:	8b c2                	mov    %edx,%eax
40861b:	39 3a                	cmp    %edi,(%edx)
40861d:	74 08                	je     0x408627
40861f:	8d 40 04             	lea    0x4(%eax),%eax
408622:	41                   	inc    %ecx
408623:	39 38                	cmp    %edi,(%eax)
408625:	75 f8                	jne    0x40861f
408627:	8b c7                	mov    %edi,%eax
408629:	89 0d 80 41 42 00    	mov    %ecx,0x424180
40862f:	89 45 f8             	mov    %eax,-0x8(%ebp)
408632:	8b df                	mov    %edi,%ebx
408634:	89 15 88 41 42 00    	mov    %edx,0x424188
40863a:	50                   	push   %eax
40863b:	e8 e4 11 00 00       	call   0x409824
408640:	59                   	pop    %ecx
408641:	89 7d f8             	mov    %edi,-0x8(%ebp)
408644:	56                   	push   %esi
408645:	e8 da 11 00 00       	call   0x409824
40864a:	59                   	pop    %ecx
40864b:	5f                   	pop    %edi
40864c:	8b c3                	mov    %ebx,%eax
40864e:	5b                   	pop    %ebx
40864f:	5e                   	pop    %esi
408650:	8b e5                	mov    %ebp,%esp
408652:	5d                   	pop    %ebp
408653:	c3                   	ret
408654:	8b ff                	mov    %edi,%edi
408656:	55                   	push   %ebp
408657:	8b ec                	mov    %esp,%ebp
408659:	8b 45 14             	mov    0x14(%ebp),%eax
40865c:	83 ec 10             	sub    $0x10,%esp