41554a:	66 83 f8 09          	cmp    $0x9,%ax
41554e:	74 06                	je     0x415556
415550:	66 83 f8 0d          	cmp    $0xd,%ax
415554:	75 07                	jne    0x41555d
415556:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
41555b:	74 04                	je     0x415561
41555d:	33 c0                	xor    %eax,%eax
41555f:	eb 21                	jmp    0x415582
415561:	b0 01                	mov    $0x1,%al
415563:	eb 1d                	jmp    0x415582
415565:	8b d4                	mov    %esp,%edx
415567:	8b c3                	mov    %ebx,%eax
415569:	e8 2e 1b 00 00       	call   0x41709c
41556e:	84 c0                	test   %al,%al
415570:	74 0e                	je     0x415580
415572:	8d 54 24 04          	lea    0x4(%esp),%edx
415576:	8b 04 24             	mov    (%esp),%eax
415579:	8b 08                	mov    (%eax),%ecx
41557b:	ff 51 14             	call   *0x14(%ecx)
41557e:	eb 02                	jmp    0x415582
415580:	33 c0                	xor    %eax,%eax
415582:	83 c4 14             	add    $0x14,%esp
415585:	5f                   	pop    %edi
415586:	5e                   	pop    %esi
415587:	5b                   	pop    %ebx
415588:	c3                   	ret
415589:	8d 40 00             	lea    0x0(%eax),%eax
41558c:	51                   	push   %ecx
41558d:	8b d4                	mov    %esp,%edx
41558f:	e8 08 1b 00 00       	call   0x41709c
415594:	5a                   	pop    %edx
415595:	c3                   	ret
415596:	8b c0                	mov    %eax,%eax
415598:	66 83 f8 08          	cmp    $0x8,%ax
41559c:	74 09                	je     0x4155a7
41559e:	66 3d 00 01          	cmp    $0x100,%ax
4155a2:	74 03                	je     0x4155a7
4155a4:	33 c0                	xor    %eax,%eax
4155a6:	c3                   	ret
4155a7:	b0 01                	mov    $0x1,%al
4155a9:	c3                   	ret
4155aa:	8b c0                	mov    %eax,%eax
4155ac:	53                   	push   %ebx
4155ad:	8b d8                	mov    %eax,%ebx
4155af:	8b c3                	mov    %ebx,%eax
4155b1:	e8 52 ff ff ff       	call   0x415508
4155b6:	66 83 38 01          	cmpw   $0x1,(%eax)
4155ba:	0f 94 c0             	sete   %al
4155bd:	5b                   	pop    %ebx
4155be:	c3                   	ret
4155bf:	90                   	nop
4155c0:	53                   	push   %ebx
4155c1:	56                   	push   %esi
4155c2:	8b f2                	mov    %edx,%esi
4155c4:	8b d8                	mov    %eax,%ebx
4155c6:	8b ce                	mov    %esi,%ecx
4155c8:	8b c3                	mov    %ebx,%eax
4155ca:	8b 15 4c d4 48 00    	mov    0x48d44c,%edx
4155d0:	e8 03 00 00 00       	call   0x4155d8
4155d5:	5e                   	pop    %esi
4155d6:	5b                   	pop    %ebx
4155d7:	c3                   	ret
4155d8:	53                   	push   %ebx
4155d9:	56                   	push   %esi
4155da:	57                   	push   %edi
4155db:	8b f1                	mov    %ecx,%esi
4155dd:	8b fa                	mov    %edx,%edi
4155df:	8b d8                	mov    %eax,%ebx
4155e1:	8b c3                	mov    %ebx,%eax
4155e3:	e8 c4 ff ff ff       	call   0x4155ac
4155e8:	84 c0                	test   %al,%al
4155ea:	75 0b                	jne    0x4155f7
4155ec:	8b c6                	mov    %esi,%eax
4155ee:	8b d3                	mov    %ebx,%edx
4155f0:	e8 f7 de ff ff       	call   0x4134ec
4155f5:	eb 09                	jmp    0x415600
4155f7:	8b c6                	mov    %esi,%eax
4155f9:	8b d7                	mov    %edi,%edx
4155fb:	e8 b8 eb fe ff       	call   0x4041b8
415600:	5f                   	pop    %edi
415601:	5e                   	pop    %esi
415602:	5b                   	pop    %ebx
415603:	c3                   	ret
415604:	55                   	push   %ebp
415605:	8b ec                	mov    %esp,%ebp
415607:	6a 00                	push   $0x0
415609:	53                   	push   %ebx
41560a:	56                   	push   %esi
41560b:	8b f2                	mov    %edx,%esi
41560d:	8b d8                	mov    %eax,%ebx
41560f:	33 c0                	xor    %eax,%eax
415611:	55                   	push   %ebp
415612:	68 4d 56 41 00       	push   $0x41564d
415617:	64 ff 30             	push   %fs:(%eax)
41561a:	64 89 20             	mov    %esp,%fs:(%eax)
41561d:	8d 45 fc             	lea    -0x4(%ebp),%eax
415620:	8b 15 4c d4 48 00    	mov    0x48d44c,%edx
415626:	e8 91 f3 fe ff       	call   0x4049bc
41562b:	8b 55 fc             	mov    -0x4(%ebp),%edx
41562e:	8b ce                	mov    %esi,%ecx
415630:	8b c3                	mov    %ebx,%eax
415632:	e8 25 00 00 00       	call   0x41565c
415637:	33 c0                	xor    %eax,%eax
415639:	5a                   	pop    %edx
41563a:	59                   	pop    %ecx
41563b:	59                   	pop    %ecx
41563c:	64 89 10             	mov    %edx,%fs:(%eax)
41563f:	68 54 56 41 00       	push   $0x415654
415644:	8d 45 fc             	lea    -0x4(%ebp),%eax
415647:	e8 24 f2 fe ff       	call   0x404870
41564c:	c3                   	ret
41564d:	e9 16 e5 fe ff       	jmp    0x403b68
415652:	eb f0                	jmp    0x415644
415654:	5e                   	pop    %esi
415655:	5b                   	pop    %ebx
415656:	59                   	pop    %ecx
415657:	5d                   	pop    %ebp
415658:	c3                   	ret
415659:	8d 40 00             	lea    0x0(%eax),%eax
41565c:	53                   	push   %ebx
41565d:	56                   	push   %esi
41565e:	57                   	push   %edi
41565f:	8b f1                	mov    %ecx,%esi
415661:	8b fa                	mov    %edx,%edi
415663:	8b d8                	mov    %eax,%ebx
415665:	8b c3                	mov    %ebx,%eax
415667:	e8 40 ff ff ff       	call   0x4155ac
41566c:	84 c0                	test   %al,%al
41566e:	75 0b                	jne    0x41567b
415670:	8b c6                	mov    %esi,%eax
415672:	8b d3                	mov    %ebx,%edx
415674:	e8 9b e5 ff ff       	call   0x413c14
415679:	eb 09                	jmp    0x415684
41567b:	8b c6                	mov    %esi,%eax
41567d:	8b d7                	mov    %edi,%edx
41567f:	e8 28 f2 fe ff       	call   0x4048ac
415684:	5f                   	pop    %edi
415685:	5e                   	pop    %esi
415686:	5b                   	pop    %ebx
415687:	c3                   	ret
415688:	55                   	push   %ebp
415689:	8b ec                	mov    %esp,%ebp
41568b:	53                   	push   %ebx
41568c:	8b d8                	mov    %eax,%ebx
41568e:	8b c3                	mov    %ebx,%eax
415690:	e8 c7 a8 ff ff       	call   0x40ff5c
415695:	66 c7 03 07 00       	movw   $0x7,(%ebx)
41569a:	8b 45 08             	mov    0x8(%ebp),%eax
41569d:	89 43 08             	mov    %eax,0x8(%ebx)
4156a0:	8b 45 0c             	mov    0xc(%ebp),%eax
4156a3:	89 43 0c             	mov    %eax,0xc(%ebx)
4156a6:	5b                   	pop    %ebx
4156a7:	5d                   	pop    %ebp
4156a8:	c2 08 00             	ret    $0x8
4156ab:	90                   	nop
4156ac:	83 c4 f8             	add    $0xfffffff8,%esp
4156af:	e8 1c d2 ff ff       	call   0x4128d0
4156b4:	dd 1c 24             	fstpl  (%esp)
4156b7:	9b dd 04 24          	fldl   (%esp)
4156bb:	59                   	pop    %ecx
4156bc:	5a                   	pop    %edx
4156bd:	c3                   	ret
4156be:	8b c0                	mov    %eax,%eax
4156c0:	53                   	push   %ebx
4156c1:	56                   	push   %esi
4156c2:	57                   	push   %edi
4156c3:	83 c4 e0             	add    $0xffffffe0,%esp
4156c6:	8b f2                	mov    %edx,%esi
4156c8:	8b d8                	mov    %eax,%ebx
4156ca:	8b c3                	mov    %ebx,%eax
4156cc:	e8 37 fe ff ff       	call   0x415508
4156d1:	56                   	push   %esi
4156d2:	8b f0                	mov    %eax,%esi
4156d4:	8d 7c 24 04          	lea    0x4(%esp),%edi
4156d8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4156d9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4156da:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4156db:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4156dc:	5e                   	pop    %esi
4156dd:	8b c6                	mov    %esi,%eax
4156df:	e8 24 fe ff ff       	call   0x415508
4156e4:	56                   	push   %esi
4156e5:	8b f0                	mov    %eax,%esi
4156e7:	8d 7c 24 14          	lea    0x14(%esp),%edi
4156eb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4156ec:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4156ed:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4156ee:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4156ef:	5e                   	pop    %esi
4156f0:	66 8b 04 24          	mov    (%esp),%ax
4156f4:	66 85 c0             	test   %ax,%ax
4156f7:	75 0b                	jne    0x415704
4156f9:	66 83 7c 24 10 00    	cmpw   $0x0,0x10(%esp)
4156ff:	0f 94 c0             	sete   %al
415702:	eb 2c                	jmp    0x415730
415704:	66 83 f8 01          	cmp    $0x1,%ax
415708:	75 0b                	jne    0x415715
41570a:	66 83 7c 24 10 01    	cmpw   $0x1,0x10(%esp)
415710:	0f 94 c0             	sete   %al
415713:	eb 1b                	jmp    0x415730
415715:	66 8b 44 24 10       	mov    0x10(%esp),%ax
41571a:	66 83 e8 02          	sub    $0x2,%ax
41571e:	73 04                	jae    0x415724
415720:	33 c0                	xor    %eax,%eax
415722:	eb 0c                	jmp    0x415730
415724:	8b c3                	mov    %ebx,%eax
415726:	8b d6                	mov    %esi,%edx
415728:	e8 1f 1b 00 00       	call   0x41724c
41572d:	0f 94 c0             	sete   %al
415730:	83 c4 20             	add    $0x20,%esp
415733:	5f                   	pop    %edi
415734:	5e                   	pop    %esi
415735:	5b                   	pop    %ebx
415736:	c3                   	ret
415737:	90                   	nop
415738:	53                   	push   %ebx
415739:	56                   	push   %esi
41573a:	8b f2                	mov    %edx,%esi
41573c:	8b d8                	mov    %eax,%ebx
41573e:	8b c3                	mov    %ebx,%eax
415740:	e8 17 a8 ff ff       	call   0x40ff5c
415745:	66 c7 03 0a 00       	movw   $0xa,(%ebx)
41574a:	89 73 08             	mov    %esi,0x8(%ebx)
41574d:	5e                   	pop    %esi
41574e:	5b                   	pop    %ebx
41574f:	c3                   	ret
415750:	ba 04 00 02 80       	mov    $0x80020004,%edx
415755:	e8 de ff ff ff       	call   0x415738
41575a:	c3                   	ret
41575b:	90                   	nop
41575c:	53                   	push   %ebx
41575d:	66 8b 18             	mov    (%eax),%bx
415760:	66 81 fb 0c 40       	cmp    $0x400c,%bx
415765:	75 0c                	jne    0x415773
415767:	8b 40 08             	mov    0x8(%eax),%eax
41576a:	e8 ed ff ff ff       	call   0x41575c
41576f:	8b d8                	mov    %eax,%ebx
415771:	eb 28                	jmp    0x41579b
415773:	66 89 1a             	mov    %bx,(%edx)
415776:	f6 42 01 20          	testb  $0x20,0x1(%edx)
41577a:	0f 95 c3             	setne  %bl
41577d:	84 db                	test   %bl,%bl
41577f:	74 16                	je     0x415797
415781:	f6 42 01 40          	testb  $0x40,0x1(%edx)
415785:	74 09                	je     0x415790
415787:	8b 40 08             	mov    0x8(%eax),%eax
41578a:	8b 00                	mov    (%eax),%eax
41578c:	89 01                	mov    %eax,(%ecx)
41578e:	eb 0b                	jmp    0x41579b
415790:	8b 40 08             	mov    0x8(%eax),%eax
415793:	89 01                	mov    %eax,(%ecx)
415795:	eb 04                	jmp    0x41579b
415797:	33 c0                	xor    %eax,%eax
415799:	89 01                	mov    %eax,(%ecx)
41579b:	8b c3                	mov    %ebx,%eax
41579d:	5b                   	pop    %ebx
41579e:	c3                   	ret
41579f:	90                   	nop
4157a0:	55                   	push   %ebp
4157a1:	8b ec                	mov    %esp,%ebp
4157a3:	81 c4 f8 fd ff ff    	add    $0xfffffdf8,%esp
4157a9:	53                   	push   %ebx
4157aa:	56                   	push   %esi
4157ab:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
4157af:	8b da                	mov    %edx,%ebx
4157b1:	8b f0                	mov    %eax,%esi
4157b3:	f6 c3 01             	test   $0x1,%bl
4157b6:	74 12                	je     0x4157ca
4157b8:	83 fb 7f             	cmp    $0x7f,%ebx
4157bb:	7f 0d                	jg     0x4157ca
4157bd:	66 8b 45 fe          	mov    -0x2(%ebp),%ax
4157c1:	e8 82 01 00 00       	call   0x415948
4157c6:	84 c0                	test   %al,%al
4157c8:	75 05                	jne    0x4157cf
4157ca:	e8 35 a1 ff ff       	call   0x40f904
4157cf:	43                   	inc    %ebx
4157d0:	d1 fb                	sar    $1,%ebx
4157d2:	79 03                	jns    0x4157d7
4157d4:	83 d3 00             	adc    $0x0,%ebx
4157d7:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4157da:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4157dd:	4b                   	dec    %ebx
4157de:	85 db                	test   %ebx,%ebx
4157e0:	7c 22                	jl     0x415804
4157e2:	43                   	inc    %ebx
4157e3:	8d 95 f8 fd ff ff    	lea    -0x208(%ebp),%edx
4157e9:	8b c6                	mov    %esi,%eax
4157eb:	8b ca                	mov    %edx,%ecx
4157ed:	8b 30                	mov    (%eax),%esi
4157ef:	89 71 04             	mov    %esi,0x4(%ecx)
4157f2:	8b 70 04             	mov    0x4(%eax),%esi
4157f5:	2b 71 04             	sub    0x4(%ecx),%esi
4157f8:	46                   	inc    %esi
4157f9:	89 31                	mov    %esi,(%ecx)
4157fb:	83 c0 08             	add    $0x8,%eax
4157fe:	83 c2 08             	add    $0x8,%edx
415801:	4b                   	dec    %ebx
415802:	75 e7                	jne    0x4157eb
415804:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
41580a:	50                   	push   %eax
41580b:	8b 45 f8             	mov    -0x8(%ebp),%eax
41580e:	50                   	push   %eax
41580f:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
415813:	50                   	push   %eax
415814:	e8 4b 93 ff ff       	call   0x40eb64
415819:	8b d8                	mov    %eax,%ebx
41581b:	85 db                	test   %ebx,%ebx
41581d:	75 05                	jne    0x415824
41581f:	e8 e0 a0 ff ff       	call   0x40f904
415824:	8b 45 08             	mov    0x8(%ebp),%eax
415827:	e8 30 a7 ff ff       	call   0x40ff5c
41582c:	66 8b 45 fe          	mov    -0x2(%ebp),%ax
415830:	66 0d 00 20          	or     $0x2000,%ax
415834:	8b 55 08             	mov    0x8(%ebp),%edx
415837:	66 89 02             	mov    %ax,(%edx)
41583a:	8b 45 08             	mov    0x8(%ebp),%eax
41583d:	89 58 08             	mov    %ebx,0x8(%eax)
415840:	5e                   	pop    %esi
415841:	5b                   	pop    %ebx
415842:	8b e5                	mov    %ebp,%esp
415844:	5d                   	pop    %ebp
415845:	c2 04 00             	ret    $0x4
415848:	53                   	push   %ebx
415849:	83 c4 f8             	add    $0xfffffff8,%esp
41584c:	8b d8                	mov    %eax,%ebx
41584e:	8b cc                	mov    %esp,%ecx
415850:	8d 54 24 04          	lea    0x4(%esp),%edx
415854:	8b c3                	mov    %ebx,%eax
415856:	e8 01 ff ff ff       	call   0x41575c
41585b:	84 c0                	test   %al,%al
41585d:	75 0a                	jne    0x415869
41585f:	b8 57 00 07 80       	mov    $0x80070057,%eax
415864:	e8 43 a3 ff ff       	call   0x40fbac
415869:	8b 04 24             	mov    (%esp),%eax
41586c:	59                   	pop    %ecx
41586d:	5a                   	pop    %edx
41586e:	5b                   	pop    %ebx
41586f:	c3                   	ret
415870:	53                   	push   %ebx
415871:	83 c4 f8             	add    $0xfffffff8,%esp
415874:	8b d8                	mov    %eax,%ebx
415876:	8d 4c 24 04          	lea    0x4(%esp),%ecx
41587a:	8b d4                	mov    %esp,%edx
41587c:	8b c3                	mov    %ebx,%eax
41587e:	e8 d9 fe ff ff       	call   0x41575c
415883:	84 c0                	test   %al,%al
415885:	74 09                	je     0x415890
415887:	8b 44 24 04          	mov    0x4(%esp),%eax
41588b:	0f b7 00             	movzwl (%eax),%eax
41588e:	eb 02                	jmp    0x415892