40ddcf:	65 6d                	gs insl (%dx),%es:(%edi)
40ddd1:	00 00                	add    %al,(%eax)
40ddd3:	1c 52                	sbb    $0x52,%al
40ddd5:	01 00                	add    %eax,(%eax)
40ddd7:	4e                   	dec    %esi
40ddd8:	57                   	push   %edi
40ddd9:	69 6e 64 6f 77 73 42 	imul   $0x4273776f,0x64(%esi),%ebp
40dde0:	61                   	popa
40dde1:	73 65                	jae    0x40de48
40dde3:	2c 20                	sub    $0x20,%al
40dde5:	56                   	push   %esi
40dde6:	65 72 73             	gs jb  0x40de5c
40dde9:	69 6f 6e 3d 34 2e 30 	imul   $0x302e343d,0x6e(%edi),%ebp
40ddf0:	2e 30 2e             	xor    %ch,%cs:(%esi)
40ddf3:	30 2c 20             	xor    %ch,(%eax,%eiz,1)
40ddf6:	43                   	inc    %ebx
40ddf7:	75 6c                	jne    0x40de65
40ddf9:	74 75                	je     0x40de70
40ddfb:	72 65                	jb     0x40de62
40ddfd:	3d 6e 65 75 74       	cmp    $0x7475656e,%eax
40de02:	72 61                	jb     0x40de65
40de04:	6c                   	insb   (%dx),%es:(%edi)
40de05:	2c 20                	sub    $0x20,%al
40de07:	50                   	push   %eax
40de08:	75 62                	jne    0x40de6c
40de0a:	6c                   	insb   (%dx),%es:(%edi)
40de0b:	69 63 4b 65 79 54 6f 	imul   $0x6f547965,0x4b(%ebx),%esp
40de12:	6b 65 6e 3d          	imul   $0x3d,0x6e(%ebp),%esp
40de16:	33 31                	xor    (%ecx),%esi
40de18:	62 66 33             	bound  %esp,0x33(%esi)
40de1b:	38 35 36 61 64 33    	cmp    %dh,0x33646136
40de21:	36 34 65             	ss xor $0x65,%al
40de24:	33 35 1c 5c 02 00    	xor    0x25c1c,%esi
40de2a:	58                   	pop    %eax
40de2b:	50                   	push   %eax
40de2c:	72 65                	jb     0x40de93
40de2e:	73 65                	jae    0x40de95
40de30:	6e                   	outsb  %ds:(%esi),(%dx)
40de31:	74 61                	je     0x40de94
40de33:	74 69                	je     0x40de9e
40de35:	6f                   	outsl  %ds:(%esi),(%dx)
40de36:	6e                   	outsb  %ds:(%esi),(%dx)
40de37:	46                   	inc    %esi
40de38:	72 61                	jb     0x40de9b
40de3a:	6d                   	insl   (%dx),%es:(%edi)
40de3b:	65 77 6f             	gs ja  0x40dead
40de3e:	72 6b                	jb     0x40deab
40de40:	2c 20                	sub    $0x20,%al
40de42:	56                   	push   %esi
40de43:	65 72 73             	gs jb  0x40deb9
40de46:	69 6f 6e 3d 34 2e 30 	imul   $0x302e343d,0x6e(%edi),%ebp
40de4d:	2e 30 2e             	xor    %ch,%cs:(%esi)
40de50:	30 2c 20             	xor    %ch,(%eax,%eiz,1)
40de53:	43                   	inc    %ebx
40de54:	75 6c                	jne    0x40dec2
40de56:	74 75                	je     0x40decd
40de58:	72 65                	jb     0x40debf
40de5a:	3d 6e 65 75 74       	cmp    $0x7475656e,%eax
40de5f:	72 61                	jb     0x40dec2
40de61:	6c                   	insb   (%dx),%es:(%edi)
40de62:	2c 20                	sub    $0x20,%al
40de64:	50                   	push   %eax
40de65:	75 62                	jne    0x40dec9
40de67:	6c                   	insb   (%dx),%es:(%edi)
40de68:	69 63 4b 65 79 54 6f 	imul   $0x6f547965,0x4b(%ebx),%esp
40de6f:	6b 65 6e 3d          	imul   $0x3d,0x6e(%ebp),%esp
40de73:	33 31                	xor    (%ecx),%esi
40de75:	62 66 33             	bound  %esp,0x33(%esi)
40de78:	38 35 36 61 64 33    	cmp    %dh,0x33646136
40de7e:	36 34 65             	ss xor $0x65,%al
40de81:	33 35 1c 57 03 00    	xor    0x3571c,%esi
40de87:	53                   	push   %ebx
40de88:	50                   	push   %eax
40de89:	72 65                	jb     0x40def0
40de8b:	73 65                	jae    0x40def2
40de8d:	6e                   	outsb  %ds:(%esi),(%dx)
40de8e:	74 61                	je     0x40def1
40de90:	74 69                	je     0x40defb
40de92:	6f                   	outsl  %ds:(%esi),(%dx)
40de93:	6e                   	outsb  %ds:(%esi),(%dx)
40de94:	43                   	inc    %ebx
40de95:	6f                   	outsl  %ds:(%esi),(%dx)
40de96:	72 65                	jb     0x40defd
40de98:	2c 20                	sub    $0x20,%al
40de9a:	56                   	push   %esi
40de9b:	65 72 73             	gs jb  0x40df11
40de9e:	69 6f 6e 3d 34 2e 30 	imul   $0x302e343d,0x6e(%edi),%ebp
40dea5:	2e 30 2e             	xor    %ch,%cs:(%esi)
40dea8:	30 2c 20             	xor    %ch,(%eax,%eiz,1)
40deab:	43                   	inc    %ebx
40deac:	75 6c                	jne    0x40df1a
40deae:	74 75                	je     0x40df25
40deb0:	72 65                	jb     0x40df17
40deb2:	3d 6e 65 75 74       	cmp    $0x7475656e,%eax
40deb7:	72 61                	jb     0x40df1a
40deb9:	6c                   	insb   (%dx),%es:(%edi)
40deba:	2c 20                	sub    $0x20,%al
40debc:	50                   	push   %eax
40debd:	75 62                	jne    0x40df21
40debf:	6c                   	insb   (%dx),%es:(%edi)
40dec0:	69 63 4b 65 79 54 6f 	imul   $0x6f547965,0x4b(%ebx),%esp
40dec7:	6b 65 6e 3d          	imul   $0x3d,0x6e(%ebp),%esp
40decb:	33 31                	xor    (%ecx),%esi
40decd:	62 66 33             	bound  %esp,0x33(%esi)
40ded0:	38 35 36 61 64 33    	cmp    %dh,0x33646136
40ded6:	36 34 65             	ss xor $0x65,%al
40ded9:	33 35 1c 52 04 00    	xor    0x4521c,%esi
40dedf:	4e                   	dec    %esi
40dee0:	53                   	push   %ebx
40dee1:	79 73                	jns    0x40df56
40dee3:	74 65                	je     0x40df4a
40dee5:	6d                   	insl   (%dx),%es:(%edi)
40dee6:	2e 58                	cs pop %eax
40dee8:	61                   	popa
40dee9:	6d                   	insl   (%dx),%es:(%edi)
40deea:	6c                   	insb   (%dx),%es:(%edi)
40deeb:	2c 20                	sub    $0x20,%al
40deed:	56                   	push   %esi
40deee:	65 72 73             	gs jb  0x40df64
40def1:	69 6f 6e 3d 34 2e 30 	imul   $0x302e343d,0x6e(%edi),%ebp
40def8:	2e 30 2e             	xor    %ch,%cs:(%esi)
40defb:	30 2c 20             	xor    %ch,(%eax,%eiz,1)
40defe:	43                   	inc    %ebx
40deff:	75 6c                	jne    0x40df6d
40df01:	74 75                	je     0x40df78
40df03:	72 65                	jb     0x40df6a
40df05:	3d 6e 65 75 74       	cmp    $0x7475656e,%eax
40df0a:	72 61                	jb     0x40df6d
40df0c:	6c                   	insb   (%dx),%es:(%edi)
40df0d:	2c 20                	sub    $0x20,%al
40df0f:	50                   	push   %eax
40df10:	75 62                	jne    0x40df74
40df12:	6c                   	insb   (%dx),%es:(%edi)
40df13:	69 63 4b 65 79 54 6f 	imul   $0x6f547965,0x4b(%ebx),%esp
40df1a:	6b 65 6e 3d          	imul   $0x3d,0x6e(%ebp),%esp
40df1e:	62 37                	bound  %esi,(%edi)
40df20:	37                   	aaa
40df21:	61                   	popa
40df22:	35 63 35 36 31       	xor    $0x31363563,%eax
40df27:	39 33                	cmp    %esi,(%ebx)
40df29:	34 65                	xor    $0x65,%al
40df2b:	30 38                	xor    %bh,(%eax)
40df2d:	39 20                	cmp    %esp,(%eax)
40df2f:	2d 00 00 29 54       	sub    $0x54290000,%eax
40df34:	5f                   	pop    %edi
40df35:	47                   	inc    %edi
40df36:	5f                   	pop    %edi
40df37:	4b                   	dec    %ebx
40df38:	65 79 5f             	gs jns 0x40df9a
40df3b:	50                   	push   %eax
40df3c:	6f                   	outsl  %ds:(%esi),(%dx)
40df3d:	70 4d                	jo     0x40df8c
40df3f:	65 73 73             	gs jae 0x40dfb5
40df42:	61                   	popa
40df43:	67 65 5f             	addr16 gs pop %edi
40df46:	4e                   	dec    %esi
40df47:	6f                   	outsl  %ds:(%esi),(%dx)
40df48:	74 69                	je     0x40dfb3
40df4a:	63 65 5f             	arpl   %esp,0x5f(%ebp)
40df4d:	49                   	dec    %ecx
40df4e:	6e                   	outsb  %ds:(%esi),(%dx)
40df4f:	73 74                	jae    0x40dfc5
40df51:	61                   	popa
40df52:	6c                   	insb   (%dx),%es:(%edi)
40df53:	6c                   	insb   (%dx),%es:(%edi)
40df54:	5f                   	pop    %edi
40df55:	46                   	inc    %esi
40df56:	65 61                	gs popa
40df58:	74 75                	je     0x40dfcf
40df5a:	72 65                	jb     0x40dfc1
40df5c:	20 2f                	and    %ch,(%edi)
40df5e:	01 00                	add    %eax,(%eax)
40df60:	2b 54 5f 47          	sub    0x47(%edi,%ebx,2),%edx
40df64:	5f                   	pop    %edi
40df65:	4b                   	dec    %ebx
40df66:	65 79 5f             	gs jns 0x40dfc8
40df69:	50                   	push   %eax
40df6a:	6f                   	outsl  %ds:(%esi),(%dx)
40df6b:	70 4d                	jo     0x40dfba
40df6d:	65 73 73             	gs jae 0x40dfe3
40df70:	61                   	popa
40df71:	67 65 5f             	addr16 gs pop %edi
40df74:	4e                   	dec    %esi
40df75:	6f                   	outsl  %ds:(%esi),(%dx)
40df76:	74 69                	je     0x40dfe1
40df78:	63 65 5f             	arpl   %esp,0x5f(%ebp)
40df7b:	53                   	push   %ebx
40df7c:	68 6f 72 74 63       	push   $0x6374726f
40df81:	75 74                	jne    0x40dff7
40df83:	5f                   	pop    %edi
40df84:	4c                   	dec    %esp
40df85:	6f                   	outsl  %ds:(%esi),(%dx)
40df86:	63 61 74             	arpl   %esp,0x74(%ecx)
40df89:	69 6f 6e 03 f4 fd 00 	imul   $0xfdf403,0x6e(%edi),%ebp
40df90:	14 44                	adc    $0x44,%al
40df92:	00 39                	add    %bh,(%ecx)
40df94:	68 74 74 70 3a       	push   $0x3a707474
40df99:	2f                   	das
40df9a:	2f                   	das
40df9b:	73 63                	jae    0x40e000
40df9d:	68 65 6d 61 73       	push   $0x73616d65
40dfa2:	2e 6d                	cs insl (%dx),%es:(%edi)
40dfa4:	69 63 72 6f 73 6f 66 	imul   $0x666f736f,0x72(%ebx),%esp
40dfab:	74 2e                	je     0x40dfdb
40dfad:	63 6f 6d             	arpl   %ebp,0x6d(%edi)
40dfb0:	2f                   	das
40dfb1:	77 69                	ja     0x40e01c
40dfb3:	6e                   	outsb  %ds:(%esi),(%dx)
40dfb4:	66 78 2f             	data16 js 0x40dfe6
40dfb7:	32 30                	xor    (%eax),%dh
40dfb9:	30 36                	xor    %dh,(%esi)
40dfbb:	2f                   	das
40dfbc:	78 61                	js     0x40e01f
40dfbe:	6d                   	insl   (%dx),%es:(%edi)
40dfbf:	6c                   	insb   (%dx),%es:(%edi)
40dfc0:	2f                   	das
40dfc1:	70 72                	jo     0x40e035
40dfc3:	65 73 65             	gs jae 0x40e02b
40dfc6:	6e                   	outsb  %ds:(%esi),(%dx)
40dfc7:	74 61                	je     0x40e02a
40dfc9:	74 69                	je     0x40e034
40dfcb:	6f                   	outsl  %ds:(%esi),(%dx)
40dfcc:	6e                   	outsb  %ds:(%esi),(%dx)
40dfcd:	03 00                	add    (%eax),%eax
40dfcf:	01 00                	add    %eax,(%eax)
40dfd1:	02 00                	add    (%eax),%al
40dfd3:	03 00                	add    (%eax),%eax
40dfd5:	14 3a                	adc    $0x3a,%al
40dfd7:	01 78 2c             	add    %edi,0x2c(%eax)
40dfda:	68 74 74 70 3a       	push   $0x3a707474
40dfdf:	2f                   	das
40dfe0:	2f                   	das
40dfe1:	73 63                	jae    0x40e046
40dfe3:	68 65 6d 61 73       	push   $0x73616d65
40dfe8:	2e 6d                	cs insl (%dx),%es:(%edi)
40dfea:	69 63 72 6f 73 6f 66 	imul   $0x666f736f,0x72(%ebx),%esp
40dff1:	74 2e                	je     0x40e021
40dff3:	63 6f 6d             	arpl   %ebp,0x6d(%edi)
40dff6:	2f                   	das
40dff7:	77 69                	ja     0x40e062
40dff9:	6e                   	outsb  %ds:(%esi),(%dx)
40dffa:	66 78 2f             	data16 js 0x40e02c
40dffd:	32 30                	xor    (%eax),%dh
40dfff:	30 36                	xor    %dh,(%esi)
40e001:	2f                   	das
40e002:	78 61                	js     0x40e065
40e004:	6d                   	insl   (%dx),%es:(%edi)
40e005:	6c                   	insb   (%dx),%es:(%edi)
40e006:	04 00                	add    $0x0,%al
40e008:	01 00                	add    %eax,(%eax)
40e00a:	04 00                	add    $0x0,%al
40e00c:	02 00                	add    (%eax),%al
40e00e:	03 00                	add    (%eax),%eax
40e010:	14 2e                	adc    $0x2e,%al
40e012:	03 73 79             	add    0x79(%ebx),%esi
40e015:	73 26                	jae    0x40e03d
40e017:	63 6c 72 2d          	arpl   %ebp,0x2d(%edx,%esi,2)
40e01b:	6e                   	outsb  %ds:(%esi),(%dx)
40e01c:	61                   	popa
40e01d:	6d                   	insl   (%dx),%es:(%edi)
40e01e:	65 73 70             	gs jae 0x40e091
40e021:	61                   	popa
40e022:	63 65 3a             	arpl   %esp,0x3a(%ebp)
40e025:	53                   	push   %ebx
40e026:	79 73                	jns    0x40e09b
40e028:	74 65                	je     0x40e08f
40e02a:	6d                   	insl   (%dx),%es:(%edi)
40e02b:	3b 61 73             	cmp    0x73(%ecx),%esp
40e02e:	73 65                	jae    0x40e095
40e030:	6d                   	insl   (%dx),%es:(%edi)
40e031:	62 6c 79 3d          	bound  %ebp,0x3d(%ecx,%edi,2)
40e035:	6d                   	insl   (%dx),%es:(%edi)
40e036:	73 63                	jae    0x40e09b
40e038:	6f                   	outsl  %ds:(%esi),(%dx)
40e039:	72 6c                	jb     0x40e0a7
40e03b:	69 62 00 00 25 91 00 	imul   $0x912500,0x0(%edx),%esp
40e042:	00 00                	add    %al,(%eax)
40e044:	26 09 00             	or     %eax,%es:(%eax)
40e047:	00 00                	add    %al,(%eax)
40e049:	00 00                	add    %al,(%eax)
40e04b:	00 00                	add    %al,(%eax)
40e04d:	00 26                	add    %ah,(%esi)
40e04f:	09 01                	or     %eax,(%ecx)
40e051:	00 34 00             	add    %dh,(%eax,%eax,1)
40e054:	00 00                	add    %al,(%eax)
40e056:	00 00                	add    %al,(%eax)
40e058:	03 9c fd 01 11 2e 2a 	add    0x2a2e1101(%ebp,%edi,8),%ebx
40e05f:	49                   	dec    %ecx
40e060:	6e                   	outsb  %ds:(%esi),(%dx)
40e061:	73 74                	jae    0x40e0d7
40e063:	61                   	popa
40e064:	6c                   	insb   (%dx),%es:(%edi)
40e065:	6c                   	insb   (%dx),%es:(%edi)
40e066:	61                   	popa
40e067:	20 70 72             	and    %dh,0x72(%eax)
40e06a:	69 6d 61 20 6c 65 20 	imul   $0x20656c20,0x61(%ebp),%ebp
40e071:	66 65 61             	gs popaw
40e074:	74 75                	je     0x40e0eb
40e076:	72 65                	jb     0x40e0dd
40e078:	20 64 61 6c          	and    %ah,0x6c(%ecx,%eiz,2)
40e07c:	20 53 65             	and    %dl,0x65(%ebx)
40e07f:	74 20                	je     0x40e0a1
40e081:	46                   	inc    %esi
40e082:	65 61                	gs popa
40e084:	74 75                	je     0x40e0fb
40e086:	72 65                	jb     0x40e0ed
40e088:	2e 99                	cs cltd
40e08a:	fd                   	std
40e08b:	04 03                	add    $0x3,%al
40e08d:	9c                   	pushf
40e08e:	fd                   	std
40e08f:	01 11                	add    %edx,(%ecx)
40e091:	43                   	inc    %ebx
40e092:	3f                   	aas
40e093:	49                   	dec    %ecx
40e094:	6c                   	insb   (%dx),%es:(%edi)
40e095:	20 6c 69 6e          	and    %ch,0x6e(%ecx,%ebp,2)
40e099:	6b 20 6e             	imul   $0x6e,(%eax),%esp
40e09c:	6f                   	outsl  %ds:(%esi),(%dx)
40e09d:	6e                   	outsb  %ds:(%esi),(%dx)
40e09e:	20 70 75             	and    %dh,0x75(%eax)
40e0a1:	c3                   	ret
40e0a2:	b2 20                	mov    $0x20,%dl
40e0a4:	65 73 73             	gs jae 0x40e11a
40e0a7:	65 72 65             	gs jb  0x40e10f
40e0aa:	20 61 70             	and    %ah,0x70(%ecx)
40e0ad:	65 72 74             	gs jb  0x40e124
40e0b0:	6f                   	outsl  %ds:(%esi),(%dx)
40e0b1:	2e 20 56 65          	and    %dl,%cs:0x65(%esi)
40e0b5:	72 69                	jb     0x40e120
40e0b7:	66 69 63 61 20 6c    	imul   $0x6c20,0x61(%ebx),%sp
40e0bd:	61                   	popa
40e0be:	20 70 6f             	and    %dh,0x6f(%eax)
40e0c1:	73 69                	jae    0x40e12c
40e0c3:	7a 69                	jp     0x40e12e
40e0c5:	6f                   	outsl  %ds:(%esi),(%dx)
40e0c6:	6e                   	outsb  %ds:(%esi),(%dx)
40e0c7:	65 20 64 65 6c       	and    %ah,%gs:0x6c(%ebp,%eiz,2)
40e0cc:	20 66 69             	and    %ah,0x69(%esi)
40e0cf:	6c                   	insb   (%dx),%es:(%edi)
40e0d0:	65 2e 99             	gs cs cltd
40e0d3:	fd                   	std
40e0d4:	04 04                	add    $0x4,%al
40e0d6:	02 21                	add    (%ecx),%ah
40e0d8:	e5 03                	in     $0x3,%eax
40e0da:	00 00                	add    %al,(%eax)
40e0dc:	0c 00                	or     $0x0,%al
40e0de:	00 00                	add    %al,(%eax)
40e0e0:	4d                   	dec    %ebp
40e0e1:	00 53 00             	add    %dl,0x0(%ebx)