41f4ba:	64 ff 30             	push   %fs:(%eax)
41f4bd:	64 89 20             	mov    %esp,%fs:(%eax)
41f4c0:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f4c3:	8b 40 58             	mov    0x58(%eax),%eax
41f4c6:	e8 ed 12 00 00       	call   0x4207b8
41f4cb:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f4ce:	8b 40 58             	mov    0x58(%eax),%eax
41f4d1:	8b 40 28             	mov    0x28(%eax),%eax
41f4d4:	8b 40 08             	mov    0x8(%eax),%eax
41f4d7:	e8 34 fe ff ff       	call   0x41f310
41f4dc:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f4df:	8b 40 58             	mov    0x58(%eax),%eax
41f4e2:	e8 d1 13 00 00       	call   0x4208b8
41f4e7:	6a 00                	push   $0x0
41f4e9:	e8 3e 73 fe ff       	call   0x40682c
41f4ee:	8b d8                	mov    %eax,%ebx
41f4f0:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f4f3:	8b 40 58             	mov    0x58(%eax),%eax
41f4f6:	8b 40 28             	mov    0x28(%eax),%eax
41f4f9:	8b 70 08             	mov    0x8(%eax),%esi
41f4fc:	85 f6                	test   %esi,%esi
41f4fe:	74 0f                	je     0x41f50f
41f500:	56                   	push   %esi
41f501:	53                   	push   %ebx
41f502:	e8 55 74 fe ff       	call   0x40695c
41f507:	8b 55 fc             	mov    -0x4(%ebp),%edx
41f50a:	89 42 5c             	mov    %eax,0x5c(%edx)
41f50d:	eb 08                	jmp    0x41f517
41f50f:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f512:	33 d2                	xor    %edx,%edx
41f514:	89 50 5c             	mov    %edx,0x5c(%eax)
41f517:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f51a:	8b 40 58             	mov    0x58(%eax),%eax
41f51d:	8b 40 28             	mov    0x28(%eax),%eax
41f520:	8b 70 10             	mov    0x10(%eax),%esi
41f523:	85 f6                	test   %esi,%esi
41f525:	74 17                	je     0x41f53e
41f527:	6a ff                	push   $0xffffffff
41f529:	56                   	push   %esi
41f52a:	53                   	push   %ebx
41f52b:	e8 34 74 fe ff       	call   0x406964
41f530:	8b 55 fc             	mov    -0x4(%ebp),%edx
41f533:	89 42 60             	mov    %eax,0x60(%edx)
41f536:	53                   	push   %ebx
41f537:	e8 00 74 fe ff       	call   0x40693c
41f53c:	eb 08                	jmp    0x41f546
41f53e:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f541:	33 d2                	xor    %edx,%edx
41f543:	89 50 60             	mov    %edx,0x60(%eax)
41f546:	8b d3                	mov    %ebx,%edx
41f548:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f54b:	e8 40 e4 ff ff       	call   0x41d990
41f550:	8b 55 fc             	mov    -0x4(%ebp),%edx
41f553:	a1 fc 56 45 00       	mov    0x4556fc,%eax
41f558:	e8 8f 4d ff ff       	call   0x4142ec
41f55d:	33 c0                	xor    %eax,%eax
41f55f:	5a                   	pop    %edx
41f560:	59                   	pop    %ecx
41f561:	59                   	pop    %ecx
41f562:	64 89 10             	mov    %edx,%fs:(%eax)
41f565:	68 7a f5 41 00       	push   $0x41f57a
41f56a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f56d:	e8 96 e2 ff ff       	call   0x41d808
41f572:	c3                   	ret
41f573:	e9 d4 49 fe ff       	jmp    0x403f4c
41f578:	eb f0                	jmp    0x41f56a
41f57a:	5e                   	pop    %esi
41f57b:	5b                   	pop    %ebx
41f57c:	59                   	pop    %ecx
41f57d:	5d                   	pop    %ebp
41f57e:	c3                   	ret
41f57f:	90                   	nop
41f580:	ff 40 04             	incl   0x4(%eax)
41f583:	c3                   	ret
41f584:	53                   	push   %ebx
41f585:	8b d8                	mov    %eax,%ebx
41f587:	85 db                	test   %ebx,%ebx
41f589:	74 16                	je     0x41f5a1
41f58b:	ff 4b 04             	decl   0x4(%ebx)
41f58e:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
41f592:	75 0d                	jne    0x41f5a1
41f594:	8b c3                	mov    %ebx,%eax
41f596:	8b 10                	mov    (%eax),%edx
41f598:	ff 12                	call   *(%edx)
41f59a:	8b c3                	mov    %ebx,%eax
41f59c:	e8 5b 42 fe ff       	call   0x4037fc
41f5a1:	5b                   	pop    %ebx
41f5a2:	c3                   	ret
41f5a3:	90                   	nop
41f5a4:	53                   	push   %ebx
41f5a5:	56                   	push   %esi
41f5a6:	e8 d9 45 fe ff       	call   0x403b84
41f5ab:	8b da                	mov    %edx,%ebx
41f5ad:	8b f0                	mov    %eax,%esi
41f5af:	8b 46 14             	mov    0x14(%esi),%eax
41f5b2:	85 c0                	test   %eax,%eax
41f5b4:	74 13                	je     0x41f5c9
41f5b6:	e8 55 fd ff ff       	call   0x41f310
41f5bb:	8b 46 14             	mov    0x14(%esi),%eax
41f5be:	50                   	push   %eax
41f5bf:	e8 b8 72 fe ff       	call   0x40687c
41f5c4:	33 c0                	xor    %eax,%eax
41f5c6:	89 46 14             	mov    %eax,0x14(%esi)
41f5c9:	8b c6                	mov    %esi,%eax
41f5cb:	8b 10                	mov    (%eax),%edx
41f5cd:	ff 12                	call   *(%edx)
41f5cf:	8b 46 64             	mov    0x64(%esi),%eax
41f5d2:	85 c0                	test   %eax,%eax
41f5d4:	74 06                	je     0x41f5dc
41f5d6:	50                   	push   %eax
41f5d7:	e8 18 70 fe ff       	call   0x4065f4
41f5dc:	8d 46 6c             	lea    0x6c(%esi),%eax
41f5df:	e8 f4 dd fe ff       	call   0x40d3d8
41f5e4:	8b d3                	mov    %ebx,%edx
41f5e6:	80 e2 fc             	and    $0xfc,%dl
41f5e9:	8b c6                	mov    %esi,%eax
41f5eb:	e8 fc 41 fe ff       	call   0x4037ec
41f5f0:	84 db                	test   %bl,%bl
41f5f2:	7e 07                	jle    0x41f5fb
41f5f4:	8b c6                	mov    %esi,%eax
41f5f6:	e8 71 45 fe ff       	call   0x403b6c
41f5fb:	5e                   	pop    %esi
41f5fc:	5b                   	pop    %ebx
41f5fd:	c3                   	ret
41f5fe:	8b c0                	mov    %eax,%eax
41f600:	53                   	push   %ebx
41f601:	8b d8                	mov    %eax,%ebx
41f603:	8b 43 08             	mov    0x8(%ebx),%eax
41f606:	85 c0                	test   %eax,%eax
41f608:	74 13                	je     0x41f61d
41f60a:	3b 43 14             	cmp    0x14(%ebx),%eax
41f60d:	74 0e                	je     0x41f61d
41f60f:	e8 fc fc ff ff       	call   0x41f310
41f614:	8b 43 08             	mov    0x8(%ebx),%eax
41f617:	50                   	push   %eax
41f618:	e8 5f 72 fe ff       	call   0x40687c
41f61d:	8b 43 0c             	mov    0xc(%ebx),%eax
41f620:	85 c0                	test   %eax,%eax
41f622:	74 13                	je     0x41f637
41f624:	e8 e7 fc ff ff       	call   0x41f310
41f629:	8b 43 0c             	mov    0xc(%ebx),%eax
41f62c:	50                   	push   %eax
41f62d:	e8 4a 72 fe ff       	call   0x40687c
41f632:	33 c0                	xor    %eax,%eax
41f634:	89 43 0c             	mov    %eax,0xc(%ebx)
41f637:	8b 43 10             	mov    0x10(%ebx),%eax
41f63a:	e8 c5 c6 ff ff       	call   0x41bd04
41f63f:	33 c0                	xor    %eax,%eax
41f641:	89 43 08             	mov    %eax,0x8(%ebx)
41f644:	33 c0                	xor    %eax,%eax
41f646:	89 43 10             	mov    %eax,0x10(%ebx)
41f649:	5b                   	pop    %ebx
41f64a:	c3                   	ret
41f64b:	90                   	nop
41f64c:	55                   	push   %ebp
41f64d:	8b ec                	mov    %esp,%ebp
41f64f:	81 c4 f0 fb ff ff    	add    $0xfffffbf0,%esp
41f655:	53                   	push   %ebx
41f656:	56                   	push   %esi
41f657:	89 55 fc             	mov    %edx,-0x4(%ebp)
41f65a:	8b f0                	mov    %eax,%esi
41f65c:	85 f6                	test   %esi,%esi
41f65e:	0f 84 9e 00 00 00    	je     0x41f702
41f664:	66 83 79 26 08       	cmpw   $0x8,0x26(%ecx)
41f669:	0f 87 93 00 00 00    	ja     0x41f702
41f66f:	8d 95 f0 fb ff ff    	lea    -0x410(%ebp),%edx
41f675:	b9 ff 00 00 00       	mov    $0xff,%ecx
41f67a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f67d:	e8 1a ee ff ff       	call   0x41e49c
41f682:	8b d8                	mov    %eax,%ebx
41f684:	85 db                	test   %ebx,%ebx
41f686:	74 7a                	je     0x41f702
41f688:	6a 00                	push   $0x0
41f68a:	e8 bd 74 fe ff       	call   0x406b4c
41f68f:	89 45 f8             	mov    %eax,-0x8(%ebp)
41f692:	8b 45 f8             	mov    -0x8(%ebp),%eax
41f695:	50                   	push   %eax
41f696:	e8 91 71 fe ff       	call   0x40682c
41f69b:	89 45 f4             	mov    %eax,-0xc(%ebp)
41f69e:	56                   	push   %esi
41f69f:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f6a2:	50                   	push   %eax
41f6a3:	e8 b4 72 fe ff       	call   0x40695c
41f6a8:	89 45 f0             	mov    %eax,-0x10(%ebp)
41f6ab:	33 c0                	xor    %eax,%eax
41f6ad:	55                   	push   %ebp
41f6ae:	68 fb f6 41 00       	push   $0x41f6fb
41f6b3:	64 ff 30             	push   %fs:(%eax)
41f6b6:	64 89 20             	mov    %esp,%fs:(%eax)
41f6b9:	8d 85 f0 fb ff ff    	lea    -0x410(%ebp),%eax
41f6bf:	50                   	push   %eax
41f6c0:	53                   	push   %ebx
41f6c1:	6a 00                	push   $0x0
41f6c3:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f6c6:	50                   	push   %eax
41f6c7:	e8 c0 72 fe ff       	call   0x40698c
41f6cc:	33 c0                	xor    %eax,%eax
41f6ce:	5a                   	pop    %edx
41f6cf:	59                   	pop    %ecx
41f6d0:	59                   	pop    %ecx
41f6d1:	64 89 10             	mov    %edx,%fs:(%eax)
41f6d4:	68 02 f7 41 00       	push   $0x41f702
41f6d9:	8b 45 f0             	mov    -0x10(%ebp),%eax
41f6dc:	50                   	push   %eax
41f6dd:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f6e0:	50                   	push   %eax
41f6e1:	e8 76 72 fe ff       	call   0x40695c
41f6e6:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f6e9:	50                   	push   %eax
41f6ea:	e8 85 71 fe ff       	call   0x406874
41f6ef:	8b 45 f8             	mov    -0x8(%ebp),%eax
41f6f2:	50                   	push   %eax
41f6f3:	6a 00                	push   $0x0
41f6f5:	e8 9a 76 fe ff       	call   0x406d94
41f6fa:	c3                   	ret
41f6fb:	e9 4c 48 fe ff       	jmp    0x403f4c
41f700:	eb d7                	jmp    0x41f6d9
41f702:	5e                   	pop    %esi
41f703:	5b                   	pop    %ebx
41f704:	8b e5                	mov    %ebp,%esp
41f706:	5d                   	pop    %ebp
41f707:	c3                   	ret
41f708:	f6 40 28 03          	testb  $0x3,0x28(%eax)
41f70c:	74 42                	je     0x41f750
41f70e:	83 78 40 00          	cmpl   $0x0,0x40(%eax)
41f712:	75 3c                	jne    0x41f750
41f714:	66 8b 50 26          	mov    0x26(%eax),%dx
41f718:	66 83 fa 10          	cmp    $0x10,%dx
41f71c:	75 17                	jne    0x41f735
41f71e:	c7 40 40 00 f8 00 00 	movl   $0xf800,0x40(%eax)
41f725:	c7 40 44 e0 07 00 00 	movl   $0x7e0,0x44(%eax)
41f72c:	c7 40 48 1f 00 00 00 	movl   $0x1f,0x48(%eax)
41f733:	eb 1b                	jmp    0x41f750
41f735:	66 83 fa 20          	cmp    $0x20,%dx
41f739:	75 15                	jne    0x41f750
41f73b:	c7 40 40 00 00 ff 00 	movl   $0xff0000,0x40(%eax)
41f742:	c7 40 44 00 ff 00 00 	movl   $0xff00,0x44(%eax)
41f749:	c7 40 48 ff 00 00 00 	movl   $0xff,0x48(%eax)
41f750:	c3                   	ret
41f751:	8d 40 00             	lea    0x0(%eax),%eax
41f754:	55                   	push   %ebp
41f755:	8b ec                	mov    %esp,%ebp
41f757:	81 c4 68 ff ff ff    	add    $0xffffff68,%esp
41f75d:	53                   	push   %ebx
41f75e:	56                   	push   %esi
41f75f:	57                   	push   %edi
41f760:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41f763:	89 55 f8             	mov    %edx,-0x8(%ebp)
41f766:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f769:	33 c0                	xor    %eax,%eax
41f76b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41f76e:	8b 45 0c             	mov    0xc(%ebp),%eax
41f771:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
41f775:	74 1a                	je     0x41f791
41f777:	8b 45 0c             	mov    0xc(%ebp),%eax
41f77a:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
41f77e:	0f 84 25 06 00 00    	je     0x41fda9
41f784:	8b 45 0c             	mov    0xc(%ebp),%eax
41f787:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41f78b:	0f 84 18 06 00 00    	je     0x41fda9
41f791:	8b 45 0c             	mov    0xc(%ebp),%eax
41f794:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
41f798:	75 1a                	jne    0x41f7b4
41f79a:	8b 45 0c             	mov    0xc(%ebp),%eax
41f79d:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
41f7a1:	0f 84 02 06 00 00    	je     0x41fda9
41f7a7:	8b 45 0c             	mov    0xc(%ebp),%eax
41f7aa:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
41f7ae:	0f 84 f5 05 00 00    	je     0x41fda9
41f7b4:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f7b7:	e8 54 fb ff ff       	call   0x41f310
41f7bc:	33 c0                	xor    %eax,%eax
41f7be:	89 45 90             	mov    %eax,-0x70(%ebp)
41f7c1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41f7c5:	74 1c                	je     0x41f7e3
41f7c7:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
41f7cd:	50                   	push   %eax
41f7ce:	6a 54                	push   $0x54
41f7d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f7d3:	50                   	push   %eax
41f7d4:	e8 fb 70 fe ff       	call   0x4068d4
41f7d9:	83 f8 18             	cmp    $0x18,%eax
41f7dc:	7d 05                	jge    0x41f7e3
41f7de:	e8 05 e4 ff ff       	call   0x41dbe8
41f7e3:	6a 00                	push   $0x0
41f7e5:	e8 62 73 fe ff       	call   0x406b4c
41f7ea:	e8 0d e5 ff ff       	call   0x41dcfc
41f7ef:	89 45 e8             	mov    %eax,-0x18(%ebp)
41f7f2:	8b 45 e8             	mov    -0x18(%ebp),%eax
41f7f5:	50                   	push   %eax
41f7f6:	e8 31 70 fe ff       	call   0x40682c
41f7fb:	e8 fc e4 ff ff       	call   0x41dcfc
41f800:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41f803:	33 d2                	xor    %edx,%edx
41f805:	55                   	push   %ebp
41f806:	68 a2 fd 41 00       	push   $0x41fda2
41f80b:	64 ff 32             	push   %fs:(%edx)
41f80e:	64 89 22             	mov    %esp,%fs:(%edx)
41f811:	8b 45 0c             	mov    0xc(%ebp),%eax
41f814:	83 78 18 28          	cmpl   $0x28,0x18(%eax)
41f818:	73 5e                	jae    0x41f878
41f81a:	8b 45 0c             	mov    0xc(%ebp),%eax
41f81d:	66 8b 40 10          	mov    0x10(%eax),%ax
41f821:	8b 55 0c             	mov    0xc(%ebp),%edx
41f824:	66 0b 42 12          	or     0x12(%edx),%ax
41f828:	66 83 f8 01          	cmp    $0x1,%ax
41f82c:	75 26                	jne    0x41f854
41f82e:	6a 00                	push   $0x0
41f830:	6a 01                	push   $0x1
41f832:	6a 01                	push   $0x1
41f834:	8b 45 0c             	mov    0xc(%ebp),%eax
41f837:	8b 40 08             	mov    0x8(%eax),%eax
41f83a:	50                   	push   %eax
41f83b:	8b 45 0c             	mov    0xc(%ebp),%eax
41f83e:	8b 40 04             	mov    0x4(%eax),%eax
41f841:	50                   	push   %eax
41f842:	e8 cd 6f fe ff       	call   0x406814
41f847:	e8 b0 e4 ff ff       	call   0x41dcfc
41f84c:	89 45 f0             	mov    %eax,-0x10(%ebp)
41f84f:	e9 5f 02 00 00       	jmp    0x41fab3
41f854:	8b 45 0c             	mov    0xc(%ebp),%eax
41f857:	8b 40 08             	mov    0x8(%eax),%eax
41f85a:	50                   	push   %eax
41f85b:	8b 45 0c             	mov    0xc(%ebp),%eax
41f85e:	8b 40 04             	mov    0x4(%eax),%eax
41f861:	50                   	push   %eax
41f862:	8b 45 e8             	mov    -0x18(%ebp),%eax
41f865:	50                   	push   %eax
41f866:	e8 b9 6f fe ff       	call   0x406824
41f86b:	e8 8c e4 ff ff       	call   0x41dcfc
41f870:	89 45 f0             	mov    %eax,-0x10(%ebp)
41f873:	e9 3b 02 00 00       	jmp    0x41fab3
41f878:	b8 2c 04 00 00       	mov    $0x42c,%eax
41f87d:	e8 b6 31 fe ff       	call   0x402a38
41f882:	89 45 dc             	mov    %eax,-0x24(%ebp)
41f885:	33 d2                	xor    %edx,%edx
41f887:	55                   	push   %ebp
41f888:	68 ac fa 41 00       	push   $0x41faac
41f88d:	64 ff 32             	push   %fs:(%edx)
41f890:	64 89 22             	mov    %esp,%fs:(%edx)
41f893:	8b 45 0c             	mov    0xc(%ebp),%eax
41f896:	c7 40 18 28 00 00 00 	movl   $0x28,0x18(%eax)
41f89d:	8b 45 0c             	mov    0xc(%ebp),%eax
41f8a0:	66 c7 40 24 01 00    	movw   $0x1,0x24(%eax)
41f8a6:	8b 45 0c             	mov    0xc(%ebp),%eax
41f8a9:	66 83 78 26 00       	cmpw   $0x0,0x26(%eax)
41f8ae:	75 23                	jne    0x41f8d3
41f8b0:	6a 0c                	push   $0xc
41f8b2:	8b 45 e8             	mov    -0x18(%ebp),%eax
41f8b5:	50                   	push   %eax