40fe37:	03 20                	add    (%eax),%esp
40fe39:	00 18                	add    %bl,(%eax)
40fe3b:	02 06                	add    (%esi),%al
40fe3d:	18 05 00 02 02 18    	sbb    %al,0x18020200
40fe43:	18 05 20 02 01 1c    	sbb    %al,0x1c010220
40fe49:	18 04 00             	sbb    %al,(%eax,%eax,1)
40fe4c:	01 18                	add    %ebx,(%eax)
40fe4e:	08 19                	or     %bl,(%ecx)
40fe50:	07                   	pop    %es
40fe51:	11 12                	adc    %edx,(%edx)
40fe53:	80 81 08 08 08 08 11 	addb   $0x11,0x8080808(%ecx)
40fe5a:	80 85 12 80 89 02 08 	addb   $0x8,0x2898012(%ebp)
40fe61:	08 02                	or     %al,(%edx)
40fe63:	05 05 02 02 02       	add    $0x2020205,%eax
40fe68:	02 05 20 01 01 12    	add    0x12010120,%al
40fe6e:	7d 05                	jge    0x40fe75
40fe70:	20 00                	and    %al,(%eax)
40fe72:	12 80 81 05 20 01    	adc    0x1200581(%eax),%al
40fe78:	01 11                	add    %edx,(%ecx)
40fe7a:	6d                   	insl   (%dx),%es:(%edi)
40fe7b:	04 00                	add    $0x0,%al
40fe7d:	00 11                	add    %dl,(%ecx)
40fe7f:	6d                   	insl   (%dx),%es:(%edi)
40fe80:	07                   	pop    %es
40fe81:	20 04 01             	and    %al,(%ecx,%eax,1)
40fe84:	08 08                	or     %cl,(%eax)
40fe86:	08 08                	or     %cl,(%eax)
40fe88:	09 20                	or     %esp,(%eax)
40fe8a:	02 01                	add    (%ecx),%al
40fe8c:	12 81 6d 11 80 85    	adc    -0x7a7fee93(%ecx),%al
40fe92:	05 00 00 12 80       	add    $0x80120000,%eax
40fe97:	c9                   	leave
40fe98:	05 20 02 01 08       	add    $0x8010220,%eax
40fe9d:	08 0c 20             	or     %cl,(%eax,%eiz,1)
40fea0:	03 01                	add    (%ecx),%eax
40fea2:	12 80 c9 11 81 75    	adc    0x758111c9(%eax),%al
40fea8:	11 81 75 08 07 04    	adc    %eax,0x4070875(%ecx)
40feae:	12 80 8d 02 05 05    	adc    0x505028d(%eax),%al
40feb4:	03 20                	add    (%eax),%esp
40feb6:	00 08                	add    %cl,(%eax)
40feb8:	08 00                	or     %al,(%eax)
40feba:	03 01                	add    (%ecx),%eax
40febc:	12 81 65 08 08 08    	adc    0x8080865(%ecx),%al
40fec2:	07                   	pop    %es
40fec3:	06                   	push   %es
40fec4:	08 08                	or     %cl,(%eax)
40fec6:	02 02                	add    (%edx),%al
40fec8:	02 02                	add    (%edx),%al
40feca:	10 07                	adc    %al,(%edi)
40fecc:	0e                   	push   %cs
40fecd:	1c 02                	sbb    $0x2,%al
40fecf:	08 08                	or     %cl,(%eax)
40fed1:	08 02                	or     %al,(%edx)
40fed3:	02 02                	add    (%edx),%al
40fed5:	08 08                	or     %cl,(%eax)
40fed7:	02 02                	add    (%edx),%al
40fed9:	02 02                	add    (%edx),%al
40fedb:	06                   	push   %es
40fedc:	00 02                	add    %al,(%edx)
40fede:	01 1c 10             	add    %ebx,(%eax,%edx,1)
40fee1:	02 04 00             	add    (%eax,%eax,1),%al
40fee4:	01 01                	add    %eax,(%ecx)
40fee6:	1c 07                	sbb    $0x7,%al
40fee8:	07                   	pop    %es
40fee9:	05 08 08 02 02       	add    $0x2020808,%eax
40feee:	02 09                	add    (%ecx),%cl
40fef0:	07                   	pop    %es
40fef1:	07                   	pop    %es
40fef2:	02 02                	add    (%edx),%al
40fef4:	08 08                	or     %cl,(%eax)
40fef6:	02 02                	add    (%edx),%al
40fef8:	02 14 07             	add    (%edi,%eax,1),%dl
40fefb:	10 02                	adc    %al,(%edx)
40fefd:	02 02                	add    (%edx),%al
40feff:	02 08                	add    (%eax),%cl
40ff01:	08 02                	or     %al,(%edx)
40ff03:	11 08                	adc    %ecx,(%eax)
40ff05:	11 08                	adc    %ecx,(%eax)
40ff07:	02 02                	add    (%edx),%al
40ff09:	08 08                	or     %cl,(%eax)
40ff0b:	02 02                	add    (%edx),%al
40ff0d:	02 22                	add    (%edx),%ah
40ff0f:	07                   	pop    %es
40ff10:	20 05 05 05 05 08    	and    %al,0x8050505
40ff16:	08 08                	or     %cl,(%eax)
40ff18:	02 02                	add    (%edx),%al
40ff1a:	02 08                	add    (%eax),%cl
40ff1c:	02 02                	add    (%edx),%al
40ff1e:	02 08                	add    (%eax),%cl
40ff20:	08 02                	or     %al,(%edx)
40ff22:	02 08                	add    (%eax),%cl
40ff24:	02 02                	add    (%edx),%al
40ff26:	08 02                	or     %al,(%edx)
40ff28:	02 02                	add    (%edx),%al
40ff2a:	08 08                	or     %cl,(%eax)
40ff2c:	02 02                	add    (%edx),%al
40ff2e:	08 02                	or     %al,(%edx)
40ff30:	02 0e                	add    (%esi),%cl
40ff32:	07                   	pop    %es
40ff33:	05 11 0c 14 05       	add    $0x5140c11,%eax
40ff38:	02 00                	add    (%eax),%al
40ff3a:	02 00                	add    (%eax),%al
40ff3c:	00 02                	add    %al,(%edx)
40ff3e:	02 02                	add    (%edx),%al
40ff40:	06                   	push   %es
40ff41:	07                   	pop    %es
40ff42:	04 1c                	add    $0x1c,%al
40ff44:	02 02                	add    (%edx),%al
40ff46:	02 04 07             	add    (%edi,%eax,1),%al
40ff49:	02 1c 02             	add    (%edx,%eax,1),%bl
40ff4c:	03 07                	add    (%edi),%eax
40ff4e:	01 05 03 07 01 08    	add    %eax,0x8010703
40ff54:	04 07                	add    $0x7,%al
40ff56:	01 11                	add    %edx,(%ecx)
40ff58:	6d                   	insl   (%dx),%es:(%edi)
40ff59:	06                   	push   %es
40ff5a:	20 01                	and    %al,(%ecx)
40ff5c:	01 12                	add    %edx,(%edx)
40ff5e:	80 91 06 07 04 02 02 	adcb   $0x2,0x2040706(%ecx)
40ff65:	02 02                	add    (%edx),%al
40ff67:	05 20 00 11 81       	add    $0x81110020,%eax
40ff6c:	7d 05                	jge    0x40ff73
40ff6e:	07                   	pop    %es
40ff6f:	01 12                	add    %edx,(%edx)
40ff71:	80 8d 07 20 02 01 11 	orb    $0x11,0x1022007(%ebp)
40ff78:	81 81 02 0a 20 05 01 	addl   $0x8080801,0x5200a02(%ecx)
40ff7f:	08 08 08
40ff82:	08 11                	or     %dl,(%ecx)
40ff84:	80 95 06 07 04 08 08 	adcb   $0x8,0x8040706(%ebp)
40ff8b:	02 02                	add    (%edx),%al
40ff8d:	08 07                	or     %al,(%edi)
40ff8f:	03 12                	add    (%edx),%edx
40ff91:	69 12 69 12 69 0b    	imul   $0xb691269,(%edx),%edx
40ff97:	00 02                	add    %al,(%edx)
40ff99:	12 81 85 12 81 85    	adc    -0x7a7eed7b(%ecx),%al
40ff9f:	12 81 85 0c 10 01    	adc    0x1100c85(%ecx),%al
40ffa5:	03 1e                	add    (%esi),%ebx
40ffa7:	00 10                	add    %dl,(%eax)
40ffa9:	1e                   	push   %ds
40ffaa:	00 1e                	add    %bl,(%esi)
40ffac:	00 1e                	add    %bl,(%esi)
40ffae:	00 04 0a             	add    %al,(%edx,%ecx,1)
40ffb1:	01 12                	add    %edx,(%edx)
40ffb3:	69 07 20 02 01 1c    	imul   $0x1c010220,(%edi),%eax
40ffb9:	12 80 99 0a 07 04    	adc    0x4070a99(%eax),%al
40ffbf:	1c 02                	sbb    $0x2,%al
40ffc1:	11 80 9d 11 80 9d    	adc    %eax,-0x627fee63(%eax)
40ffc7:	0d 07 07 02 02       	or     $0x2020707,%eax
40ffcc:	02 02                	add    (%edx),%al
40ffce:	11 80 9d 11 80 9d    	adc    %eax,-0x627fee63(%eax)
40ffd4:	02 0a                	add    (%edx),%cl
40ffd6:	20 02                	and    %al,(%edx)
40ffd8:	02 10                	add    (%eax),%dl
40ffda:	11 80 ad 11 80 9d    	adc    %eax,-0x627fee53(%eax)
40ffe0:	04 20                	add    $0x20,%al
40ffe2:	01 01                	add    %eax,(%ecx)
40ffe4:	18 10                	sbb    %dl,(%eax)
40ffe6:	07                   	pop    %es
40ffe7:	0e                   	push   %cs
40ffe8:	1c 02                	sbb    $0x2,%al
40ffea:	02 02                	add    (%edx),%al
40ffec:	02 05 05 02 02 02    	add    0x2020205,%al
40fff2:	02 02                	add    (%edx),%al
40fff4:	02 02                	add    (%edx),%al
40fff6:	04 06                	add    $0x6,%al
40fff8:	12 80 99 04 07 02    	adc    0x2070499(%eax),%al
40fffe:	08 08                	or     %cl,(%eax)
410000:	07                   	pop    %es
410001:	20 01                	and    %al,(%ecx)
410003:	01 10                	add    %edx,(%eax)
410005:	11 80 ad 06 20 01    	adc    %eax,0x12006ad(%eax)
41000b:	01 12                	add    %edx,(%edx)
41000d:	80 b1 05 20 00 11 80 	xorb   $0x80,0x11002005(%ecx)
410014:	9d                   	popf
410015:	09 00                	or     %eax,(%eax)
410017:	02 01                	add    (%ecx),%al
410019:	12 81 65 11 81 91    	adc    -0x6e7eee9b(%ecx),%al
41001f:	04 07                	add    $0x7,%al
410021:	01 12                	add    %edx,(%edx)
410023:	1c 0c                	sbb    $0xc,%al
410025:	07                   	pop    %es
410026:	05 12 65 02 12       	add    $0x12026512,%eax
41002b:	80 c9 11             	or     $0x11,%cl
41002e:	80 85 08 03 20 00 02 	addb   $0x2,0x200308(%ebp)
410035:	09 20                	or     %esp,(%eax)
410037:	02 01                	add    (%ecx),%al
410039:	12 80 c9 11 80 85    	adc    -0x7a7fee37(%eax),%al
41003f:	0a 07                	or     (%edi),%al
410041:	03 11                	add    (%ecx),%edx
410043:	6d                   	insl   (%dx),%es:(%edi)
410044:	12 80 c9 12 80 c9    	adc    -0x367fed37(%eax),%al
41004a:	06                   	push   %es
41004b:	20 01                	and    %al,(%ecx)
41004d:	01 11                	add    %edx,(%ecx)
41004f:	81 95 04 20 01 01 1c 	adcl   $0x207061c,0x1012004(%ebp)
410056:	06 07 02
410059:	12 80 d1 08 06 20    	adc    0x200608d1(%eax),%al
41005f:	01 01                	add    %eax,(%ecx)
410061:	12 80 d1 03 20 00    	adc    0x2003d1(%eax),%al
410067:	0e                   	push   %cs
410068:	05 00 02 0e 0e       	add    $0xe0e0200,%eax
41006d:	0e                   	push   %cs
41006e:	07                   	pop    %es
41006f:	07                   	pop    %es
410070:	03 12                	add    (%edx),%edx
410072:	80 f9 02             	cmp    $0x2,%cl
410075:	0e                   	push   %cs
410076:	06                   	push   %es
410077:	00 01                	add    %al,(%ecx)
410079:	0e                   	push   %cs
41007a:	11 81 a5 08 20 01    	adc    %eax,0x12008a5(%ecx)
410080:	11 81 b1 12 81 b5    	adc    %eax,-0x4a7eed4f(%ecx)
410086:	07                   	pop    %es
410087:	07                   	pop    %es
410088:	03 12                	add    (%edx),%edx
41008a:	80 fd 02             	cmp    $0x2,%ch
41008d:	0e                   	push   %cs
41008e:	06                   	push   %es
41008f:	20 01                	and    %al,(%ecx)
410091:	01 11                	add    %edx,(%ecx)
410093:	81 b9 0a 07 03 1d 12 	cmpl   $0x8d18012,0x1d03070a(%ecx)
41009a:	80 d1 08
41009d:	12 80 d1 06 20 00    	adc    0x2006d1(%eax),%al
4100a3:	1d 12 80 d1 07       	sbb    $0x7d18012,%eax
4100a8:	07                   	pop    %es
4100a9:	02 12                	add    (%edx),%dl
4100ab:	81 05 12 2c 07 00 01 	addl   $0x115d1201,0x72c12
4100b2:	12 5d 11
4100b5:	81 c5 06 20 01 01    	add    $0x1012006,%ebp
4100bb:	12 80 d5 05 20 00    	adc    0x2005d5(%eax),%al
4100c1:	12 81 c9 07 20 01    	adc    0x12007c9(%ecx),%al
4100c7:	01 1d 12 81 cd 06    	add    %ebx,0x6cd8112
4100cd:	20 01                	and    %al,(%ecx)
4100cf:	01 11                	add    %edx,(%ecx)
4100d1:	81 75 06 20 01 01 12 	xorl   $0x12010120,0x6(%ebp)
4100d8:	80 e9 06             	sub    $0x6,%cl
4100db:	20 01                	and    %al,(%ecx)
4100dd:	01 11                	add    %edx,(%ecx)
4100df:	81 d1 06 20 01 01    	adc    $0x1012006,%ecx
4100e5:	12 81 d5 04 20 01    	adc    0x12004d5(%ecx),%al
4100eb:	1c 0e                	sbb    $0xe,%al
4100ed:	06                   	push   %es
4100ee:	20 01                	and    %al,(%ecx)
4100f0:	01 12                	add    %edx,(%edx)
4100f2:	81 e1 06 20 01 01    	and    $0x1012006,%ecx
4100f8:	11 80 9d 05 20 01    	adc    %eax,0x120059d(%eax)
4100fe:	01 12                	add    %edx,(%edx)
410100:	69 06 20 01 01 11    	imul   $0x11010120,(%esi),%eax
410106:	81 e5 06 20 01 01    	and    $0x1012006,%ebp
41010c:	11 81 e9 05 20 02    	adc    %eax,0x22005e9(%ecx)
410112:	01 0c 0c             	add    %ecx,(%esp,%ecx,1)
410115:	06                   	push   %es
410116:	20 01                	and    %al,(%ecx)
410118:	01 11                	add    %edx,(%ecx)
41011a:	81 ed 06 20 01 01    	sub    $0x1012006,%ebp
410120:	11 81 f5 05 20 00    	adc    %eax,0x2005f5(%ecx)
410126:	12 81 f9 05 20 01    	adc    0x12005f9(%ecx),%al
41012c:	01 12                	add    %edx,(%edx)
41012e:	65 06                	gs push %es
410130:	20 01                	and    %al,(%ecx)
410132:	01 12                	add    %edx,(%edx)
410134:	80 d9 04             	sbb    $0x4,%cl
410137:	07                   	pop    %es
410138:	01 1d 05 08 07 05    	add    %ebx,0x5070805
41013e:	1d 05 1c 1c 1c       	sbb    $0x1c1c1c05,%eax
410143:	0e                   	push   %cs
410144:	05 00 00 12 82       	add    $0x82120000,%eax
410149:	01 0a                	add    %ecx,(%edx)
41014b:	00 04 1c             	add    %al,(%esp,%ebx,1)
41014e:	1c 0e                	sbb    $0xe,%al
410150:	11 82 09 1d 1c 03    	adc    %eax,0x31c1d09(%edx)
410156:	07                   	pop    %es
410157:	01 1c 03             	add    %ebx,(%ebx,%eax,1)
41015a:	00 00                	add    %al,(%eax)
41015c:	01 04 00             	add    %eax,(%eax,%eax,1)
41015f:	01 01                	add    %eax,(%ecx)
410161:	02 06                	add    (%esi),%al
410163:	00 01                	add    %al,(%ecx)
410165:	01 12                	add    %edx,(%edx)
410167:	80 d1 09             	adc    $0x9,%cl
41016a:	07                   	pop    %es
41016b:	03 02                	add    (%edx),%eax
41016d:	12 81 15 12 81 15    	adc    0x15811215(%ecx),%al
410173:	05 20 00 12 82       	add    $0x82120020,%eax
410178:	11 07                	adc    %eax,(%edi)
41017a:	20 02                	and    %al,(%edx)
41017c:	01 0e                	add    %ecx,(%esi)
41017e:	12 82 11 05 07 01    	adc    0x1070511(%edx),%al
410184:	12 81 19 05 07 02    	adc    0x2070519(%ecx),%al
41018a:	1c 1d                	sbb    $0x1d,%al
41018c:	05 07 20 02 1c       	add    $0x1c022007,%eax
410191:	0e                   	push   %cs
410192:	12 81 19 02 1d 05    	adc    0x51d0219(%ecx),%al
410198:	06                   	push   %es
410199:	07                   	pop    %es
41019a:	02 1c 12             	add    (%edx,%edx,1),%bl
41019d:	81 1d 04 07 01 12 40 	sbbl   $0x1000840,0x12010704
4101a4:	08 00 01
4101a7:	12 82 15 12 82 15    	adc    0x15821215(%edx),%al
4101ad:	07                   	pop    %es
4101ae:	15 12 81 2d 01       	adc    $0x12d8112,%eax
4101b3:	12 65 05             	adc    0x5(%ebp),%ah
4101b6:	20 01                	and    %al,(%ecx)
4101b8:	02 13                	add    (%ebx),%dl
4101ba:	00 04 20             	add    %al,(%eax,%eiz,1)
4101bd:	00 12                	add    %dl,(%edx)
4101bf:	65 05 20 01 01 13    	gs add $0x13010120,%eax
4101c5:	00 07                	add    %al,(%edi)
4101c7:	15 12 81 2d 01       	adc    $0x12d8112,%eax
4101cc:	12 50 04             	adc    0x4(%eax),%dl
4101cf:	07                   	pop    %es
4101d0:	01 12                	add    %edx,(%edx)
4101d2:	50                   	push   %eax
4101d3:	06                   	push   %es
4101d4:	07                   	pop    %es
4101d5:	04 0d                	add    $0xd,%al
4101d7:	0d 0d 0d 03 07       	or     $0x7030d0d,%eax
4101dc:	01 0d 06 15 12 5c    	add    %ecx,0x5c121506
4101e2:	01 13                	add    %edx,(%ebx)
4101e4:	00 08                	add    %cl,(%eax)
4101e6:	06                   	push   %es
4101e7:	15 12 81 3d 01       	adc    $0x13d8112,%eax
4101ec:	13 00                	adc    (%eax),%eax
4101ee:	0d 20 03 01 15       	or     $0x15010320,%eax
4101f3:	12 80 ac 01 13 00    	adc    0x1301ac(%eax),%al
4101f9:	0a 12                	or     (%edx),%dl
4101fb:	50                   	push   %eax
4101fc:	0a 07                	or     (%edi),%al
4101fe:	02 15 12 80 b0 01    	add    0x1b08012,%dl
410204:	13 00                	adc    (%eax),%eax
410206:	08 07                	or     %al,(%edi)
410208:	15 12 80 b0 01       	adc    $0x1b08012,%eax
41020d:	13 00                	adc    (%eax),%eax
41020f:	04 06                	add    $0x6,%al
410211:	12 80 a0 02 06 08    	adc    0x80602a0(%eax),%al
410217:	09 20                	or     %esp,(%eax)
410219:	02 01                	add    (%ecx),%al
41021b:	12 80 98 12 80 9c    	adc    -0x637fed68(%eax),%al
410221:	06                   	push   %es
410222:	20 01                	and    %al,(%ecx)
410224:	01 12                	add    %edx,(%edx)
410226:	80 90 06 07 02 12 80 	adcb   $0x80,0x12020706(%eax)
41022d:	b4 02                	mov    $0x2,%ah
41022f:	07                   	pop    %es
410230:	15 12 80 80 01       	adc    $0x1808012,%eax
410235:	1d 0d 08 07 03       	sbb    $0x307080d,%eax
41023a:	12 60 12             	adc    0x12(%eax),%ah
41023d:	60                   	pusha
41023e:	12 60 04             	adc    0x4(%eax),%ah
410241:	0a 01                	or     (%ecx),%al