40a930:	07                   	pop    %es
40a931:	20 02                	and    %al,(%edx)
40a933:	01 0e                	add    %ecx,(%esi)
40a935:	12 81 2d 03 20 00    	adc    0x20032d(%ecx),%al
40a93b:	08 07                	or     %al,(%edi)
40a93d:	07                   	pop    %es
40a93e:	03 02                	add    (%edx),%eax
40a940:	12 61 12             	adc    0x12(%ecx),%ah
40a943:	65 04 20             	gs add $0x20,%al
40a946:	00 12                	add    %dl,(%edx)
40a948:	65 05 07 03 0d 02    	gs add $0x20d0307,%eax
40a94e:	02 05 00 02 0d 0d    	add    0xd0d0200,%al
40a954:	0d 04 00 01 0d       	or     $0xd010004,%eax
40a959:	0d 0b 07 06 12       	or     $0x1206070b,%eax
40a95e:	10 0e                	adc    %cl,(%esi)
40a960:	12 6d 12             	adc    0x12(%ebp),%ch
40a963:	1c 02                	sbb    $0x2,%al
40a965:	02 06                	add    (%esi),%al
40a967:	00 03                	add    %al,(%ebx)
40a969:	0e                   	push   %cs
40a96a:	0e                   	push   %cs
40a96b:	0e                   	push   %cs
40a96c:	0e                   	push   %cs
40a96d:	06                   	push   %es
40a96e:	15 12 69 01 12       	adc    $0x12016912,%eax
40a973:	1c 04                	sbb    $0x4,%al
40a975:	20 01                	and    %al,(%ecx)
40a977:	1c 0e                	sbb    $0xe,%al
40a979:	05 20 01 01 13       	add    $0x13010120,%eax
40a97e:	00 03                	add    %al,(%ebx)
40a980:	20 00                	and    %al,(%eax)
40a982:	02 04 07             	add    (%edi,%eax,1),%al
40a985:	01 11                	add    %edx,(%ecx)
40a987:	71 03                	jno    0x40a98c
40a989:	07                   	pop    %es
40a98a:	01 0a                	add    %ecx,(%edx)
40a98c:	08 15 12 75 02 12    	or     %dl,0x12027512
40a992:	79 12                	jns    0x40a9a6
40a994:	2c 04                	sub    $0x4,%al
40a996:	07                   	pop    %es
40a997:	02 08                	add    (%eax),%cl
40a999:	02 05 10 01 00 1e    	add    0x1e000110,%al
40a99f:	00 04 0a             	add    %al,(%edx,%ecx,1)
40a9a2:	01 1e                	add    %ebx,(%esi)
40a9a4:	00 02                	add    %al,(%edx)
40a9a6:	1e                   	push   %ds
40a9a7:	00 04 20             	add    %al,(%eax,%eiz,1)
40a9aa:	00 12                	add    %dl,(%edx)
40a9ac:	79 07                	jns    0x40a9b5
40a9ae:	20 02                	and    %al,(%edx)
40a9b0:	01 13                	add    %edx,(%ebx)
40a9b2:	00 13                	add    %dl,(%ebx)
40a9b4:	01 04 07             	add    %eax,(%edi,%eax,1)
40a9b7:	02 02                	add    (%edx),%al
40a9b9:	02 08                	add    (%eax),%cl
40a9bb:	07                   	pop    %es
40a9bc:	02 1d 12 2c 1d 12    	add    0x121d2c12,%bl
40a9c2:	2c 0b                	sub    $0xb,%al
40a9c4:	20 00                	and    %al,(%eax)
40a9c6:	15 12 81 49 02       	adc    $0x2498112,%eax
40a9cb:	13 00                	adc    (%eax),%eax
40a9cd:	13 01                	adc    (%ecx),%eax
40a9cf:	09 15 12 81 49 02    	or     %edx,0x2498112
40a9d5:	12 79 12             	adc    0x12(%ecx),%bh
40a9d8:	2c 07                	sub    $0x7,%al
40a9da:	20 02                	and    %al,(%edx)
40a9dc:	01 1d 13 01 08 05    	add    %ebx,0x5080113
40a9e2:	07                   	pop    %es
40a9e3:	01 1d 1e 00 05 07    	add    %ebx,0x705001e
40a9e9:	01 1d 12 2c 04 07    	add    %ebx,0x7042c12
40a9ef:	01 1e                	add    %ebx,(%esi)
40a9f1:	00 07                	add    %al,(%edi)
40a9f3:	00 01                	add    %al,(%ecx)
40a9f5:	12 79 11             	adc    0x11(%ecx),%bh
40a9f8:	81 4d 08 07 04 12 2c 	orl    $0x2c120407,0x8(%ebp)
40a9ff:	02 12                	add    (%edx),%dl
40aa01:	2c 02                	sub    $0x2,%al
40aa03:	08 20                	or     %ah,(%eax)
40aa05:	02 02                	add    (%edx),%al
40aa07:	13 00                	adc    (%eax),%eax
40aa09:	10 13                	adc    %dl,(%ebx)
40aa0b:	01 05 20 01 02 13    	add    %eax,0x13020120
40aa11:	00 06                	add    %al,(%esi)
40aa13:	07                   	pop    %es
40aa14:	04 08                	add    $0x8,%al
40aa16:	02 02                	add    (%edx),%al
40aa18:	02 05 07 03 02 02    	add    0x2020307,%al
40aa1e:	02 15 07 03 15 11    	add    0x11150307,%dl
40aa24:	80 81 02 12 79 12 2c 	addb   $0x2c,0x12791202(%ecx)
40aa2b:	15 11 80 85 02       	adc    $0x2858011,%eax
40aa30:	12 79 12             	adc    0x12(%ecx),%bh
40aa33:	2c 02                	sub    $0x2,%al
40aa35:	0b 20                	or     (%eax),%esp
40aa37:	00 15 11 80 81 02    	add    %dl,0x2818011
40aa3d:	13 00                	adc    (%eax),%eax
40aa3f:	13 01                	adc    (%ecx),%eax
40aa41:	09 15 11 80 81 02    	or     %edx,0x2818011
40aa47:	12 79 12             	adc    0x12(%ecx),%bh
40aa4a:	2c 0b                	sub    $0xb,%al
40aa4c:	20 00                	and    %al,(%eax)
40aa4e:	15 11 80 85 02       	adc    $0x2858011,%eax
40aa53:	13 00                	adc    (%eax),%eax
40aa55:	13 01                	adc    (%ecx),%eax
40aa57:	1d 07 04 15 12       	sbb    $0x12150407,%eax
40aa5c:	69 01 1e 00 15 11    	imul   $0x1115001e,(%ecx),%eax
40aa62:	80 81 02 12 79 12 2c 	addb   $0x2c,0x12791202(%ecx)
40aa69:	15 11 80 85 02       	adc    $0x2858011,%eax
40aa6e:	12 79 12             	adc    0x12(%ecx),%bh
40aa71:	2c 1d                	sub    $0x1d,%al
40aa73:	1e                   	push   %ds
40aa74:	00 06                	add    %al,(%esi)
40aa76:	15 12 69 01 1e       	adc    $0x1e016912,%eax
40aa7b:	00 05 20 00 1d 13    	add    %al,0x131d0020
40aa81:	00 1d 07 04 15 12    	add    %bl,0x12150407
40aa87:	69 01 12 2c 15 11    	imul   $0x11152c12,(%ecx),%eax
40aa8d:	80 81 02 12 79 12 2c 	addb   $0x2c,0x12791202(%ecx)
40aa94:	15 11 80 85 02       	adc    $0x2858011,%eax
40aa99:	12 79 12             	adc    0x12(%ecx),%bh
40aa9c:	2c 1d                	sub    $0x1d,%al
40aa9e:	12 2c 06             	adc    (%esi,%eax,1),%ch
40aaa1:	15 12 69 01 12       	adc    $0x12016912,%eax
40aaa6:	2c 04                	sub    $0x4,%al
40aaa8:	00 01                	add    %al,(%ecx)
40aaaa:	01 0e                	add    %ecx,(%esi)
40aaac:	03 07                	add    (%edi),%eax
40aaae:	01 0d 04 07 01 11    	add    %ecx,0x11010704
40aab4:	40                   	inc    %eax
40aab5:	05 07 03 02 08       	add    $0x8020307,%eax
40aaba:	02 05 07 03 08 08    	add    0x8080307,%al
40aac0:	08 06                	or     %al,(%esi)
40aac2:	00 03                	add    %al,(%ebx)
40aac4:	0e                   	push   %cs
40aac5:	0e                   	push   %cs
40aac6:	1c 1c                	sbb    $0x1c,%al
40aac8:	05 07 02 11 40       	add    $0x40110207,%eax
40aacd:	0d 03 07 01 05       	or     $0x5010703,%eax
40aad2:	03 07                	add    (%edi),%eax
40aad4:	01 06                	add    %eax,(%esi)
40aad6:	03 07                	add    (%edi),%eax
40aad8:	01 07                	add    %eax,(%edi)
40aada:	03 07                	add    (%edi),%eax
40aadc:	01 09                	add    %ecx,(%ecx)
40aade:	03 07                	add    (%edi),%eax
40aae0:	01 0b                	add    %ecx,(%ebx)
40aae2:	03 07                	add    (%edi),%eax
40aae4:	01 0c 05 07 01 11 80 	add    %ecx,-0x7feefef9(,%eax,1)
40aaeb:	a1 06 00 01 11       	mov    0x11010006,%eax
40aaf0:	80 a1 0d 09 20 02 12 	andb   $0x12,0x220090d(%ecx)
40aaf7:	81 59 0e 11 81 5d 04 	sbbl   $0x45d8111,0xe(%ecx)
40aafe:	20 01                	and    %al,(%ecx)
40ab00:	1c 1c                	sbb    $0x1c,%al
40ab02:	03 1d 1e 00 05 20    	add    0x2005001e,%ebx
40ab08:	01 02                	add    %eax,(%edx)
40ab0a:	12 79 09             	adc    0x9(%ecx),%bh
40ab0d:	07                   	pop    %es
40ab0e:	07                   	pop    %es
40ab0f:	0d 0c 0e 04 06       	or     $0x6040e0c,%eax
40ab14:	02 0d 05 00 00 11    	add    0x11000005,%cl
40ab1a:	81 61 08 07 06 09 06 	andl   $0x6090607,0x8(%ecx)
40ab21:	0c 0b                	or     $0xb,%al
40ab23:	08 02                	or     %al,(%edx)
40ab25:	07                   	pop    %es
40ab26:	07                   	pop    %es
40ab27:	05 04 05 0e 04       	add    $0x40e0504,%eax
40ab2c:	0a 07                	or     (%edi),%al
40ab2e:	07                   	pop    %es
40ab2f:	05 07 09 04 06       	add    $0x6040907,%eax
40ab34:	0c 08                	or     $0x8,%al
40ab36:	07                   	pop    %es
40ab37:	06                   	push   %es
40ab38:	06                   	push   %es
40ab39:	05 0a 0d 0b 02       	add    $0x20b0d0a,%eax
40ab3e:	0e                   	push   %cs
40ab3f:	07                   	pop    %es
40ab40:	07                   	pop    %es
40ab41:	0d 15 11 80 a5       	or     $0xa5801115,%eax
40ab46:	01 02                	add    %eax,(%edx)
40ab48:	0e                   	push   %cs
40ab49:	0b 06                	or     (%esi),%eax
40ab4b:	08 02                	or     %al,(%edx)
40ab4d:	06                   	push   %es
40ab4e:	15 11 80 a5 01       	adc    $0x1a58011,%eax
40ab53:	02 0c 07             	add    (%edi,%eax,1),%cl
40ab56:	08 05 08 0c 0d 0c    	or     %al,0xc0d0c08
40ab5c:	02 02                	add    (%edx),%al
40ab5e:	12 80 a9 0c 07 08    	adc    0x8070ca9(%eax),%al
40ab64:	0d 05 0b 0b 06       	or     $0x60b0b05,%eax
40ab69:	08 02                	or     %al,(%edx)
40ab6b:	12 80 a9 06 00 01    	adc    0x10006a9(%eax),%al
40ab71:	11 81 6d 0e 08 07    	adc    %eax,0x7080e6d(%ecx)
40ab77:	06                   	push   %es
40ab78:	06                   	push   %es
40ab79:	0b 08                	or     (%eax),%ecx
40ab7b:	05 0b 02 0a 07       	add    $0x70a020b,%eax
40ab80:	08 09                	or     %cl,(%ecx)
40ab82:	0b 0d 05 06 02 0d    	or     0xd020605,%ecx
40ab88:	1c 09                	sbb    $0x9,%al
40ab8a:	07                   	pop    %es
40ab8b:	07                   	pop    %es
40ab8c:	0c 06                	or     $0x6,%al
40ab8e:	0d 0d 08 02 02       	or     $0x202080d,%eax
40ab93:	04 00                	add    $0x0,%al
40ab95:	01 01                	add    %eax,(%ecx)
40ab97:	0d 08 07 06 0e       	or     $0xe060708,%eax
40ab9c:	04 08                	add    $0x8,%al
40ab9e:	0e                   	push   %cs
40ab9f:	0a 02                	or     (%edx),%al
40aba1:	09 07                	or     %eax,(%edi)
40aba3:	07                   	pop    %es
40aba4:	0a 08                	or     (%eax),%cl
40aba6:	08 0c 0b             	or     %cl,(%ebx,%ecx,1)
40aba9:	02 02                	add    (%edx),%al
40abab:	08 07                	or     %al,(%edi)
40abad:	06                   	push   %es
40abae:	0e                   	push   %cs
40abaf:	04 0b                	add    $0xb,%al
40abb1:	08 0e                	or     %cl,(%esi)
40abb3:	02 1a                	add    (%edx),%bl
40abb5:	07                   	pop    %es
40abb6:	09 0d 0b 09 0a 05    	or     %ecx,0x50a090b
40abbc:	02 15 11 80 a5 01    	add    0x1a58011,%dl
40abc2:	08 15 11 80 a5 01    	or     %dl,0x1a58011
40abc8:	08 15 11 80 a5 01    	or     %dl,0x1a58011
40abce:	08 06                	or     %al,(%esi)
40abd0:	15 11 80 a5 01       	adc    $0x1a58011,%eax
40abd5:	08 04 20             	or     %al,(%eax,%eiz,1)
40abd8:	00 13                	add    %dl,(%ebx)
40abda:	00 08                	add    %cl,(%eax)
40abdc:	07                   	pop    %es
40abdd:	06                   	push   %es
40abde:	0e                   	push   %cs
40abdf:	08 0c 09             	or     %cl,(%ecx,%ecx,1)
40abe2:	0b 02                	or     (%edx),%eax
40abe4:	07                   	pop    %es
40abe5:	07                   	pop    %es
40abe6:	05 07 07 06 04       	add    $0x4060707,%eax
40abeb:	06                   	push   %es
40abec:	08 07                	or     %al,(%edi)
40abee:	06                   	push   %es
40abef:	05 08 05 0a 06       	add    $0x60a0508,%eax
40abf4:	02 08                	add    (%eax),%cl
40abf6:	07                   	pop    %es
40abf7:	06                   	push   %es
40abf8:	09 0b                	or     %ecx,(%ebx)
40abfa:	08 0e                	or     %cl,(%esi)
40abfc:	07                   	pop    %es
40abfd:	02 07                	add    (%edi),%al
40abff:	07                   	pop    %es
40ac00:	05 0c 09 0a 0b       	add    $0xb0a090c,%eax
40ac05:	0b 07                	or     (%edi),%eax
40ac07:	07                   	pop    %es
40ac08:	05 09 0c 06 06       	add    $0x6060c09,%eax
40ac0d:	0b 0a                	or     (%edx),%ecx
40ac0f:	07                   	pop    %es
40ac10:	08 0a                	or     %cl,(%edx)
40ac12:	0e                   	push   %cs
40ac13:	08 0d 07 02 0d 02    	or     %cl,0x20d0207
40ac19:	09 07                	or     %eax,(%edi)
40ac1b:	07                   	pop    %es
40ac1c:	04 0e                	add    $0xe,%al
40ac1e:	08 08                	or     %cl,(%eax)
40ac20:	05 02 02 07 07       	add    $0x7070202,%eax
40ac25:	05 0e 0e 07 0a       	add    $0xa070e0e,%eax
40ac2a:	0e                   	push   %cs
40ac2b:	08 07                	or     %al,(%edi)
40ac2d:	06                   	push   %es
40ac2e:	0b 07                	or     (%edi),%eax
40ac30:	04 08                	add    $0x8,%al
40ac32:	06                   	push   %es
40ac33:	02 07                	add    (%edi),%al
40ac35:	07                   	pop    %es
40ac36:	05 04 09 05 0b       	add    $0xb050904,%eax
40ac3b:	09 07                	or     %eax,(%edi)
40ac3d:	07                   	pop    %es
40ac3e:	05 0c 0a 0c 05       	add    $0x50c0a0c,%eax
40ac43:	0a 07                	or     (%edi),%al
40ac45:	07                   	pop    %es
40ac46:	05 04 04 07 07       	add    $0x7070404,%eax
40ac4b:	06                   	push   %es
40ac4c:	09 07                	or     %eax,(%edi)
40ac4e:	07                   	pop    %es
40ac4f:	07                   	pop    %es
40ac50:	08 08                	or     %cl,(%eax)
40ac52:	07                   	pop    %es
40ac53:	0c 02                	or     $0x2,%al
40ac55:	02 07                	add    (%edi),%al
40ac57:	07                   	pop    %es
40ac58:	05 04 07 09 0c       	add    $0xc090704,%eax
40ac5d:	07                   	pop    %es
40ac5e:	0e                   	push   %cs
40ac5f:	07                   	pop    %es
40ac60:	07                   	pop    %es
40ac61:	0e                   	push   %cs
40ac62:	05 05 0e 0d 0d       	add    $0xd0d0e05,%eax
40ac67:	15 11 80 a5 01       	adc    $0x1a58011,%eax
40ac6c:	02 07                	add    (%edi),%al
40ac6e:	07                   	pop    %es
40ac6f:	05 04 05 05 09       	add    $0x9050504,%eax
40ac74:	07                   	pop    %es
40ac75:	07                   	pop    %es
40ac76:	07                   	pop    %es
40ac77:	05 09 04 07 09       	add    $0x9070409,%eax
40ac7c:	0c 07                	or     $0x7,%al
40ac7e:	07                   	pop    %es
40ac7f:	05 07 04 0a 09       	add    $0x90a0407,%eax
40ac84:	05 07 07 05 06       	add    $0x6050707,%eax
40ac89:	07                   	pop    %es
40ac8a:	05 04 07 0a 07       	add    $0x70a0704,%eax
40ac8f:	08 08                	or     %cl,(%eax)
40ac91:	08 08                	or     %cl,(%eax)
40ac93:	04 07                	add    $0x7,%al
40ac95:	02 02                	add    (%edx),%al
40ac97:	02 0e                	add    (%esi),%cl
40ac99:	07                   	pop    %es
40ac9a:	05 12 80 ad 12       	add    $0x12ad8012,%eax
40ac9f:	80 b1 1d 05 1d 05 1d 	xorb   $0x1d,0x51d051d(%ecx)
40aca6:	05 05 00 00 12       	add    $0x12000005,%eax
40acab:	81 71 05 20 01 1d 05 	xorl   $0x51d0120,0x5(%ecx)
40acb2:	0e                   	push   %cs
40acb3:	06                   	push   %es
40acb4:	20 01                	and    %al,(%ecx)
40acb6:	1d 05 1d 05 05       	sbb    $0x5051d05,%eax
40acbb:	20 01                	and    %al,(%ecx)
40acbd:	01 1d 05 06 20 01    	add    %ebx,0x1200605
40acc3:	01 11                	add    %edx,(%ecx)
40acc5:	81 7d 05 20 00 12 81 	cmpl   $0x81120020,0x5(%ebp)
40accc:	81 08 20 03 1d 05    	orl    $0x51d0320,(%eax)
40acd2:	1d 05 08 08 04       	sbb    $0x4080805,%eax
40acd7:	07                   	pop    %es
40acd8:	01 1d 05 0a 07 05    	add    %ebx,0x5070a05
40acde:	1d 05 12 80 b5       	sbb    $0xb5801205,%eax
40ace3:	1c 1c                	sbb    $0x1c,%al
40ace5:	0e                   	push   %cs
40ace6:	07                   	pop    %es
40ace7:	00 01                	add    %al,(%ecx)
40ace9:	12 80 b5 1d 05 0d    	adc    0xd051db5(%eax),%al
40acef:	00 06                	add    %al,(%esi)
40acf1:	1c 1c                	sbb    $0x1c,%al
40acf3:	12 79 0e             	adc    0xe(%ecx),%bh
40acf6:	1d 1c 1d 0e 1d       	sbb    $0x1d0e1d1c,%eax
40acfb:	02 04 00             	add    (%eax,%eax,1),%al
40acfe:	01 01                	add    %eax,(%ecx)
40ad00:	08 05 00 02 0e 0e    	or     %al,0xe0e0200
40ad06:	1c 09                	sbb    $0x9,%al
40ad08:	07                   	pop    %es
40ad09:	05 1d 1c 02 12       	add    $0x12021c1d,%eax
40ad0e:	15 02 0e 05 00       	adc    $0x50e02,%eax
40ad13:	00 12                	add    %dl,(%edx)
40ad15:	80 b5 07 20 02 1d 1c 	xorb   $0x1c,0x1d022007(%ebp)
40ad1c:	12 79 02             	adc    0x2(%ecx),%bh