40a2a9:	73 00                	jae    0x40a2ab
40a2ab:	73 00                	jae    0x40a2ad
40a2ad:	00 37                	add    %dh,(%edi)
40a2af:	4f                   	dec    %edi
40a2b0:	00 70 00             	add    %dh,0x0(%eax)
40a2b3:	65 00 6e 00          	add    %ch,%gs:0x0(%esi)
40a2b7:	54                   	push   %esp
40a2b8:	00 4b 00             	add    %cl,0x0(%ebx)
40a2bb:	2e 00 50 00          	add    %dl,%cs:0x0(%eax)
40a2bf:	72 00                	jb     0x40a2c1
40a2c1:	6f                   	outsl  %ds:(%esi),(%dx)
40a2c2:	00 70 00             	add    %dh,0x0(%eax)
40a2c5:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40a2c9:	74 00                	je     0x40a2cb
40a2cb:	69 00 65 00 73 00    	imul   $0x730065,(%eax),%eax
40a2d1:	2e 00 52 00          	add    %dl,%cs:0x0(%edx)
40a2d5:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40a2d9:	6f                   	outsl  %ds:(%esi),(%dx)
40a2da:	00 75 00             	add    %dh,0x0(%ebp)
40a2dd:	72 00                	jb     0x40a2df
40a2df:	63 00                	arpl   %eax,(%eax)
40a2e1:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40a2e5:	00 21                	add    %ah,(%ecx)
40a2e7:	43                   	inc    %ebx
40a2e8:	00 6f 00             	add    %ch,0x0(%edi)
40a2eb:	6e                   	outsb  %ds:(%esi),(%dx)
40a2ec:	00 74 00 72          	add    %dh,0x72(%eax,%eax,1)
40a2f0:	00 61 00             	add    %ah,0x0(%ecx)
40a2f3:	73 00                	jae    0x40a2f5
40a2f5:	74 00                	je     0x40a2f7
40a2f7:	47                   	inc    %edi
40a2f8:	00 72 00             	add    %dh,0x0(%edx)
40a2fb:	61                   	popa
40a2fc:	00 70 00             	add    %dh,0x0(%eax)
40a2ff:	68 00 69 00 63       	push   $0x63006900
40a304:	00 32                	add    %dh,(%edx)
40a306:	00 00                	add    %al,(%eax)
40a308:	15 66 00 61 00       	adc    $0x610066,%eax
40a30d:	63 00                	arpl   %eax,(%eax)
40a30f:	65 00 5f 00          	add    %bl,%gs:0x0(%edi)
40a313:	61                   	popa
40a314:	00 6c 00 70          	add    %ch,0x70(%eax,%eax,1)
40a318:	00 68 00             	add    %ch,0x0(%eax)
40a31b:	61                   	popa
40a31c:	00 00                	add    %al,(%eax)
40a31e:	00 00                	add    %al,(%eax)
40a320:	d1 53 46             	rcll   $1,0x46(%ebx)
40a323:	fc                   	cld
40a324:	50                   	push   %eax
40a325:	57                   	push   %edi
40a326:	61                   	popa
40a327:	42                   	inc    %edx
40a328:	8b c4                	mov    %esp,%eax
40a32a:	d3 9f 76 af cb 71    	rcrl   %cl,0x71cbaf76(%edi)
40a330:	00 04 20             	add    %al,(%eax,%eiz,1)
40a333:	01 01                	add    %eax,(%ecx)
40a335:	08 03                	or     %al,(%ebx)
40a337:	20 00                	and    %al,(%eax)
40a339:	01 05 20 01 01 11    	add    %eax,0x11010120
40a33f:	11 04 20             	adc    %eax,(%eax,%eiz,1)
40a342:	01 01                	add    %eax,(%ecx)
40a344:	0e                   	push   %cs
40a345:	04 20                	add    $0x20,%al
40a347:	01 01                	add    %eax,(%ecx)
40a349:	02 06                	add    (%esi),%al
40a34b:	20 01                	and    %al,(%ecx)
40a34d:	01 11                	add    %edx,(%ecx)
40a34f:	80 bd 07 15 12 80 c9 	cmpb   $0xc9,-0x7fedeaf9(%ebp)
40a356:	01 11                	add    %edx,(%ecx)
40a358:	44                   	inc    %esp
40a359:	06                   	push   %es
40a35a:	15 12 80 c9 01       	adc    $0x1c98012,%eax
40a35f:	08 07                	or     %al,(%edi)
40a361:	15 12 80 cd 01       	adc    $0x1cd8012,%eax
40a366:	11 44 05 20          	adc    %eax,0x20(%ebp,%eax,1)
40a36a:	02 01                	add    (%ecx),%al
40a36c:	0e                   	push   %cs
40a36d:	0e                   	push   %cs
40a36e:	06                   	push   %es
40a36f:	20 01                	and    %al,(%ecx)
40a371:	01 11                	add    %edx,(%ecx)
40a373:	80 f5 06             	xor    $0x6,%ch
40a376:	15 12 41 01 12       	adc    $0x12014112,%eax
40a37b:	10 05 00 01 12 49    	adc    %al,0x49120100
40a381:	0e                   	push   %cs
40a382:	05 00 00 11 80       	add    $0x80110000,%eax
40a387:	8d 05 20 02 01 1c    	lea    0x1c010220,%eax
40a38d:	18 06                	sbb    %al,(%esi)
40a38f:	20 01                	and    %al,(%ecx)
40a391:	01 12                	add    %edx,(%edx)
40a393:	81 0d 07 20 02 01 11 	orl    $0x2158111,0x1022007
40a39a:	81 15 02
40a39d:	04 07                	add    $0x7,%al
40a39f:	01 12                	add    %edx,(%edx)
40a3a1:	20 05 00 00 11 80    	and    %al,0x80110000
40a3a7:	a1 06 15 12 41       	mov    0x41121506,%eax
40a3ac:	01 12                	add    %edx,(%edx)
40a3ae:	20 05 20 01 01 13    	and    %al,0x13010120
40a3b4:	00 06                	add    %al,(%esi)
40a3b6:	07                   	pop    %es
40a3b7:	02 11                	add    (%ecx),%dl
40a3b9:	69 11 69 04 20 00    	imul   $0x200469,(%ecx),%edx
40a3bf:	11 69 05             	adc    %ebp,0x5(%ecx)
40a3c2:	20 01                	and    %al,(%ecx)
40a3c4:	01 12                	add    %edx,(%edx)
40a3c6:	65 0a 07             	or     %gs:(%edi),%al
40a3c9:	04 12                	add    $0x12,%al
40a3cb:	75 12                	jne    0x40a3df
40a3cd:	10 12                	adc    %dl,(%edx)
40a3cf:	10 12                	adc    %dl,(%edx)
40a3d1:	10 05 20 02 08 08    	adc    %al,0x8080220
40a3d7:	08 03                	or     %al,(%ebx)
40a3d9:	07                   	pop    %es
40a3da:	01 08                	add    %ecx,(%eax)
40a3dc:	03 20                	add    (%eax),%esp
40a3de:	00 0e                	add    %cl,(%esi)
40a3e0:	06                   	push   %es
40a3e1:	00 03                	add    %al,(%ebx)
40a3e3:	0e                   	push   %cs
40a3e4:	0e                   	push   %cs
40a3e5:	0e                   	push   %cs
40a3e6:	0e                   	push   %cs
40a3e7:	0f 07                	sysret
40a3e9:	0d 02 02 08 02       	or     $0x2080202,%eax
40a3ee:	02 08                	add    (%eax),%cl
40a3f0:	02 08                	add    (%eax),%cl
40a3f2:	02 02                	add    (%edx),%al
40a3f4:	02 02                	add    (%edx),%al
40a3f6:	02 04 00             	add    (%eax,%eax,1),%al
40a3f9:	01 0e                	add    %ecx,(%esi)
40a3fb:	08 07                	or     %al,(%edi)
40a3fd:	00 04 0e             	add    %al,(%esi,%ecx,1)
40a400:	0e                   	push   %cs
40a401:	0e                   	push   %cs
40a402:	0e                   	push   %cs
40a403:	0e                   	push   %cs
40a404:	05 00 02 0e 0e       	add    $0xe0e0200,%eax
40a409:	0e                   	push   %cs
40a40a:	03 20                	add    (%eax),%esp
40a40c:	00 08                	add    %cl,(%eax)
40a40e:	05 20 01 13 00       	add    $0x130120,%eax
40a413:	08 10                	or     %dl,(%eax)
40a415:	07                   	pop    %es
40a416:	09 12                	or     %edx,(%edx)
40a418:	7d 12                	jge    0x40a42c
40a41a:	80 81 12 80 85 08 02 	addb   $0x2,0x8858012(%ecx)
40a421:	02 02                	add    (%edx),%al
40a423:	02 02                	add    (%edx),%al
40a425:	04 20                	add    $0x20,%al
40a427:	00 12                	add    %dl,(%edx)
40a429:	7d 06                	jge    0x40a431
40a42b:	20 01                	and    %al,(%ecx)
40a42d:	01 11                	add    %edx,(%ecx)
40a42f:	81 25 06 20 01 01 11 	andl   $0x6298111,0x1012006
40a436:	81 29 06
40a439:	20 01                	and    %al,(%ecx)
40a43b:	01 11                	add    %edx,(%ecx)
40a43d:	80 8d 04 20 01 01 0c 	orb    $0xc,0x1012004(%ebp)
40a444:	09 20                	or     %esp,(%eax)
40a446:	05 01 12 49 08       	add    $0x8491201,%eax
40a44b:	08 08                	or     %cl,(%eax)
40a44d:	08 03                	or     %al,(%ebx)
40a44f:	07                   	pop    %es
40a450:	01 02                	add    %eax,(%edx)
40a452:	05 20 00 11 81       	add    $0x81110020,%eax
40a457:	31 07                	xor    %eax,(%edi)
40a459:	07                   	pop    %es
40a45a:	03 08                	add    (%eax),%ecx
40a45c:	12 10                	adc    (%eax),%dl
40a45e:	12 10                	adc    (%eax),%dl
40a460:	05 07 02 12 0c       	add    $0xc120207,%eax
40a465:	02 06                	add    (%esi),%al
40a467:	00 01                	add    %al,(%ecx)
40a469:	11 81 31 0e 0d 20    	adc    %eax,0x200d0e31(%ecx)
40a46f:	06                   	push   %es
40a470:	01 0e                	add    %ecx,(%esi)
40a472:	0c 11                	or     $0x11,%al
40a474:	81 3d 11 81 41 05 02 	cmpl   $0x1200602,0x5418111
40a47b:	06 20 01
40a47e:	01 12                	add    %edx,(%edx)
40a480:	81 39 05 20 02 01    	cmpl   $0x1022005,(%ecx)
40a486:	08 08                	or     %cl,(%eax)
40a488:	06                   	push   %es
40a489:	20 01                	and    %al,(%ecx)
40a48b:	01 11                	add    %edx,(%ecx)
40a48d:	81 45 06 20 01 01 11 	addl   $0x11010120,0x6(%ebp)
40a494:	80 d9 05             	sbb    $0x5,%cl
40a497:	20 00                	and    %al,(%eax)
40a499:	12 81 4d 07 20 01    	adc    0x120074d(%ecx),%al
40a49f:	01 1d 12 81 51 06    	add    %ebx,0x6518112
40a4a5:	20 01                	and    %al,(%ecx)
40a4a7:	01 11                	add    %edx,(%ecx)
40a4a9:	81 59 0c 20 05 01 0e 	sbbl   $0xe010520,0xc(%ecx)
40a4b0:	0c 11                	or     $0x11,%al
40a4b2:	81 3d 11 81 41 05 05 	cmpl   $0x1022005,0x5418111
40a4b9:	20 02 01
40a4bc:	0c 0c                	or     $0xc,%al
40a4be:	06                   	push   %es
40a4bf:	20 01                	and    %al,(%ecx)
40a4c1:	01 11                	add    %edx,(%ecx)
40a4c3:	81 61 06 20 01 01 11 	andl   $0x11010120,0x6(%ecx)
40a4ca:	81 69 06 20 01 01 11 	subl   $0x11010120,0x6(%ecx)
40a4d1:	81 6d 05 20 00 12 81 	subl   $0x81120020,0x5(%ebp)
40a4d8:	71 06                	jno    0x40a4e0
40a4da:	20 01                	and    %al,(%ecx)
40a4dc:	01 12                	add    %edx,(%edx)
40a4de:	81 11 05 20 01 01    	adcl   $0x1012005,(%ecx)
40a4e4:	12 59 06             	adc    0x6(%ecx),%bl
40a4e7:	20 01                	and    %al,(%ecx)
40a4e9:	01 11                	add    %edx,(%ecx)
40a4eb:	81 75 05 07 01 11 80 	xorl   $0x80110107,0x5(%ebp)
40a4f2:	8d 03                	lea    (%ebx),%eax
40a4f4:	07                   	pop    %es
40a4f5:	01 0e                	add    %ecx,(%esi)
40a4f7:	05 00 01 0e 1d       	add    $0x1d0e0100,%eax
40a4fc:	0e                   	push   %cs
40a4fd:	07                   	pop    %es
40a4fe:	07                   	pop    %es
40a4ff:	03 02                	add    (%edx),%eax
40a501:	12 80 95 02 07 20    	adc    0x20070295(%eax),%al
40a507:	02 01                	add    (%ecx),%al
40a509:	0e                   	push   %cs
40a50a:	12 81 79 09 07 03    	adc    0x3070979(%ecx),%al
40a510:	02 12                	add    (%edx),%dl
40a512:	80 95 12 80 99 05 20 	adcb   $0x20,0x5998012(%ebp)
40a519:	00 12                	add    %dl,(%edx)
40a51b:	80 99 05 07 03 0d 02 	sbbb   $0x2,0xd030705(%ecx)
40a522:	02 05 00 02 0d 0d    	add    0xd0d0200,%al
40a528:	0d 04 00 01 0d       	or     $0xd010004,%eax
40a52d:	0d 0c 07 06 12       	or     $0x1206070c,%eax
40a532:	14 0e                	adc    $0xe,%al
40a534:	12 80 9d 12 20 02    	adc    0x220129d(%eax),%al
40a53a:	02 04 20             	add    (%eax,%eiz,1),%al
40a53d:	01 1c 0e             	add    %ebx,(%esi,%ecx,1)
40a540:	03 20                	add    (%eax),%esp
40a542:	00 02                	add    %al,(%edx)
40a544:	05 07 01 11 80       	add    $0x80110107,%eax
40a549:	a1 03 07 01 0a       	mov    0xa010703,%eax
40a54e:	0a 15 12 80 a5 02    	or     0x2a58012,%dl
40a554:	12 80 a9 12 30 04    	adc    0x43012a9(%eax),%al
40a55a:	07                   	pop    %es
40a55b:	02 08                	add    (%eax),%cl
40a55d:	02 05 10 01 00 1e    	add    0x1e000110,%al
40a563:	00 04 0a             	add    %al,(%edx,%ecx,1)
40a566:	01 1e                	add    %ebx,(%esi)
40a568:	00 02                	add    %al,(%edx)
40a56a:	1e                   	push   %ds
40a56b:	00 05 20 00 12 80    	add    %al,0x80120020
40a571:	a9 07 20 02 01       	test   $0x1022007,%eax
40a576:	13 00                	adc    (%eax),%eax
40a578:	13 01                	adc    (%ecx),%eax
40a57a:	04 07                	add    $0x7,%al
40a57c:	02 02                	add    (%edx),%al
40a57e:	02 08                	add    (%eax),%cl
40a580:	07                   	pop    %es
40a581:	02 1d 12 30 1d 12    	add    0x121d3012,%bl
40a587:	30 0b                	xor    %cl,(%ebx)
40a589:	20 00                	and    %al,(%eax)
40a58b:	15 12 81 91 02       	adc    $0x2918112,%eax
40a590:	13 00                	adc    (%eax),%eax
40a592:	13 01                	adc    (%ecx),%eax
40a594:	0a 15 12 81 91 02    	or     0x2918112,%dl
40a59a:	12 80 a9 12 30 07    	adc    0x73012a9(%eax),%al
40a5a0:	20 02                	and    %al,(%edx)
40a5a2:	01 1d 13 01 08 05    	add    %ebx,0x5080113
40a5a8:	07                   	pop    %es
40a5a9:	01 1d 1e 00 05 07    	add    %ebx,0x705001e
40a5af:	01 1d 12 30 04 07    	add    %ebx,0x7043012
40a5b5:	01 1e                	add    %ebx,(%esi)
40a5b7:	00 08                	add    %cl,(%eax)
40a5b9:	00 01                	add    %al,(%ecx)
40a5bb:	12 80 a9 11 81 95    	adc    -0x6a7eee57(%eax),%al
40a5c1:	08 07                	or     %al,(%edi)
40a5c3:	04 12                	add    $0x12,%al
40a5c5:	30 02                	xor    %al,(%edx)
40a5c7:	12 30                	adc    (%eax),%dh
40a5c9:	02 08                	add    (%eax),%cl
40a5cb:	20 02                	and    %al,(%edx)
40a5cd:	02 13                	add    (%ebx),%dl
40a5cf:	00 10                	add    %dl,(%eax)
40a5d1:	13 01                	adc    (%ecx),%eax
40a5d3:	05 20 01 02 13       	add    $0x13020120,%eax
40a5d8:	00 06                	add    %al,(%esi)
40a5da:	07                   	pop    %es
40a5db:	04 08                	add    $0x8,%al
40a5dd:	02 02                	add    (%edx),%al
40a5df:	02 05 07 03 02 02    	add    0x2020307,%al
40a5e5:	02 17                	add    (%edi),%dl
40a5e7:	07                   	pop    %es
40a5e8:	03 15 11 80 b1 02    	add    0x2b18011,%edx
40a5ee:	12 80 a9 12 30 15    	adc    0x153012a9(%eax),%al
40a5f4:	11 80 b5 02 12 80    	adc    %eax,-0x7fedfd4b(%eax)
40a5fa:	a9 12 30 02 0b       	test   $0xb023012,%eax
40a5ff:	20 00                	and    %al,(%eax)
40a601:	15 11 80 b1 02       	adc    $0x2b18011,%eax
40a606:	13 00                	adc    (%eax),%eax
40a608:	13 01                	adc    (%ecx),%eax
40a60a:	0a 15 11 80 b1 02    	or     0x2b18011,%dl
40a610:	12 80 a9 12 30 0b    	adc    0xb3012a9(%eax),%al
40a616:	20 00                	and    %al,(%eax)
40a618:	15 11 80 b5 02       	adc    $0x2b58011,%eax
40a61d:	13 00                	adc    (%eax),%eax
40a61f:	13 01                	adc    (%ecx),%eax
40a621:	1f                   	pop    %ds
40a622:	07                   	pop    %es
40a623:	04 15                	add    $0x15,%al
40a625:	12 41 01             	adc    0x1(%ecx),%al
40a628:	1e                   	push   %ds
40a629:	00 15 11 80 b1 02    	add    %dl,0x2b18011
40a62f:	12 80 a9 12 30 15    	adc    0x153012a9(%eax),%al
40a635:	11 80 b5 02 12 80    	adc    %eax,-0x7fedfd4b(%eax)
40a63b:	a9 12 30 1d 1e       	test   $0x1e1d3012,%eax
40a640:	00 06                	add    %al,(%esi)
40a642:	15 12 41 01 1e       	adc    $0x1e014112,%eax
40a647:	00 05 20 00 1d 13    	add    %al,0x131d0020
40a64d:	00 1f                	add    %bl,(%edi)
40a64f:	07                   	pop    %es
40a650:	04 15                	add    $0x15,%al
40a652:	12 41 01             	adc    0x1(%ecx),%al
40a655:	12 30                	adc    (%eax),%dh
40a657:	15 11 80 b1 02       	adc    $0x2b18011,%eax
40a65c:	12 80 a9 12 30 15    	adc    0x153012a9(%eax),%al
40a662:	11 80 b5 02 12 80    	adc    %eax,-0x7fedfd4b(%eax)
40a668:	a9 12 30 1d 12       	test   $0x121d3012,%eax
40a66d:	30 06                	xor    %al,(%esi)
40a66f:	15 12 41 01 12       	adc    $0x12014112,%eax
40a674:	30 04 00             	xor    %al,(%eax,%eax,1)
40a677:	01 01                	add    %eax,(%ecx)
40a679:	0e                   	push   %cs
40a67a:	03 07                	add    (%edi),%eax
40a67c:	01 0d 04 07 01 11    	add    %ecx,0x11010704
40a682:	44                   	inc    %esp
40a683:	05 07 03 02 08       	add    $0x8020307,%eax
40a688:	02 05 07 03 08 08    	add    0x8080307,%al
40a68e:	08 06                	or     %al,(%esi)
40a690:	00 03                	add    %al,(%ebx)
40a692:	0e                   	push   %cs
40a693:	0e                   	push   %cs
40a694:	1c 1c                	sbb    $0x1c,%al
40a696:	05 07 02 11 44       	add    $0x44110207,%eax
40a69b:	0d 03 07 01 05       	or     $0x5010703,%eax
40a6a0:	03 07                	add    (%edi),%eax
40a6a2:	01 06                	add    %eax,(%esi)
40a6a4:	03 07                	add    (%edi),%eax
40a6a6:	01 07                	add    %eax,(%edi)
40a6a8:	03 07                	add    (%edi),%eax
40a6aa:	01 09                	add    %ecx,(%ecx)
40a6ac:	03 07                	add    (%edi),%eax
40a6ae:	01 0b                	add    %ecx,(%ebx)
40a6b0:	03 07                	add    (%edi),%eax