40f621:	3d 20 30 78 25       	cmp    $0x25783020,%eax
40f626:	78 60                	js     0x40f688
40f628:	25 30 38 78 2e       	and    $0x2e783830,%eax
40f62d:	20 64 77 42          	and    %ah,0x42(%edi,%esi,2)
40f631:	79 74                	jns    0x40f6a7
40f633:	65 73 54             	gs jae 0x40f68a
40f636:	6f                   	outsl  %ds:(%esi),(%dx)
40f637:	57                   	push   %edi
40f638:	72 69                	jb     0x40f6a3
40f63a:	74 65                	je     0x40f6a1
40f63c:	20 3d 20 25 64 2e    	and    %bh,0x2e642520
40f642:	20 64 77 42          	and    %ah,0x42(%edi,%esi,2)
40f646:	79 74                	jns    0x40f6bc
40f648:	65 73 57             	gs jae 0x40f6a2
40f64b:	72 69                	jb     0x40f6b6
40f64d:	74 74                	je     0x40f6c3
40f64f:	65 6e                	outsb  %gs:(%esi),(%dx)
40f651:	20 3d 20 25 64 0a    	and    %bh,0xa642520
40f657:	00 46 00             	add    %al,0x0(%esi)
40f65a:	41                   	inc    %ecx
40f65b:	00 49 00             	add    %cl,0x0(%ecx)
40f65e:	4c                   	dec    %esp
40f65f:	00 55 00             	add    %dl,0x0(%ebp)
40f662:	52                   	push   %edx
40f663:	00 45 00             	add    %al,0x0(%ebp)
40f666:	3a 00                	cmp    (%eax),%al
40f668:	20 00                	and    %al,(%eax)
40f66a:	47                   	inc    %edi
40f66b:	00 65 00             	add    %ah,0x0(%ebp)
40f66e:	74 00                	je     0x40f670
40f670:	4f                   	dec    %edi
40f671:	00 76 00             	add    %dh,0x0(%esi)
40f674:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40f678:	6c                   	insb   (%dx),%es:(%edi)
40f679:	00 61 00             	add    %ah,0x0(%ecx)
40f67c:	70 00                	jo     0x40f67e
40f67e:	70 00                	jo     0x40f680
40f680:	65 00 64 00 52       	add    %ah,%gs:0x52(%eax,%eax,1)
40f685:	00 65 00             	add    %ah,0x0(%ebp)
40f688:	73 00                	jae    0x40f68a
40f68a:	75 00                	jne    0x40f68c
40f68c:	6c                   	insb   (%dx),%es:(%edi)
40f68d:	00 74 00 20          	add    %dh,0x20(%eax,%eax,1)
40f691:	00 28                	add    %ch,(%eax)
40f693:	00 77 00             	add    %dh,0x0(%edi)
40f696:	72 00                	jb     0x40f698
40f698:	69 00 74 00 65 00    	imul   $0x650074,(%eax),%eax
40f69e:	29 00                	sub    %eax,(%eax)
40f6a0:	20 00                	and    %al,(%eax)
40f6a2:	72 00                	jb     0x40f6a4
40f6a4:	65 00 74 00 75       	add    %dh,%gs:0x75(%eax,%eax,1)
40f6a9:	00 72 00             	add    %dh,0x0(%edx)
40f6ac:	6e                   	outsb  %ds:(%esi),(%dx)
40f6ad:	00 65 00             	add    %ah,0x0(%ebp)
40f6b0:	64 00 20             	add    %ah,%fs:(%eax)
40f6b3:	00 77 00             	add    %dh,0x0(%edi)
40f6b6:	72 00                	jb     0x40f6b8
40f6b8:	6f                   	outsl  %ds:(%esi),(%dx)
40f6b9:	00 6e 00             	add    %ch,0x0(%esi)
40f6bc:	67 00 20             	add    %ah,(%bx,%si)
40f6bf:	00 6e 00             	add    %ch,0x0(%esi)
40f6c2:	75 00                	jne    0x40f6c4
40f6c4:	6d                   	insl   (%dx),%es:(%edi)
40f6c5:	00 62 00             	add    %ah,0x0(%edx)
40f6c8:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40f6cc:	20 00                	and    %al,(%eax)
40f6ce:	6f                   	outsl  %ds:(%esi),(%dx)
40f6cf:	00 66 00             	add    %ah,0x0(%esi)
40f6d2:	20 00                	and    %al,(%eax)
40f6d4:	62 00                	bound  %eax,(%eax)
40f6d6:	79 00                	jns    0x40f6d8
40f6d8:	74 00                	je     0x40f6da
40f6da:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40f6de:	3a 00                	cmp    (%eax),%al
40f6e0:	20 00                	and    %al,(%eax)
40f6e2:	00 00                	add    %al,(%eax)
40f6e4:	52                   	push   %edx
40f6e5:	65 61                	gs popa
40f6e7:	64 46                	fs inc %esi
40f6e9:	69 6c 65 20 66 61 69 	imul   $0x6c696166,0x20(%ebp,%eiz,2),%ebp
40f6f0:	6c
40f6f1:	65 64 20 77 69       	gs and %dh,%fs:0x69(%edi)
40f6f6:	74 68                	je     0x40f760
40f6f8:	20 25 64 2e 20 4f    	and    %ah,0x4f202e64
40f6fe:	66 66 73 65          	data16 data16 jae 0x40f767
40f702:	74 20                	je     0x40f724
40f704:	3d 20 30 78 25       	cmp    $0x25783020,%eax
40f709:	78 60                	js     0x40f76b
40f70b:	25 30 38 78 2e       	and    $0x2e783830,%eax
40f710:	20 63 62             	and    %ah,0x62(%ebx)
40f713:	54                   	push   %esp
40f714:	6f                   	outsl  %ds:(%esi),(%dx)
40f715:	52                   	push   %edx
40f716:	65 61                	gs popa
40f718:	64 20 3d 20 25 64 2e 	and    %bh,%fs:0x2e642520
40f71f:	0a 00                	or     (%eax),%al
40f721:	00 00                	add    %al,(%eax)
40f723:	00 46 00             	add    %al,0x0(%esi)
40f726:	41                   	inc    %ecx
40f727:	00 49 00             	add    %cl,0x0(%ecx)
40f72a:	4c                   	dec    %esp
40f72b:	00 55 00             	add    %dl,0x0(%ebp)
40f72e:	52                   	push   %edx
40f72f:	00 45 00             	add    %al,0x0(%ebp)
40f732:	3a 00                	cmp    (%eax),%al
40f734:	20 00                	and    %al,(%eax)
40f736:	52                   	push   %edx
40f737:	00 65 00             	add    %ah,0x0(%ebp)
40f73a:	61                   	popa
40f73b:	00 64 00 46          	add    %ah,0x46(%eax,%eax,1)
40f73f:	00 69 00             	add    %ch,0x0(%ecx)
40f742:	6c                   	insb   (%dx),%es:(%edi)
40f743:	00 65 00             	add    %ah,0x0(%ebp)
40f746:	3a 00                	cmp    (%eax),%al
40f748:	20 00                	and    %al,(%eax)
40f74a:	00 00                	add    %al,(%eax)
40f74c:	0d 00 0a 00 00       	or     $0xa00,%eax
40f751:	00 00                	add    %al,(%eax)
40f753:	00 00                	add    %al,(%eax)
40f755:	00 00                	add    %al,(%eax)
40f757:	00 09                	add    %cl,(%ecx)
40f759:	00 54 00 6f          	add    %dl,0x6f(%eax,%eax,1)
40f75d:	00 74 00 61          	add    %dh,0x61(%eax,%eax,1)
40f761:	00 6c 00 20          	add    %ch,0x20(%eax,%eax,1)
40f765:	00 62 00             	add    %ah,0x0(%edx)
40f768:	79 00                	jns    0x40f76a
40f76a:	74 00                	je     0x40f76c
40f76c:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40f770:	20 00                	and    %al,(%eax)
40f772:	72 00                	jb     0x40f774
40f774:	65 00 61 00          	add    %ah,%gs:0x0(%ecx)
40f778:	64 00 20             	add    %ah,%fs:(%eax)
40f77b:	00 20                	add    %ah,(%eax)
40f77d:	00 20                	add    %ah,(%eax)
40f77f:	00 20                	add    %ah,(%eax)
40f781:	00 20                	add    %ah,(%eax)
40f783:	00 20                	add    %ah,(%eax)
40f785:	00 20                	add    %ah,(%eax)
40f787:	00 20                	add    %ah,(%eax)
40f789:	00 20                	add    %ah,(%eax)
40f78b:	00 20                	add    %ah,(%eax)
40f78d:	00 20                	add    %ah,(%eax)
40f78f:	00 20                	add    %ah,(%eax)
40f791:	00 20                	add    %ah,(%eax)
40f793:	00 20                	add    %ah,(%eax)
40f795:	00 20                	add    %ah,(%eax)
40f797:	00 20                	add    %ah,(%eax)
40f799:	00 3d 00 20 00 25    	add    %bh,0x25002000
40f79f:	00 23                	add    %ah,(%ebx)
40f7a1:	00 49 00             	add    %cl,0x0(%ecx)
40f7a4:	36 00 34 00          	add    %dh,%ss:(%eax,%eax,1)
40f7a8:	78 00                	js     0x40f7aa
40f7aa:	20 00                	and    %al,(%eax)
40f7ac:	28 00                	sub    %al,(%eax)
40f7ae:	25 00 49 00 36       	and    $0x36004900,%eax
40f7b3:	00 34 00             	add    %dh,(%eax,%eax,1)
40f7b6:	64 00 29             	add    %ch,%fs:(%ecx)
40f7b9:	00 20                	add    %ah,(%eax)
40f7bb:	00 28                	add    %ch,(%eax)
40f7bd:	00 25 00 49 00 36    	add    %ah,0x36004900
40f7c3:	00 34 00             	add    %dh,(%eax,%eax,1)
40f7c6:	64 00 20             	add    %ah,%fs:(%eax)
40f7c9:	00 4d 00             	add    %cl,0x0(%ebp)
40f7cc:	42                   	inc    %edx
40f7cd:	00 29                	add    %ch,(%ecx)
40f7cf:	00 0d 00 0a 00 00    	add    %cl,0xa00
40f7d5:	00 00                	add    %al,(%eax)
40f7d7:	00 09                	add    %cl,(%ecx)
40f7d9:	00 54 00 6f          	add    %dl,0x6f(%eax,%eax,1)
40f7dd:	00 74 00 61          	add    %dh,0x61(%eax,%eax,1)
40f7e1:	00 6c 00 20          	add    %ch,0x20(%eax,%eax,1)
40f7e5:	00 62 00             	add    %ah,0x0(%edx)
40f7e8:	79 00                	jns    0x40f7ea
40f7ea:	74 00                	je     0x40f7ec
40f7ec:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40f7f0:	20 00                	and    %al,(%eax)
40f7f2:	77 00                	ja     0x40f7f4
40f7f4:	72 00                	jb     0x40f7f6
40f7f6:	69 00 74 00 74 00    	imul   $0x740074,(%eax),%eax
40f7fc:	65 00 6e 00          	add    %ch,%gs:0x0(%esi)
40f800:	20 00                	and    %al,(%eax)
40f802:	20 00                	and    %al,(%eax)
40f804:	20 00                	and    %al,(%eax)
40f806:	20 00                	and    %al,(%eax)
40f808:	20 00                	and    %al,(%eax)
40f80a:	20 00                	and    %al,(%eax)
40f80c:	20 00                	and    %al,(%eax)
40f80e:	20 00                	and    %al,(%eax)
40f810:	20 00                	and    %al,(%eax)
40f812:	20 00                	and    %al,(%eax)
40f814:	20 00                	and    %al,(%eax)
40f816:	20 00                	and    %al,(%eax)
40f818:	20 00                	and    %al,(%eax)
40f81a:	3d 00 20 00 25       	cmp    $0x25002000,%eax
40f81f:	00 23                	add    %ah,(%ebx)
40f821:	00 49 00             	add    %cl,0x0(%ecx)
40f824:	36 00 34 00          	add    %dh,%ss:(%eax,%eax,1)
40f828:	78 00                	js     0x40f82a
40f82a:	20 00                	and    %al,(%eax)
40f82c:	28 00                	sub    %al,(%eax)
40f82e:	25 00 49 00 36       	and    $0x36004900,%eax
40f833:	00 34 00             	add    %dh,(%eax,%eax,1)
40f836:	64 00 29             	add    %ch,%fs:(%ecx)
40f839:	00 20                	add    %ah,(%eax)
40f83b:	00 28                	add    %ch,(%eax)
40f83d:	00 25 00 49 00 36    	add    %ah,0x36004900
40f843:	00 34 00             	add    %dh,(%eax,%eax,1)
40f846:	64 00 20             	add    %ah,%fs:(%eax)
40f849:	00 4d 00             	add    %cl,0x0(%ebp)
40f84c:	42                   	inc    %edx
40f84d:	00 29                	add    %ch,(%ecx)
40f84f:	00 0d 00 0a 00 00    	add    %cl,0xa00
40f855:	00 00                	add    %al,(%eax)
40f857:	00 09                	add    %cl,(%ecx)
40f859:	00 4e 00             	add    %cl,0x0(%esi)
40f85c:	75 00                	jne    0x40f85e
40f85e:	6d                   	insl   (%dx),%es:(%edi)
40f85f:	00 62 00             	add    %ah,0x0(%edx)
40f862:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40f866:	20 00                	and    %al,(%eax)
40f868:	6f                   	outsl  %ds:(%esi),(%dx)
40f869:	00 66 00             	add    %ah,0x0(%esi)
40f86c:	20 00                	and    %al,(%eax)
40f86e:	72 00                	jb     0x40f870
40f870:	65 00 61 00          	add    %ah,%gs:0x0(%ecx)
40f874:	64 00 20             	add    %ah,%fs:(%eax)
40f877:	00 65 00             	add    %ah,0x0(%ebp)
40f87a:	72 00                	jb     0x40f87c
40f87c:	72 00                	jb     0x40f87e
40f87e:	6f                   	outsl  %ds:(%esi),(%dx)
40f87f:	00 72 00             	add    %dh,0x0(%edx)
40f882:	73 00                	jae    0x40f884
40f884:	20 00                	and    %al,(%eax)
40f886:	20 00                	and    %al,(%eax)
40f888:	20 00                	and    %al,(%eax)
40f88a:	20 00                	and    %al,(%eax)
40f88c:	20 00                	and    %al,(%eax)
40f88e:	20 00                	and    %al,(%eax)
40f890:	20 00                	and    %al,(%eax)
40f892:	20 00                	and    %al,(%eax)
40f894:	20 00                	and    %al,(%eax)
40f896:	20 00                	and    %al,(%eax)
40f898:	20 00                	and    %al,(%eax)
40f89a:	3d 00 20 00 25       	cmp    $0x25002000,%eax
40f89f:	00 64 00 0d          	add    %ah,0xd(%eax,%eax,1)
40f8a3:	00 0a                	add    %cl,(%edx)
40f8a5:	00 00                	add    %al,(%eax)
40f8a7:	00 09                	add    %cl,(%ecx)
40f8a9:	00 42 00             	add    %al,0x0(%edx)
40f8ac:	79 00                	jns    0x40f8ae
40f8ae:	74 00                	je     0x40f8b0
40f8b0:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40f8b4:	20 00                	and    %al,(%eax)
40f8b6:	61                   	popa
40f8b7:	00 66 00             	add    %ah,0x0(%esi)
40f8ba:	66 00 65 00          	data16 add %ah,0x0(%ebp)
40f8be:	63 00                	arpl   %eax,(%eax)
40f8c0:	74 00                	je     0x40f8c2
40f8c2:	65 00 64 00 20       	add    %ah,%gs:0x20(%eax,%eax,1)
40f8c7:	00 62 00             	add    %ah,0x0(%edx)
40f8ca:	79 00                	jns    0x40f8cc
40f8cc:	20 00                	and    %al,(%eax)
40f8ce:	72 00                	jb     0x40f8d0
40f8d0:	65 00 61 00          	add    %ah,%gs:0x0(%ecx)
40f8d4:	64 00 20             	add    %ah,%fs:(%eax)
40f8d7:	00 65 00             	add    %ah,0x0(%ebp)
40f8da:	72 00                	jb     0x40f8dc
40f8dc:	72 00                	jb     0x40f8de
40f8de:	6f                   	outsl  %ds:(%esi),(%dx)
40f8df:	00 72 00             	add    %dh,0x0(%edx)
40f8e2:	73 00                	jae    0x40f8e4
40f8e4:	20 00                	and    %al,(%eax)
40f8e6:	20 00                	and    %al,(%eax)
40f8e8:	20 00                	and    %al,(%eax)
40f8ea:	3d 00 20 00 25       	cmp    $0x25002000,%eax
40f8ef:	00 23                	add    %ah,(%ebx)
40f8f1:	00 49 00             	add    %cl,0x0(%ecx)
40f8f4:	36 00 34 00          	add    %dh,%ss:(%eax,%eax,1)
40f8f8:	78 00                	js     0x40f8fa
40f8fa:	20 00                	and    %al,(%eax)
40f8fc:	28 00                	sub    %al,(%eax)
40f8fe:	25 00 49 00 36       	and    $0x36004900,%eax
40f903:	00 34 00             	add    %dh,(%eax,%eax,1)
40f906:	64 00 29             	add    %ch,%fs:(%ecx)
40f909:	00 20                	add    %ah,(%eax)
40f90b:	00 28                	add    %ch,(%eax)
40f90d:	00 25 00 49 00 36    	add    %ah,0x36004900
40f913:	00 34 00             	add    %dh,(%eax,%eax,1)
40f916:	64 00 20             	add    %ah,%fs:(%eax)
40f919:	00 6b 00             	add    %ch,0x0(%ebx)
40f91c:	42                   	inc    %edx
40f91d:	00 29                	add    %ch,(%ecx)
40f91f:	00 0d 00 0a 00 00    	add    %cl,0xa00
40f925:	00 00                	add    %al,(%eax)
40f927:	00 09                	add    %cl,(%ecx)
40f929:	00 4e 00             	add    %cl,0x0(%esi)
40f92c:	75 00                	jne    0x40f92e
40f92e:	6d                   	insl   (%dx),%es:(%edi)
40f92f:	00 62 00             	add    %ah,0x0(%edx)
40f932:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40f936:	20 00                	and    %al,(%eax)
40f938:	6f                   	outsl  %ds:(%esi),(%dx)
40f939:	00 66 00             	add    %ah,0x0(%esi)
40f93c:	20 00                	and    %al,(%eax)
40f93e:	77 00                	ja     0x40f940
40f940:	72 00                	jb     0x40f942
40f942:	69 00 74 00 65 00    	imul   $0x650074,(%eax),%eax
40f948:	20 00                	and    %al,(%eax)
40f94a:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40f94e:	72 00                	jb     0x40f950
40f950:	6f                   	outsl  %ds:(%esi),(%dx)
40f951:	00 72 00             	add    %dh,0x0(%edx)
40f954:	73 00                	jae    0x40f956
40f956:	20 00                	and    %al,(%eax)
40f958:	20 00                	and    %al,(%eax)
40f95a:	20 00                	and    %al,(%eax)
40f95c:	20 00                	and    %al,(%eax)
40f95e:	20 00                	and    %al,(%eax)
40f960:	20 00                	and    %al,(%eax)
40f962:	20 00                	and    %al,(%eax)
40f964:	20 00                	and    %al,(%eax)
40f966:	20 00                	and    %al,(%eax)
40f968:	20 00                	and    %al,(%eax)
40f96a:	3d 00 20 00 25       	cmp    $0x25002000,%eax
40f96f:	00 64 00 0d          	add    %ah,0xd(%eax,%eax,1)
40f973:	00 0a                	add    %cl,(%edx)
40f975:	00 00                	add    %al,(%eax)
40f977:	00 09                	add    %cl,(%ecx)
40f979:	00 42 00             	add    %al,0x0(%edx)
40f97c:	79 00                	jns    0x40f97e
40f97e:	74 00                	je     0x40f980
40f980:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40f984:	20 00                	and    %al,(%eax)
40f986:	61                   	popa
40f987:	00 66 00             	add    %ah,0x0(%esi)
40f98a:	66 00 65 00          	data16 add %ah,0x0(%ebp)
40f98e:	63 00                	arpl   %eax,(%eax)
40f990:	74 00                	je     0x40f992
40f992:	65 00 64 00 20       	add    %ah,%gs:0x20(%eax,%eax,1)
40f997:	00 62 00             	add    %ah,0x0(%edx)
40f99a:	79 00                	jns    0x40f99c
40f99c:	20 00                	and    %al,(%eax)
40f99e:	77 00                	ja     0x40f9a0
40f9a0:	72 00                	jb     0x40f9a2
40f9a2:	69 00 74 00 65 00    	imul   $0x650074,(%eax),%eax
40f9a8:	20 00                	and    %al,(%eax)
40f9aa:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40f9ae:	72 00                	jb     0x40f9b0
40f9b0:	6f                   	outsl  %ds:(%esi),(%dx)
40f9b1:	00 72 00             	add    %dh,0x0(%edx)