457676:	e8 95 53 ff ff       	call   0x44ca10
45767b:	84 c0                	test   %al,%al
45767d:	74 1a                	je     0x457699
45767f:	8b 43 04             	mov    0x4(%ebx),%eax
457682:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
457686:	74 11                	je     0x457699
457688:	8b 43 04             	mov    0x4(%ebx),%eax
45768b:	8b 80 88 01 00 00    	mov    0x188(%eax),%eax
457691:	03 43 08             	add    0x8(%ebx),%eax
457694:	03 43 10             	add    0x10(%ebx),%eax
457697:	eb 3a                	jmp    0x4576d3
457699:	8b 43 04             	mov    0x4(%ebx),%eax
45769c:	8b 80 88 01 00 00    	mov    0x188(%eax),%eax
4576a2:	eb 2f                	jmp    0x4576d3
4576a4:	8b 43 04             	mov    0x4(%ebx),%eax
4576a7:	e8 64 53 ff ff       	call   0x44ca10
4576ac:	84 c0                	test   %al,%al
4576ae:	74 1a                	je     0x4576ca
4576b0:	8b 43 04             	mov    0x4(%ebx),%eax
4576b3:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
4576b7:	74 11                	je     0x4576ca
4576b9:	8b 43 04             	mov    0x4(%ebx),%eax
4576bc:	8b 80 8c 01 00 00    	mov    0x18c(%eax),%eax
4576c2:	03 43 0c             	add    0xc(%ebx),%eax
4576c5:	03 43 14             	add    0x14(%ebx),%eax
4576c8:	eb 09                	jmp    0x4576d3
4576ca:	8b 43 04             	mov    0x4(%ebx),%eax
4576cd:	8b 80 8c 01 00 00    	mov    0x18c(%eax),%eax
4576d3:	5b                   	pop    %ebx
4576d4:	c3                   	ret
4576d5:	8d 40 00             	lea    0x0(%eax),%eax
4576d8:	c3                   	ret
4576d9:	8d 40 00             	lea    0x0(%eax),%eax
4576dc:	55                   	push   %ebp
4576dd:	8b ec                	mov    %esp,%ebp
4576df:	33 c0                	xor    %eax,%eax
4576e1:	55                   	push   %ebp
4576e2:	68 3b 77 45 00       	push   $0x45773b
4576e7:	64 ff 30             	push   %fs:(%eax)
4576ea:	64 89 20             	mov    %esp,%fs:(%eax)
4576ed:	ff 05 28 b5 4a 00    	incl   0x4ab528
4576f3:	75 38                	jne    0x45772d
4576f5:	b8 64 b5 4a 00       	mov    $0x4ab564,%eax
4576fa:	e8 29 6a fb ff       	call   0x40e128
4576ff:	e8 9c f9 ff ff       	call   0x4570a0
457704:	b8 30 b5 4a 00       	mov    $0x4ab530,%eax
457709:	e8 3a d0 fa ff       	call   0x404748
45770e:	b8 34 b5 4a 00       	mov    $0x4ab534,%eax
457713:	e8 30 d0 fa ff       	call   0x404748
457718:	b8 40 c6 49 00       	mov    $0x49c640,%eax
45771d:	b9 16 00 00 00       	mov    $0x16,%ecx
457722:	8b 15 34 6d 41 00    	mov    0x416d34,%edx
457728:	e8 d3 db fa ff       	call   0x405300
45772d:	33 c0                	xor    %eax,%eax
45772f:	5a                   	pop    %edx
457730:	59                   	pop    %ecx
457731:	59                   	pop    %ecx
457732:	64 89 10             	mov    %edx,%fs:(%eax)
457735:	68 42 77 45 00       	push   $0x457742
45773a:	c3                   	ret
45773b:	e9 70 c9 fa ff       	jmp    0x4040b0
457740:	eb f8                	jmp    0x45773a
457742:	5d                   	pop    %ebp
457743:	c3                   	ret
457744:	90                   	nop
457745:	77 45                	ja     0x45778c
45775f:	00 90 77 45 00 98    	add    %dl,-0x67ffba89(%eax)
457765:	77 45                	ja     0x4577ac
457767:	00 10                	add    %dl,(%eax)
457769:	00 00                	add    %al,(%eax)
45776b:	00 e0                	add    %ah,%al
45776d:	10 40 00             	adc    %al,0x0(%eax)
457770:	64 3b 40 00          	cmp    %fs:0x0(%eax),%eax
457774:	70 3b                	jo     0x4577b1
457776:	40                   	inc    %eax
457777:	00 74 3b 40          	add    %dh,0x40(%ebx,%edi,1)
45777b:	00 78 3b             	add    %bh,0x3b(%eax)
45777e:	40                   	inc    %eax
45777f:	00 6c 3b 40          	add    %ch,0x40(%ebx,%edi,1)
457783:	00 b4 38 40 00 d0 38 	add    %dh,0x38d00040(%eax,%edi,1)
45778a:	40                   	inc    %eax
45778b:	00 b0 8d 45 00 01    	add    %dh,0x100458d(%eax)
457791:	00 ff                	add    %bh,%bh
457793:	ff e4                	jmp    *%esp
457795:	8d 45 00             	lea    0x0(%ebp),%eax
457798:	0b 54 43 68          	or     0x68(%ebx,%eax,2),%edx
45779c:	61                   	popa
45779d:	6e                   	outsb  %ds:(%esi),(%dx)
45779e:	67 65 4c             	addr16 gs dec %esp
4577a1:	69 6e 6b a8 77 45 00 	imul   $0x4577a8,0x6b(%esi),%ebp
4577a8:	01 0b                	add    %ecx,(%ebx)
4577aa:	54                   	push   %esp
4577ab:	49                   	dec    %ecx
4577ac:	6d                   	insl   (%dx),%es:(%edi)
4577ad:	61                   	popa
4577ae:	67 65 49             	addr16 gs dec %ecx
4577b1:	6e                   	outsb  %ds:(%esi),(%dx)
4577b2:	64 65 78 04          	fs gs js 0x4577ba
4577b6:	00 00                	add    %al,(%eax)
4577b8:	00 80 ff ff ff 7f    	add    %al,0x7fffffff(%eax)
4577be:	8b c0                	mov    %eax,%eax
4577c0:	0c 78                	or     $0x78,%al
4577c2:	45                   	inc    %ebp
4577cf:	00 70 78             	add    %dh,0x78(%eax)
4577d2:	45                   	inc    %ebp
4577db:	00 50 78             	add    %dl,0x78(%eax)
4577de:	45                   	inc    %ebp
4577df:	00 58 78             	add    %bl,0x78(%eax)
4577e2:	45                   	inc    %ebp
4577e3:	00 68 00             	add    %ch,0x0(%eax)
4577e6:	00 00                	add    %al,(%eax)
4577e8:	80 6a 41 00          	subb   $0x0,0x41(%edx)
4577ec:	9c                   	pushf
4577ed:	ef                   	out    %eax,(%dx)
4577ee:	41                   	inc    %ecx
4577ef:	00 70 3b             	add    %dh,0x3b(%eax)
4577f2:	40                   	inc    %eax
4577f3:	00 d8                	add    %bl,%al
4577f5:	e8 41 00 78 3b       	call   0x3bbd783b
4577fa:	40                   	inc    %eax
4577fb:	00 6c 3b 40          	add    %ch,0x40(%ebx,%edi,1)
4577ff:	00 b4 38 40 00 d0 38 	add    %dh,0x38d00040(%eax,%edi,1)
457806:	40                   	inc    %eax
457807:	00 24 79             	add    %ah,(%ecx,%edi,2)
45780a:	45                   	inc    %ebp
45780b:	00 7c 83 45          	add    %bh,0x45(%ebx,%eax,4)
45780f:	00 08                	add    %cl,(%eax)
457811:	87 45 00             	xchg   %eax,0x0(%ebp)
457814:	b8 82 45 00 78       	mov    $0x78004582,%eax
457819:	ec                   	in     (%dx),%al
45781a:	41                   	inc    %ecx
45781b:	00 40 eb             	add    %al,-0x15(%eax)
45781e:	41                   	inc    %ecx
45781f:	00 88 ec 41 00 80    	add    %cl,-0x7fffbe14(%eax)
457825:	ed                   	in     (%dx),%eax
457826:	41                   	inc    %ecx
457827:	00 b4 ef 41 00 98 ec 	add    %dh,-0x1367ffbf(%edi,%ebp,8)
45782e:	41                   	inc    %ecx
45782f:	00 90 ec 41 00 bc    	add    %dl,-0x43ffbe14(%eax)
457835:	ef                   	out    %eax,(%dx)
457836:	41                   	inc    %ecx
457837:	00 d8                	add    %bl,%al
457839:	78 45                	js     0x457880
45783b:	00 a8 7e 45 00 90    	add    %ch,-0x6fffba82(%eax)
457841:	79 45                	jns    0x457888
457843:	00 bc 8b 45 00 48 8c 	add    %bh,-0x73b7ffbb(%ebx,%ecx,4)
45784a:	45                   	inc    %ebp
45784b:	00 c0                	add    %al,%al
45784d:	84 45 00             	test   %al,0x0(%ebp)
457850:	01 00                	add    %eax,(%eax)
457852:	ef                   	out    %eax,(%dx)
457853:	ff d0                	call   *%eax
457855:	84 45 00             	test   %al,0x0(%ebp)
457858:	10 54 43 75          	adc    %dl,0x75(%ebx,%eax,2)
45785c:	73 74                	jae    0x4578d2
45785e:	6f                   	outsl  %ds:(%esi),(%dx)
45785f:	6d                   	insl   (%dx),%es:(%edi)
457860:	49                   	dec    %ecx
457861:	6d                   	insl   (%dx),%es:(%edi)
457862:	61                   	popa
457863:	67 65 4c             	addr16 gs dec %esp
457866:	69 73 74 8d 40 00 70 	imul   $0x7000408d,0x74(%ebx),%esi
45786d:	78 45                	js     0x4578b4
45786f:	00 07                	add    %al,(%edi)
457871:	10 54 43 75          	adc    %dl,0x75(%ebx,%eax,2)
457875:	73 74                	jae    0x4578eb
457877:	6f                   	outsl  %ds:(%esi),(%dx)
457878:	6d                   	insl   (%dx),%es:(%edi)
457879:	49                   	dec    %ecx
45787a:	6d                   	insl   (%dx),%es:(%edi)
45787b:	61                   	popa
45787c:	67 65 4c             	addr16 gs dec %esp
45787f:	69 73 74 0c 78 45 00 	imul   $0x45780c,0x74(%ebx),%esi
457886:	7c 6b                	jl     0x4578f3
457888:	41                   	inc    %ecx
457889:	00 02                	add    %al,(%edx)
45788b:	00 07                	add    %al,(%edi)
45788d:	49                   	dec    %ecx
45788e:	6d                   	insl   (%dx),%es:(%edi)
45788f:	67 4c                	addr16 dec %esp
457891:	69 73 74 00 00 8b c0 	imul   $0xc08b0000,0x74(%ebx),%esi
457898:	e8 cb c2 fc ff       	call   0x423b68
45789d:	8b d0                	mov    %eax,%edx
45789f:	81 ea ff ff ff 1f    	sub    $0x1fffffff,%edx
4578a5:	74 05                	je     0x4578ac
4578a7:	4a                   	dec    %edx
4578a8:	74 06                	je     0x4578b0
4578aa:	eb 09                	jmp    0x4578b5
4578ac:	83 c8 ff             	or     $0xffffffff,%eax
4578af:	c3                   	ret
4578b0:	b8 00 00 00 ff       	mov    $0xff000000,%eax
4578b5:	c3                   	ret
4578b6:	8b c0                	mov    %eax,%eax
4578b8:	8b d0                	mov    %eax,%edx
4578ba:	81 ea 00 00 00 ff    	sub    $0xff000000,%edx
4578c0:	74 0e                	je     0x4578d0
4578c2:	81 ea ff ff ff 00    	sub    $0xffffff,%edx
4578c8:	75 0b                	jne    0x4578d5
4578ca:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
4578cf:	c3                   	ret
4578d0:	b8 00 00 00 20       	mov    $0x20000000,%eax
4578d5:	c3                   	ret
4578d6:	8b c0                	mov    %eax,%eax
4578d8:	53                   	push   %ebx
4578d9:	56                   	push   %esi
4578da:	84 d2                	test   %dl,%dl
4578dc:	74 08                	je     0x4578e6
4578de:	83 c4 f0             	add    $0xfffffff0,%esp
4578e1:	e8 5a c3 fa ff       	call   0x403c40
4578e6:	8b da                	mov    %edx,%ebx
4578e8:	8b f0                	mov    %eax,%esi
4578ea:	33 d2                	xor    %edx,%edx
4578ec:	8b c6                	mov    %esi,%eax
4578ee:	e8 1d 6f fc ff       	call   0x41e810
4578f3:	c7 46 34 10 00 00 00 	movl   $0x10,0x34(%esi)
4578fa:	c7 46 30 10 00 00 00 	movl   $0x10,0x30(%esi)
457901:	8b c6                	mov    %esi,%eax
457903:	8b 10                	mov    (%eax),%edx
457905:	ff 52 34             	call   *0x34(%edx)
457908:	8b c6                	mov    %esi,%eax
45790a:	84 db                	test   %bl,%bl
45790c:	74 0f                	je     0x45791d
45790e:	e8 85 c3 fa ff       	call   0x403c98
457913:	64 8f 05 00 00 00 00 	pop    %fs:0x0
45791a:	83 c4 0c             	add    $0xc,%esp
45791d:	8b c6                	mov    %esi,%eax
45791f:	5e                   	pop    %esi
457920:	5b                   	pop    %ebx
457921:	c3                   	ret
457922:	8b c0                	mov    %eax,%eax
457924:	53                   	push   %ebx
457925:	56                   	push   %esi
457926:	57                   	push   %edi
457927:	e8 bc c3 fa ff       	call   0x403ce8
45792c:	8b da                	mov    %edx,%ebx
45792e:	8b f8                	mov    %eax,%edi
457930:	eb 10                	jmp    0x457942
457932:	8b c6                	mov    %esi,%eax
457934:	e8 87 09 fc ff       	call   0x4182c0
457939:	8b d0                	mov    %eax,%edx
45793b:	8b c7                	mov    %edi,%eax
45793d:	e8 de 0b 00 00       	call   0x458520
457942:	8b 77 4c             	mov    0x4c(%edi),%esi
457945:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
457949:	7f e7                	jg     0x457932
45794b:	8b 47 50             	mov    0x50(%edi),%eax
45794e:	e8 c9 bf fa ff       	call   0x40391c
457953:	8b c7                	mov    %edi,%eax
457955:	e8 8e 02 00 00       	call   0x457be8
45795a:	8b 47 4c             	mov    0x4c(%edi),%eax
45795d:	e8 ba bf fa ff       	call   0x40391c
457962:	33 c0                	xor    %eax,%eax
457964:	89 47 4c             	mov    %eax,0x4c(%edi)
457967:	8b 47 54             	mov    0x54(%edi),%eax
45796a:	85 c0                	test   %eax,%eax
45796c:	74 05                	je     0x457973
45796e:	e8 a9 bf fa ff       	call   0x40391c
457973:	8b d3                	mov    %ebx,%edx
457975:	80 e2 fc             	and    $0xfc,%dl
457978:	8b c7                	mov    %edi,%eax
45797a:	e8 dd 6e fc ff       	call   0x41e85c
45797f:	84 db                	test   %bl,%bl
457981:	7e 07                	jle    0x45798a
457983:	8b c7                	mov    %edi,%eax
457985:	e8 06 c3 fa ff       	call   0x403c90
45798a:	5f                   	pop    %edi
45798b:	5e                   	pop    %esi
45798c:	5b                   	pop    %ebx
45798d:	c3                   	ret
45798e:	8b c0                	mov    %eax,%eax
457990:	55                   	push   %ebp
457991:	8b ec                	mov    %esp,%ebp
457993:	6a 00                	push   $0x0
457995:	53                   	push   %ebx
457996:	8b d8                	mov    %eax,%ebx
457998:	33 c0                	xor    %eax,%eax
45799a:	55                   	push   %ebp
45799b:	68 3d 7a 45 00       	push   $0x457a3d
4579a0:	64 ff 30             	push   %fs:(%eax)
4579a3:	64 89 20             	mov    %esp,%fs:(%eax)
4579a6:	b2 01                	mov    $0x1,%dl
4579a8:	a1 a0 5c 41 00       	mov    0x415ca0,%eax
4579ad:	e8 3a bf fa ff       	call   0x4038ec
4579b2:	89 43 4c             	mov    %eax,0x4c(%ebx)
4579b5:	8b 43 30             	mov    0x30(%ebx),%eax
4579b8:	83 f8 01             	cmp    $0x1,%eax
4579bb:	7c 0d                	jl     0x4579ca
4579bd:	3d 00 80 00 00       	cmp    $0x8000,%eax
4579c2:	7f 06                	jg     0x4579ca
4579c4:	83 7b 34 01          	cmpl   $0x1,0x34(%ebx)
4579c8:	7d 21                	jge    0x4579eb
4579ca:	8d 55 fc             	lea    -0x4(%ebp),%edx
4579cd:	a1 d0 74 4a 00       	mov    0x4a74d0,%eax
4579d2:	e8 9d ec fa ff       	call   0x406674
4579d7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4579da:	b2 01                	mov    $0x1,%dl
4579dc:	a1 40 5c 41 00       	mov    0x415c40,%eax
4579e1:	e8 2a 4a fb ff       	call   0x40c410
4579e6:	e8 a5 c7 fa ff       	call   0x404190
4579eb:	c7 43 38 04 00 00 00 	movl   $0x4,0x38(%ebx)
4579f2:	c6 43 41 01          	movb   $0x1,0x41(%ebx)
4579f6:	b2 02                	mov    $0x2,%dl
4579f8:	8b c3                	mov    %ebx,%eax
4579fa:	e8 a9 0a 00 00       	call   0x4584a8
4579ff:	c6 43 43 00          	movb   $0x0,0x43(%ebx)
457a03:	c7 43 44 ff ff ff 1f 	movl   $0x1fffffff,0x44(%ebx)
457a0a:	c7 43 48 ff ff ff 1f 	movl   $0x1fffffff,0x48(%ebx)
457a11:	b2 01                	mov    $0x1,%dl
457a13:	a1 d4 2f 42 00       	mov    0x422fd4,%eax
457a18:	e8 6b 1c fd ff       	call   0x429688
457a1d:	89 43 50             	mov    %eax,0x50(%ebx)
457a20:	8b c3                	mov    %ebx,%eax
457a22:	e8 35 00 00 00       	call   0x457a5c
457a27:	33 c0                	xor    %eax,%eax
457a29:	5a                   	pop    %edx
457a2a:	59                   	pop    %ecx
457a2b:	59                   	pop    %ecx
457a2c:	64 89 10             	mov    %edx,%fs:(%eax)
457a2f:	68 44 7a 45 00       	push   $0x457a44
457a34:	8d 45 fc             	lea    -0x4(%ebp),%eax
457a37:	e8 0c cd fa ff       	call   0x404748
457a3c:	c3                   	ret
457a3d:	e9 6e c6 fa ff       	jmp    0x4040b0
457a42:	eb f0                	jmp    0x457a34
457a44:	5b                   	pop    %ebx
457a45:	59                   	pop    %ecx
457a46:	5d                   	pop    %ebp
457a47:	c3                   	ret
457a48:	83 78 3c 00          	cmpl   $0x0,0x3c(%eax)
457a4c:	0f 95 c0             	setne  %al
457a4f:	c3                   	ret
457a50:	83 78 3c 00          	cmpl   $0x0,0x3c(%eax)
457a54:	75 05                	jne    0x457a5b
457a56:	e8 c5 01 00 00       	call   0x457c20
457a5b:	c3                   	ret
457a5c:	55                   	push   %ebp
457a5d:	8b ec                	mov    %esp,%ebp
457a5f:	83 c4 e8             	add    $0xffffffe8,%esp
457a62:	53                   	push   %ebx
457a63:	89 45 fc             	mov    %eax,-0x4(%ebp)
457a66:	6a 00                	push   $0x0
457a68:	e8 13 f5 fa ff       	call   0x406f80
457a6d:	89 45 f8             	mov    %eax,-0x8(%ebp)
457a70:	33 c0                	xor    %eax,%eax
457a72:	55                   	push   %ebp
457a73:	68 fd 7a 45 00       	push   $0x457afd
457a78:	64 ff 30             	push   %fs:(%eax)
457a7b:	64 89 20             	mov    %esp,%fs:(%eax)
457a7e:	8b 45 fc             	mov    -0x4(%ebp),%eax
457a81:	8b 58 50             	mov    0x50(%eax),%ebx