40f218:	61                   	popa
40f219:	00 6c 00 75          	add    %ch,0x75(%eax,%eax,1)
40f21d:	00 65 00             	add    %ah,0x0(%ebp)
40f220:	20 00                	and    %al,(%eax)
40f222:	66 00 6f 00          	data16 add %ch,0x0(%edi)
40f226:	72 00                	jb     0x40f228
40f228:	20 00                	and    %al,(%eax)
40f22a:	63 00                	arpl   %eax,(%eax)
40f22c:	6f                   	outsl  %ds:(%esi),(%dx)
40f22d:	00 6c 00 75          	add    %ch,0x75(%eax,%eax,1)
40f231:	00 6d 00             	add    %ch,0x0(%ebp)
40f234:	6e                   	outsb  %ds:(%esi),(%dx)
40f235:	00 20                	add    %ah,(%eax)
40f237:	00 27                	add    %ah,(%edi)
40f239:	00 44 00 61          	add    %al,0x61(%eax,%eax,1)
40f23d:	00 74 00 61          	add    %dh,0x61(%eax,%eax,1)
40f241:	00 43 00             	add    %al,0x0(%ebx)
40f244:	6f                   	outsl  %ds:(%esi),(%dx)
40f245:	00 6c 00 75          	add    %ch,0x75(%eax,%eax,1)
40f249:	00 6d 00             	add    %ch,0x0(%ebp)
40f24c:	6e                   	outsb  %ds:(%esi),(%dx)
40f24d:	00 39                	add    %bh,(%ecx)
40f24f:	00 27                	add    %ah,(%edi)
40f251:	00 20                	add    %ah,(%eax)
40f253:	00 69 00             	add    %ch,0x0(%ecx)
40f256:	6e                   	outsb  %ds:(%esi),(%dx)
40f257:	00 20                	add    %ah,(%eax)
40f259:	00 74 00 61          	add    %dh,0x61(%eax,%eax,1)
40f25d:	00 62 00             	add    %ah,0x0(%edx)
40f260:	6c                   	insb   (%dx),%es:(%edi)
40f261:	00 65 00             	add    %ah,0x0(%ebp)
40f264:	20 00                	and    %al,(%eax)
40f266:	27                   	daa
40f267:	00 44 00 61          	add    %al,0x61(%eax,%eax,1)
40f26b:	00 74 00 61          	add    %dh,0x61(%eax,%eax,1)
40f26f:	00 54 00 61          	add    %dl,0x61(%eax,%eax,1)
40f273:	00 62 00             	add    %ah,0x0(%edx)
40f276:	6c                   	insb   (%dx),%es:(%edi)
40f277:	00 65 00             	add    %ah,0x0(%ebp)
40f27a:	31 00                	xor    %eax,(%eax)
40f27c:	31 00                	xor    %eax,(%eax)
40f27e:	27                   	daa
40f27f:	00 20                	add    %ah,(%eax)
40f281:	00 69 00             	add    %ch,0x0(%ecx)
40f284:	73 00                	jae    0x40f286
40f286:	20 00                	and    %al,(%eax)
40f288:	44                   	inc    %esp
40f289:	00 42 00             	add    %al,0x0(%edx)
40f28c:	4e                   	dec    %esi
40f28d:	00 75 00             	add    %dh,0x0(%ebp)
40f290:	6c                   	insb   (%dx),%es:(%edi)
40f291:	00 6c 00 2e          	add    %ch,0x2e(%eax,%eax,1)
40f295:	00 01                	add    %al,(%ecx)
40f297:	00 2a                	add    %ch,(%edx)
40f299:	fd                   	std
40f29a:	59                   	pop    %ecx
40f29b:	72 95                	jb     0x40f232
40f29d:	d4 76                	aam    $0x76
40f29f:	48                   	dec    %eax
40f2a0:	a7                   	cmpsl  %es:(%edi),%ds:(%esi)
40f2a1:	d5 f0                	aad    $0xf0
40f2a3:	36 d0 5c de 3f       	rcrb   $1,%ss:0x3f(%esi,%ebx,8)
40f2a8:	00 04 20             	add    %al,(%eax,%eiz,1)
40f2ab:	01 01                	add    %eax,(%ecx)
40f2ad:	08 03                	or     %al,(%ebx)
40f2af:	20 00                	and    %al,(%eax)
40f2b1:	01 05 20 01 01 11    	add    %eax,0x11010120
40f2b7:	11 04 20             	adc    %eax,(%eax,%eiz,1)
40f2ba:	01 01                	add    %eax,(%ecx)
40f2bc:	0e                   	push   %cs
40f2bd:	04 20                	add    $0x20,%al
40f2bf:	01 01                	add    %eax,(%ecx)
40f2c1:	02 05 20 02 01 0e    	add    0xe010220,%al
40f2c7:	0e                   	push   %cs
40f2c8:	08 15 12 80 b9 01    	or     %dl,0x1b98012
40f2ce:	12 80 88 06 20 01    	adc    0x1200688(%eax),%al
40f2d4:	01 11                	add    %edx,(%ecx)
40f2d6:	80 c5 08             	add    $0x8,%ch
40f2d9:	15 12 80 b9 01       	adc    $0x1b98012,%eax
40f2de:	12 80 8c 06 20 01    	adc    0x120068c(%eax),%al
40f2e4:	01 11                	add    %edx,(%ecx)
40f2e6:	80 f5 06             	xor    $0x6,%ch
40f2e9:	20 01                	and    %al,(%ecx)
40f2eb:	01 11                	add    %edx,(%ecx)
40f2ed:	81 39 03 07 01 0d    	cmpl   $0xd010703,(%ecx)
40f2f3:	06                   	push   %es
40f2f4:	07                   	pop    %es
40f2f5:	03 12                	add    (%edx),%edx
40f2f7:	49                   	dec    %ecx
40f2f8:	1c 0e                	sbb    $0xe,%al
40f2fa:	05 00 00 12 81       	add    $0x81120000,%eax
40f2ff:	49                   	dec    %ecx
40f300:	05 00 01 1d 05       	add    $0x51d0100,%eax
40f305:	0e                   	push   %cs
40f306:	06                   	push   %es
40f307:	20 01                	and    %al,(%ecx)
40f309:	12 49 1d             	adc    0x1d(%ecx),%cl
40f30c:	05 06 20 00 1d       	add    $0x1d002006,%eax
40f311:	12 80 d9 06 20 01    	adc    0x12006d9(%eax),%al
40f317:	12 81 51 0e 06 20    	adc    0x20060e51(%ecx),%al
40f31d:	02 1c 1c             	add    (%esp,%ebx,1),%bl
40f320:	1d 1c 04 00 01       	sbb    $0x100041c,%eax
40f325:	01 08                	add    %ecx,(%eax)
40f327:	04 07                	add    $0x7,%al
40f329:	01 12                	add    %edx,(%edx)
40f32b:	71 05                	jno    0x40f332
40f32d:	20 02                	and    %al,(%edx)
40f32f:	01 1c 18             	add    %ebx,(%eax,%ebx,1)
40f332:	04 20                	add    $0x20,%al
40f334:	00 12                	add    %dl,(%edx)
40f336:	7d 05                	jge    0x40f33d
40f338:	20 01                	and    %al,(%ecx)
40f33a:	01 12                	add    %edx,(%edx)
40f33c:	71 05                	jno    0x40f343
40f33e:	20 00                	and    %al,(%eax)
40f340:	12 80 81 0d 07 08    	adc    0x8070d81(%eax),%al
40f346:	0e                   	push   %cs
40f347:	12 71 02             	adc    0x2(%ecx),%dh
40f34a:	12 71 02             	adc    0x2(%ecx),%dh
40f34d:	12 61 02             	adc    0x2(%ecx),%ah
40f350:	02 08                	add    (%eax),%cl
40f352:	20 03                	and    %al,(%ebx)
40f354:	01 12                	add    %edx,(%edx)
40f356:	75 11                	jne    0x40f369
40f358:	79 02                	jns    0x40f35c
40f35a:	07                   	pop    %es
40f35b:	20 02                	and    %al,(%edx)
40f35d:	02 12                	add    (%edx),%dl
40f35f:	75 11                	jne    0x40f372
40f361:	79 08                	jns    0x40f36b
40f363:	00 01                	add    %al,(%ecx)
40f365:	12 80 d9 11 81 61    	adc    0x618111d9(%eax),%al
40f36b:	07                   	pop    %es
40f36c:	20 02                	and    %al,(%edx)
40f36e:	1c 0e                	sbb    $0xe,%al
40f370:	12 80 d9 08 20 02    	adc    0x22008d9(%eax),%al
40f376:	11 65 12             	adc    %esp,0x12(%ebp)
40f379:	75 11                	jne    0x40f38c
40f37b:	79 06                	jns    0x40f383
40f37d:	20 01                	and    %al,(%ecx)
40f37f:	01 12                	add    %edx,(%edx)
40f381:	81 6d 06 20 01 01 12 	subl   $0x12010120,0x6(%ebp)
40f388:	80 85 06 20 01 12 80 	addb   $0x80,0x12012006(%ebp)
40f38f:	cd 0e                	int    $0xe
40f391:	06                   	push   %es
40f392:	20 01                	and    %al,(%ecx)
40f394:	01 12                	add    %edx,(%edx)
40f396:	80 cd 03             	or     $0x3,%ch
40f399:	20 00                	and    %al,(%eax)
40f39b:	0e                   	push   %cs
40f39c:	05 20 00 12 81       	add    $0x81120020,%eax
40f3a1:	35 06 20 01 01       	xor    $0x1012006,%eax
40f3a6:	12 81 35 03 20 00    	adc    0x200335(%ecx),%al
40f3ac:	02 09                	add    (%ecx),%cl
40f3ae:	20 03                	and    %al,(%ebx)
40f3b0:	01 12                	add    %edx,(%edx)
40f3b2:	61                   	popa
40f3b3:	02 11                	add    (%ecx),%dl
40f3b5:	81 71 07 20 02 01 12 	xorl   $0x12010220,0x7(%ecx)
40f3bc:	75 11                	jne    0x40f3cf
40f3be:	79 05                	jns    0x40f3c5
40f3c0:	07                   	pop    %es
40f3c1:	01 12                	add    %edx,(%edx)
40f3c3:	80 80 05 07 01 12 80 	addb   $0x80,0x12010705(%eax)
40f3ca:	84 04 07             	test   %al,(%edi,%eax,1)
40f3cd:	01 11                	add    %edx,(%ecx)
40f3cf:	65 04 07             	gs add $0x7,%al
40f3d2:	01 12                	add    %edx,(%edx)
40f3d4:	7d 05                	jge    0x40f3db
40f3d6:	07                   	pop    %es
40f3d7:	01 12                	add    %edx,(%edx)
40f3d9:	80 81 06 07 02 12 18 	addb   $0x18,0x12020706(%ecx)
40f3e0:	12 61 04             	adc    0x4(%ecx),%ah
40f3e3:	20 00                	and    %al,(%eax)
40f3e5:	12 61 04             	adc    0x4(%ecx),%ah
40f3e8:	20 00                	and    %al,(%eax)
40f3ea:	11 65 05             	adc    %esp,0x5(%ebp)
40f3ed:	20 01                	and    %al,(%ecx)
40f3ef:	01 11                	add    %edx,(%ecx)
40f3f1:	65 03 07             	add    %gs:(%edi),%eax
40f3f4:	01 02                	add    %eax,(%edx)
40f3f6:	07                   	pop    %es
40f3f7:	07                   	pop    %es
40f3f8:	04 02                	add    $0x2,%al
40f3fa:	12 61 02             	adc    0x2(%ecx),%ah
40f3fd:	02 07                	add    (%edi),%al
40f3ff:	20 01                	and    %al,(%ecx)
40f401:	11 65 12             	adc    %esp,0x12(%ebp)
40f404:	80 85 08 20 01 11 81 	addb   $0x81,0x11012008(%ebp)
40f40b:	75 12                	jne    0x40f41f
40f40d:	80 85 08 07 02 12 80 	addb   $0x80,0x12020708(%ebp)
40f414:	8d 12                	lea    (%edx),%edx
40f416:	80 89 09 20 02 01 12 	orb    $0x12,0x1022009(%ecx)
40f41d:	81 7d 12 81 81 06 20 	cmpl   $0x20068181,0x12(%ebp)
40f424:	01 01                	add    %eax,(%ecx)
40f426:	12 81 85 04 20 01    	adc    0x1200485(%ecx),%al
40f42c:	01 0a                	add    %ecx,(%edx)
40f42e:	06                   	push   %es
40f42f:	20 01                	and    %al,(%ecx)
40f431:	01 12                	add    %edx,(%edx)
40f433:	81 7d 0b 00 02 12 80 	cmpl   $0x80120200,0xb(%ebp)
40f43a:	89 12                	mov    %edx,(%edx)
40f43c:	80 85 12 81 89 06 07 	addb   $0x7,0x6898112(%ebp)
40f443:	04 02                	add    $0x2,%al
40f445:	02 02                	add    (%edx),%al
40f447:	02 05 20 00 11 81    	add    0x81110020,%al
40f44d:	8d 26                	lea    (%esi),%esp
40f44f:	07                   	pop    %es
40f450:	11 12                	adc    %edx,(%edx)
40f452:	18 12                	sbb    %dl,(%edx)
40f454:	80 95 12 80 9d 12 80 	adcb   $0x80,0x129d8012(%ebp)
40f45b:	a1 12 80 89 02       	mov    0x2898012,%eax
40f460:	12 80 8d 12 80 8d    	adc    -0x727fed73(%eax),%al
40f466:	12 80 89 12 80 a5    	adc    -0x5a7fed77(%eax),%al
40f46c:	02 02                	add    (%edx),%al
40f46e:	02 12                	add    (%edx),%dl
40f470:	80 95 02 02 02 05 20 	adcb   $0x20,0x5020202(%ebp)
40f477:	00 12                	add    %dl,(%edx)
40f479:	81 95 06 20 01 08 12 	adcl   $0x6998112,0x8012006(%ebp)
40f480:	81 99 06
40f483:	20 01                	and    %al,(%ecx)
40f485:	01 12                	add    %edx,(%edx)
40f487:	81 9d 05 20 00 12 80 	sbbl   $0x20048980,0x12002005(%ebp)
40f48e:	89 04 20
40f491:	01 02                	add    %eax,(%edx)
40f493:	0e                   	push   %cs
40f494:	06                   	push   %es
40f495:	20 01                	and    %al,(%ecx)
40f497:	12 81 a1 0e 05 20    	adc    0x20050ea1(%ecx),%al
40f49d:	00 12                	add    %dl,(%edx)
40f49f:	80 a5 03 20 00 1c 03 	andb   $0x3,0x1c002003(%ebp)
40f4a6:	20 00                	and    %al,(%eax)
40f4a8:	0a 03                	or     (%ebx),%al
40f4aa:	20 00                	and    %al,(%eax)
40f4ac:	08 08                	or     %cl,(%eax)
40f4ae:	20 01                	and    %al,(%ecx)
40f4b0:	12 80 89 12 80 89    	adc    -0x767fed77(%eax),%al
40f4b6:	07                   	pop    %es
40f4b7:	15 12 81 01 01       	adc    $0x1018112,%eax
40f4bc:	12 0c 05 20 01 01 13 	adc    0x13010120(,%eax,1),%cl
40f4c3:	00 05 00 02 02 0e    	add    %al,0xe020200
40f4c9:	0e                   	push   %cs
40f4ca:	16                   	push   %ss
40f4cb:	07                   	pop    %es
40f4cc:	09 15 11 81 15 01    	or     %edx,0x1158111
40f4d2:	12 0c 12             	adc    (%edx,%edx,1),%cl
40f4d5:	0c 11                	or     $0x11,%al
40f4d7:	81 19 02 11 81 1d    	sbbl   $0x1d811102,(%ecx)
40f4dd:	02 02                	add    (%edx),%al
40f4df:	02 02                	add    (%edx),%al
40f4e1:	09 20                	or     %esp,(%eax)
40f4e3:	00 15 11 81 15 01    	add    %dl,0x1158111
40f4e9:	13 00                	adc    (%eax),%eax
40f4eb:	07                   	pop    %es
40f4ec:	15 11 81 15 01       	adc    $0x1158111,%eax
40f4f1:	12 0c 04             	adc    (%esp,%eax,1),%cl
40f4f4:	20 00                	and    %al,(%eax)
40f4f6:	13 00                	adc    (%eax),%eax
40f4f8:	05 20 00 11 81       	add    $0x81110020,%eax
40f4fd:	19 05 20 02 01 08    	sbb    %eax,0x8010220
40f503:	08 06                	or     %al,(%esi)
40f505:	20 01                	and    %al,(%ecx)
40f507:	01 11                	add    %edx,(%ecx)
40f509:	81 19 05 20 00 11    	sbbl   $0x11002005,(%ecx)
40f50f:	81 1d 04 07 01 12 0c 	sbbl   $0x200050c,0x12010704
40f516:	05 00 02
40f519:	0e                   	push   %cs
40f51a:	0e                   	push   %cs
40f51b:	0e                   	push   %cs
40f51c:	06                   	push   %es
40f51d:	20 01                	and    %al,(%ecx)
40f51f:	01 11                	add    %edx,(%ecx)
40f521:	81 1d 06 20 01 01 11 	sbbl   $0x5b58111,0x1012006
40f528:	81 b5 05
40f52b:	20 00                	and    %al,(%eax)
40f52d:	12 81 b9 06 20 01    	adc    0x12006b9(%ecx),%al
40f533:	01 12                	add    %edx,(%edx)
40f535:	81 a9 05 07 01 11 81 	subl   $0x20061981,0x11010705(%ecx)
40f53c:	19 06 20
40f53f:	01 01                	add    %eax,(%ecx)
40f541:	12 81 05 05 00 00    	adc    0x505(%ecx),%al
40f547:	11 81 29 06 20 01    	adc    %eax,0x1200629(%ecx)
40f54d:	01 11                	add    %edx,(%ecx)
40f54f:	81 29 06 20 01 01    	subl   $0x1012006,(%ecx)
40f555:	12 81 c9 06 20 01    	adc    0x12006c9(%ecx),%al
40f55b:	01 11                	add    %edx,(%ecx)
40f55d:	81 cd 06 20 01 01    	or     $0x1012006,%ebp
40f563:	12 81 d5 05 20 02    	adc    0x22005d5(%ecx),%al
40f569:	01 0c 0c             	add    %ecx,(%esp,%ecx,1)
40f56c:	06                   	push   %es
40f56d:	20 01                	and    %al,(%ecx)
40f56f:	01 11                	add    %edx,(%ecx)
40f571:	81 d9 06 20 01 01    	sbb    $0x1012006,%ecx
40f577:	11 81 e1 04 07 01    	adc    %eax,0x10704e1(%ecx)
40f57d:	12 14 05 07 03 08 02 	adc    0x2080307(,%eax,1),%dl
40f584:	0d 02 1d 0d 05       	or     $0x50d1d02,%eax
40f589:	07                   	pop    %es
40f58a:	01 1d 1d 0d 0c 07    	add    %ebx,0x70c0d1d
40f590:	06                   	push   %es
40f591:	0d 1d 1d 0d 08       	or     $0x80d1d1d,%eax
40f596:	02 0d 1d 1d 0d 04    	add    0x40d1d1d,%cl
40f59c:	00 01                	add    %al,(%ecx)
40f59e:	0d 0d 04 07 02       	or     $0x207040d,%eax
40f5a3:	08 02                	or     %al,(%edx)
40f5a5:	0a 07                	or     (%edi),%al
40f5a7:	04 1d                	add    $0x1d,%al
40f5a9:	1d 0d 08 02 1d       	sbb    $0x1d02080d,%eax
40f5ae:	1d 0d 0b 07 05       	sbb    $0x5070b0d,%eax
40f5b3:	0d 1d 1d 0d 08       	or     $0x80d1d1d,%eax
40f5b8:	02 1d 1d 0d 0a 07    	add    0x70a0d1d,%bl
40f5be:	07                   	pop    %es
40f5bf:	0d 1d 0d 08 08       	or     $0x8080d1d,%eax
40f5c4:	02 02                	add    (%edx),%al
40f5c6:	0d 07 15 12 81       	or     $0x81121507,%eax
40f5cb:	01 01                	add    %eax,(%ecx)
40f5cd:	12 58 0c             	adc    0xc(%eax),%bl
40f5d0:	15 12 81 01 01       	adc    $0x1018112,%eax
40f5d5:	15 12 81 01 01       	adc    $0x1018112,%eax
40f5da:	12 58 08             	adc    0x8(%eax),%bl
40f5dd:	14 12                	adc    $0x12,%al
40f5df:	58                   	pop    %eax
40f5e0:	02 00                	add    (%eax),%al
40f5e2:	02 00                	add    (%eax),%al
40f5e4:	00 15 07 13 0d 08    	add    %dl,0x80d1307
40f5ea:	08 02                	or     %al,(%edx)
40f5ec:	02 02                	add    (%edx),%al
40f5ee:	08 08                	or     %cl,(%eax)
40f5f0:	02 02                	add    (%edx),%al
40f5f2:	02 08                	add    (%eax),%cl
40f5f4:	08 02                	or     %al,(%edx)
40f5f6:	02 08                	add    (%eax),%cl
40f5f8:	08 02                	or     %al,(%edx)
40f5fa:	02 07                	add    (%edi),%al
40f5fc:	20 03                	and    %al,(%ebx)
40f5fe:	01 08                	add    %ecx,(%eax)
40f600:	08 12                	or     %dl,(%edx)
40f602:	58                   	pop    %eax
40f603:	06                   	push   %es
40f604:	20 02                	and    %al,(%edx)
40f606:	12 58 08             	adc    0x8(%eax),%bl
40f609:	08 08                	or     %cl,(%eax)
40f60b:	07                   	pop    %es
40f60c:	05 08 08 02 02       	add    $0x2020808,%eax
40f611:	12 58 17             	adc    0x17(%eax),%bl
40f614:	07                   	pop    %es
40f615:	0f 08                	invd
40f617:	08 0d 0d 15 12 81    	or     %cl,0x8112150d
40f61d:	01 01                	add    %eax,(%ecx)
40f61f:	12 58 08             	adc    0x8(%eax),%bl
40f622:	08 08                	or     %cl,(%eax)