40bac9:	5c                   	pop    %esp
40baca:	56                   	push   %esi
40bacb:	19 34 e0             	sbb    %esi,(%eax,%eiz,8)
40bace:	89 08                	mov    %ecx,(%eax)
40bad0:	b0 3f                	mov    $0x3f,%al
40bad2:	5f                   	pop    %edi
40bad3:	7f 11                	jg     0x40bae6
40bad5:	d5 0a                	aad    $0xa
40bad7:	3a 04 06             	cmp    (%esi,%eax,1),%al
40bada:	00 00                	add    %al,(%eax)
40badc:	00 02                	add    %al,(%edx)
40bade:	06                   	push   %es
40badf:	0e                   	push   %cs
40bae0:	03 06                	add    (%esi),%eax
40bae2:	12 45 03             	adc    0x3(%ebp),%al
40bae5:	06                   	push   %es
40bae6:	12 49 03             	adc    0x3(%ecx),%cl
40bae9:	06                   	push   %es
40baea:	12 4d 03             	adc    0x3(%ebp),%cl
40baed:	06                   	push   %es
40baee:	12 51 02             	adc    0x2(%ecx),%dl
40baf1:	06                   	push   %es
40baf2:	08 03                	or     %al,(%ebx)
40baf4:	06                   	push   %es
40baf5:	11 5d 03             	adc    %ebx,0x3(%ebp)
40baf8:	06                   	push   %es
40baf9:	12 61 07             	adc    0x7(%ecx),%ah
40bafc:	06                   	push   %es
40bafd:	15 12 6d 01 12       	adc    $0x12016d12,%eax
40bb02:	1c 03                	sbb    $0x3,%al
40bb04:	06                   	push   %es
40bb05:	11 75 02             	adc    %esi,0x2(%ebp)
40bb08:	06                   	push   %es
40bb09:	0a 09                	or     (%ecx),%cl
40bb0b:	06                   	push   %es
40bb0c:	15 12 79 02 12       	adc    $0x12027912,%eax
40bb11:	7d 12                	jge    0x40bb25
40bb13:	2c 03                	sub    $0x3,%al
40bb15:	06                   	push   %es
40bb16:	11 40 04             	adc    %eax,0x4(%eax)
40bb19:	06                   	push   %es
40bb1a:	12 80 c1 04 06 12    	adc    0x120604c1(%eax),%al
40bb20:	80 c5 04             	add    $0x4,%ch
40bb23:	06                   	push   %es
40bb24:	11 80 cd 02 06 1c    	adc    %eax,0x1c0602cd(%eax)
40bb2a:	04 06                	add    $0x6,%al
40bb2c:	12 80 d8 04 06 12    	adc    0x120604d8(%eax),%al
40bb32:	80 cc 04             	or     $0x4,%ah
40bb35:	06                   	push   %es
40bb36:	12 80 a4 04 06 12    	adc    0x120604a4(%eax),%al
40bb3c:	80 dd 04             	sbb    $0x4,%ch
40bb3f:	06                   	push   %es
40bb40:	12 80 e1 02 06 0c    	adc    0xc0602e1(%eax),%al
40bb46:	02 06                	add    (%esi),%al
40bb48:	0d 04 06 11 80       	or     $0x80110604,%eax
40bb4d:	d4 05                	aam    $0x5
40bb4f:	06                   	push   %es
40bb50:	1d 11 80 e0 05       	sbb    $0x5e08011,%eax
40bb55:	06                   	push   %es
40bb56:	1d 11 80 b4 05       	sbb    $0x5b48011,%eax
40bb5b:	06                   	push   %es
40bb5c:	1d 11 80 bc 0a       	sbb    $0xabc8011,%eax
40bb61:	06                   	push   %es
40bb62:	15 12 80 f1 02       	adc    $0x2f18012,%eax
40bb67:	0e                   	push   %cs
40bb68:	12 80 a8 04 06 12    	adc    0x120604a8(%eax),%al
40bb6e:	80 a8 04 06 12 80 c0 	subb   $0xc0,-0x7fedf9fc(%eax)
40bb75:	04 06                	add    $0x6,%al
40bb77:	12 80 c8 0a 06 15    	adc    0x15060ac8(%eax),%al
40bb7d:	12 80 f1 02 0e 11    	adc    0x110e02f1(%eax),%al
40bb83:	80 d4 06             	adc    $0x6,%ah
40bb86:	20 02                	and    %al,(%edx)
40bb88:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40bb8b:	59                   	pop    %ecx
40bb8c:	04 20                	add    $0x20,%al
40bb8e:	00 11                	add    %dl,(%ecx)
40bb90:	5d                   	pop    %ebp
40bb91:	05 20 01 01 11       	add    $0x11010120,%eax
40bb96:	5d                   	pop    %ebp
40bb97:	04 20                	add    $0x20,%al
40bb99:	01 02                	add    %eax,(%edx)
40bb9b:	0e                   	push   %cs
40bb9c:	05 20 01 12 69       	add    $0x69120120,%eax
40bba1:	0e                   	push   %cs
40bba2:	06                   	push   %es
40bba3:	20 03                	and    %al,(%ebx)
40bba5:	02 08                	add    (%eax),%cl
40bba7:	08 08                	or     %cl,(%eax)
40bba9:	04 20                	add    $0x20,%al
40bbab:	00 11                	add    %dl,(%ecx)
40bbad:	75 05                	jne    0x40bbb4
40bbaf:	20 01                	and    %al,(%ecx)
40bbb1:	01 11                	add    %edx,(%ecx)
40bbb3:	75 03                	jne    0x40bbb8
40bbb5:	20 00                	and    %al,(%eax)
40bbb7:	0a 04 20             	or     (%eax,%eiz,1),%al
40bbba:	01 01                	add    %eax,(%ecx)
40bbbc:	0a 06                	or     (%esi),%al
40bbbe:	20 01                	and    %al,(%ecx)
40bbc0:	01 1d 12 2c 04 30    	add    %ebx,0x30042c12
40bbc6:	01 00                	add    %eax,(%eax)
40bbc8:	01 05 20 01 01 12    	add    %eax,0x12010120
40bbce:	2c 07                	sub    $0x7,%al
40bbd0:	30 01                	xor    %al,(%ecx)
40bbd2:	01 02                	add    %eax,(%edx)
40bbd4:	10 1e                	adc    %bl,(%esi)
40bbd6:	00 08                	add    %cl,(%eax)
40bbd8:	20 02                	and    %al,(%edx)
40bbda:	02 12                	add    (%edx),%dl
40bbdc:	7d 10                	jge    0x40bbee
40bbde:	12 2c 05 20 00 1d 12 	adc    0x121d0020(,%eax,1),%ch
40bbe5:	2c 06                	sub    $0x6,%al
40bbe7:	30 01                	xor    %al,(%ecx)
40bbe9:	00 1d 1e 00 07 20    	add    %bl,0x2007001e
40bbef:	01 1d 12 2c 12 7d    	add    %ebx,0x7d122c12
40bbf5:	05 30 01 00 1e       	add    $0x1e000130,%eax
40bbfa:	00 06                	add    %al,(%esi)
40bbfc:	20 01                	and    %al,(%ecx)
40bbfe:	12 2c 12             	adc    (%edx,%edx,1),%ch
40bc01:	7d 06                	jge    0x40bc09
40bc03:	20 01                	and    %al,(%ecx)
40bc05:	02 1d 12 7d 04 30    	add    0x30047d12,%bl
40bc0b:	01 00                	add    %eax,(%eax)
40bc0d:	02 04 20             	add    (%eax,%eiz,1),%al
40bc10:	00 11                	add    %dl,(%ecx)
40bc12:	40                   	inc    %eax
40bc13:	05 20 01 01 11       	add    $0x11010120,%eax
40bc18:	40                   	inc    %eax
40bc19:	03 20                	add    (%eax),%esp
40bc1b:	00 0d 05 20 01 08    	add    %cl,0x8012005
40bc21:	11 40 05             	adc    %eax,0x5(%eax)
40bc24:	20 01                	and    %al,(%ecx)
40bc26:	02 11                	add    (%ecx),%dl
40bc28:	40                   	inc    %eax
40bc29:	04 20                	add    $0x20,%al
40bc2b:	01 02                	add    %eax,(%edx)
40bc2d:	08 04 20             	or     %al,(%eax,%eiz,1)
40bc30:	01 02                	add    %eax,(%edx)
40bc32:	1c 05                	sbb    $0x5,%al
40bc34:	00 01                	add    %al,(%ecx)
40bc36:	0d 11 40 06 00       	or     $0x64011,%eax
40bc3b:	01 11                	add    %edx,(%ecx)
40bc3d:	40                   	inc    %eax
40bc3e:	11 40 07             	adc    %eax,0x7(%eax)
40bc41:	00 02                	add    %al,(%edx)
40bc43:	0d 11 40 11 40       	or     $0x40114011,%eax
40bc48:	05 00 01 02 11       	add    $0x11020100,%eax
40bc4d:	40                   	inc    %eax
40bc4e:	08 00                	or     %al,(%eax)
40bc50:	02 11                	add    (%ecx),%dl
40bc52:	40                   	inc    %eax
40bc53:	11 40 11             	adc    %eax,0x11(%eax)
40bc56:	40                   	inc    %eax
40bc57:	07                   	pop    %es
40bc58:	00 02                	add    %al,(%edx)
40bc5a:	11 40 11             	adc    %eax,0x11(%eax)
40bc5d:	40                   	inc    %eax
40bc5e:	08 07                	or     %al,(%edi)
40bc60:	00 02                	add    %al,(%edx)
40bc62:	02 11                	add    (%ecx),%dl
40bc64:	40                   	inc    %eax
40bc65:	11 40 06             	adc    %eax,0x6(%eax)
40bc68:	00 02                	add    %al,(%edx)
40bc6a:	02 11                	add    (%ecx),%dl
40bc6c:	40                   	inc    %eax
40bc6d:	08 05 00 01 05 11    	or     %al,0x11050100
40bc73:	40                   	inc    %eax
40bc74:	05 00 01 06 11       	add    $0x11060100,%eax
40bc79:	40                   	inc    %eax
40bc7a:	05 00 01 07 11       	add    $0x11070100,%eax
40bc7f:	40                   	inc    %eax
40bc80:	05 00 01 08 11       	add    $0x11080100,%eax
40bc85:	40                   	inc    %eax
40bc86:	05 00 01 09 11       	add    $0x11090100,%eax
40bc8b:	40                   	inc    %eax
40bc8c:	05 00 01 0a 11       	add    $0x110a0100,%eax
40bc91:	40                   	inc    %eax
40bc92:	05 00 01 0b 11       	add    $0x110b0100,%eax
40bc97:	40                   	inc    %eax
40bc98:	05 00 01 0c 11       	add    $0x110c0100,%eax
40bc9d:	40                   	inc    %eax
40bc9e:	07                   	pop    %es
40bc9f:	00 01                	add    %al,(%ecx)
40bca1:	11 80 a5 11 40 05    	adc    %eax,0x54011a5(%eax)
40bca7:	00 01                	add    %al,(%ecx)
40bca9:	0e                   	push   %cs
40bcaa:	11 40 03             	adc    %eax,0x3(%eax)
40bcad:	00 00                	add    %al,(%eax)
40bcaf:	01 0c 10             	add    %ecx,(%eax,%edx,1)
40bcb2:	01 01                	add    %eax,(%ecx)
40bcb4:	1d 1e 00 15 12       	sbb    $0x1215001e,%eax
40bcb9:	6d                   	insl   (%dx),%es:(%edi)
40bcba:	01 1e                	add    %ebx,(%esi)
40bcbc:	00 07                	add    %al,(%edi)
40bcbe:	00 02                	add    %al,(%edx)
40bcc0:	02 12                	add    (%edx),%dl
40bcc2:	7d 12                	jge    0x40bcd6
40bcc4:	7d 07                	jge    0x40bccd
40bcc6:	20 02                	and    %al,(%edx)
40bcc8:	1d 05 1d 05 0e       	sbb    $0xe051d05,%eax
40bccd:	04 00                	add    $0x0,%al
40bccf:	00 1d 05 05 20 00    	add    %bl,0x200505
40bcd5:	11 80 cd 03 20 00    	adc    %eax,0x2003cd(%eax)
40bcdb:	1c 04                	sbb    $0x4,%al
40bcdd:	20 01                	and    %al,(%ecx)
40bcdf:	01 1c 04             	add    %ebx,(%esp,%eax,1)
40bce2:	20 01                	and    %al,(%ecx)
40bce4:	01 0d 05 00 01 01    	add    %ecx,0x1010005
40bcea:	1d 0e 05 00 02       	sbb    $0x200050e,%eax
40bcef:	01 0d 0d 05 00 00    	add    %ecx,0x50d
40bcf5:	12 80 dd 05 00 00    	adc    0x5dd(%eax),%al
40bcfb:	12 80 e1 06 00 01    	adc    0x10006e1(%eax),%al
40bd01:	01 12                	add    %edx,(%edx)
40bd03:	80 e1 05             	and    $0x5,%cl
40bd06:	00 00                	add    %al,(%eax)
40bd08:	12 80 e5 03 20 00    	adc    0x2003e5(%eax),%al
40bd0e:	0c 04                	or     $0x4,%al
40bd10:	20 01                	and    %al,(%ecx)
40bd12:	01 0c 07             	add    %ecx,(%edi,%eax,1)
40bd15:	20 04 01             	and    %al,(%ecx,%eax,1)
40bd18:	0c 0c                	or     $0xc,%al
40bd1a:	0c 0c                	or     $0xc,%al
40bd1c:	06                   	push   %es
40bd1d:	20 01                	and    %al,(%ecx)
40bd1f:	01 12                	add    %edx,(%edx)
40bd21:	80 d8 0c             	sbb    $0xc,%al
40bd24:	20 03                	and    %al,(%ebx)
40bd26:	01 11                	add    %edx,(%ecx)
40bd28:	80 e0 11             	and    $0x11,%al
40bd2b:	80 b4 11 80 bc 06 20 	xorb   $0x1,0x2006bc80(%ecx,%edx,1)
40bd32:	01
40bd33:	01 12                	add    %edx,(%edx)
40bd35:	80 c8 06             	or     $0x6,%al
40bd38:	20 01                	and    %al,(%ecx)
40bd3a:	01 12                	add    %edx,(%edx)
40bd3c:	80 cc 05             	or     $0x5,%ah
40bd3f:	20 00                	and    %al,(%eax)
40bd41:	11 80 d4 06 20 01    	adc    %eax,0x12006d4(%eax)
40bd47:	01 11                	add    %edx,(%ecx)
40bd49:	80 d4 06             	adc    $0x6,%ah
40bd4c:	20 00                	and    %al,(%eax)
40bd4e:	1d 11 80 e0 07       	sbb    $0x7e08011,%eax
40bd53:	20 01                	and    %al,(%ecx)
40bd55:	01 1d 11 80 e0 06    	add    %ebx,0x6e08011
40bd5b:	20 00                	and    %al,(%eax)
40bd5d:	1d 11 80 b4 07       	sbb    $0x7b48011,%eax
40bd62:	20 01                	and    %al,(%ecx)
40bd64:	01 1d 11 80 b4 06    	add    %ebx,0x6b48011
40bd6a:	20 00                	and    %al,(%eax)
40bd6c:	1d 11 80 bc 07       	sbb    $0x7bc8011,%eax
40bd71:	20 01                	and    %al,(%ecx)
40bd73:	01 1d 11 80 bc 05    	add    %ebx,0x5bc8011
40bd79:	20 00                	and    %al,(%eax)
40bd7b:	11 80 e0 08 20 03    	adc    %eax,0x32008e0(%eax)
40bd81:	01 11                	add    %edx,(%ecx)
40bd83:	80 e0 0d             	and    $0xd,%al
40bd86:	0d 05 20 02 01       	or     $0x1022005,%eax
40bd8b:	0d 0d 06 20 01       	or     $0x120060d,%eax
40bd90:	01 11                	add    %edx,(%ecx)
40bd92:	80 e0 06             	and    $0x6,%al
40bd95:	20 01                	and    %al,(%ecx)
40bd97:	01 11                	add    %edx,(%ecx)
40bd99:	80 b4 09 20 02 01 11 	xorb   $0x80,0x11010220(%ecx,%ecx,1)
40bda0:	80
40bda1:	bc 11 80 bc 07       	mov    $0x7bc8011,%esp
40bda6:	20 02                	and    %al,(%edx)
40bda8:	01 0e                	add    %ecx,(%esi)
40bdaa:	12 80 a8 06 20 03    	adc    0x32006a8(%eax),%al
40bdb0:	01 08                	add    %ecx,(%eax)
40bdb2:	08 08                	or     %cl,(%eax)
40bdb4:	06                   	push   %es
40bdb5:	20 01                	and    %al,(%ecx)
40bdb7:	11 80 d4 0e 06 20    	adc    %eax,0x20060ed4(%eax)
40bdbd:	03 01                	add    (%ecx),%eax
40bdbf:	0d 0d 0d 03 28       	or     $0x28030d0d,%eax
40bdc4:	00 08                	add    %cl,(%eax)
40bdc6:	04 28                	add    $0x28,%al
40bdc8:	00 11                	add    %dl,(%ecx)
40bdca:	5d                   	pop    %ebp
40bdcb:	03 28                	add    (%eax),%ebp
40bdcd:	00 0e                	add    %cl,(%esi)
40bdcf:	04 28                	add    $0x28,%al
40bdd1:	00 11                	add    %dl,(%ecx)
40bdd3:	75 03                	jne    0x40bdd8
40bdd5:	28 00                	sub    %al,(%eax)
40bdd7:	0a 03                	or     (%ebx),%al
40bdd9:	28 00                	sub    %al,(%eax)
40bddb:	02 04 28             	add    (%eax,%ebp,1),%al
40bdde:	00 11                	add    %dl,(%ecx)
40bde0:	40                   	inc    %eax
40bde1:	03 28                	add    (%eax),%ebp
40bde3:	00 0d 05 28 00 11    	add    %cl,0x11002805
40bde9:	80 cd 03             	or     $0x3,%ch
40bdec:	28 00                	sub    %al,(%eax)
40bdee:	1c 05                	sbb    $0x5,%al
40bdf0:	08 00                	or     %al,(%eax)
40bdf2:	12 80 dd 05 08 00    	adc    0x805dd(%eax),%al
40bdf8:	12 80 e1 04 08 00    	adc    0x804e1(%eax),%al
40bdfe:	1d 05 05 08 00       	sbb    $0x80505,%eax
40be03:	12 80 e5 03 28 00    	adc    0x2803e5(%eax),%al
40be09:	0c 05                	or     $0x5,%al
40be0b:	28 00                	sub    %al,(%eax)
40be0d:	11 80 d4 06 28 00    	adc    %eax,0x2806d4(%eax)
40be13:	1d 11 80 e0 06       	sbb    $0x6e08011,%eax
40be18:	28 00                	sub    %al,(%eax)
40be1a:	1d 11 80 b4 06       	sbb    $0x6b48011,%eax
40be1f:	28 00                	sub    %al,(%eax)
40be21:	1d 11 80 bc 08       	sbb    $0x8bc8011,%eax
40be26:	01 00                	add    %eax,(%eax)
40be28:	08 00                	or     %al,(%eax)
40be2a:	00 00                	add    %al,(%eax)
40be2c:	00 00                	add    %al,(%eax)
40be2e:	1e                   	push   %ds
40be2f:	01 00                	add    %eax,(%eax)
40be31:	01 00                	add    %eax,(%eax)
40be33:	54                   	push   %esp
40be34:	02 16                	add    (%esi),%dl
40be36:	57                   	push   %edi
40be37:	72 61                	jb     0x40be9a
40be39:	70 4e                	jo     0x40be89
40be3b:	6f                   	outsl  %ds:(%esi),(%dx)
40be3c:	6e                   	outsb  %ds:(%esi),(%dx)
40be3d:	45                   	inc    %ebp
40be3e:	78 63                	js     0x40bea3
40be40:	65 70 74             	gs jo  0x40beb7
40be43:	69 6f 6e 54 68 72 6f 	imul   $0x6f726854,0x6e(%edi),%ebp
40be4a:	77 73                	ja     0x40bebf
40be4c:	01 08                	add    %ecx,(%eax)
40be4e:	01 00                	add    %eax,(%eax)
40be50:	07                   	pop    %es
40be51:	01 00                	add    %eax,(%eax)
40be53:	00 00                	add    %al,(%eax)
40be55:	00 0c 01             	add    %cl,(%ecx,%eax,1)
40be58:	00 07                	add    %al,(%edi)
40be5a:	4f                   	dec    %edi
40be5b:	70 65                	jo     0x40bec2
40be5d:	6e                   	outsb  %ds:(%esi),(%dx)
40be5e:	56                   	push   %esi
40be5f:	50                   	push   %eax
40be60:	4e                   	dec    %esi
40be61:	00 00                	add    %al,(%eax)
40be63:	05 01 00 00 00       	add    $0x1,%eax
40be68:	00 1f                	add    %bl,(%edi)
40be6a:	01 00                	add    %eax,(%eax)
40be6c:	1a 47 4e             	sbb    0x4e(%edi),%al
40be6f:	55                   	push   %ebp
40be70:	20 47 65             	and    %al,0x65(%edi)
40be73:	6e                   	outsb  %ds:(%esi),(%dx)
40be74:	65 72 61             	gs jb  0x40bed8
40be77:	6c                   	insb   (%dx),%es:(%edi)