41c479:	66 89 47 1c          	mov    %ax,0x1c(%edi)
41c47d:	43                   	inc    %ebx
41c47e:	4e                   	dec    %esi
41c47f:	75 c2                	jne    0x41c443
41c481:	5f                   	pop    %edi
41c482:	5e                   	pop    %esi
41c483:	5b                   	pop    %ebx
41c484:	59                   	pop    %ecx
41c485:	5d                   	pop    %ebp
41c486:	c3                   	ret
41c487:	90                   	nop
41c488:	55                   	push   %ebp
41c489:	8b ec                	mov    %esp,%ebp
41c48b:	8b 45 08             	mov    0x8(%ebp),%eax
41c48e:	f6 40 f7 01          	testb  $0x1,-0x9(%eax)
41c492:	75 09                	jne    0x41c49d
41c494:	8b 45 08             	mov    0x8(%ebp),%eax
41c497:	83 78 f0 00          	cmpl   $0x0,-0x10(%eax)
41c49b:	74 04                	je     0x41c4a1
41c49d:	33 c0                	xor    %eax,%eax
41c49f:	5d                   	pop    %ebp
41c4a0:	c3                   	ret
41c4a1:	b0 01                	mov    $0x1,%al
41c4a3:	5d                   	pop    %ebp
41c4a4:	c3                   	ret
41c4a5:	8d 40 00             	lea    0x0(%eax),%eax
41c4a8:	55                   	push   %ebp
41c4a9:	8b ec                	mov    %esp,%ebp
41c4ab:	53                   	push   %ebx
41c4ac:	56                   	push   %esi
41c4ad:	8b f0                	mov    %eax,%esi
41c4af:	33 db                	xor    %ebx,%ebx
41c4b1:	e8 ce 62 fe ff       	call   0x402784
41c4b6:	8b 15 e0 71 40 00    	mov    0x4071e0,%edx
41c4bc:	e8 8b 6f fe ff       	call   0x40344c
41c4c1:	84 c0                	test   %al,%al
41c4c3:	74 3b                	je     0x41c500
41c4c5:	8b 45 08             	mov    0x8(%ebp),%eax
41c4c8:	50                   	push   %eax
41c4c9:	e8 ba ff ff ff       	call   0x41c488
41c4ce:	59                   	pop    %ecx
41c4cf:	84 c0                	test   %al,%al
41c4d1:	74 07                	je     0x41c4da
41c4d3:	8b 06                	mov    (%esi),%eax
41c4d5:	e8 e6 6d fe ff       	call   0x4032c0
41c4da:	33 c0                	xor    %eax,%eax
41c4dc:	89 06                	mov    %eax,(%esi)
41c4de:	8b 45 08             	mov    0x8(%ebp),%eax
41c4e1:	8b 40 f8             	mov    -0x8(%eax),%eax
41c4e4:	33 d2                	xor    %edx,%edx
41c4e6:	e8 ed 19 00 00       	call   0x41ded8
41c4eb:	e8 94 62 fe ff       	call   0x402784
41c4f0:	8b 50 04             	mov    0x4(%eax),%edx
41c4f3:	8b 45 08             	mov    0x8(%ebp),%eax
41c4f6:	8b 40 f8             	mov    -0x8(%eax),%eax
41c4f9:	8b 08                	mov    (%eax),%ecx
41c4fb:	ff 51 10             	call   *0x10(%ecx)
41c4fe:	8b d8                	mov    %eax,%ebx
41c500:	8b c3                	mov    %ebx,%eax
41c502:	5e                   	pop    %esi
41c503:	5b                   	pop    %ebx
41c504:	5d                   	pop    %ebp
41c505:	c3                   	ret
41c506:	8b c0                	mov    %eax,%eax
41c508:	55                   	push   %ebp
41c509:	8b ec                	mov    %esp,%ebp
41c50b:	53                   	push   %ebx
41c50c:	56                   	push   %esi
41c50d:	57                   	push   %edi
41c50e:	33 c0                	xor    %eax,%eax
41c510:	55                   	push   %ebp
41c511:	68 ee c5 41 00       	push   $0x41c5ee
41c516:	64 ff 30             	push   %fs:(%eax)
41c519:	64 89 20             	mov    %esp,%fs:(%eax)
41c51c:	8b 45 08             	mov    0x8(%ebp),%eax
41c51f:	8b 50 e8             	mov    -0x18(%eax),%edx
41c522:	8b 45 08             	mov    0x8(%ebp),%eax
41c525:	8b 40 f8             	mov    -0x8(%eax),%eax
41c528:	e8 4b 1b 00 00       	call   0x41e078
41c52d:	8b d8                	mov    %eax,%ebx
41c52f:	8b 45 08             	mov    0x8(%ebp),%eax
41c532:	33 d2                	xor    %edx,%edx
41c534:	89 50 ec             	mov    %edx,-0x14(%eax)
41c537:	8b 45 08             	mov    0x8(%ebp),%eax
41c53a:	8b 40 f8             	mov    -0x8(%eax),%eax
41c53d:	66 83 78 6a 00       	cmpw   $0x0,0x6a(%eax)
41c542:	74 1b                	je     0x41c55f
41c544:	8b 45 08             	mov    0x8(%ebp),%eax
41c547:	83 c0 ec             	add    $0xffffffec,%eax
41c54a:	50                   	push   %eax
41c54b:	8b 45 08             	mov    0x8(%ebp),%eax
41c54e:	8b 70 f8             	mov    -0x8(%eax),%esi
41c551:	8b 45 08             	mov    0x8(%ebp),%eax
41c554:	8b 50 f8             	mov    -0x8(%eax),%edx
41c557:	8b cb                	mov    %ebx,%ecx
41c559:	8b 46 6c             	mov    0x6c(%esi),%eax
41c55c:	ff 56 68             	call   *0x68(%esi)
41c55f:	8b 45 08             	mov    0x8(%ebp),%eax
41c562:	83 78 ec 00          	cmpl   $0x0,-0x14(%eax)
41c566:	75 71                	jne    0x41c5d9
41c568:	8b c3                	mov    %ebx,%eax
41c56a:	ff 50 f4             	call   *-0xc(%eax)
41c56d:	8b 55 08             	mov    0x8(%ebp),%edx
41c570:	89 42 ec             	mov    %eax,-0x14(%edx)
41c573:	8b 45 08             	mov    0x8(%ebp),%eax
41c576:	f6 40 f7 04          	testb  $0x4,-0x9(%eax)
41c57a:	74 17                	je     0x41c593
41c57c:	8b 45 08             	mov    0x8(%ebp),%eax
41c57f:	8b 40 ec             	mov    -0x14(%eax),%eax
41c582:	66 83 48 1c 01       	orw    $0x1,0x1c(%eax)
41c587:	8b 45 08             	mov    0x8(%ebp),%eax
41c58a:	8b 40 ec             	mov    -0x14(%eax),%eax
41c58d:	66 81 48 1c 00 02    	orw    $0x200,0x1c(%eax)
41c593:	33 c0                	xor    %eax,%eax
41c595:	55                   	push   %ebp
41c596:	68 c2 c5 41 00       	push   $0x41c5c2
41c59b:	64 ff 30             	push   %fs:(%eax)
41c59e:	64 89 20             	mov    %esp,%fs:(%eax)
41c5a1:	8b 45 08             	mov    0x8(%ebp),%eax
41c5a4:	8b 40 f8             	mov    -0x8(%eax),%eax
41c5a7:	8b 48 28             	mov    0x28(%eax),%ecx
41c5aa:	8b 45 08             	mov    0x8(%ebp),%eax
41c5ad:	8b 40 ec             	mov    -0x14(%eax),%eax
41c5b0:	83 ca ff             	or     $0xffffffff,%edx
41c5b3:	8b 18                	mov    (%eax),%ebx
41c5b5:	ff 53 2c             	call   *0x2c(%ebx)
41c5b8:	33 c0                	xor    %eax,%eax
41c5ba:	5a                   	pop    %edx
41c5bb:	59                   	pop    %ecx
41c5bc:	59                   	pop    %ecx
41c5bd:	64 89 10             	mov    %edx,%fs:(%eax)
41c5c0:	eb 17                	jmp    0x41c5d9
41c5c2:	e9 d9 71 fe ff       	jmp    0x4037a0
41c5c7:	8b 45 08             	mov    0x8(%ebp),%eax
41c5ca:	33 d2                	xor    %edx,%edx
41c5cc:	89 50 ec             	mov    %edx,-0x14(%eax)
41c5cf:	e8 e0 74 fe ff       	call   0x403ab4
41c5d4:	e8 2f 75 fe ff       	call   0x403b08
41c5d9:	8b 45 08             	mov    0x8(%ebp),%eax
41c5dc:	8b 40 ec             	mov    -0x14(%eax),%eax
41c5df:	66 83 48 1c 01       	orw    $0x1,0x1c(%eax)
41c5e4:	33 c0                	xor    %eax,%eax
41c5e6:	5a                   	pop    %edx
41c5e7:	59                   	pop    %ecx
41c5e8:	59                   	pop    %ecx
41c5e9:	64 89 10             	mov    %edx,%fs:(%eax)
41c5ec:	eb 23                	jmp    0x41c611
41c5ee:	e9 ad 71 fe ff       	jmp    0x4037a0
41c5f3:	8b 45 08             	mov    0x8(%ebp),%eax
41c5f6:	50                   	push   %eax
41c5f7:	8b 45 08             	mov    0x8(%ebp),%eax
41c5fa:	83 c0 ec             	add    $0xffffffec,%eax
41c5fd:	e8 a6 fe ff ff       	call   0x41c4a8
41c602:	59                   	pop    %ecx
41c603:	84 c0                	test   %al,%al
41c605:	75 05                	jne    0x41c60c
41c607:	e8 a8 74 fe ff       	call   0x403ab4
41c60c:	e8 f7 74 fe ff       	call   0x403b08
41c611:	5f                   	pop    %edi
41c612:	5e                   	pop    %esi
41c613:	5b                   	pop    %ebx
41c614:	5d                   	pop    %ebp
41c615:	c3                   	ret
41c616:	8b c0                	mov    %eax,%eax
41c618:	55                   	push   %ebp
41c619:	8b ec                	mov    %esp,%ebp
41c61b:	53                   	push   %ebx
41c61c:	56                   	push   %esi
41c61d:	57                   	push   %edi
41c61e:	33 c0                	xor    %eax,%eax
41c620:	55                   	push   %ebp
41c621:	68 90 c6 41 00       	push   $0x41c690
41c626:	64 ff 30             	push   %fs:(%eax)
41c629:	64 89 20             	mov    %esp,%fs:(%eax)
41c62c:	8b 45 08             	mov    0x8(%ebp),%eax
41c62f:	8b 40 f8             	mov    -0x8(%eax),%eax
41c632:	8b 50 2c             	mov    0x2c(%eax),%edx
41c635:	8b 45 08             	mov    0x8(%ebp),%eax
41c638:	8b 40 ec             	mov    -0x14(%eax),%eax
41c63b:	66 be f8 ff          	mov    $0xfff8,%si
41c63f:	e8 78 6e fe ff       	call   0x4034bc
41c644:	8b 45 08             	mov    0x8(%ebp),%eax
41c647:	8d 48 e4             	lea    -0x1c(%eax),%ecx
41c64a:	8b 45 08             	mov    0x8(%ebp),%eax
41c64d:	8b 50 ec             	mov    -0x14(%eax),%edx
41c650:	8b 45 08             	mov    0x8(%ebp),%eax
41c653:	8b 40 f8             	mov    -0x8(%eax),%eax
41c656:	8b 18                	mov    (%eax),%ebx
41c658:	ff 53 1c             	call   *0x1c(%ebx)
41c65b:	8b 45 08             	mov    0x8(%ebp),%eax
41c65e:	8b 40 ec             	mov    -0x14(%eax),%eax
41c661:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
41c665:	74 1f                	je     0x41c686
41c667:	8b 45 08             	mov    0x8(%ebp),%eax
41c66a:	8b 40 e4             	mov    -0x1c(%eax),%eax
41c66d:	e8 d2 ba ff ff       	call   0x418144
41c672:	8b 55 08             	mov    0x8(%ebp),%edx
41c675:	3b 42 ec             	cmp    -0x14(%edx),%eax
41c678:	75 0c                	jne    0x41c686
41c67a:	8b 45 08             	mov    0x8(%ebp),%eax
41c67d:	8b 40 ec             	mov    -0x14(%eax),%eax
41c680:	66 81 48 1c 00 02    	orw    $0x200,0x1c(%eax)
41c686:	33 c0                	xor    %eax,%eax
41c688:	5a                   	pop    %edx
41c689:	59                   	pop    %ecx
41c68a:	59                   	pop    %ecx
41c68b:	64 89 10             	mov    %edx,%fs:(%eax)
41c68e:	eb 23                	jmp    0x41c6b3
41c690:	e9 0b 71 fe ff       	jmp    0x4037a0
41c695:	8b 45 08             	mov    0x8(%ebp),%eax
41c698:	50                   	push   %eax
41c699:	8b 45 08             	mov    0x8(%ebp),%eax
41c69c:	83 c0 ec             	add    $0xffffffec,%eax
41c69f:	e8 04 fe ff ff       	call   0x41c4a8
41c6a4:	59                   	pop    %ecx
41c6a5:	84 c0                	test   %al,%al
41c6a7:	75 05                	jne    0x41c6ae
41c6a9:	e8 06 74 fe ff       	call   0x403ab4
41c6ae:	e8 55 74 fe ff       	call   0x403b08
41c6b3:	5f                   	pop    %edi
41c6b4:	5e                   	pop    %esi
41c6b5:	5b                   	pop    %ebx
41c6b6:	5d                   	pop    %ebp
41c6b7:	c3                   	ret
41c6b8:	55                   	push   %ebp
41c6b9:	8b ec                	mov    %esp,%ebp
41c6bb:	53                   	push   %ebx
41c6bc:	56                   	push   %esi
41c6bd:	57                   	push   %edi
41c6be:	33 c0                	xor    %eax,%eax
41c6c0:	55                   	push   %ebp
41c6c1:	68 33 c7 41 00       	push   $0x41c733
41c6c6:	64 ff 30             	push   %fs:(%eax)
41c6c9:	64 89 20             	mov    %esp,%fs:(%eax)
41c6cc:	8b 45 08             	mov    0x8(%ebp),%eax
41c6cf:	8b 50 e8             	mov    -0x18(%eax),%edx
41c6d2:	8b 45 08             	mov    0x8(%ebp),%eax
41c6d5:	8b 40 f8             	mov    -0x8(%eax),%eax
41c6d8:	e8 9b 19 00 00       	call   0x41e078
41c6dd:	8b c8                	mov    %eax,%ecx
41c6df:	8b 45 08             	mov    0x8(%ebp),%eax
41c6e2:	8b 50 e4             	mov    -0x1c(%eax),%edx
41c6e5:	8b 45 08             	mov    0x8(%ebp),%eax
41c6e8:	8b 40 f8             	mov    -0x8(%eax),%eax
41c6eb:	8b 18                	mov    (%eax),%ebx
41c6ed:	ff 53 14             	call   *0x14(%ebx)
41c6f0:	8b 55 08             	mov    0x8(%ebp),%edx
41c6f3:	89 42 ec             	mov    %eax,-0x14(%edx)
41c6f6:	8b 45 08             	mov    0x8(%ebp),%eax
41c6f9:	8b 40 ec             	mov    -0x14(%eax),%eax
41c6fc:	66 be f2 ff          	mov    $0xfff2,%si
41c700:	e8 b7 6d fe ff       	call   0x4034bc
41c705:	8b d8                	mov    %eax,%ebx
41c707:	8b 45 08             	mov    0x8(%ebp),%eax
41c70a:	8b 40 f8             	mov    -0x8(%eax),%eax
41c70d:	89 58 2c             	mov    %ebx,0x2c(%eax)
41c710:	8b 45 08             	mov    0x8(%ebp),%eax
41c713:	85 db                	test   %ebx,%ebx
41c715:	75 12                	jne    0x41c729
41c717:	8b 45 08             	mov    0x8(%ebp),%eax
41c71a:	8b 40 f8             	mov    -0x8(%eax),%eax
41c71d:	8b 40 18             	mov    0x18(%eax),%eax
41c720:	8b 55 08             	mov    0x8(%ebp),%edx
41c723:	8b 52 f8             	mov    -0x8(%edx),%edx
41c726:	89 42 2c             	mov    %eax,0x2c(%edx)
41c729:	33 c0                	xor    %eax,%eax
41c72b:	5a                   	pop    %edx
41c72c:	59                   	pop    %ecx
41c72d:	59                   	pop    %ecx
41c72e:	64 89 10             	mov    %edx,%fs:(%eax)
41c731:	eb 23                	jmp    0x41c756
41c733:	e9 68 70 fe ff       	jmp    0x4037a0
41c738:	8b 45 08             	mov    0x8(%ebp),%eax
41c73b:	50                   	push   %eax
41c73c:	8b 45 08             	mov    0x8(%ebp),%eax
41c73f:	83 c0 ec             	add    $0xffffffec,%eax
41c742:	e8 61 fd ff ff       	call   0x41c4a8
41c747:	59                   	pop    %ecx
41c748:	84 c0                	test   %al,%al
41c74a:	75 05                	jne    0x41c751
41c74c:	e8 63 73 fe ff       	call   0x403ab4
41c751:	e8 b2 73 fe ff       	call   0x403b08
41c756:	5f                   	pop    %edi
41c757:	5e                   	pop    %esi
41c758:	5b                   	pop    %ebx
41c759:	5d                   	pop    %ebp
41c75a:	c3                   	ret
41c75b:	90                   	nop
41c75c:	55                   	push   %ebp
41c75d:	8b ec                	mov    %esp,%ebp
41c75f:	83 c4 d8             	add    $0xffffffd8,%esp
41c762:	53                   	push   %ebx
41c763:	56                   	push   %esi
41c764:	57                   	push   %edi
41c765:	33 c9                	xor    %ecx,%ecx
41c767:	89 4d e8             	mov    %ecx,-0x18(%ebp)
41c76a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41c76d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41c770:	89 55 f0             	mov    %edx,-0x10(%ebp)
41c773:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c776:	33 c0                	xor    %eax,%eax
41c778:	55                   	push   %ebp
41c779:	68 7d c9 41 00       	push   $0x41c97d
41c77e:	64 ff 30             	push   %fs:(%eax)
41c781:	64 89 20             	mov    %esp,%fs:(%eax)
41c784:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41c787:	8d 55 f7             	lea    -0x9(%ebp),%edx
41c78a:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c78d:	8b 18                	mov    (%eax),%ebx
41c78f:	ff 53 24             	call   *0x24(%ebx)
41c792:	8d 55 e8             	lea    -0x18(%ebp),%edx
41c795:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c798:	e8 6b 12 00 00       	call   0x41da08
41c79d:	8d 55 e4             	lea    -0x1c(%ebp),%edx
41c7a0:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c7a3:	e8 60 12 00 00       	call   0x41da08
41c7a8:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c7ab:	8b 40 2c             	mov    0x2c(%eax),%eax
41c7ae:	89 45 dc             	mov    %eax,-0x24(%ebp)
41c7b1:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c7b4:	8b 40 1c             	mov    0x1c(%eax),%eax
41c7b7:	89 45 d8             	mov    %eax,-0x28(%ebp)
41c7ba:	33 c0                	xor    %eax,%eax
41c7bc:	55                   	push   %ebp
41c7bd:	68 4d c9 41 00       	push   $0x41c94d
41c7c2:	64 ff 30             	push   %fs:(%eax)
41c7c5:	64 89 20             	mov    %esp,%fs:(%eax)
41c7c8:	8b 45 f0             	mov    -0x10(%ebp),%eax
41c7cb:	89 45 ec             	mov    %eax,-0x14(%ebp)
41c7ce:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
41c7d2:	75 16                	jne    0x41c7ea
41c7d4:	f6 45 f7 01          	testb  $0x1,-0x9(%ebp)
41c7d8:	74 09                	je     0x41c7e3
41c7da:	55                   	push   %ebp
41c7db:	e8 d8 fe ff ff       	call   0x41c6b8
41c7e0:	59                   	pop    %ecx
41c7e1:	eb 07                	jmp    0x41c7ea
41c7e3:	55                   	push   %ebp
41c7e4:	e8 1f fd ff ff       	call   0x41c508
41c7e9:	59                   	pop    %ecx
41c7ea:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
41c7ee:	0f 84 39 01 00 00    	je     0x41c92d
41c7f4:	33 c0                	xor    %eax,%eax
41c7f6:	55                   	push   %ebp
41c7f7:	68 0b c9 41 00       	push   $0x41c90b
41c7fc:	64 ff 30             	push   %fs:(%eax)
41c7ff:	64 89 20             	mov    %esp,%fs:(%eax)
41c802:	55                   	push   %ebp
41c803:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c806:	e8 9d fb ff ff       	call   0x41c3a8