40a9cf:	00 0c 30             	add    %cl,(%eax,%esi,1)
40a9d2:	14 00                	adc    $0x0,%al
40a9d4:	42                   	inc    %edx
40a9d5:	00 28                	add    %ch,(%eax)
40a9d7:	00 2a                	add    %ch,(%edx)
40a9d9:	00 28                	add    %ch,(%eax)
40a9db:	11 3f                	adc    %edi,(%edi)
40a9dd:	73 04                	jae    0x40a9e3
40a9df:	00 1f                	add    %bl,(%edi)
40a9e1:	06                   	push   %es
40a9e2:	1b 06                	sbb    (%esi),%eax
40a9e4:	29 6f 0a             	sub    %ebp,0xa(%edi)
40a9e7:	00 27                	add    %ah,(%edi)
40a9e9:	06                   	push   %es
40a9ea:	2e 73 14             	jae,pn 0x40aa01
40a9ed:	00 21                	add    %ah,(%ecx)
40a9ef:	0a 14 07             	or     (%edi,%eax,1),%dl
40a9f2:	62 1c 3f             	bound  %ebx,(%edi,%edi,1)
40a9f5:	00 2e                	add    %ch,(%esi)
40a9f7:	0c 2f                	or     $0x2f,%al
40a9f9:	03 47 19             	add    0x19(%edi),%eax
40a9fc:	3d 00 27 08 1b       	cmp    $0x1b082700,%eax
40aa01:	6f                   	outsl  %ds:(%esi),(%dx)
40aa02:	0a 00                	or     (%eax),%al
40aa04:	3f                   	aas
40aa05:	06                   	push   %es
40aa06:	20 6f 18             	and    %ch,0x18(%edi)
40aa09:	00 28                	add    %ch,(%eax)
40aa0b:	0a 3a                	or     (%edx),%bh
40aa0d:	6f                   	outsl  %ds:(%esi),(%dx)
40aa0e:	05 00 1f 06 17       	add    $0x17061f00,%eax
40aa13:	28 03                	sub    %al,(%ebx)
40aa15:	00 28                	add    %ch,(%eax)
40aa17:	06                   	push   %es
40aa18:	25 73 64 00 3d       	and    $0x3d006473,%eax
40aa1d:	06                   	push   %es
40aa1e:	2c 09                	sub    $0x9,%al
40aa20:	6c                   	insb   (%dx),%es:(%edi)
40aa21:	33 11                	xor    (%ecx),%edx
40aa23:	00 35 13 2c 11 23    	add    %dh,0x23112c13
40aa29:	72 81                	jb     0x40a9ac
40aa2b:	00 3d 70 24 73 2b    	add    %bh,0x2b732470
40aa31:	00 11                	add    %dl,(%ecx)
40aa33:	0a 50 35             	or     0x35(%eax),%dl
40aa36:	28 00                	sub    %al,(%eax)
40aa38:	2d 11 2c 6f 74       	sub    $0x746f2c11,%eax
40aa3d:	00 21                	add    %ah,(%ecx)
40aa3f:	06                   	push   %es
40aa40:	16                   	push   %ss
40aa41:	28 27                	sub    %ah,(%edi)
40aa43:	00 3f                	add    %bh,(%edi)
40aa45:	0a 26                	or     (%esi),%ah
40aa47:	04 48                	add    $0x48,%al
40aa49:	10 28                	adc    %ch,(%eax)
40aa4b:	00 37                	add    %dh,(%edi)
40aa4d:	6f                   	outsl  %ds:(%esi),(%dx)
40aa4e:	6a 00                	push   $0x0
40aa50:	1f                   	pop    %ds
40aa51:	06                   	push   %es
40aa52:	18 28                	sbb    %ch,(%eax)
40aa54:	01 00                	add    %eax,(%eax)
40aa56:	28 06                	sub    %al,(%esi)
40aa58:	0d 00 28 00 2e       	or     $0x2e002800,%eax
40aa5d:	30 22                	xor    %ah,(%edx)
40aa5f:	00 5b 00             	add    %bl,0x0(%ebx)
40aa62:	11 00                	adc    %eax,(%eax)
40aa64:	34 00                	xor    $0x0,%al
40aa66:	28 11                	sub    %dl,(%ecx)
40aa68:	54                   	push   %esp
40aa69:	2a 28                	sub    (%eax),%ch
40aa6b:	00 37                	add    %dh,(%edi)
40aa6d:	0a 23                	or     (%ebx),%ah
40aa6f:	28 24 00             	sub    %ah,(%eax,%eax,1)
40aa72:	11 06                	adc    %eax,(%esi)
40aa74:	13 16                	adc    (%esi),%edx
40aa76:	2e 72 5a             	jb,pn  0x40aad3
40aa79:	01 28                	add    %ebp,(%eax)
40aa7b:	70 3f                	jo     0x40aabc
40aa7d:	28 1a                	sub    %bl,(%edx)
40aa7f:	00 1f                	add    %bl,(%edi)
40aa81:	06                   	push   %es
40aa82:	7e 26                	jle    0x40aaaa
40aa84:	3f                   	aas
40aa85:	00 2e                	add    %ch,(%esi)
40aa87:	6f                   	outsl  %ds:(%esi),(%dx)
40aa88:	0c 00                	or     $0x0,%al
40aa8a:	28 0a                	sub    %cl,(%edx)
40aa8c:	3f                   	aas
40aa8d:	28 1c 00             	sub    %bl,(%eax,%eax,1)
40aa90:	1f                   	pop    %ds
40aa91:	06                   	push   %es
40aa92:	3d 16 39 72 43       	cmp    $0x43723916,%eax
40aa97:	00 27                	add    %ah,(%edi)
40aa99:	70 2a                	jo     0x40aac5
40aa9b:	28 00                	sub    %al,(%eax)
40aa9d:	00 21                	add    %ah,(%ecx)
40aa9f:	06                   	push   %es
40aaa0:	70 4d                	jo     0x40aaef
40aaa2:	11 00                	adc    %eax,(%eax)
40aaa4:	39 6f 03             	cmp    %ebp,0x3(%edi)
40aaa7:	00 27                	add    %ah,(%edi)
40aaa9:	0a 2e                	or     (%esi),%ch
40aaab:	2a 0f                	sub    (%edi),%cl
40aaad:	02 09                	add    (%ecx),%cl
40aaaf:	40                   	inc    %eax
40aab0:	1f                   	pop    %ds
40aab1:	00 17                	add    %dl,(%edi)
40aab3:	28 7f 00             	sub    %bh,0x0(%edi)
40aab6:	28 0a                	sub    %cl,(%edx)
40aab8:	0d 00 28 00 7b       	or     $0x7b002800,%eax
40aabd:	28 17                	sub    %dl,(%edi)
40aabf:	00 1f                	add    %bl,(%edi)
40aac1:	0a 13                	or     (%ebx),%dl
40aac3:	6f                   	outsl  %ds:(%esi),(%dx)
40aac4:	7e 00                	jle    0x40aac6
40aac6:	28 0a                	sub    %cl,(%edx)
40aac8:	48                   	dec    %eax
40aac9:	10 28                	adc    %ch,(%eax)
40aacb:	00 37                	add    %dh,(%edi)
40aacd:	2a 21                	sub    (%ecx),%ah
40aacf:	00 01                	add    %al,(%ecx)
40aad1:	02 39                	add    (%ecx),%bh
40aad3:	01 3f                	add    %edi,(%edi)
40aad5:	00 22                	add    %ah,(%edx)
40aad7:	2a 39                	sub    (%ecx),%bh
40aad9:	02 53 1f             	add    0x1f(%ebx),%dl
40aadc:	3d 00 25 2a 3d       	cmp    $0x3d2a2500,%eax
40aae1:	02 12                	add    (%edx),%dl
40aae3:	7d 20                	jge    0x40ab05
40aae5:	00 28                	add    %ch,(%eax)
40aae7:	04 0d                	add    $0xd,%al
40aae9:	00 28                	add    %ch,(%eax)
40aaeb:	00 23                	add    %ah,(%ebx)
40aaed:	02 5a 20             	add    0x20(%edx),%bl
40aaf0:	1f                   	pop    %ds
40aaf1:	00 15 2a 1d 02 2b    	add    %dl,0x2b021d2a
40aaf7:	7d 07                	jge    0x40ab00
40aaf9:	00 28                	add    %ch,(%eax)
40aafb:	04 17                	add    $0x17,%al
40aafd:	00 21                	add    %ah,(%ecx)
40aaff:	00 01                	add    %al,(%ecx)
40ab01:	02 6a 21             	add    0x21(%edx),%ch
40ab04:	3f                   	aas
40ab05:	00 2c 2a             	add    %ch,(%edx,%ebp,1)
40ab08:	05 02 2b 7d 1c       	add    $0x1c7d2b02,%eax
40ab0d:	00 21                	add    %ah,(%ecx)
40ab0f:	04 35                	add    $0x35,%al
40ab11:	00 11                	add    %dl,(%ecx)
40ab13:	00 21                	add    %ah,(%ecx)
40ab15:	02 53 22             	add    0x22(%ebx),%dl
40ab18:	27                   	daa
40ab19:	00 2c 2a             	add    %ch,(%edx,%ebp,1)
40ab1c:	1f                   	pop    %ds
40ab1d:	02 22                	add    (%edx),%ah
40ab1f:	7d 3d                	jge    0x40ab5e
40ab21:	00 11                	add    %dl,(%ecx)
40ab23:	04 15                	add    $0x15,%al
40ab25:	00 28                	add    %ch,(%eax)
40ab27:	00 39                	add    %bh,(%ecx)
40ab29:	02 00                	add    (%eax),%al
40ab2b:	01 3d 00 2b 2a 04    	add    %edi,0x42a2b00
40ab31:	30 14 00             	xor    %dl,(%eax,%eax,1)
40ab34:	86 00                	xchg   %al,(%eax)
40ab36:	28 00                	sub    %al,(%eax)
40ab38:	2c 00                	sub    $0x0,%al
40ab3a:	28 11                	sub    %dl,(%ecx)
40ab3c:	4e                   	dec    %esi
40ab3d:	2a 21                	sub    (%ecx),%ah
40ab3f:	00 15 0a 13 28 7b    	add    %dl,0x7b28130a
40ab45:	00 28                	add    %ch,(%eax)
40ab47:	06                   	push   %es
40ab48:	31 31                	xor    %esi,(%ecx)
40ab4a:	3e 06                	ds push %es
40ab4c:	4f                   	dec    %edi
40ab4d:	df 21                	fbld   (%ecx)
40ab4f:	00 6f 02             	add    %ch,0x2(%edi)
40ab52:	39 44 3f 00          	cmp    %eax,0x0(%edi,%edi,1)
40ab56:	2e 8c 0f             	mov    %cs,%cs:(%edi)
40ab59:	00 28                	add    %ch,(%eax)
40ab5b:	01 52 2b             	add    %edx,0x2b(%edx)
40ab5e:	21 00                	and    %eax,(%eax)
40ab60:	15 02 39 46 3f       	adc    $0x3f463902,%eax
40ab65:	00 2e                	add    %ch,(%esi)
40ab67:	2c 36                	sub    $0x36,%al
40ab69:	06                   	push   %es
40ab6a:	5a                   	pop    %edx
40ab6b:	e9 3d 00 51 02       	jmp    0x291abad
40ab70:	37                   	aaa
40ab71:	46                   	inc    %esi
40ab72:	11 00                	adc    %eax,(%eax)
40ab74:	39 6f 03             	cmp    %ebp,0x3(%edi)
40ab77:	00 27                	add    %ah,(%edi)
40ab79:	0a 2a                	or     (%edx),%ch
40ab7b:	28 75 00             	sub    %dh,0x0(%ebp)
40ab7e:	21 06                	and    %eax,(%esi)
40ab80:	33 33                	xor    (%ebx),%esi
40ab82:	17                   	pop    %ss
40ab83:	72 c8                	jb     0x40ab4d
40ab85:	00 28                	add    %ch,(%eax)
40ab87:	70 25                	jo     0x40abae
40ab89:	28 60 00             	sub    %ah,0x0(%eax)
40ab8c:	3d 06 5f 23 1f       	cmp    $0x1f235f06,%eax
40ab91:	00 15 2d 2e 14 d6    	add    %dl,0xd6142e2d
40ab97:	06                   	push   %es
40ab98:	69 00 28 06 4e 37    	imul   $0x374e0628,(%eax),%eax
40ab9e:	21 00                	and    %eax,(%eax)
40aba0:	15 80 32 00 3f       	adc    $0x3f003280,%eax
40aba5:	04 56                	add    $0x56,%al
40aba7:	23 27                	and    (%edi),%esp
40aba9:	00 2c 28             	add    %ch,(%eax,%ebp,1)
40abac:	39 00                	cmp    %eax,(%eax)
40abae:	21 2b                	and    %ebp,(%ebx)
40abb0:	70 2b                	jo     0x40abdd
40abb2:	11 00                	adc    %eax,(%eax)
40abb4:	35 02 00 4a 27       	xor    $0x274a0002,%eax
40abb9:	00 2e                	add    %ch,(%esi)
40abbb:	2c 0b                	sub    $0xb,%al
40abbd:	06                   	push   %es
40abbe:	53                   	push   %ebx
40abbf:	07                   	pop    %es
40abc0:	1e                   	push   %ds
40abc1:	00 61 28             	add    %ah,0x28(%ecx)
40abc4:	09 00                	or     %eax,(%eax)
40abc6:	28 0a                	sub    %cl,(%edx)
40abc8:	25 28 62 00 3d       	and    $0x3d006228,%eax
40abcd:	06                   	push   %es
40abce:	4e                   	dec    %esi
40abcf:	39 1f                	cmp    %ebx,(%edi)
40abd1:	00 1b                	add    %bl,(%ebx)
40abd3:	6f                   	outsl  %ds:(%esi),(%dx)
40abd4:	14 00                	adc    $0x0,%al
40abd6:	28 0a                	sub    %cl,(%edx)
40abd8:	f9                   	stc
40abd9:	19 0e                	sbb    %ecx,(%esi)
40abdb:	06                   	push   %es
40abdc:	4f                   	dec    %edi
40abdd:	11 20                	adc    %esp,(%eax)
40abdf:	00 6f 02             	add    %ch,0x2(%edi)
40abe2:	39 4a 3f             	cmp    %ecx,0x3f(%edx)
40abe5:	00 2e                	add    %ch,(%esi)
40abe7:	28 1d 00 28 0a 52    	sub    %bl,0x520a2800
40abed:	2b 21                	sub    (%ecx),%esp
40abef:	00 15 de 11 06 15    	add    %dl,0x150611de
40abf5:	00 28                	add    %ch,(%eax)
40abf7:	00 26                	add    %ah,(%esi)
40abf9:	10 28                	adc    %ch,(%eax)
40abfb:	00 3d 00 a0 00 02    	add    %bh,0x200a000
40ac01:	9e                   	sahf
40ac02:	11 19                	adc    %ebx,(%ecx)
40ac04:	16                   	push   %ss
40ac05:	00 28                	add    %ch,(%eax)
40ac07:	01 34 30             	add    %esi,(%eax,%esi,1)
40ac0a:	2a 00                	sub    (%eax),%al
40ac0c:	1f                   	pop    %ds
40ac0d:	00 21                	add    %ah,(%ecx)
40ac0f:	00 13                	add    %dl,(%ebx)
40ac11:	00 11                	add    %dl,(%ecx)
40ac13:	11 4c 3b 28          	adc    %ecx,0x28(%ebx,%edi,1)
40ac17:	00 2d 0a 2e 0f 3d    	add    %ch,0x3d0f2e0a
40ac1d:	28 1d 00 1f 0a 7e    	sub    %bl,0x7e0a1f00
40ac23:	3d 3f 00 22 06       	cmp    $0x622003f,%eax
40ac28:	28 00                	sub    %al,(%eax)
40ac2a:	00 3e                	add    %bh,(%esi)
40ac2c:	3d 00 2b 6f 22       	cmp    $0x226f2b00,%eax
40ac31:	00 11                	add    %dl,(%ecx)
40ac33:	0a 39                	or     (%ecx),%bh
40ac35:	2a 28                	sub    (%eax),%ch
40ac37:	00 39                	add    %bh,(%ecx)
40ac39:	02 00                	add    (%eax),%al
40ac3b:	42                   	inc    %edx
40ac3c:	3d 00 2b 2a 3d       	cmp    $0x3d2a2b00,%eax
40ac41:	02 12                	add    (%edx),%dl
40ac43:	28 7c 00 28          	sub    %bh,0x28(%eax,%eax,1)
40ac47:	0a 0d 00 28 00 1b    	or     0x1b002800,%cl
40ac4d:	02 22                	add    (%edx),%ah
40ac4f:	04 37                	add    $0x37,%al
40ac51:	44                   	inc    %esp
40ac52:	11 00                	adc    %eax,(%eax)
40ac54:	35 2a 28 00 3c       	xor    $0x3c00282a,%eax
40ac59:	30 20                	xor    %ah,(%eax)
40ac5b:	00 92 00 21 00 11    	add    %dl,0x11002100(%edx)
40ac61:	00 11                	add    %dl,(%ecx)
40ac63:	11 2b                	adc    %ebp,(%ebx)
40ac65:	0a 2a                	or     (%edx),%ch
40ac67:	28 22                	sub    %ah,(%edx)
40ac69:	00 28                	add    %ch,(%eax)
40ac6b:	2b 37                	sub    (%edi),%esi
40ac6d:	de 2c 0b             	fisubrs (%ebx,%ecx,1)
40ac70:	6d                   	insl   (%dx),%es:(%edi)
40ac71:	87 10                	xchg   %edx,(%eax)
40ac73:	00 4f 07             	add    %cl,0x7(%edi)
40ac76:	5b                   	pop    %ebx
40ac77:	51                   	push   %ecx
40ac78:	27                   	daa
40ac79:	00 2e                	add    %ch,(%esi)
40ac7b:	7a 3b                	jp     0x40acb8
40ac7d:	72 e4                	jb     0x40ac63
40ac7f:	01 1f                	add    %ebx,(%edi)
40ac81:	70 7e                	jo     0x40ad01
40ac83:	46                   	inc    %esi
40ac84:	3f                   	aas
40ac85:	00 22                	add    %ah,(%edx)
40ac87:	2d 2c 72 e5 01       	sub    $0x1e5722c,%eax
40ac8c:	3d 70 52 50 1f       	cmp    $0x1f505270,%eax
40ac91:	00 17                	add    %dl,(%edi)
40ac93:	7a 39                	jp     0x40acce
40ac95:	72 ed                	jb     0x40ac84
40ac97:	01 27                	add    %esp,(%edi)
40ac99:	70 47                	jo     0x40ace2
40ac9b:	47                   	inc    %edi
40ac9c:	3d 00 2b 28 57       	cmp    $0x57282b00,%eax
40aca1:	00 11                	add    %dl,(%ecx)
40aca3:	0a 33                	or     (%ebx),%dh
40aca5:	de 25 0d 55 05 2a    	fisubs 0x2a05550d
40acab:	00 4d 09             	add    %cl,0x9(%ebp)
40acae:	52                   	push   %edx
40acaf:	51                   	push   %ecx
40acb0:	1f                   	pop    %ds
40acb1:	00 17                	add    %dl,(%edi)
40acb3:	7a 30                	jp     0x40ace5
40acb5:	01 00                	add    %eax,(%eax)
40acb7:	49                   	dec    %ecx
40acb8:	27                   	daa
40acb9:	00 22                	add    %ah,(%edx)
40acbb:	2d 31 0f 20 28       	sub    $0x28200f31,%eax
40acc0:	55                   	push   %ebp
40acc1:	00 11                	add    %dl,(%ecx)
40acc3:	0a 17                	or     (%edi),%dl
40acc5:	4b                   	dec    %ebx
40acc6:	28 00                	sub    %al,(%eax)
40acc8:	2d 03 3b 04 1d       	sub    $0x1d043b03,%eax
40accd:	b2 26                	mov    $0x26,%dl
40accf:	00 1f                	add    %bl,(%edi)
40acd1:	17                   	pop    %ss
40acd2:	06                   	push   %es
40acd3:	16                   	push   %ss
40acd4:	29 16                	sub    %edx,(%esi)
40acd6:	3e 17                	ds pop %ss
40acd8:	54                   	push   %esp
40acd9:	4c                   	dec    %esp
40acda:	28 00                	sub    %al,(%eax)
40acdc:	37                   	aaa
40acdd:	13 24 12             	adc    (%edx,%edx,1),%esp
40ace0:	1a 08                	sbb    (%eax),%cl
40ace2:	7d 28                	jge    0x40ad0c
40ace4:	72 00                	jb     0x40ace6
40ace6:	28 0a                	sub    %cl,(%edx)
40ace8:	34 06                	xor    $0x6,%al
40acea:	3a 04 15 49 21 00 15 	cmp    0x15002149(,%edx,1),%al
40acf1:	2d 12 16 14 0e       	sub    $0xe141612,%eax