40a1a3:	11 3f                	adc    %edi,(%edi)
40a1a5:	02 5c 08 27          	add    0x27(%eax,%ecx,1),%bl
40a1a9:	00 29                	add    %ch,(%ecx)
40a1ab:	6f                   	outsl  %ds:(%esi),(%dx)
40a1ac:	35 00 21 0a 15       	xor    $0x150a2100,%eax
40a1b1:	2b 11                	sub    (%ecx),%edx
40a1b3:	06                   	push   %es
40a1b4:	15 00 28 00 34       	adc    $0x34002800,%eax
40a1b9:	30 29                	xor    %ch,(%ecx)
40a1bb:	00 3a                	add    %bh,(%edx)
40a1bd:	00 21                	add    %ah,(%ecx)
40a1bf:	00 1b                	add    %bl,(%ebx)
40a1c1:	00 11                	add    %dl,(%ecx)
40a1c3:	11 3f                	adc    %edi,(%edi)
40a1c5:	17                   	pop    %ss
40a1c6:	22 2b                	and    (%ebx),%ch
40a1c8:	27                   	daa
40a1c9:	06                   	push   %es
40a1ca:	02 00                	add    (%eax),%al
40a1cc:	2e 30 20             	xor    %ah,%cs:(%eax)
40a1cf:	00 18                	add    %bl,(%eax)
40a1d1:	00 11                	add    %dl,(%ecx)
40a1d3:	00 3b                	add    %bh,(%ebx)
40a1d5:	00 28                	add    %ch,(%eax)
40a1d7:	11 27                	adc    %esp,(%edi)
40a1d9:	16                   	push   %ss
40a1da:	22 2b                	and    (%ebx),%ch
40a1dc:	3d 06 0b 00 59       	cmp    $0x59000b06,%eax
40a1e1:	02 39                	add    (%ecx),%bh
40a1e3:	01 3f                	add    %edi,(%edi)
40a1e5:	00 22                	add    %ah,(%edx)
40a1e7:	00 27                	add    %ah,(%edi)
40a1e9:	02 00                	add    (%eax),%al
40a1eb:	0b 3d 00 27 00 1f    	or     0x1f002700,%edi
40a1f1:	2a 11                	sub    (%ecx),%dl
40a1f3:	00 35 00 02 00 3c    	add    %dh,0x3c000200
40a1f9:	30 2a                	xor    %ch,(%edx)
40a1fb:	00 4f 00             	add    %cl,0x0(%edi)
40a1fe:	21 00                	and    %eax,(%eax)
40a200:	1a 00                	sbb    (%eax),%al
40a202:	11 11                	adc    %edx,(%ecx)
40a204:	3f                   	aas
40a205:	28 3c 00             	sub    %bh,(%eax,%eax,1)
40a208:	27                   	daa
40a209:	06                   	push   %es
40a20a:	3b 04 2c             	cmp    (%esp,%ebp,1),%eax
40a20d:	04 0c                	add    $0xc,%al
40a20f:	60                   	pusha
40a210:	1f                   	pop    %ds
40a211:	14 1b                	adc    $0x1b,%al
40a213:	02 4d 01             	add    0x1(%ebp),%cl
40a216:	28 00                	sub    %al,(%eax)
40a218:	57                   	push   %edi
40a219:	28 38                	sub    %bh,(%eax)
40a21b:	00 3d 06 55 09 1f    	add    %bh,0x1f095506
40a221:	00 10                	add    %dl,(%eax)
40a223:	0b 3f                	or     (%edi),%edi
40a225:	07                   	pop    %es
40a226:	5b                   	pop    %ebx
40a227:	09 27                	or     %esp,(%edi)
40a229:	00 22                	add    %ah,(%edx)
40a22b:	0c 35                	or     $0x35,%al
40a22d:	07                   	pop    %es
40a22e:	4e                   	dec    %esi
40a22f:	0a 1f                	or     (%edi),%bl
40a231:	00 1b                	add    %bl,(%ebx)
40a233:	69 17 11 28 00 21    	imul   $0x21002811,(%edi),%edx
40a239:	74 29                	je     0x40a264
40a23b:	00 3d 1b 2b de 0d    	add    %bh,0xdde2b1b
40a241:	08 05 fe 3e 13 2c    	or     %al,0x2c133efe
40a247:	11 23                	adc    %esp,(%ebx)
40a249:	2d 2f 08 52 0b       	sub    $0xb52082f,%eax
40a24e:	21 00                	and    %eax,(%eax)
40a250:	15 00 cd 00 3f       	adc    $0x3f00cd00,%eax
40a255:	de 3c 00             	fidivrs (%eax,%eax,1)
40a258:	20 14 d6             	and    %dl,(%esi,%edx,8)
40a25b:	01 2e                	add    %ebp,(%esi)
40a25d:	04 30                	add    $0x30,%al
40a25f:	04 32                	add    $0x32,%al
40a261:	07                   	pop    %es
40a262:	16                   	push   %ss
40a263:	28 2d 00 28 06 27    	sub    %ch,0x27062800
40a269:	00 f4                	add    %dh,%ah
40a26b:	00 3b                	add    %bh,(%ebx)
40a26d:	0d 0a 04 0b 0d       	or     $0xd0b040a,%eax
40a272:	3a 00                	cmp    (%eax),%al
40a274:	36 2a 28             	sub    %ss:(%eax),%ch
40a277:	00 26                	add    %ah,(%esi)
40a279:	1c 28                	sbb    $0x28,%al
40a27b:	00 3f                	add    %bh,(%edi)
40a27d:	00 09                	add    %cl,(%ecx)
40a27f:	00 0a                	add    %cl,(%edx)
40a281:	3d 11 12 3f 00       	cmp    $0x3f1211,%eax
40a286:	28 00                	sub    %al,(%eax)
40a288:	25 00 08 00 0e       	and    $0xe000800,%eax
40a28d:	53                   	push   %ebx
40a28e:	21 14 1f             	and    %edx,(%edi,%ebx,1)
40a291:	00 11                	add    %dl,(%ecx)
40a293:	00 2c 30             	add    %ch,(%eax,%esi,1)
40a296:	2e 00 5f 00          	add    %bl,%cs:0x0(%edi)
40a29a:	28 00                	sub    %al,(%eax)
40a29c:	3b 00                	cmp    (%eax),%eax
40a29e:	21 11                	and    %edx,(%ecx)
40a2a0:	1f                   	pop    %ds
40a2a1:	28 1d 00 3f 0a 56    	sub    %bl,0x560a3f00
40a2a7:	01 27                	add    %esp,(%edi)
40a2a9:	00 2c 28             	add    %ch,(%eax,%ebp,1)
40a2ac:	28 00                	sub    %al,(%eax)
40a2ae:	21 06                	and    %eax,(%esi)
40a2b0:	6b 01 11             	imul   $0x11,(%ecx),%eax
40a2b3:	00 24 0a             	add    %ah,(%edx,%ecx,1)
40a2b6:	00 14 27             	add    %dl,(%edi,%eiz,1)
40a2b9:	00 2e                	add    %ch,(%esi)
40a2bb:	26 15 13 21 00 19    	es adc $0x19002113,%eax
40a2c1:	16                   	push   %ss
40a2c2:	ef                   	out    %eax,(%dx)
40a2c3:	01 32                	add    %esi,(%edx)
40a2c5:	09 05 02 31 0b 3e    	or     %eax,0x3e0b3102
40a2cb:	0b 16                	or     (%esi),%edx
40a2cd:	3a 23                	cmp    (%ebx),%ah
40a2cf:	07                   	pop    %es
40a2d0:	90                   	nop
40a2d1:	0d 11 00 3e 25       	or     $0x253e0011,%eax
40a2d6:	59                   	pop    %ecx
40a2d7:	0d 27 00 29 06       	or     $0x6290027,%eax
40a2dc:	3a 00                	cmp    (%eax),%al
40a2de:	02 00                	add    (%eax),%al
40a2e0:	1f                   	pop    %ds
40a2e1:	00 11                	add    %dl,(%ecx)
40a2e3:	00 3f                	add    %bh,(%edi)
40a2e5:	20 68 23             	and    %ch,0x23(%eax)
40a2e8:	27                   	daa
40a2e9:	00 28                	add    %ch,(%eax)
40a2eb:	00 3d 00 01 40 37    	add    %bh,0x37400100
40a2f1:	0d 11 00 35 58       	or     $0x58350011,%eax
40a2f6:	00 07                	add    %al,(%edi)
40a2f8:	27                   	daa
40a2f9:	00 22                	add    %ah,(%edx)
40a2fb:	5d                   	pop    %ebp
40a2fc:	ac                   	lods   %ds:(%esi),%al
40a2fd:	61                   	popa
40a2fe:	f3 81 12 00 11 01 38 	repz adcl $0x38011100,(%edx)
40a305:	17                   	pop    %ss
40a306:	70 0b                	jo     0x40a313
40a308:	20 02                	and    %al,(%edx)
40a30a:	a6                   	cmpsb  %es:(%edi),%ds:(%esi)
40a30b:	69 c3 04 2c 09 32    	imul   $0x32092c04,%ebx,%eax
40a311:	bc 13 0c 14 00       	mov    $0x140c13,%esp
40a316:	20 2a                	and    %ch,(%edx)
40a318:	11 00                	adc    %eax,(%eax)
40a31a:	56                   	push   %esi
40a31b:	02 3d 00 25 28 19    	add    0x19282500,%bh
40a321:	00 11                	add    %dl,(%ecx)
40a323:	06                   	push   %es
40a324:	3f                   	aas
40a325:	2a 28                	sub    (%eax),%ch
40a327:	00 2c 30             	add    %ch,(%eax,%esi,1)
40a32a:	29 00                	sub    %eax,(%eax)
40a32c:	2f                   	das
40a32d:	00 21                	add    %ah,(%ecx)
40a32f:	00 1f                	add    %bl,(%edi)
40a331:	00 11                	add    %dl,(%ecx)
40a333:	00 3f                	add    %bh,(%edi)
40a335:	00 00                	add    %al,(%eax)
40a337:	0e                   	push   %cs
40a338:	27                   	daa
40a339:	00 2e                	add    %ch,(%esi)
40a33b:	00 3d de 24 26 1f    	add    %bh,0x1f2624de
40a341:	00 cf                	add    %cl,%bh
40a343:	00 3f                	add    %bh,(%edi)
40a345:	2a 28                	sub    (%eax),%ch
40a347:	00 26                	add    %ah,(%esi)
40a349:	10 28                	adc    %ch,(%eax)
40a34b:	00 3d 00 20 00 15    	add    %bh,0x15002000
40a351:	0b 11                	or     (%ecx),%edx
40a353:	05 3e 00 28 01       	add    $0x128003e,%eax
40a358:	34 30                	xor    $0x30,%al
40a35a:	2a 00                	sub    (%eax),%al
40a35c:	2a 00                	sub    (%eax),%al
40a35e:	21 00                	and    %eax,(%eax)
40a360:	1e                   	push   %ds
40a361:	00 11                	add    %dl,(%ecx)
40a363:	11 3f                	adc    %edi,(%edi)
40a365:	02 5c 02 27          	add    0x27(%edx,%eax,1),%bl
40a369:	00 29                	add    %ch,(%ecx)
40a36b:	03 49 05             	add    0x5(%ecx),%ecx
40a36e:	21 00                	and    %eax,(%eax)
40a370:	1e                   	push   %ds
40a371:	6f                   	outsl  %ds:(%esi),(%dx)
40a372:	1f                   	pop    %ds
40a373:	00 3f                	add    %bh,(%edi)
40a375:	0a 22                	or     (%edx),%ah
40a377:	2b 27                	sub    (%edi),%esp
40a379:	06                   	push   %es
40a37a:	02 00                	add    (%eax),%al
40a37c:	2e 30 23             	xor    %ah,%cs:(%ebx)
40a37f:	00 0d 00 11 00 3e    	add    %cl,0x3e001100
40a385:	00 28                	add    %ch,(%eax)
40a387:	11 27                	adc    %esp,(%edi)
40a389:	02 5c 0a 3d          	add    0x3d(%edx,%ecx,1),%bl
40a38d:	00 20                	add    %ah,(%eax)
40a38f:	03 70 0f             	add    0xf(%eax),%esi
40a392:	11 00                	adc    %eax,(%eax)
40a394:	35 0a 03 00 21       	xor    $0x2100030a,%eax
40a399:	2a 28                	sub    (%eax),%ch
40a39b:	00 07                	add    %al,(%edi)
40a39d:	00 23                	add    %ah,(%ebx)
40a39f:	74 14                	je     0x40a3b5
40a3a1:	00 11                	add    %dl,(%ecx)
40a3a3:	01 50 0b             	add    %edx,0xb(%eax)
40a3a6:	28 00                	sub    %al,(%eax)
40a3a8:	2d 00 02 00 2e       	sub    $0x2e000200,%eax
40a3ad:	30 20                	xor    %ah,(%eax)
40a3af:	00 18                	add    %bl,(%eax)
40a3b1:	00 11                	add    %dl,(%ecx)
40a3b3:	00 3b                	add    %bh,(%ebx)
40a3b5:	00 28                	add    %ch,(%eax)
40a3b7:	11 27                	adc    %esp,(%edi)
40a3b9:	17                   	pop    %ss
40a3ba:	22 2b                	and    (%ebx),%ch
40a3bc:	3d 06 0b 00 0c       	cmp    $0xc000b06,%eax
40a3c1:	30 10                	xor    %dl,(%eax)
40a3c3:	00 38                	add    %bh,(%eax)
40a3c5:	00 28                	add    %ch,(%eax)
40a3c7:	00 23                	add    %ah,(%ebx)
40a3c9:	00 28                	add    %ch,(%eax)
40a3cb:	11 3d 16 2b 2b 1f    	adc    %edi,0x1f2b2b16
40a3d1:	06                   	push   %es
40a3d2:	3b 00                	cmp    (%eax),%eax
40a3d4:	2c 30                	sub    $0x30,%al
40a3d6:	2a 00                	sub    (%eax),%al
40a3d8:	30 00                	xor    %al,(%eax)
40a3da:	28 00                	sub    %al,(%eax)
40a3dc:	3c 00                	cmp    $0x0,%al
40a3de:	21 11                	and    %edx,(%ecx)
40a3e0:	1f                   	pop    %ds
40a3e1:	02 65 0c             	add    0xc(%ebp),%ah
40a3e4:	3f                   	aas
40a3e5:	00 29                	add    %ch,(%ecx)
40a3e7:	03 53 05             	add    0x5(%ebx),%edx
40a3ea:	28 00                	sub    %al,(%eax)
40a3ec:	3c 6f                	cmp    $0x6f,%al
40a3ee:	31 00                	xor    %eax,(%eax)
40a3f0:	1f                   	pop    %ds
40a3f1:	0a 1b                	or     (%ebx),%bl
40a3f3:	2b 3f                	sub    (%edi),%edi
40a3f5:	06                   	push   %es
40a3f6:	02 00                	add    (%eax),%al
40a3f8:	34 30                	xor    $0x30,%al
40a3fa:	29 00                	sub    %eax,(%eax)
40a3fc:	2c 00                	sub    $0x0,%al
40a3fe:	21 00                	and    %eax,(%eax)
40a400:	1e                   	push   %ds
40a401:	00 11                	add    %dl,(%ecx)
40a403:	11 3f                	adc    %edi,(%edi)
40a405:	02 5c 01 27          	add    0x27(%ecx,%eax,1),%bl
40a409:	00 33                	add    %dh,(%ebx)
40a40b:	28 30                	sub    %dh,(%eax)
40a40d:	00 21                	add    %ah,(%ecx)
40a40f:	06                   	push   %es
40a410:	15 2b 11 06 15       	adc    $0x1506112b,%eax
40a415:	00 28                	add    %ch,(%eax)
40a417:	00 b5 72 11 00 3d    	add    %dh,0x3d001172(%ebp)
40a41d:	70 a1                	jo     0x40a3c0
40a41f:	01 1f                	add    %ebx,(%edi)
40a421:	00 15 28 2e 00 28    	add    %dl,0x28002e28
40a427:	0a 0f                	or     (%edi),%cl
40a429:	0c 28                	or     $0x28,%al
40a42b:	00 3b                	add    %bh,(%ebx)
40a42d:	28 37                	sub    %dh,(%edi)
40a42f:	00 1f                	add    %bl,(%edi)
40a431:	06                   	push   %es
40a432:	65 01 3f             	add    %edi,%gs:(%edi)
40a435:	00 33                	add    %dh,(%ebx)
40a437:	80 25 00 28 04 17 00 	andb   $0x0,0x17042800
40a43e:	21 00                	and    %eax,(%eax)
40a440:	01 02                	add    %eax,(%edx)
40a442:	6a 03                	push   $0x3
40a444:	3f                   	aas
40a445:	00 2c 2a             	add    %ch,(%edx,%ebp,1)
40a448:	05 02 2b 7d 3e       	add    $0x3e7d2b02,%eax
40a44d:	00 21                	add    %ah,(%ecx)
40a44f:	04 35                	add    $0x35,%al
40a451:	00 11                	add    %dl,(%ecx)
40a453:	00 21                	add    %ah,(%ecx)
40a455:	02 53 04             	add    0x4(%ebx),%dl
40a458:	27                   	daa
40a459:	00 2c 2a             	add    %ch,(%edx,%ebp,1)
40a45c:	1f                   	pop    %ds
40a45d:	02 22                	add    (%edx),%ah
40a45f:	7d 1b                	jge    0x40a47c
40a461:	00 11                	add    %dl,(%ecx)
40a463:	04 15                	add    $0x15,%al
40a465:	00 28                	add    %ch,(%eax)
40a467:	00 39                	add    %bh,(%ecx)
40a469:	02 00                	add    (%eax),%al
40a46b:	01 3d 00 2b 2a 0c    	add    %edi,0xc2a2b00
40a471:	30 13                	xor    %dl,(%ebx)
40a473:	00 5b 00             	add    %bl,0x0(%ebx)
40a476:	28 00                	sub    %al,(%eax)
40a478:	20 00                	and    %al,(%eax)
40a47a:	28 11                	sub    %dl,(%ecx)
40a47c:	2f                   	das
40a47d:	00 23                	add    %ah,(%ebx)
40a47f:	7d 18                	jge    0x40a499
40a481:	00 11                	add    %dl,(%ecx)
40a483:	04 2d                	add    $0x2d,%al
40a485:	00 2b                	add    %ch,(%ebx)
40a487:	7d 2f                	jge    0x40a4b8
40a489:	00 28                	add    %ch,(%eax)
40a48b:	04 2f                	add    $0x2f,%al
40a48d:	00 25 7d 16 00 11    	add    %ah,0x1100167d
40a493:	04 2d                	add    $0x2d,%al
40a495:	00 2d 7d 2d 00 28    	add    %ch,0x28002d7d
40a49b:	04 2f                	add    $0x2f,%al
40a49d:	00 2f                	add    %ch,(%edi)
40a49f:	04 62                	add    $0x62,%al
40a4a1:	0b 11                	or     (%ecx),%edx
40a4a3:	00 3b                	add    %bh,(%ebx)
40a4a5:	12 28                	adc    (%eax),%ch
40a4a7:	0e                   	push   %cs
40a4a8:	22 7d 24             	and    0x24(%ebp),%bh
40a4ab:	00 3d 04 33 00 37    	add    %bh,0x37003304
40a4b1:	13 11                	adc    (%ecx),%edx
40a4b3:	00 35 7d 2e 00 27    	add    %dh,0x27002e7d
40a4b9:	04 3a                	add    $0x3a,%al
40a4bb:	00 28                	add    %ch,(%eax)
40a4bd:	7d 24                	jge    0x40a4e3
40a4bf:	00 1f                	add    %bl,(%edi)
40a4c1:	04 03                	add    $0x3,%al
40a4c3:	00 44 06 28          	add    %al,0x28(%esi,%eax,1)
40a4c7:	00 23                	add    %ah,(%ebx)
40a4c9:	0b 3a                	or     (%edx),%edi
40a4cb:	01 2f                	add    %ebp,(%edi)
40a4cd:	00 09                	add    %cl,(%ecx)
40a4cf:	01 1f                	add    %ebx,(%edi)
40a4d1:	00 3a                	add    %bh,(%edx)
40a4d3:	12 3f                	adc    (%edi),%bh
40a4d5:	7c 2e                	jl     0x40a505
40a4d7:	00 27                	add    %ah,(%edi)
40a4d9:	04 00                	add    $0x0,%al
40a4db:	15 3d 00 2b 2a       	adc    $0x2a2b003d,%eax
40a4e0:	01 02                	add    %eax,(%edx)
40a4e2:	39 18                	cmp    %ebx,(%eax)
40a4e4:	3f                   	aas
40a4e5:	00 22                	add    %ah,(%edx)
40a4e7:	2a 3c 30             	sub    (%eax,%esi,1),%bh
40a4ea:	2b 00                	sub    (%eax),%eax
40a4ec:	18 01                	sbb    %al,(%ecx)
40a4ee:	21 00                	and    %eax,(%eax)