46de82:	20 01                	and    %al,(%ecx)
46de84:	01 09                	add    %ecx,(%ecx)
46de86:	05 20 02 01 08       	add    $0x8010220,%eax
46de8b:	08 07                	or     %al,(%edi)
46de8d:	20 02                	and    %al,(%edx)
46de8f:	01 12                	add    %edx,(%edx)
46de91:	19 12                	sbb    %edx,(%edx)
46de93:	19 09                	sbb    %ecx,(%ecx)
46de95:	20 04 01             	and    %al,(%ecx,%eax,1)
46de98:	12 19                	adc    (%ecx),%bl
46de9a:	12 19                	adc    (%ecx),%bl
46de9c:	0a 0a                	or     (%edx),%cl
46de9e:	05 20 01 01 1d       	add    $0x1d010120,%eax
46dea3:	05 04 00 01 09       	add    $0x9010004,%eax
46dea8:	09 03                	or     %eax,(%ebx)
46deaa:	06                   	push   %es
46deab:	11 08                	adc    %ecx,(%eax)
46dead:	06                   	push   %es
46deae:	20 02                	and    %al,(%edx)
46deb0:	09 12                	or     %edx,(%edx)
46deb2:	10 09                	adc    %cl,(%ecx)
46deb4:	04 06                	add    $0x6,%al
46deb6:	1d 11 20 05 20       	sbb    $0x20052011,%eax
46debb:	02 09                	add    (%ecx),%cl
46debd:	09 05 07 20 03 05    	or     %eax,0x5032007
46dec3:	12 10                	adc    (%eax),%dl
46dec5:	09 05 08 20 04 05    	or     %eax,0x5042008
46decb:	12 10                	adc    (%eax),%dl
46decd:	09 05 05 05 20 01    	or     %eax,0x1200505
46ded3:	05 12 10 06 20       	add    $0x20061012,%eax
46ded8:	02 05 12 10 05 06    	add    0x6051012,%al
46dede:	20 02                	and    %al,(%edx)
46dee0:	01 12                	add    %edx,(%edx)
46dee2:	19 02                	sbb    %eax,(%edx)
46dee4:	05 20 02 01 09       	add    $0x9010220,%eax
46dee9:	09 04 20             	or     %eax,(%eax,%eiz,1)
46deec:	01 01                	add    %eax,(%ecx)
46deee:	05 04 20 01 05       	add    $0x5012004,%eax
46def3:	09 03                	or     %eax,(%ebx)
46def5:	20 00                	and    %al,(%eax)
46def7:	02 04 00             	add    (%eax,%eax,1),%al
46defa:	01 0e                	add    %ecx,(%esi)
46defc:	08 06                	or     %al,(%esi)
46defe:	00 01                	add    %al,(%ecx)
46df00:	1d 03 1d 05 05       	sbb    $0x5051d03,%eax
46df05:	00 01                	add    %al,(%ecx)
46df07:	0e                   	push   %cs
46df08:	11 21                	adc    %esp,(%ecx)
46df0a:	05 00 01 11 21       	add    $0x21110100,%eax
46df0f:	08 04 00             	or     %al,(%eax,%eax,1)
46df12:	00 12                	add    %dl,(%edx)
46df14:	25 05 00 01 12       	and    $0x12010005,%eax
46df19:	29 08                	sub    %ecx,(%eax)
46df1b:	04 00                	add    $0x0,%al
46df1d:	01 0e                	add    %ecx,(%esi)
46df1f:	1c 08                	sbb    $0x8,%al
46df21:	31 bf 38 56 ad 36    	xor    %edi,0x36ad5638(%edi)
46df27:	4e                   	dec    %esi
46df28:	35 03 06 12 35       	xor    $0x35120603,%eax
46df2d:	0b 00                	or     (%eax),%eax
46df2f:	03 01                	add    (%ecx),%eax
46df31:	08 15 12 39 02 0e    	or     %dl,0xe023912
46df37:	1c 02                	sbb    $0x2,%al
46df39:	04 00                	add    $0x0,%al
46df3b:	01 01                	add    %eax,(%ecx)
46df3d:	0e                   	push   %cs
46df3e:	03 00                	add    (%eax),%eax
46df40:	00 02                	add    %al,(%edx)
46df42:	05 00 01 1d 05       	add    $0x51d0100,%eax
46df47:	0e                   	push   %cs
46df48:	05 00 01 12 3d       	add    $0x3d120100,%eax
46df4d:	0e                   	push   %cs
46df4e:	04 00                	add    $0x0,%al
46df50:	01 0e                	add    %ecx,(%esi)
46df52:	0e                   	push   %cs
46df53:	05 00 01 0e 1d       	add    $0x1d0e0100,%eax
46df58:	05 05 20 02 01       	add    $0x1022005,%eax
46df5d:	08 1c 05 00 02 0e 0e 	or     %bl,0xe0e0200(,%eax,1)
46df64:	1c 05                	sbb    $0x5,%al
46df66:	00 02                	add    %al,(%edx)
46df68:	0e                   	push   %cs
46df69:	0e                   	push   %cs
46df6a:	0e                   	push   %cs
46df6b:	07                   	pop    %es
46df6c:	00 03                	add    %al,(%ebx)
46df6e:	08 0e                	or     %cl,(%esi)
46df70:	0e                   	push   %cs
46df71:	11 41 06             	adc    %eax,0x6(%ecx)
46df74:	00 03                	add    %al,(%ebx)
46df76:	0e                   	push   %cs
46df77:	0e                   	push   %cs
46df78:	08 08                	or     %cl,(%eax)
46df7a:	0b 00                	or     (%eax),%eax
46df7c:	04 12                	add    $0x12,%al
46df7e:	3d 0e 11 45 11       	cmp    $0x1145110e,%eax
46df83:	49                   	dec    %ecx
46df84:	11 4d 09             	adc    %ecx,0x9(%ebp)
46df87:	00 04 01             	add    %al,(%ecx,%eax,1)
46df8a:	12 19                	adc    (%ecx),%bl
46df8c:	1d 05 08 08 05       	sbb    $0x5080805,%eax
46df91:	00 01                	add    %al,(%ecx)
46df93:	01 12                	add    %edx,(%edx)
46df95:	51                   	push   %ecx
46df96:	04 00                	add    $0x0,%al
46df98:	01 02                	add    %eax,(%edx)
46df9a:	0e                   	push   %cs
46df9b:	05 00 02 01 0e       	add    $0xe010200,%eax
46dfa0:	0e                   	push   %cs
46dfa1:	05 00 02 02 0e       	add    $0xe020200,%eax
46dfa6:	0e                   	push   %cs
46dfa7:	04 00                	add    $0x0,%al
46dfa9:	00 12                	add    %dl,(%edx)
46dfab:	55                   	push   %ebp
46dfac:	06                   	push   %es
46dfad:	00 02                	add    %al,(%edx)
46dfaf:	01 12                	add    %edx,(%edx)
46dfb1:	55                   	push   %ebp
46dfb2:	0e                   	push   %cs
46dfb3:	06                   	push   %es
46dfb4:	00 02                	add    %al,(%edx)
46dfb6:	01 12                	add    %edx,(%edx)
46dfb8:	55                   	push   %ebp
46dfb9:	02 06                	add    (%esi),%al
46dfbb:	00 01                	add    %al,(%ecx)
46dfbd:	12 59 12             	adc    0x12(%ecx),%bl
46dfc0:	55                   	push   %ebp
46dfc1:	06                   	push   %es
46dfc2:	00 01                	add    %al,(%ecx)
46dfc4:	1d 12 59 0e 04       	sbb    $0x40e5912,%eax
46dfc9:	00 00                	add    %al,(%eax)
46dfcb:	12 5d 09             	adc    0x9(%ebp),%bl
46dfce:	00 04 08             	add    %al,(%eax,%ecx,1)
46dfd1:	12 19                	adc    (%ecx),%bl
46dfd3:	1d 05 08 08 06       	sbb    $0x6080805,%eax
46dfd8:	00 01                	add    %al,(%ecx)
46dfda:	1d 05 12 5d 05       	sbb    $0x55d1205,%eax
46dfdf:	00 01                	add    %al,(%ecx)
46dfe1:	12 61 0e             	adc    0xe(%ecx),%ah
46dfe4:	05 00 01 0e 12       	add    $0x120e0100,%eax
46dfe9:	65 08 00             	or     %al,%gs:(%eax)
46dfec:	02 1d 05 12 35 1d    	add    0x1d351205,%bl
46dff2:	05 08 00 03 12       	add    $0x12030008,%eax
46dff7:	29 12                	sub    %edx,(%edx)
46dff9:	29 0e                	sub    %ecx,(%esi)
46dffb:	1c 07                	sbb    $0x7,%al
46dffd:	00 02                	add    %al,(%edx)
46dfff:	12 69 0e             	adc    0xe(%ecx),%ch
46e002:	11 6d 06             	adc    %ebp,0x6(%ebp)
46e005:	00 02                	add    %al,(%edx)
46e007:	01 1c 12             	add    %ebx,(%edx,%edx,1)
46e00a:	69 04 00 00 12 71 04 	imul   $0x4711200,(%eax,%eax,1),%eax
46e011:	06                   	push   %es
46e012:	11 80 b4 03 06 1d    	adc    %eax,0x1d0603b4(%eax)
46e018:	03 03                	add    (%ebx),%eax
46e01a:	06                   	push   %es
46e01b:	12 75 04             	adc    0x4(%ebp),%dh
46e01e:	00 00                	add    %al,(%eax)
46e020:	12 59 06             	adc    0x6(%ecx),%bl
46e023:	00 01                	add    %al,(%ecx)
46e025:	12 75 12             	adc    0x12(%ebp),%dh
46e028:	59                   	pop    %ecx
46e029:	03 00                	add    (%eax),%eax
46e02b:	00 08                	add    %cl,(%eax)
46e02d:	04 00                	add    $0x0,%al
46e02f:	01 01                	add    %eax,(%ecx)
46e031:	08 02                	or     %al,(%edx)
46e033:	06                   	push   %es
46e034:	0e                   	push   %cs
46e035:	06                   	push   %es
46e036:	00 03                	add    %al,(%ebx)
46e038:	01 0e                	add    %ecx,(%esi)
46e03a:	0e                   	push   %cs
46e03b:	0e                   	push   %cs
46e03c:	0d 00 01 15 12       	or     $0x12150100,%eax
46e041:	39 02                	cmp    %eax,(%edx)
46e043:	0e                   	push   %cs
46e044:	1c 15                	sbb    $0x15,%al
46e046:	12 79 01             	adc    0x1(%ecx),%bh
46e049:	1c 06                	sbb    $0x6,%al
46e04b:	00 02                	add    %al,(%edx)
46e04d:	01 0e                	add    %ecx,(%esi)
46e04f:	1d 05 07 00 01       	sbb    $0x1000705,%eax
46e054:	12 7d 11             	adc    0x11(%ebp),%bh
46e057:	80 81 06 00 02 0e 0e 	addb   $0xe,0xe020006(%ecx)
46e05e:	1d 03 05 00 01       	sbb    $0x1000503,%eax
46e063:	0e                   	push   %cs
46e064:	1d 0e 04 00 00       	sbb    $0x40e,%eax
46e069:	12 09                	adc    (%ecx),%cl
46e06b:	05 00 01 0e 12       	add    $0x120e0100,%eax
46e070:	09 04 06             	or     %eax,(%esi,%eax,1)
46e073:	11 80 b0 03 06 1d    	adc    %eax,0x1d0603b0(%eax)
46e079:	08 03                	or     %al,(%ebx)
46e07b:	06                   	push   %es
46e07c:	12 5d 08             	adc    0x8(%ebp),%bl
46e07f:	b0 3f                	mov    $0x3f,%al
46e081:	5f                   	pop    %edi
46e082:	7f 11                	jg     0x46e095
46e084:	d5 0a                	aad    $0xa
46e086:	3a 04 06             	cmp    (%esi,%eax,1),%al
46e089:	12 80 85 04 06 11    	adc    0x11060485(%eax),%al
46e08f:	80 89 04 00 01 08 18 	orb    $0x18,0x8010004(%ecx)
46e096:	08 00                	or     %al,(%eax)
46e098:	01 1d 05 1d 12 80    	add    %ebx,0x80121d05
46e09e:	8d 04 00             	lea    (%eax,%eax,1),%eax
46e0a1:	00 1d 05 05 00 01    	add    %bl,0x1000505
46e0a7:	18 12                	sbb    %dl,(%edx)
46e0a9:	75 05                	jne    0x46e0b0
46e0ab:	00 02                	add    %al,(%edx)
46e0ad:	08 18                	or     %bl,(%eax)
46e0af:	08 06                	or     %al,(%esi)
46e0b1:	00 01                	add    %al,(%ecx)
46e0b3:	12 80 91 08 08 00    	adc    0x80891(%eax),%al
46e0b9:	02 01                	add    (%ecx),%al
46e0bb:	12 80 91 1d 05 04    	adc    0x4051d91(%eax),%al
46e0c1:	00 00                	add    %al,(%eax)
46e0c3:	12 29                	adc    (%ecx),%ch
46e0c5:	09 00                	or     %eax,(%eax)
46e0c7:	03 12                	add    (%edx),%edx
46e0c9:	29 12                	sub    %edx,(%edx)
46e0cb:	29 08                	sub    %ecx,(%eax)
46e0cd:	1d 03 08 00 01       	sbb    $0x1000803,%eax
46e0d2:	11 80 95 12 80 8d    	adc    %eax,-0x727fed6b(%eax)
46e0d8:	06                   	push   %es
46e0d9:	00 02                	add    %al,(%edx)
46e0db:	01 12                	add    %edx,(%edx)
46e0dd:	5d                   	pop    %ebp
46e0de:	08 06                	or     %al,(%esi)
46e0e0:	00 02                	add    %al,(%edx)
46e0e2:	01 12                	add    %edx,(%edx)
46e0e4:	19 0a                	sbb    %ecx,(%edx)
46e0e6:	05 00 00 12 80       	add    $0x80120000,%eax
46e0eb:	99                   	cltd
46e0ec:	09 00                	or     %eax,(%eax)
46e0ee:	01 1d 12 80 9d 12    	add    %ebx,0x129d8012
46e0f4:	80 99 05 00 00 12 80 	sbbb   $0x80,0x12000005(%ecx)
46e0fb:	a1 08 00 01 12       	mov    0x12010008,%eax
46e100:	80 a5 12 80 9d 08 00 	andb   $0x0,0x89d8012(%ebp)
46e107:	01 12                	add    %edx,(%edx)
46e109:	80 a9 12 80 ad 07 00 	subb   $0x0,0x7ad8012(%ecx)
46e110:	01 12                	add    %edx,(%edx)
46e112:	09 12                	or     %edx,(%edx)
46e114:	80 a9 08 00 02 12 80 	subb   $0x80,0x12020008(%ecx)
46e11b:	b1 0e                	mov    $0xe,%cl
46e11d:	12 09                	adc    (%ecx),%cl
46e11f:	09 00                	or     %eax,(%eax)
46e121:	03 1c 12             	add    (%edx,%edx,1),%ebx
46e124:	80 b1 0e 12 25 0c 00 	xorb   $0x0,0xc25120e(%ecx)
46e12b:	06                   	push   %es
46e12c:	02 0e                	add    (%esi),%cl
46e12e:	0e                   	push   %cs
46e12f:	12 54 18 10          	adc    0x10(%eax,%ebx,1),%dl
46e133:	08 11                	or     %dl,(%ecx)
46e135:	60                   	pusha
46e136:	01 02                	add    %eax,(%edx)
46e138:	0e                   	push   %cs
46e139:	00 09                	add    %cl,(%ecx)
46e13b:	11 58 0a             	adc    %ebx,0xa(%eax)
46e13e:	0a 0a                	or     (%edx),%cl
46e140:	0a 09                	or     (%ecx),%cl
46e142:	11 5c 18 18          	adc    %ebx,0x18(%eax,%ebx,1)
46e146:	18 05 00 01 0e 12    	sbb    %al,0x120e0100
46e14c:	75 06                	jne    0x46e154
46e14e:	00 03                	add    %al,(%ebx)
46e150:	0e                   	push   %cs
46e151:	0e                   	push   %cs
46e152:	0e                   	push   %cs
46e153:	0e                   	push   %cs
46e154:	05 20 02 01 1c       	add    $0x1c010220,%eax
46e159:	18 0e                	sbb    %cl,(%esi)
46e15b:	20 09                	and    %cl,(%ecx)
46e15d:	11 58 0a             	adc    %ebx,0xa(%eax)
46e160:	0a 0a                	or     (%edx),%cl
46e162:	0a 09                	or     (%ecx),%cl
46e164:	11 5c 18 18          	adc    %ebx,0x18(%eax,%ebx,1)
46e168:	18 13                	sbb    %dl,(%ebx)
46e16a:	20 0b                	and    %cl,(%ebx)
46e16c:	12 80 b9 0a 0a 0a    	adc    0xa0a0ab9(%eax),%al
46e172:	0a 09                	or     (%ecx),%cl
46e174:	11 5c 18 18          	adc    %ebx,0x18(%eax,%ebx,1)
46e178:	18 12                	sbb    %dl,(%edx)
46e17a:	80 bd 1c 07 20 01 11 	cmpb   $0x11,0x120071c(%ebp)
46e181:	58                   	pop    %eax
46e182:	12 80 b9 03 06 11    	adc    0x110603b9(%eax),%al
46e188:	58                   	pop    %eax
46e189:	04 00                	add    $0x0,%al
46e18b:	00 00                	add    %al,(%eax)
46e18d:	00 03                	add    %al,(%ebx)
46e18f:	06                   	push   %es
46e190:	11 60 04             	adc    %esp,0x4(%eax)
46e193:	02 00                	add    (%eax),%al
46e195:	00 00                	add    %al,(%eax)
46e197:	08 00                	or     %al,(%eax)
46e199:	02 01                	add    (%ecx),%al
46e19b:	12 80 c5 1d 05 06    	adc    0x6051dc5(%eax),%al
46e1a1:	00 01                	add    %al,(%ecx)
46e1a3:	18 12                	sbb    %dl,(%edx)
46e1a5:	80 c5 06             	add    $0x6,%ch
46e1a8:	00 01                	add    %al,(%ecx)
46e1aa:	12 80 c9 08 06 00    	adc    0x608c9(%eax),%al
46e1b0:	01 01                	add    %eax,(%ecx)
46e1b2:	12 80 c9 07 00 03    	adc    0x30007c9(%eax),%al
46e1b8:	02 0e                	add    (%esi),%cl
46e1ba:	0e                   	push   %cs
46e1bb:	11 41 06             	adc    %eax,0x6(%ecx)
46e1be:	00 03                	add    %al,(%ebx)
46e1c0:	1c 0e                	sbb    $0xe,%al
46e1c2:	0e                   	push   %cs
46e1c3:	1c 0d                	sbb    $0xd,%al
46e1c5:	00 04 11             	add    %al,(%ecx,%edx,1)
46e1c8:	80 cd 0e             	or     $0xe,%ch
46e1cb:	0e                   	push   %cs
46e1cc:	11 80 d1 11 80 d5    	adc    %eax,-0x2a7fee2f(%eax)
46e1d2:	03 00                	add    (%eax),%eax
46e1d4:	00 0e                	add    %cl,(%esi)
46e1d6:	05 00 01 12 59       	add    $0x59120100,%eax
46e1db:	0e                   	push   %cs
46e1dc:	06                   	push   %es
46e1dd:	00 01                	add    %al,(%ecx)
46e1df:	12 80 d9 0e 08 00    	adc    0x80ed9(%eax),%al
46e1e5:	01 12                	add    %edx,(%edx)
46e1e7:	80 dd 12             	sbb    $0x12,%ch
46e1ea:	80 d9 08             	sbb    $0x8,%cl
46e1ed:	00 01                	add    %al,(%ecx)
46e1ef:	12 80 e1 12 80 dd    	adc    -0x227fed1f(%eax),%al
46e1f5:	08 00                	or     %al,(%eax)
46e1f7:	01 12                	add    %edx,(%edx)
46e1f9:	80 e5 12             	and    $0x12,%ch
46e1fc:	80 e1 07             	and    $0x7,%cl
46e1ff:	00 02                	add    %al,(%edx)
46e201:	1c 12                	sbb    $0x12,%al
46e203:	80 e5 0e             	and    $0xe,%ch
46e206:	06                   	push   %es
46e207:	00 01                	add    %al,(%ecx)
46e209:	02 12                	add    (%edx),%dl
46e20b:	80 e1 12             	and    $0x12,%cl
46e20e:	00 0b                	add    %cl,(%ebx)
46e210:	02 18                	add    (%eax),%bl
46e212:	0e                   	push   %cs
46e213:	0e                   	push   %cs
46e214:	18 18                	sbb    %bl,(%eax)
46e216:	02 09                	add    (%ecx),%cl
46e218:	18 0e                	sbb    %cl,(%esi)
46e21a:	10 11                	adc    %dl,(%ecx)
46e21c:	78 10                	js     0x46e22e
46e21e:	11 74 09 00          	adc    %esi,0x0(%ecx,%ecx,1)
46e222:	04 1c                	add    $0x1c,%al
46e224:	0e                   	push   %cs
46e225:	0e                   	push   %cs
46e226:	1d 1c 12 7d 05       	sbb    $0x57d121c,%eax
46e22b:	00 01                	add    %al,(%ecx)