40ab8f:	6a 5f                	push   $0x5f
40ab91:	66 64 69 76 5f 6d 33 	imul   $0x336d,%fs:0x5f(%esi),%si
40ab98:	32 00                	xor    (%eax),%al
40ab9a:	64 00 5f 5f          	add    %bl,%fs:0x5f(%edi)
40ab9e:	76 62                	jbe    0x40ac02
40aba0:	61                   	popa
40aba1:	41                   	inc    %ecx
40aba2:	72 79                	jb     0x40ac1d
40aba4:	56                   	push   %esi
40aba5:	61                   	popa
40aba6:	72 00                	jb     0x40aba8
40aba8:	5d                   	pop    %ebp
40aba9:	00 5f 5f             	add    %bl,0x5f(%edi)
40abac:	76 62                	jbe    0x40ac10
40abae:	61                   	popa
40abaf:	41                   	inc    %ecx
40abb0:	72 79                	jb     0x40ac2b
40abb2:	44                   	inc    %esp
40abb3:	65 73 74             	gs jae 0x40ac2a
40abb6:	72 75                	jb     0x40ac2d
40abb8:	63 74 00 00          	arpl   %esi,0x0(%eax,%eax,1)
40abbc:	e5 00                	in     $0x0,%eax
40abbe:	5f                   	pop    %edi
40abbf:	5f                   	pop    %edi
40abc0:	76 62                	jbe    0x40ac24
40abc2:	61                   	popa
40abc3:	4c                   	dec    %esp
40abc4:	61                   	popa
40abc5:	74 65                	je     0x40ac2c
40abc7:	4d                   	dec    %ebp
40abc8:	65 6d                	gs insl (%dx),%es:(%edi)
40abca:	53                   	push   %ebx
40abcb:	74 00                	je     0x40abcd
40abcd:	00 ff                	add    %bh,%bh
40abcf:	00 5f 5f             	add    %bl,0x5f(%edi)
40abd2:	76 62                	jbe    0x40ac36
40abd4:	61                   	popa
40abd5:	4f                   	dec    %edi
40abd6:	62 6a 53             	bound  %ebp,0x53(%edx)
40abd9:	65 74 00             	gs je  0x40abdc
40abdc:	a7                   	cmpsl  %es:(%edi),%ds:(%esi)
40abdd:	01 5f 61             	add    %ebx,0x61(%edi)
40abe0:	64 6a 5f             	fs push $0x5f
40abe3:	66 64 69 76 5f 6d 31 	imul   $0x316d,%fs:0x5f(%esi),%si
40abea:	36 69 00 00 00 01 5f 	imul   $0x5f010000,%ss:(%eax),%eax
40abf1:	5f                   	pop    %edi
40abf2:	76 62                	jbe    0x40ac56
40abf4:	61                   	popa
40abf5:	4f                   	dec    %edi
40abf6:	62 6a 53             	bound  %ebp,0x53(%edx)
40abf9:	65 74 41             	gs je  0x40ac3d
40abfc:	64 64 72 65          	fs fs jb 0x40ac65
40ac00:	66 00 ac 01 5f 61 64 	data16 add %ch,0x6a64615f(%ecx,%eax,1)
40ac07:	6a
40ac08:	5f                   	pop    %edi
40ac09:	66 64 69 76 72 5f 6d 	imul   $0x6d5f,%fs:0x72(%esi),%si
40ac10:	31 36                	xor    %esi,(%esi)
40ac12:	69 00 7e 00 5f 5f    	imul   $0x5f5f007e,(%eax),%eax
40ac18:	76 62                	jbe    0x40ac7c
40ac1a:	61                   	popa
40ac1b:	43                   	inc    %ebx
40ac1c:	79 53                	jns    0x40ac71
40ac1e:	74 72                	je     0x40ac92
40ac20:	00 00                	add    %al,(%eax)
40ac22:	ab                   	stos   %eax,%es:(%edi)
40ac23:	00 5f 5f             	add    %bl,0x5f(%edi)
40ac26:	76 62                	jbe    0x40ac8a
40ac28:	61                   	popa
40ac29:	46                   	inc    %esi
40ac2a:	70 52                	jo     0x40ac7e
40ac2c:	38 00                	cmp    %al,(%eax)
40ac2e:	56                   	push   %esi
40ac2f:	00 5f 43             	add    %bl,0x43(%edi)
40ac32:	49                   	dec    %ecx
40ac33:	73 69                	jae    0x40ac9e
40ac35:	6e                   	outsb  %ds:(%esi),(%dx)
40ac36:	00 00                	add    %al,(%eax)
40ac38:	89 00                	mov    %eax,(%eax)
40ac3a:	5f                   	pop    %edi
40ac3b:	5f                   	pop    %edi
40ac3c:	76 62                	jbe    0x40aca0
40ac3e:	61                   	popa
40ac3f:	45                   	inc    %ebp
40ac40:	72 61                	jb     0x40aca3
40ac42:	73 65                	jae    0x40aca9
40ac44:	00 00                	add    %al,(%eax)
40ac46:	6f                   	outsl  %ds:(%esi),(%dx)
40ac47:	00 5f 5f             	add    %bl,0x5f(%edi)
40ac4a:	76 62                	jbe    0x40acae
40ac4c:	61                   	popa
40ac4d:	43                   	inc    %ebx
40ac4e:	68 6b 73 74 6b       	push   $0x6b74736b
40ac53:	00 11                	add    %dl,(%ecx)
40ac55:	00 45 56             	add    %al,0x56(%ebp)
40ac58:	45                   	inc    %ebp
40ac59:	4e                   	dec    %esi
40ac5a:	54                   	push   %esp
40ac5b:	5f                   	pop    %edi
40ac5c:	53                   	push   %ebx
40ac5d:	49                   	dec    %ecx
40ac5e:	4e                   	dec    %esi
40ac5f:	4b                   	dec    %ebx
40ac60:	5f                   	pop    %edi
40ac61:	41                   	inc    %ecx
40ac62:	64 64 52             	fs fs push %edx
40ac65:	65 66 00 b4 00 5f 5f 	data16 add %dh,%gs:0x62765f5f(%eax,%eax,1)
40ac6c:	76 62
40ac6e:	61                   	popa
40ac6f:	47                   	inc    %edi
40ac70:	65 6e                	outsb  %gs:(%esi),(%dx)
40ac72:	65 72 61             	gs jb  0x40acd6
40ac75:	74 65                	je     0x40acdc
40ac77:	42                   	inc    %edx
40ac78:	6f                   	outsl  %ds:(%esi),(%dx)
40ac79:	75 6e                	jne    0x40ace9
40ac7b:	64 73 45             	fs jae 0x40acc3
40ac7e:	72 72                	jb     0x40acf2
40ac80:	6f                   	outsl  %ds:(%esi),(%dx)
40ac81:	72 00                	jb     0x40ac83
40ac83:	00 34 01             	add    %dh,(%ecx,%eax,1)
40ac86:	5f                   	pop    %edi
40ac87:	5f                   	pop    %edi
40ac88:	76 62                	jbe    0x40acec
40ac8a:	61                   	popa
40ac8b:	53                   	push   %ebx
40ac8c:	74 72                	je     0x40ad00
40ac8e:	43                   	inc    %ebx
40ac8f:	6d                   	insl   (%dx),%es:(%edi)
40ac90:	70 00                	jo     0x40ac92
40ac92:	5b                   	pop    %ebx
40ac93:	00 5f 5f             	add    %bl,0x5f(%edi)
40ac96:	76 62                	jbe    0x40acfa
40ac98:	61                   	popa
40ac99:	41                   	inc    %ecx
40ac9a:	72 79                	jb     0x40ad15
40ac9c:	43                   	inc    %ebx
40ac9d:	6f                   	outsl  %ds:(%esi),(%dx)
40ac9e:	6e                   	outsb  %ds:(%esi),(%dx)
40ac9f:	73 74                	jae    0x40ad15
40aca1:	72 75                	jb     0x40ad18
40aca3:	63 74 32 00          	arpl   %esi,0x0(%edx,%esi,1)
40aca7:	00 93 01 5f 5f 76    	add    %dl,0x765f5f01(%ebx)
40acad:	62 61 56             	bound  %esp,0x56(%ecx)
40acb0:	61                   	popa
40acb1:	72 54                	jb     0x40ad07
40acb3:	73 74                	jae    0x40ad29
40acb5:	45                   	inc    %ebp
40acb6:	71 00                	jno    0x40acb8
40acb8:	11 01                	adc    %eax,(%ecx)
40acba:	5f                   	pop    %edi
40acbb:	5f                   	pop    %edi
40acbc:	76 62                	jbe    0x40ad20
40acbe:	61                   	popa
40acbf:	52                   	push   %edx
40acc0:	34 53                	xor    $0x53,%al
40acc2:	74 72                	je     0x40ad36
40acc4:	00 00                	add    %al,(%eax)
40acc6:	01 01                	add    %eax,(%ecx)
40acc8:	5f                   	pop    %edi
40acc9:	5f                   	pop    %edi
40acca:	76 62                	jbe    0x40ad2e
40accc:	61                   	popa
40accd:	4f                   	dec    %edi
40acce:	62 6a 56             	bound  %ebp,0x56(%edx)
40acd1:	61                   	popa
40acd2:	72 00                	jb     0x40acd4
40acd4:	c5 00                	lds    (%eax),%eax
40acd6:	5f                   	pop    %edi
40acd7:	5f                   	pop    %edi
40acd8:	76 62                	jbe    0x40ad3c
40acda:	61                   	popa
40acdb:	49                   	dec    %ecx
40acdc:	32 49 34             	xor    0x34(%ecx),%cl
40acdf:	00 6c 00 5f          	add    %ch,0x5f(%eax,%eax,1)
40ace3:	5f                   	pop    %edi
40ace4:	76 62                	jbe    0x40ad48
40ace6:	61                   	popa
40ace7:	43                   	inc    %ebx
40ace8:	61                   	popa
40ace9:	73 74                	jae    0x40ad5f
40aceb:	4f                   	dec    %edi
40acec:	62 6a 56             	bound  %ebp,0x56(%edx)
40acef:	61                   	popa
40acf0:	72 00                	jb     0x40acf2
40acf2:	b0 01                	mov    $0x1,%al
40acf4:	5f                   	pop    %edi
40acf5:	61                   	popa
40acf6:	64 6a 5f             	fs push $0x5f
40acf9:	66 70 61             	data16 jo 0x40ad5d
40acfc:	74 61                	je     0x40ad5f
40acfe:	6e                   	outsb  %ds:(%esi),(%dx)
40acff:	00 23                	add    %ah,(%ebx)
40ad01:	01 5f 5f             	add    %ebx,0x5f(%edi)
40ad04:	76 62                	jbe    0x40ad68
40ad06:	61                   	popa
40ad07:	52                   	push   %edx
40ad08:	65 64 69 6d 00 00 15 	gs imul $0x45001500,%fs:0x0(%ebp),%ebp
40ad0f:	00 45
40ad11:	56                   	push   %esi
40ad12:	45                   	inc    %ebp
40ad13:	4e                   	dec    %esi
40ad14:	54                   	push   %esp
40ad15:	5f                   	pop    %edi
40ad16:	53                   	push   %ebx
40ad17:	49                   	dec    %ecx
40ad18:	4e                   	dec    %esi
40ad19:	4b                   	dec    %ebx
40ad1a:	5f                   	pop    %edi
40ad1b:	52                   	push   %edx
40ad1c:	65 6c                	gs insb (%dx),%es:(%edi)
40ad1e:	65 61                	gs popa
40ad20:	73 65                	jae    0x40ad87
40ad22:	00 00                	add    %al,(%eax)
40ad24:	4c                   	dec    %esp
40ad25:	01 5f 5f             	add    %ebx,0x5f(%edi)
40ad28:	76 62                	jbe    0x40ad8c
40ad2a:	61                   	popa
40ad2b:	55                   	push   %ebp
40ad2c:	49                   	dec    %ecx
40ad2d:	31 49 32             	xor    %ecx,0x32(%ecx)
40ad30:	00 00                	add    %al,(%eax)
40ad32:	57                   	push   %edi
40ad33:	00 5f 43             	add    %bl,0x43(%edi)
40ad36:	49                   	dec    %ecx
40ad37:	73 71                	jae    0x40adaa
40ad39:	72 74                	jb     0x40adaf
40ad3b:	00 14 00             	add    %dl,(%eax,%eax,1)
40ad3e:	45                   	inc    %ebp
40ad3f:	56                   	push   %esi
40ad40:	45                   	inc    %ebp
40ad41:	4e                   	dec    %esi
40ad42:	54                   	push   %esp
40ad43:	5f                   	pop    %edi
40ad44:	53                   	push   %ebx
40ad45:	49                   	dec    %ecx
40ad46:	4e                   	dec    %esi
40ad47:	4b                   	dec    %ebx
40ad48:	5f                   	pop    %edi
40ad49:	51                   	push   %ecx
40ad4a:	75 65                	jne    0x40adb1
40ad4c:	72 79                	jb     0x40adc7
40ad4e:	49                   	dec    %ecx
40ad4f:	6e                   	outsb  %ds:(%esi),(%dx)
40ad50:	74 65                	je     0x40adb7
40ad52:	72 66                	jb     0x40adba
40ad54:	61                   	popa
40ad55:	63 65 00             	arpl   %esp,0x0(%ebp)
40ad58:	a6                   	cmpsb  %es:(%edi),%ds:(%esi)
40ad59:	00 5f 5f             	add    %bl,0x5f(%edi)
40ad5c:	76 62                	jbe    0x40adc0
40ad5e:	61                   	popa
40ad5f:	46                   	inc    %esi
40ad60:	70 43                	jo     0x40ada5
40ad62:	6d                   	insl   (%dx),%es:(%edi)
40ad63:	70 43                	jo     0x40ada8
40ad65:	79 00                	jns    0x40ad67
40ad67:	00 8e 00 5f 5f 76    	add    %cl,0x765f5f00(%esi)
40ad6d:	62 61 45             	bound  %esp,0x45(%ecx)
40ad70:	78 63                	js     0x40add5
40ad72:	65 70 74             	gs jo  0x40ade9
40ad75:	48                   	dec    %eax
40ad76:	61                   	popa
40ad77:	6e                   	outsb  %ds:(%esi),(%dx)
40ad78:	64 6c                	fs insb (%dx),%es:(%edi)
40ad7a:	65 72 00             	gs jb  0x40ad7d
40ad7d:	00 b1 01 5f 61 64    	add    %dh,0x64615f01(%ecx)
40ad83:	6a 5f                	push   $0x5f
40ad85:	66 70 72             	data16 jo 0x40adfa
40ad88:	65 6d                	gs insl (%dx),%es:(%edi)
40ad8a:	00 00                	add    %al,(%eax)
40ad8c:	af                   	scas   %es:(%edi),%eax
40ad8d:	01 5f 61             	add    %ebx,0x61(%edi)
40ad90:	64 6a 5f             	fs push $0x5f
40ad93:	66 64 69 76 72 5f 6d 	imul   $0x6d5f,%fs:0x72(%esi),%si
40ad9a:	36 34 00             	ss xor $0x0,%al
40ad9d:	00 93 00 5f 5f 76    	add    %dl,0x765f5f00(%ebx)
40ada3:	62 61 46             	bound  %esp,0x46(%ecx)
40ada6:	50                   	push   %eax
40ada7:	45                   	inc    %ebp
40ada8:	78 63                	js     0x40ae0d
40adaa:	65 70 74             	gs jo  0x40ae21
40adad:	69 6f 6e 00 00 55 00 	imul   $0x550000,0x6e(%edi),%ebp
40adb4:	5f                   	pop    %edi
40adb5:	43                   	inc    %ebx
40adb6:	49                   	dec    %ecx
40adb7:	6c                   	insb   (%dx),%es:(%edi)
40adb8:	6f                   	outsl  %ds:(%esi),(%dx)
40adb9:	67 00 00             	add    %al,(%bx,%si)
40adbc:	f7 00 5f 5f 76 62    	testl  $0x62765f5f,(%eax)
40adc2:	61                   	popa
40adc3:	4e                   	dec    %esi
40adc4:	65 77 32             	gs ja  0x40adf9
40adc7:	00 d0                	add    %dl,%al
40adc9:	00 5f 5f             	add    %bl,0x5f(%edi)
40adcc:	76 62                	jbe    0x40ae30
40adce:	61                   	popa
40adcf:	49                   	dec    %ecx
40add0:	6e                   	outsb  %ds:(%esi),(%dx)
40add1:	53                   	push   %ebx
40add2:	74 72                	je     0x40ae46
40add4:	00 00                	add    %al,(%eax)
40add6:	a9 01 5f 61 64       	test   $0x64615f01,%eax
40addb:	6a 5f                	push   $0x5f
40addd:	66 64 69 76 5f 6d 33 	imul   $0x336d,%fs:0x5f(%esi),%si
40ade4:	32 69 00             	xor    0x0(%ecx),%ch
40ade7:	00 ae 01 5f 61 64    	add    %ch,0x64615f01(%esi)
40aded:	6a 5f                	push   $0x5f
40adef:	66 64 69 76 72 5f 6d 	imul   $0x6d5f,%fs:0x72(%esi),%si
40adf6:	33 32                	xor    (%edx),%esi
40adf8:	69 00 37 01 5f 5f    	imul   $0x5f5f0137,(%eax),%eax
40adfe:	76 62                	jbe    0x40ae62
40ae00:	61                   	popa
40ae01:	53                   	push   %ebx
40ae02:	74 72                	je     0x40ae76
40ae04:	43                   	inc    %ebx
40ae05:	6f                   	outsl  %ds:(%esi),(%dx)
40ae06:	70 79                	jo     0x40ae81
40ae08:	00 00                	add    %al,(%eax)
40ae0a:	7e 01                	jle    0x40ae0d
40ae0c:	5f                   	pop    %edi
40ae0d:	5f                   	pop    %edi
40ae0e:	76 62                	jbe    0x40ae72
40ae10:	61                   	popa
40ae11:	56                   	push   %esi
40ae12:	61                   	popa
40ae13:	72 53                	jb     0x40ae68
40ae15:	65 74 4f             	gs je  0x40ae67
40ae18:	62 6a 00             	bound  %ebp,0x0(%edx)
40ae1b:	00 ce                	add    %cl,%dh
40ae1d:	00 5f 5f             	add    %bl,0x5f(%edi)
40ae20:	76 62                	jbe    0x40ae84
40ae22:	61                   	popa
40ae23:	49                   	dec    %ecx
40ae24:	34 53                	xor    $0x53,%al
40ae26:	74 72                	je     0x40ae9a
40ae28:	00 00                	add    %al,(%eax)
40ae2a:	b0 00                	mov    $0x0,%al
40ae2c:	5f                   	pop    %edi
40ae2d:	5f                   	pop    %edi
40ae2e:	76 62                	jbe    0x40ae92
40ae30:	61                   	popa
40ae31:	46                   	inc    %esi
40ae32:	72 65                	jb     0x40ae99
40ae34:	65 53                	gs push %ebx
40ae36:	74 72                	je     0x40aeaa
40ae38:	4c                   	dec    %esp
40ae39:	69 73 74 00 00 ad 01 	imul   $0x1ad0000,0x74(%ebx),%esi
40ae40:	5f                   	pop    %edi
40ae41:	61                   	popa
40ae42:	64 6a 5f             	fs push $0x5f