40f5dc:	72 66                	jb     0x40f644
40f5de:	61                   	popa
40f5df:	63 65 00             	arpl   %esp,0x0(%ebp)
40f5e2:	a6                   	cmpsb  %es:(%edi),%ds:(%esi)
40f5e3:	00 5f 5f             	add    %bl,0x5f(%edi)
40f5e6:	76 62                	jbe    0x40f64a
40f5e8:	61                   	popa
40f5e9:	46                   	inc    %esi
40f5ea:	70 43                	jo     0x40f62f
40f5ec:	6d                   	insl   (%dx),%es:(%edi)
40f5ed:	70 43                	jo     0x40f632
40f5ef:	79 00                	jns    0x40f5f1
40f5f1:	00 8e 00 5f 5f 76    	add    %cl,0x765f5f00(%esi)
40f5f7:	62 61 45             	bound  %esp,0x45(%ecx)
40f5fa:	78 63                	js     0x40f65f
40f5fc:	65 70 74             	gs jo  0x40f673
40f5ff:	48                   	dec    %eax
40f600:	61                   	popa
40f601:	6e                   	outsb  %ds:(%esi),(%dx)
40f602:	64 6c                	fs insb (%dx),%es:(%edi)
40f604:	65 72 00             	gs jb  0x40f607
40f607:	00 b1 01 5f 61 64    	add    %dh,0x64615f01(%ecx)
40f60d:	6a 5f                	push   $0x5f
40f60f:	66 70 72             	data16 jo 0x40f684
40f612:	65 6d                	gs insl (%dx),%es:(%edi)
40f614:	00 00                	add    %al,(%eax)
40f616:	af                   	scas   %es:(%edi),%eax
40f617:	01 5f 61             	add    %ebx,0x61(%edi)
40f61a:	64 6a 5f             	fs push $0x5f
40f61d:	66 64 69 76 72 5f 6d 	imul   $0x6d5f,%fs:0x72(%esi),%si
40f624:	36 34 00             	ss xor $0x0,%al
40f627:	00 64 01 5f          	add    %ah,0x5f(%ecx,%eax,1)
40f62b:	5f                   	pop    %edi
40f62c:	76 62                	jbe    0x40f690
40f62e:	61                   	popa
40f62f:	56                   	push   %esi
40f630:	61                   	popa
40f631:	72 45                	jb     0x40f678
40f633:	72 72                	jb     0x40f6a7
40f635:	49                   	dec    %ecx
40f636:	34 00                	xor    $0x0,%al
40f638:	c7 00 5f 5f 76 62    	movl   $0x62765f5f,(%eax)
40f63e:	61                   	popa
40f63f:	49                   	dec    %ecx
40f640:	32 53 74             	xor    0x74(%ebx),%dl
40f643:	72 00                	jb     0x40f645
40f645:	00 93 00 5f 5f 76    	add    %dl,0x765f5f00(%ebx)
40f64b:	62 61 46             	bound  %esp,0x46(%ecx)
40f64e:	50                   	push   %eax
40f64f:	45                   	inc    %ebp
40f650:	78 63                	js     0x40f6b5
40f652:	65 70 74             	gs jo  0x40f6c9
40f655:	69 6f 6e 00 00 49 01 	imul   $0x1490000,0x6e(%edi),%ebp
40f65c:	5f                   	pop    %edi
40f65d:	5f                   	pop    %edi
40f65e:	76 62                	jbe    0x40f6c2
40f660:	61                   	popa
40f661:	53                   	push   %ebx
40f662:	74 72                	je     0x40f6d6
40f664:	56                   	push   %esi
40f665:	61                   	popa
40f666:	72 56                	jb     0x40f6be
40f668:	61                   	popa
40f669:	6c                   	insb   (%dx),%es:(%edi)
40f66a:	00 00                	add    %al,(%eax)
40f66c:	55                   	push   %ebp
40f66d:	00 5f 43             	add    %bl,0x43(%edi)
40f670:	49                   	dec    %ecx
40f671:	6c                   	insb   (%dx),%es:(%edi)
40f672:	6f                   	outsl  %ds:(%esi),(%dx)
40f673:	67 00 00             	add    %al,(%bx,%si)
40f676:	f7 00 5f 5f 76 62    	testl  $0x62765f5f,(%eax)
40f67c:	61                   	popa
40f67d:	4e                   	dec    %esi
40f67e:	65 77 32             	gs ja  0x40f6b3
40f681:	00 1b                	add    %bl,(%ebx)
40f683:	01 5f 5f             	add    %ebx,0x5f(%edi)
40f686:	76 62                	jbe    0x40f6ea
40f688:	61                   	popa
40f689:	52                   	push   %edx
40f68a:	38 53 74             	cmp    %dl,0x74(%ebx)
40f68d:	72 00                	jb     0x40f68f
40f68f:	00 a9 01 5f 61 64    	add    %ch,0x64615f01(%ecx)
40f695:	6a 5f                	push   $0x5f
40f697:	66 64 69 76 5f 6d 33 	imul   $0x336d,%fs:0x5f(%esi),%si
40f69e:	32 69 00             	xor    0x0(%ecx),%ch
40f6a1:	00 ae 01 5f 61 64    	add    %ch,0x64615f01(%esi)
40f6a7:	6a 5f                	push   $0x5f
40f6a9:	66 64 69 76 72 5f 6d 	imul   $0x6d5f,%fs:0x72(%esi),%si
40f6b0:	33 32                	xor    (%edx),%esi
40f6b2:	69 00 7e 01 5f 5f    	imul   $0x5f5f017e,(%eax),%eax
40f6b8:	76 62                	jbe    0x40f71c
40f6ba:	61                   	popa
40f6bb:	56                   	push   %esi
40f6bc:	61                   	popa
40f6bd:	72 53                	jb     0x40f712
40f6bf:	65 74 4f             	gs je  0x40f711
40f6c2:	62 6a 00             	bound  %ebp,0x0(%edx)
40f6c5:	00 37                	add    %dh,(%edi)
40f6c7:	01 5f 5f             	add    %ebx,0x5f(%edi)
40f6ca:	76 62                	jbe    0x40f72e
40f6cc:	61                   	popa
40f6cd:	53                   	push   %ebx
40f6ce:	74 72                	je     0x40f742
40f6d0:	43                   	inc    %ebx
40f6d1:	6f                   	outsl  %ds:(%esi),(%dx)
40f6d2:	70 79                	jo     0x40f74d
40f6d4:	00 00                	add    %al,(%eax)
40f6d6:	ce                   	into
40f6d7:	00 5f 5f             	add    %bl,0x5f(%edi)
40f6da:	76 62                	jbe    0x40f73e
40f6dc:	61                   	popa
40f6dd:	49                   	dec    %ecx
40f6de:	34 53                	xor    $0x53,%al
40f6e0:	74 72                	je     0x40f754
40f6e2:	00 00                	add    %al,(%eax)
40f6e4:	b0 00                	mov    $0x0,%al
40f6e6:	5f                   	pop    %edi
40f6e7:	5f                   	pop    %edi
40f6e8:	76 62                	jbe    0x40f74c
40f6ea:	61                   	popa
40f6eb:	46                   	inc    %esi
40f6ec:	72 65                	jb     0x40f753
40f6ee:	65 53                	gs push %ebx
40f6f0:	74 72                	je     0x40f764
40f6f2:	4c                   	dec    %esp
40f6f3:	69 73 74 00 00 ad 01 	imul   $0x1ad0000,0x74(%ebx),%esi
40f6fa:	5f                   	pop    %edi
40f6fb:	61                   	popa
40f6fc:	64 6a 5f             	fs push $0x5f
40f6ff:	66 64 69 76 72 5f 6d 	imul   $0x6d5f,%fs:0x72(%esi),%si
40f706:	33 32                	xor    (%edx),%esi
40f708:	00 00                	add    %al,(%eax)
40f70a:	ab                   	stos   %eax,%es:(%edi)
40f70b:	01 5f 61             	add    %ebx,0x61(%edi)
40f70e:	64 6a 5f             	fs push $0x5f
40f711:	66 64 69 76 5f 72 00 	imul   $0x72,%fs:0x5f(%esi),%si
40f718:	98                   	cwtl
40f719:	01 5f 5f             	add    %ebx,0x5f(%edi)
40f71c:	76 62                	jbe    0x40f780
40f71e:	61                   	popa
40f71f:	56                   	push   %esi
40f720:	61                   	popa
40f721:	72 54                	jb     0x40f777
40f723:	73 74                	jae    0x40f799
40f725:	4e                   	dec    %esi
40f726:	65 00 de             	gs add %bl,%dh
40f729:	00 5f 5f             	add    %bl,0x5f(%edi)
40f72c:	76 62                	jbe    0x40f790
40f72e:	61                   	popa
40f72f:	4c                   	dec    %esp
40f730:	61                   	popa
40f731:	74 65                	je     0x40f798
40f733:	4d                   	dec    %ebp
40f734:	65 6d                	gs insl (%dx),%es:(%edi)
40f736:	43                   	inc    %ebx
40f737:	61                   	popa
40f738:	6c                   	insb   (%dx),%es:(%edi)
40f739:	6c                   	insb   (%dx),%es:(%edi)
40f73a:	00 00                	add    %al,(%eax)
40f73c:	62 01                	bound  %eax,(%ecx)
40f73e:	5f                   	pop    %edi
40f73f:	5f                   	pop    %edi
40f740:	76 62                	jbe    0x40f7a4
40f742:	61                   	popa
40f743:	56                   	push   %esi
40f744:	61                   	popa
40f745:	72 44                	jb     0x40f78b
40f747:	75 70                	jne    0x40f7b9
40f749:	00 70 01             	add    %dh,0x1(%eax)
40f74c:	5f                   	pop    %edi
40f74d:	5f                   	pop    %edi
40f74e:	76 62                	jbe    0x40f7b2
40f750:	61                   	popa
40f751:	56                   	push   %esi
40f752:	61                   	popa
40f753:	72 4c                	jb     0x40f7a1
40f755:	61                   	popa
40f756:	74 65                	je     0x40f7bd
40f758:	4d                   	dec    %ebp
40f759:	65 6d                	gs insl (%dx),%es:(%edi)
40f75b:	43                   	inc    %ebx
40f75c:	61                   	popa
40f75d:	6c                   	insb   (%dx),%es:(%edi)
40f75e:	6c                   	insb   (%dx),%es:(%edi)
40f75f:	4c                   	dec    %esp
40f760:	64 00 52 00          	add    %dl,%fs:0x0(%edx)
40f764:	5f                   	pop    %edi
40f765:	43                   	inc    %ebx
40f766:	49                   	dec    %ecx
40f767:	61                   	popa
40f768:	74 61                	je     0x40f7cb
40f76a:	6e                   	outsb  %ds:(%esi),(%dx)
40f76b:	00 3f                	add    %bh,(%edi)
40f76d:	01 5f 5f             	add    %ebx,0x5f(%edi)
40f770:	76 62                	jbe    0x40f7d4
40f772:	61                   	popa
40f773:	53                   	push   %ebx
40f774:	74 72                	je     0x40f7e8
40f776:	4d                   	dec    %ebp
40f777:	6f                   	outsl  %ds:(%esi),(%dx)
40f778:	76 65                	jbe    0x40f7df
40f77a:	00 00                	add    %al,(%eax)
40f77c:	5c                   	pop    %esp
40f77d:	00 5f 5f             	add    %bl,0x5f(%edi)
40f780:	76 62                	jbe    0x40f7e4
40f782:	61                   	popa
40f783:	41                   	inc    %ecx
40f784:	72 79                	jb     0x40f7ff
40f786:	43                   	inc    %ebx
40f787:	6f                   	outsl  %ds:(%esi),(%dx)
40f788:	70 79                	jo     0x40f803
40f78a:	00 00                	add    %al,(%eax)
40f78c:	19 01                	sbb    %eax,(%ecx)
40f78e:	5f                   	pop    %edi
40f78f:	5f                   	pop    %edi
40f790:	76 62                	jbe    0x40f7f4
40f792:	61                   	popa
40f793:	52                   	push   %edx
40f794:	38 49 6e             	cmp    %cl,0x6e(%ecx)
40f797:	74 49                	je     0x40f7e2
40f799:	34 00                	xor    $0x0,%al
40f79b:	00 b4 01 5f 61 6c 6c 	add    %dh,0x6c6c615f(%ecx,%eax,1)
40f7a2:	6d                   	insl   (%dx),%es:(%edi)
40f7a3:	75 6c                	jne    0x40f811
40f7a5:	00 58 00             	add    %bl,0x0(%eax)
40f7a8:	5f                   	pop    %edi
40f7a9:	43                   	inc    %ebx
40f7aa:	49                   	dec    %ecx
40f7ab:	74 61                	je     0x40f80e
40f7ad:	6e                   	outsb  %ds:(%esi),(%dx)
40f7ae:	00 00                	add    %al,(%eax)
40f7b0:	54                   	push   %esp
40f7b1:	00 5f 43             	add    %bl,0x43(%edi)
40f7b4:	49                   	dec    %ecx
40f7b5:	65 78 70             	gs js  0x40f828
40f7b8:	00 00                	add    %al,(%eax)
40f7ba:	af                   	scas   %es:(%edi),%eax
40f7bb:	00 5f 5f             	add    %bl,0x5f(%edi)
40f7be:	76 62                	jbe    0x40f822
40f7c0:	61                   	popa
40f7c1:	46                   	inc    %esi
40f7c2:	72 65                	jb     0x40f829
40f7c4:	65 53                	gs push %ebx
40f7c6:	74 72                	je     0x40f83a
40f7c8:	00 00                	add    %al,(%eax)
40f7ca:	ad                   	lods   %ds:(%esi),%eax
40f7cb:	00 5f 5f             	add    %bl,0x5f(%edi)
40f7ce:	76 62                	jbe    0x40f832
40f7d0:	61                   	popa
40f7d1:	46                   	inc    %esi
40f7d2:	72 65                	jb     0x40f839
40f7d4:	65 4f                	gs dec %edi
40f7d6:	62 6a 00             	bound  %ebp,0x0(%edx)
40f7d9:	00 00                	add    %al,(%eax)