40ec70:	0c 11                	or     $0x11,%al
40ec72:	80 ad 11 4d 15 12 28 	subb   $0x28,0x12154d11(%ebp)
40ec79:	05 12 80 a5 08       	add    $0x8a58012,%eax
40ec7e:	08 08                	or     %cl,(%eax)
40ec80:	08 04 00             	or     %al,(%eax,%eax,1)
40ec83:	00 1d 05 04 20 01    	add    %bl,0x1200405
40ec89:	1c 1c                	sbb    $0x1c,%al
40ec8b:	05 20 01 08 12       	add    $0x12080120,%eax
40ec90:	44                   	inc    %esp
40ec91:	06                   	push   %es
40ec92:	20 02                	and    %al,(%edx)
40ec94:	01 08                	add    %ecx,(%eax)
40ec96:	12 44 05 20          	adc    0x20(%ebp,%eax,1),%al
40ec9a:	01 12                	add    %edx,(%edx)
40ec9c:	44                   	inc    %esp
40ec9d:	08 05 20 01 12 44    	or     %al,0x44120120
40eca3:	0e                   	push   %cs
40eca4:	05 20 01 01 12       	add    $0x12010120,%eax
40eca9:	44                   	inc    %esp
40ecaa:	06                   	push   %es
40ecab:	20 02                	and    %al,(%edx)
40ecad:	01 12                	add    %edx,(%edx)
40ecaf:	44                   	inc    %esp
40ecb0:	0e                   	push   %cs
40ecb1:	05 20 01 02 12       	add    $0x12020120,%eax
40ecb6:	44                   	inc    %esp
40ecb7:	04 20                	add    $0x20,%al
40ecb9:	01 02                	add    %eax,(%edx)
40ecbb:	0e                   	push   %cs
40ecbc:	07                   	pop    %es
40ecbd:	20 02                	and    %al,(%edx)
40ecbf:	01 1d 12 44 08 09    	add    %ebx,0x9084412
40ecc5:	20 00                	and    %al,(%eax)
40ecc7:	15 12 80 d1 01       	adc    $0x1d18012,%eax
40eccc:	12 44 03 20          	adc    0x20(%ebx,%eax,1),%al
40ecd0:	00 0c 04             	add    %cl,(%esp,%eax,1)
40ecd3:	20 01                	and    %al,(%ecx)
40ecd5:	01 0c 05 20 01 01 11 	add    %ecx,0x11010120(,%eax,1)
40ecdc:	51                   	push   %ecx
40ecdd:	05 20 00 11 80       	add    $0x80110020,%eax
40ece2:	ad                   	lods   %ds:(%esi),%eax
40ece3:	0c 20                	or     $0x20,%al
40ece5:	04 01                	add    $0x1,%al
40ece7:	11 80 a9 0c 11 80    	adc    %eax,-0x7feef357(%eax)
40eced:	ad                   	lods   %ds:(%esi),%eax
40ecee:	11 4d 0f             	adc    %ecx,0xf(%ebp)
40ecf1:	20 00                	and    %al,(%eax)
40ecf3:	15 12 2c 03 12       	adc    $0x12032c12,%eax
40ecf8:	80 a5 11 80 ad 11 80 	andb   $0x80,0x11ad8011(%ebp)
40ecff:	ad                   	lods   %ds:(%esi),%eax
40ed00:	10 20                	adc    %ah,(%eax)
40ed02:	01 01                	add    %eax,(%ecx)
40ed04:	15 12 2c 03 12       	adc    $0x12032c12,%eax
40ed09:	80 a5 11 80 ad 11 80 	andb   $0x80,0x11ad8011(%ebp)
40ed10:	ad                   	lods   %ds:(%esi),%eax
40ed11:	1a 20                	sbb    (%eax),%ah
40ed13:	05 01 11 80 a9       	add    $0xa9801101,%eax
40ed18:	0c 11                	or     $0x11,%al
40ed1a:	80 ad 11 80 ad 15 12 	subb   $0x12,0x15ad8011(%ebp)
40ed21:	2c 03                	sub    $0x3,%al
40ed23:	12 80 a5 11 80 ad    	adc    -0x527fee5b(%eax),%al
40ed29:	11 80 ad 0d 20 00    	adc    %eax,0x200dad(%eax)
40ed2f:	15 12 30 02 12       	adc    $0x12023012,%eax
40ed34:	80 a5 1d 11 80 ad 0e 	andb   $0xe,-0x527feee3(%ebp)
40ed3b:	20 01                	and    %al,(%ecx)
40ed3d:	01 15 12 30 02 12    	add    %edx,0x12023012
40ed43:	80 a5 1d 11 80 ad 0d 	andb   $0xd,-0x527feee3(%ebp)
40ed4a:	20 00                	and    %al,(%eax)
40ed4c:	15 12 30 02 12       	adc    $0x12023012,%eax
40ed51:	80 d5 1d             	adc    $0x1d,%ch
40ed54:	11 80 ad 0e 20 01    	adc    %eax,0x1200ead(%eax)
40ed5a:	01 15 12 30 02 12    	add    %edx,0x12023012
40ed60:	80 d5 1d             	adc    $0x1d,%ch
40ed63:	11 80 ad 06 20 00    	adc    %eax,0x2006ad(%eax)
40ed69:	1d 11 80 ad 0c       	sbb    $0xcad8011,%eax
40ed6e:	20 04 01             	and    %al,(%ecx,%eax,1)
40ed71:	11 80 a9 0c 02 1d    	adc    %eax,0x1d020ca9(%eax)
40ed77:	11 80 ad 04 20 00    	adc    %eax,0x2004ad(%eax)
40ed7d:	12 40 07             	adc    0x7(%eax),%al
40ed80:	20 02                	and    %al,(%edx)
40ed82:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40ed85:	80 f9 06             	cmp    $0x6,%cl
40ed88:	20 01                	and    %al,(%ecx)
40ed8a:	02 11                	add    (%ecx),%dl
40ed8c:	80 f5 04             	xor    $0x4,%ch
40ed8f:	20 01                	and    %al,(%ecx)
40ed91:	08 08                	or     %cl,(%eax)
40ed93:	08 20                	or     %ah,(%eax)
40ed95:	01 11                	add    %edx,(%ecx)
40ed97:	80 ad 11 80 ad 08 20 	subb   $0x20,0x8ad8011(%ebp)
40ed9e:	04 12                	add    $0x12,%al
40eda0:	44                   	inc    %esp
40eda1:	08 08                	or     %cl,(%eax)
40eda3:	08 02                	or     %al,(%edx)
40eda5:	09 20                	or     %esp,(%eax)
40eda7:	05 12 44 08 08       	add    $0x8084412,%eax
40edac:	08 0e                	or     %cl,(%esi)
40edae:	02 0b                	add    (%ebx),%cl
40edb0:	20 05 12 44 08 08    	and    %al,0x8084412
40edb6:	08 11                	or     %dl,(%ecx)
40edb8:	80 a9 02 0c 20 06 12 	subb   $0x12,0x6200c02(%ecx)
40edbf:	44                   	inc    %esp
40edc0:	08 08                	or     %cl,(%eax)
40edc2:	08 11                	or     %dl,(%ecx)
40edc4:	80 a9 0e 02 09 20 05 	subb   $0x5,0x2009020e(%ecx)
40edcb:	12 44 08 08          	adc    0x8(%eax,%ecx,1),%al
40edcf:	08 08                	or     %cl,(%eax)
40edd1:	02 0a                	add    (%edx),%cl
40edd3:	20 06                	and    %al,(%esi)
40edd5:	12 44 08 08          	adc    0x8(%eax,%ecx,1),%al
40edd9:	08 08                	or     %cl,(%eax)
40eddb:	0e                   	push   %cs
40eddc:	02 0c 20             	add    (%eax,%eiz,1),%cl
40eddf:	06                   	push   %es
40ede0:	12 44 08 08          	adc    0x8(%eax,%ecx,1),%al
40ede4:	08 08                	or     %cl,(%eax)
40ede6:	11 80 a9 02 0d 20    	adc    %eax,0x200d02a9(%eax)
40edec:	07                   	pop    %es
40eded:	12 44 08 08          	adc    0x8(%eax,%ecx,1),%al
40edf1:	08 08                	or     %cl,(%eax)
40edf3:	11 80 a9 0e 02 08    	adc    %eax,0x8020ea9(%eax)
40edf9:	20 04 12             	and    %al,(%edx,%edx,1)
40edfc:	44                   	inc    %esp
40edfd:	08 08                	or     %cl,(%eax)
40edff:	08 08                	or     %cl,(%eax)
40ee01:	09 20                	or     %esp,(%eax)
40ee03:	05 12 44 08 08       	add    $0x8084412,%eax
40ee08:	08 08                	or     %cl,(%eax)
40ee0a:	0e                   	push   %cs
40ee0b:	0b 20                	or     (%eax),%esp
40ee0d:	05 12 44 08 08       	add    $0x8084412,%eax
40ee12:	08 08                	or     %cl,(%eax)
40ee14:	11 80 a9 0c 20 06    	adc    %eax,0x6200ca9(%eax)
40ee1a:	12 44 08 08          	adc    0x8(%eax,%ecx,1),%al
40ee1e:	08 08                	or     %cl,(%eax)
40ee20:	11 80 a9 0e 0a 20    	adc    %eax,0x200a0ea9(%eax)
40ee26:	02 12                	add    (%edx),%dl
40ee28:	44                   	inc    %esp
40ee29:	11 80 ad 11 80 ad    	adc    %eax,-0x527fee53(%eax)
40ee2f:	0b 20                	or     (%eax),%esp
40ee31:	03 12                	add    (%edx),%edx
40ee33:	44                   	inc    %esp
40ee34:	11 80 ad 11 80 ad    	adc    %eax,-0x527fee53(%eax)
40ee3a:	0e                   	push   %cs
40ee3b:	0d 20 03 12 44       	or     $0x44120320,%eax
40ee40:	11 80 ad 11 80 ad    	adc    %eax,-0x527fee53(%eax)
40ee46:	11 80 a9 0e 20 04    	adc    %eax,0x4200ea9(%eax)
40ee4c:	12 44 11 80          	adc    -0x80(%ecx,%edx,1),%al
40ee50:	ad                   	lods   %ds:(%esi),%eax
40ee51:	11 80 ad 11 80 a9    	adc    %eax,-0x567fee53(%eax)
40ee57:	0e                   	push   %cs
40ee58:	0e                   	push   %cs
40ee59:	20 04 12             	and    %al,(%edx,%edx,1)
40ee5c:	44                   	inc    %esp
40ee5d:	11 80 ad 11 80 ad    	adc    %eax,-0x527fee53(%eax)
40ee63:	11 80 ad 02 0f 20    	adc    %eax,0x200f02ad(%eax)
40ee69:	05 12 44 11 80       	add    $0x80114412,%eax
40ee6e:	ad                   	lods   %ds:(%esi),%eax
40ee6f:	11 80 ad 11 80 ad    	adc    %eax,-0x527fee53(%eax)
40ee75:	0e                   	push   %cs
40ee76:	02 11                	add    (%ecx),%dl
40ee78:	20 05 12 44 11 80    	and    %al,0x80114412
40ee7e:	ad                   	lods   %ds:(%esi),%eax
40ee7f:	11 80 ad 11 80 ad    	adc    %eax,-0x527fee53(%eax)
40ee85:	11 80 a9 02 12 20    	adc    %eax,0x201202a9(%eax)
40ee8b:	06                   	push   %es
40ee8c:	12 44 11 80          	adc    -0x80(%ecx,%edx,1),%al
40ee90:	ad                   	lods   %ds:(%esi),%eax
40ee91:	11 80 ad 11 80 ad    	adc    %eax,-0x527fee53(%eax)
40ee97:	11 80 a9 0e 02 09    	adc    %eax,0x9020ea9(%eax)
40ee9d:	20 02                	and    %al,(%edx)
40ee9f:	12 44 02 1d          	adc    0x1d(%edx,%eax,1),%al
40eea3:	11 80 ad 0a 20 03    	adc    %eax,0x3200aad(%eax)
40eea9:	12 44 0e 02          	adc    0x2(%esi,%ecx,1),%al
40eead:	1d 11 80 ad 0c       	sbb    $0xcad8011,%eax
40eeb2:	20 03                	and    %al,(%ebx)
40eeb4:	12 44 11 80          	adc    -0x80(%ecx,%edx,1),%al
40eeb8:	a9 02 1d 11 80       	test   $0x80111d02,%eax
40eebd:	ad                   	lods   %ds:(%esi),%eax
40eebe:	0d 20 04 12 44       	or     $0x44120420,%eax
40eec3:	11 80 a9 0e 02 1d    	adc    %eax,0x1d020ea9(%eax)
40eec9:	11 80 ad 08 20 02    	adc    %eax,0x22008ad(%eax)
40eecf:	02 12                	add    (%edx),%dl
40eed1:	44                   	inc    %esp
40eed2:	1d 11 5c 0d 20       	sbb    $0x200d5c11,%eax
40eed7:	00 15 12 28 05 12    	add    %dl,0x12052812
40eedd:	80 d5 08             	adc    $0x8,%ch
40eee0:	08 08                	or     %cl,(%eax)
40eee2:	08 0e                	or     %cl,(%esi)
40eee4:	20 01                	and    %al,(%ecx)
40eee6:	01 15 12 28 05 12    	add    %edx,0x12052812
40eeec:	80 d5 08             	adc    $0x8,%ch
40eeef:	08 08                	or     %cl,(%eax)
40eef1:	08 16                	or     %dl,(%esi)
40eef3:	20 04 01             	and    %al,(%ecx,%eax,1)
40eef6:	11 80 a9 11 80 ad    	adc    %eax,-0x527fee57(%eax)
40eefc:	11 4d 15             	adc    %ecx,0x15(%ebp)
40eeff:	12 28                	adc    (%eax),%ch
40ef01:	05 12 80 d5 08       	add    $0x8d58012,%eax
40ef06:	08 08                	or     %cl,(%eax)
40ef08:	08 05 20 00 12 80    	or     %al,0x80120020
40ef0e:	e5 06                	in     $0x6,%eax
40ef10:	20 01                	and    %al,(%ecx)
40ef12:	01 12                	add    %edx,(%edx)
40ef14:	80 e5 05             	and    $0x5,%ch
40ef17:	00 00                	add    %al,(%eax)
40ef19:	12 81 15 05 00 00    	adc    0x515(%ecx),%al
40ef1f:	12 81 19 06 00 01    	adc    0x1000619(%ecx),%al
40ef25:	01 12                	add    %edx,(%edx)
40ef27:	81 19 05 00 00 12    	sbbl   $0x12000005,(%ecx)
40ef2d:	80 e1 0d             	and    $0xd,%cl
40ef30:	28 00                	sub    %al,(%eax)
40ef32:	15 12 28 05 12       	adc    $0x12052812,%eax
40ef37:	80 a5 08 08 08 08 05 	andb   $0x5,0x8080808(%ebp)
40ef3e:	28 01                	sub    %al,(%ecx)
40ef40:	12 44 08 05          	adc    0x5(%eax,%ecx,1),%al
40ef44:	28 01                	sub    %al,(%ecx)
40ef46:	12 44 0e 03          	adc    0x3(%esi,%ecx,1),%al
40ef4a:	28 00                	sub    %al,(%eax)
40ef4c:	08 03                	or     %al,(%ebx)
40ef4e:	28 00                	sub    %al,(%eax)
40ef50:	02 05 28 00 11 80    	add    0x80110028,%al
40ef56:	a9 03 28 00 0c       	test   $0xc002803,%eax
40ef5b:	04 28                	add    $0x28,%al
40ef5d:	00 11                	add    %dl,(%ecx)
40ef5f:	51                   	push   %ecx
40ef60:	05 28 00 11 80       	add    $0x80110028,%eax
40ef65:	ad                   	lods   %ds:(%esi),%eax
40ef66:	04 28                	add    $0x28,%al
40ef68:	00 11                	add    %dl,(%ecx)
40ef6a:	4d                   	dec    %ebp
40ef6b:	03 28                	add    (%eax),%ebp
40ef6d:	00 0e                	add    %cl,(%esi)
40ef6f:	0f 28 00             	movaps (%eax),%xmm0
40ef72:	15 12 2c 03 12       	adc    $0x12032c12,%eax
40ef77:	80 a5 11 80 ad 11 80 	andb   $0x80,0x11ad8011(%ebp)
40ef7e:	ad                   	lods   %ds:(%esi),%eax
40ef7f:	0d 28 00 15 12       	or     $0x12150028,%eax
40ef84:	30 02                	xor    %al,(%edx)
40ef86:	12 80 a5 1d 11 80    	adc    -0x7feee25b(%eax),%al
40ef8c:	ad                   	lods   %ds:(%esi),%eax
40ef8d:	0d 28 00 15 12       	or     $0x12150028,%eax
40ef92:	30 02                	xor    %al,(%edx)
40ef94:	12 80 d5 1d 11 80    	adc    -0x7feee22b(%eax),%al
40ef9a:	ad                   	lods   %ds:(%esi),%eax
40ef9b:	06                   	push   %es
40ef9c:	28 00                	sub    %al,(%eax)
40ef9e:	1d 11 80 ad 04       	sbb    $0x4ad8011,%eax
40efa3:	28 00                	sub    %al,(%eax)
40efa5:	12 40 0d             	adc    0xd(%eax),%al
40efa8:	28 00                	sub    %al,(%eax)
40efaa:	15 12 28 05 12       	adc    $0x12052812,%eax
40efaf:	80 d5 08             	adc    $0x8,%ch
40efb2:	08 08                	or     %cl,(%eax)
40efb4:	08 05 28 00 12 80    	or     %al,0x80120028
40efba:	e5 05                	in     $0x5,%eax
40efbc:	08 00                	or     %al,(%eax)
40efbe:	12 81 15 05 08 00    	adc    0x80515(%ecx),%al
40efc4:	12 81 19 04 08 00    	adc    0x80419(%ecx),%al
40efca:	1d 05 05 08 00       	sbb    $0x80505,%eax
40efcf:	12 80 e1 08 01 00    	adc    0x108e1(%eax),%al
40efd5:	08 00                	or     %al,(%eax)
40efd7:	00 00                	add    %al,(%eax)
40efd9:	00 00                	add    %al,(%eax)
40efdb:	1e                   	push   %ds
40efdc:	01 00                	add    %eax,(%eax)
40efde:	01 00                	add    %eax,(%eax)
40efe0:	54                   	push   %esp
40efe1:	02 16                	add    (%esi),%dl
40efe3:	57                   	push   %edi
40efe4:	72 61                	jb     0x40f047
40efe6:	70 4e                	jo     0x40f036
40efe8:	6f                   	outsl  %ds:(%esi),(%dx)
40efe9:	6e                   	outsb  %ds:(%esi),(%dx)
40efea:	45                   	inc    %ebp
40efeb:	78 63                	js     0x40f050
40efed:	65 70 74             	gs jo  0x40f064
40eff0:	69 6f 6e 54 68 72 6f 	imul   $0x6f726854,0x6e(%edi),%ebp
40eff7:	77 73                	ja     0x40f06c
40eff9:	01 08                	add    %ecx,(%eax)
40effb:	01 00                	add    %eax,(%eax)
40effd:	07                   	pop    %es
40effe:	01 00                	add    %eax,(%eax)
40f000:	00 00                	add    %al,(%eax)
40f002:	00 11                	add    %dl,(%ecx)
40f004:	01 00                	add    %eax,(%eax)
40f006:	0c 45                	or     $0x45,%al
40f008:	61                   	popa
40f009:	73 79                	jae    0x40f084
40f00b:	20 44 72 61          	and    %al,0x61(%edx,%esi,2)
40f00f:	77 4c                	ja     0x40f05d
40f011:	69 62 00 00 05 01 00 	imul   $0x10500,0x0(%edx),%esp
40f018:	00 00                	add    %al,(%eax)
40f01a:	00 0e                	add    %cl,(%esi)
40f01c:	01 00                	add    %eax,(%eax)
40f01e:	09 4d 69             	or     %ecx,0x69(%ebp)
40f021:	63 72 6f             	arpl   %esi,0x6f(%edx)
40f024:	73 6f                	jae    0x40f095
40f026:	66 74 00             	data16 je 0x40f029
40f029:	00 27                	add    %ah,(%edi)
40f02b:	01 00                	add    %eax,(%eax)
40f02d:	22 43 6f             	and    0x6f(%ebx),%al
40f030:	70 79                	jo     0x40f0ab
40f032:	72 69                	jb     0x40f09d
40f034:	67 68 74 20 c2 a9    	addr16 push $0xa9c22074
40f03a:	20 4d 69             	and    %cl,0x69(%ebp)
40f03d:	63 72 6f             	arpl   %esi,0x6f(%edx)
40f040:	73 6f                	jae    0x40f0b1
40f042:	66 74 20             	data16 je 0x40f065
40f045:	32 30                	xor    (%eax),%dh
40f047:	31 34 20             	xor    %esi,(%eax,%eiz,1)
40f04a:	2d 20 32 30 32       	sub    $0x32303220,%eax
40f04f:	30 00                	xor    %al,(%eax)
40f051:	00 29                	add    %ch,(%ecx)
40f053:	01 00                	add    %eax,(%eax)
40f055:	24 35                	and    $0x35,%al
40f057:	37                   	aaa
40f058:	35 62 63 33 31       	xor    $0x31336362,%eax
40f05d:	63 2d 63 37 65 64    	arpl   %ebp,0x64653763
40f063:	2d 34 63 39 34       	sub    $0x34396334,%eax
40f068:	2d 39 37 31 31       	sub    $0x31313739,%eax
40f06d:	2d 31 62 63 31       	sub    $0x31636231,%eax
40f072:	33 65 66             	xor    0x66(%ebp),%esp
40f075:	61                   	popa
40f076:	66 30 30             	data16 xor %dh,(%eax)
40f079:	63 00                	arpl   %eax,(%eax)
40f07b:	00 0c 01             	add    %cl,(%ecx,%eax,1)
40f07e:	00 07                	add    %al,(%edi)
40f080:	31 2e                	xor    %ebp,(%esi)
40f082:	30 2e                	xor    %ch,(%esi)
40f084:	30 2e                	xor    %ch,(%esi)
40f086:	30 00                	xor    %al,(%eax)
40f088:	00 08                	add    %cl,(%eax)
40f08a:	01 00                	add    %eax,(%eax)
40f08c:	00 00                	add    %al,(%eax)
40f08e:	00 00                	add    %al,(%eax)
40f090:	00 00                	add    %al,(%eax)
40f092:	09 01                	or     %eax,(%ecx)
40f094:	00 04 49             	add    %al,(%ecx,%ecx,2)
40f097:	74 65                	je     0x40f0fe
40f099:	6d                   	insl   (%dx),%es:(%edi)
40f09a:	00 00                	add    %al,(%eax)
40f09c:	41                   	inc    %ecx
40f09d:	01 00                	add    %eax,(%eax)
40f09f:	33 53 79             	xor    0x79(%ebx),%edx
40f0a2:	73 74                	jae    0x40f118
40f0a4:	65 6d                	gs insl (%dx),%es:(%edi)
40f0a6:	2e 52                	cs push %edx
40f0a8:	65 73 6f             	gs jae 0x40f11a
40f0ab:	75 72                	jne    0x40f11f