40e473:	3a 00                	cmp    (%eax),%al
40e475:	20 00                	and    %al,(%eax)
40e477:	7b 00                	jnp    0x40e479
40e479:	30 00                	xor    %al,(%eax)
40e47b:	7d 00                	jge    0x40e47d
40e47d:	20 00                	and    %al,(%eax)
40e47f:	65 00 6c 00 65       	add    %ch,%gs:0x65(%eax,%eax,1)
40e484:	00 6d 00             	add    %ch,0x0(%ebp)
40e487:	65 00 6e 00          	add    %ch,%gs:0x0(%esi)
40e48b:	74 00                	je     0x40e48d
40e48d:	73 00                	jae    0x40e48f
40e48f:	20 00                	and    %al,(%eax)
40e491:	70 00                	jo     0x40e493
40e493:	72 00                	jb     0x40e495
40e495:	6f                   	outsl  %ds:(%esi),(%dx)
40e496:	00 63 00             	add    %ah,0x0(%ebx)
40e499:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40e49d:	73 00                	jae    0x40e49f
40e49f:	65 00 64 00 00       	add    %ah,%gs:0x0(%eax,%eax,1)
40e4a4:	59                   	pop    %ecx
40e4a5:	46                   	inc    %esi
40e4a6:	00 72 00             	add    %dh,0x0(%edx)
40e4a9:	6f                   	outsl  %ds:(%esi),(%dx)
40e4aa:	00 6d 00             	add    %ch,0x0(%ebp)
40e4ad:	20 00                	and    %al,(%eax)
40e4af:	7b 00                	jnp    0x40e4b1
40e4b1:	30 00                	xor    %al,(%eax)
40e4b3:	7d 00                	jge    0x40e4b5
40e4b5:	20 00                	and    %al,(%eax)
40e4b7:	74 00                	je     0x40e4b9
40e4b9:	6f                   	outsl  %ds:(%esi),(%dx)
40e4ba:	00 20                	add    %ah,(%eax)
40e4bc:	00 7b 00             	add    %bh,0x0(%ebx)
40e4bf:	31 00                	xor    %eax,(%eax)
40e4c1:	7d 00                	jge    0x40e4c3
40e4c3:	20 00                	and    %al,(%eax)
40e4c5:	7b 00                	jnp    0x40e4c7
40e4c7:	32 00                	xor    (%eax),%al
40e4c9:	7d 00                	jge    0x40e4cb
40e4cb:	20 00                	and    %al,(%eax)
40e4cd:	73 00                	jae    0x40e4cf
40e4cf:	68 00 6f 00 75       	push   $0x75006f00
40e4d4:	00 6c 00 64          	add    %ch,0x64(%eax,%eax,1)
40e4d8:	00 20                	add    %ah,(%eax)
40e4da:	00 62 00             	add    %ah,0x0(%edx)
40e4dd:	65 00 20             	add    %ah,%gs:(%eax)
40e4e0:	00 7b 00             	add    %bh,0x0(%ebx)
40e4e3:	33 00                	xor    (%eax),%eax
40e4e5:	7d 00                	jge    0x40e4e7
40e4e7:	20 00                	and    %al,(%eax)
40e4e9:	62 00                	bound  %eax,(%eax)
40e4eb:	75 00                	jne    0x40e4ed
40e4ed:	74 00                	je     0x40e4ef
40e4ef:	20 00                	and    %al,(%eax)
40e4f1:	69 00 73 00 20 00    	imul   $0x200073,(%eax),%eax
40e4f7:	7b 00                	jnp    0x40e4f9
40e4f9:	34 00                	xor    $0x0,%al
40e4fb:	7d 00                	jge    0x40e4fd
40e4fd:	00 09                	add    %cl,(%ecx)
40e4ff:	6d                   	insl   (%dx),%es:(%edi)
40e500:	00 65 00             	add    %ah,0x0(%ebp)
40e503:	61                   	popa
40e504:	00 6e 00             	add    %ch,0x0(%esi)
40e507:	00 0d 6d 00 65 00    	add    %cl,0x65006d
40e50d:	64 00 69 00          	add    %ch,%fs:0x0(%ecx)
40e511:	61                   	popa
40e512:	00 6e 00             	add    %ch,0x0(%esi)
40e515:	00 07                	add    %al,(%edi)
40e517:	6d                   	insl   (%dx),%es:(%edi)
40e518:	00 61 00             	add    %ah,0x0(%ecx)
40e51b:	78 00                	js     0x40e51d
40e51d:	00 47 56             	add    %al,0x56(%edi)
40e520:	00 65 00             	add    %ah,0x0(%ebp)
40e523:	72 00                	jb     0x40e525
40e525:	73 00                	jae    0x40e527
40e527:	69 00 76 00 65 00    	imul   $0x650076,(%eax),%eax
40e52d:	50                   	push   %eax
40e52e:	00 72 00             	add    %dh,0x0(%edx)
40e531:	6f                   	outsl  %ds:(%esi),(%dx)
40e532:	00 6a 00             	add    %ch,0x0(%edx)
40e535:	65 00 63 00          	add    %ah,%gs:0x0(%ebx)
40e539:	74 00                	je     0x40e53b
40e53b:	2e 00 50 00          	add    %dl,%cs:0x0(%eax)
40e53f:	72 00                	jb     0x40e541
40e541:	6f                   	outsl  %ds:(%esi),(%dx)
40e542:	00 70 00             	add    %dh,0x0(%eax)
40e545:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40e549:	74 00                	je     0x40e54b
40e54b:	69 00 65 00 73 00    	imul   $0x730065,(%eax),%eax
40e551:	2e 00 52 00          	add    %dl,%cs:0x0(%edx)
40e555:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40e559:	6f                   	outsl  %ds:(%esi),(%dx)
40e55a:	00 75 00             	add    %dh,0x0(%ebp)
40e55d:	72 00                	jb     0x40e55f
40e55f:	63 00                	arpl   %eax,(%eax)
40e561:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40e565:	00 15 43 00 6f 00    	add    %dl,0x6f0043
40e56b:	72 00                	jb     0x40e56d
40e56d:	65 00 4d 00          	add    %cl,%gs:0x0(%ebp)
40e571:	6f                   	outsl  %ds:(%esi),(%dx)
40e572:	00 64 00 65          	add    %ah,0x65(%eax,%eax,1)
40e576:	00 6c 00 34          	add    %ch,0x34(%eax,%eax,1)
40e57a:	00 00                	add    %al,(%eax)
40e57c:	77 ab                	ja     0x40e529
40e57e:	e6 7a                	out    %al,$0x7a
40e580:	d1 07                	roll   $1,(%edi)
40e582:	86 42 b9             	xchg   %al,-0x47(%edx)
40e585:	69 35 1c ec 3c 2e c1 	imul   $0x200400c1,0x2e3cec1c,%esi
40e58c:	00 04 20
40e58f:	01 01                	add    %eax,(%ecx)
40e591:	08 03                	or     %al,(%ebx)
40e593:	20 00                	and    %al,(%eax)
40e595:	01 05 20 01 01 11    	add    %eax,0x11010120
40e59b:	11 04 20             	adc    %eax,(%eax,%eiz,1)
40e59e:	01 01                	add    %eax,(%ecx)
40e5a0:	0e                   	push   %cs
40e5a1:	04 20                	add    $0x20,%al
40e5a3:	01 01                	add    %eax,(%ecx)
40e5a5:	02 06                	add    (%esi),%al
40e5a7:	20 01                	and    %al,(%ecx)
40e5a9:	01 11                	add    %edx,(%ecx)
40e5ab:	80 ed 05             	sub    $0x5,%ch
40e5ae:	20 02                	and    %al,(%edx)
40e5b0:	01 0e                	add    %ecx,(%esi)
40e5b2:	0e                   	push   %cs
40e5b3:	06                   	push   %es
40e5b4:	20 01                	and    %al,(%ecx)
40e5b6:	01 11                	add    %edx,(%ecx)
40e5b8:	81 19 2b 07 18 14    	sbbl   $0x1418072b,(%ecx)
40e5be:	11 0c 02             	adc    %ecx,(%edx,%eax,1)
40e5c1:	00 02                	add    %al,(%edx)
40e5c3:	00 00                	add    %al,(%eax)
40e5c5:	1d 0e 11 45 11       	sbb    $0x1145110e,%eax
40e5ca:	49                   	dec    %ecx
40e5cb:	08 08                	or     %cl,(%eax)
40e5cd:	08 08                	or     %cl,(%eax)
40e5cf:	02 08                	add    (%eax),%cl
40e5d1:	02 02                	add    (%edx),%al
40e5d3:	02 02                	add    (%edx),%al
40e5d5:	08 08                	or     %cl,(%eax)
40e5d7:	02 02                	add    (%edx),%al
40e5d9:	02 02                	add    (%edx),%al
40e5db:	02 08                	add    (%eax),%cl
40e5dd:	02 14 11             	add    (%ecx,%edx,1),%dl
40e5e0:	0c 02                	or     $0x2,%al
40e5e2:	00 02                	add    %al,(%edx)
40e5e4:	00 00                	add    %al,(%eax)
40e5e6:	05 00 01 1d 0e       	add    $0xe1d0100,%eax
40e5eb:	0e                   	push   %cs
40e5ec:	08 14 11             	or     %dl,(%ecx,%edx,1)
40e5ef:	0c 02                	or     $0x2,%al
40e5f1:	00 02                	add    %al,(%edx)
40e5f3:	00 00                	add    %al,(%eax)
40e5f5:	05 20 02 01 08       	add    $0x8010220,%eax
40e5fa:	08 04 20             	or     %al,(%eax,%eiz,1)
40e5fd:	01 03                	add    %eax,(%ebx)
40e5ff:	08 07                	or     %al,(%edi)
40e601:	20 03                	and    %al,(%ebx)
40e603:	01 08                	add    %ecx,(%eax)
40e605:	08 11                	or     %dl,(%ecx)
40e607:	0c 08                	or     $0x8,%al
40e609:	00 03                	add    %al,(%ebx)
40e60b:	11 45 0e             	adc    %eax,0xe(%ebp)
40e60e:	0e                   	push   %cs
40e60f:	11 49 09             	adc    %ecx,0x9(%ecx)
40e612:	10 01                	adc    %al,(%ecx)
40e614:	02 01                	add    (%ecx),%al
40e616:	10 1d 1e 00 08 03    	adc    %bl,0x308001e
40e61c:	0a 01                	or     (%ecx),%al
40e61e:	0e                   	push   %cs
40e61f:	03 20                	add    (%eax),%esp
40e621:	00 0e                	add    %cl,(%esi)
40e623:	05 00 01 0e 1d       	add    $0x1d0e0100,%eax
40e628:	0e                   	push   %cs
40e629:	05 20 02 01 03       	add    $0x3010220,%eax
40e62e:	08 06                	or     %al,(%esi)
40e630:	00 02                	add    %al,(%edx)
40e632:	01 0e                	add    %ecx,(%esi)
40e634:	1d 0e 05 07 02       	sbb    $0x207050e,%eax
40e639:	1d 0e 02 06 20       	sbb    $0x2006020e,%eax
40e63e:	01 1d 0e 1d 03 06    	add    %ebx,0x6031d0e
40e644:	00 02                	add    %al,(%edx)
40e646:	02 0e                	add    (%esi),%cl
40e648:	10 08                	adc    %cl,(%eax)
40e64a:	1a 07                	sbb    (%edi),%al
40e64c:	17                   	pop    %ss
40e64d:	1d 0e 08 08 08       	sbb    $0x808080e,%eax
40e652:	08 08                	or     %cl,(%eax)
40e654:	08 08                	or     %cl,(%eax)
40e656:	08 08                	or     %cl,(%eax)
40e658:	02 02                	add    (%edx),%al
40e65a:	02 08                	add    (%eax),%cl
40e65c:	02 02                	add    (%edx),%al
40e65e:	08 02                	or     %al,(%edx)
40e660:	08 08                	or     %cl,(%eax)
40e662:	03 02                	add    (%edx),%eax
40e664:	02 04 20             	add    (%eax,%eiz,1),%al
40e667:	01 08                	add    %ecx,(%eax)
40e669:	08 02                	or     %al,(%edx)
40e66b:	06                   	push   %es
40e66c:	0e                   	push   %cs
40e66d:	06                   	push   %es
40e66e:	20 02                	and    %al,(%edx)
40e670:	11 0c 08             	adc    %ecx,(%eax,%ecx,1)
40e673:	08 05 00 02 0e 0e    	or     %al,0xe0e0200
40e679:	0e                   	push   %cs
40e67a:	06                   	push   %es
40e67b:	07                   	pop    %es
40e67c:	03 03                	add    (%ebx),%eax
40e67e:	03 11                	add    (%ecx),%edx
40e680:	0c 07                	or     $0x7,%al
40e682:	07                   	pop    %es
40e683:	03 11                	add    (%ecx),%edx
40e685:	0c 11                	or     $0x11,%al
40e687:	0c 03                	or     $0x3,%al
40e689:	07                   	pop    %es
40e68a:	07                   	pop    %es
40e68b:	03 1d 0e 1d 0e 08    	add    0x80e1d0e,%ebx
40e691:	04 00                	add    $0x0,%al
40e693:	01 08                	add    %ecx,(%eax)
40e695:	0e                   	push   %cs
40e696:	0c 07                	or     $0x7,%al
40e698:	07                   	pop    %es
40e699:	08 08                	or     %cl,(%eax)
40e69b:	11 0c 11             	adc    %ecx,(%ecx,%edx,1)
40e69e:	80 89 02 02 02 03 20 	orb    $0x20,0x3020202(%ecx)
40e6a5:	00 1c 03             	add    %bl,(%ebx,%eax,1)
40e6a8:	20 00                	and    %al,(%eax)
40e6aa:	08 05 20 00 11 81    	or     %al,0x81110020
40e6b0:	3d 0a 07 08 08       	cmp    $0x808070a,%eax
40e6b5:	08 08                	or     %cl,(%eax)
40e6b7:	08 08                	or     %cl,(%eax)
40e6b9:	08 02                	or     %al,(%edx)
40e6bb:	02 05 00 02 08 08    	add    0x8080200,%al
40e6c1:	08 08                	or     %cl,(%eax)
40e6c3:	07                   	pop    %es
40e6c4:	06                   	push   %es
40e6c5:	02 08                	add    (%eax),%cl
40e6c7:	08 02                	or     %al,(%edx)
40e6c9:	02 02                	add    (%edx),%al
40e6cb:	08 14 12             	or     %dl,(%edx,%edx,1)
40e6ce:	55                   	push   %ebp
40e6cf:	02 00                	add    (%eax),%al
40e6d1:	02 00                	add    (%eax),%al
40e6d3:	00 06                	add    %al,(%esi)
40e6d5:	20 02                	and    %al,(%edx)
40e6d7:	12 55 08             	adc    0x8(%ebp),%dl
40e6da:	08 06                	or     %al,(%esi)
40e6dc:	20 01                	and    %al,(%ecx)
40e6de:	01 12                	add    %edx,(%edx)
40e6e0:	80 8d 0b 07 08 08 08 	orb    $0x8,0x808070b(%ebp)
40e6e7:	02 08                	add    (%eax),%cl
40e6e9:	08 12                	or     %dl,(%edx)
40e6eb:	55                   	push   %ebp
40e6ec:	02 02                	add    (%edx),%al
40e6ee:	05 00 00 11 81       	add    $0x81110000,%eax
40e6f3:	49                   	dec    %ecx
40e6f4:	06                   	push   %es
40e6f5:	20 01                	and    %al,(%ecx)
40e6f7:	01 11                	add    %edx,(%ecx)
40e6f9:	81 49 06 20 01 01 11 	orl    $0x11010120,0x6(%ecx)
40e700:	81 4d 06 20 01 01 11 	orl    $0x11010120,0x6(%ebp)
40e707:	80 89 06 20 01 01 11 	orb    $0x11,0x1012006(%ecx)
40e70e:	81 51 06 20 01 01 11 	adcl   $0x11010120,0x6(%ecx)
40e715:	81 55 05 20 02 01 1c 	adcl   $0x1c010220,0x5(%ebp)
40e71c:	18 06                	sbb    %al,(%esi)
40e71e:	20 01                	and    %al,(%ecx)
40e720:	01 12                	add    %edx,(%edx)
40e722:	81 59 04 20 01 01 1c 	sbbl   $0x1c010120,0x4(%ecx)
40e729:	05 20 00 12 81       	add    $0x81120020,%eax
40e72e:	5d                   	pop    %ebp
40e72f:	06                   	push   %es
40e730:	20 01                	and    %al,(%ecx)
40e732:	01 12                	add    %edx,(%edx)
40e734:	81 39 07 20 03 01    	cmpl   $0x1032007,(%ecx)
40e73a:	08 08                	or     %cl,(%eax)
40e73c:	12 55 06             	adc    0x6(%ebp),%dl
40e73f:	07                   	pop    %es
40e740:	04 08                	add    $0x8,%al
40e742:	08 02                	or     %al,(%edx)
40e744:	02 12                	add    (%edx),%dl
40e746:	07                   	pop    %es
40e747:	09 14 11             	or     %edx,(%ecx,%edx,1)
40e74a:	0c 02                	or     $0x2,%al
40e74c:	00 02                	add    %al,(%edx)
40e74e:	00 00                	add    %al,(%eax)
40e750:	02 02                	add    (%edx),%al
40e752:	02 02                	add    (%edx),%al
40e754:	08 08                	or     %cl,(%eax)
40e756:	02 02                	add    (%edx),%al
40e758:	06                   	push   %es
40e759:	00 03                	add    %al,(%ebx)
40e75b:	0e                   	push   %cs
40e75c:	0e                   	push   %cs
40e75d:	0e                   	push   %cs
40e75e:	0e                   	push   %cs
40e75f:	09 07                	or     %eax,(%edi)
40e761:	07                   	pop    %es
40e762:	08 08                	or     %cl,(%eax)
40e764:	02 08                	add    (%eax),%cl
40e766:	08 02                	or     %al,(%edx)
40e768:	02 09                	add    (%ecx),%cl
40e76a:	07                   	pop    %es
40e76b:	03 11                	add    (%ecx),%edx
40e76d:	0c 11                	or     $0x11,%al
40e76f:	0c 12                	or     $0x12,%al
40e771:	80 8d 0a 07 08 08 08 	orb    $0x8,0x808070a(%ebp)
40e778:	08 02                	or     %al,(%edx)
40e77a:	0e                   	push   %cs
40e77b:	02 02                	add    (%edx),%al
40e77d:	02 04 07             	add    (%edi,%eax,1),%al
40e780:	02 0e                	add    (%esi),%cl
40e782:	02 05 00 02 02 0e    	add    0xe020200,%al
40e788:	0e                   	push   %cs
40e789:	06                   	push   %es
40e78a:	00 02                	add    %al,(%edx)
40e78c:	11 45 0e             	adc    %eax,0xe(%ebp)
40e78f:	0e                   	push   %cs
40e790:	04 07                	add    $0x7,%al
40e792:	02 02                	add    (%edx),%al
40e794:	02 04 07             	add    (%edi,%eax,1),%al
40e797:	01 12                	add    %edx,(%edx)
40e799:	75 07                	jne    0x40e7a2
40e79b:	07                   	pop    %es
40e79c:	04 03                	add    $0x3,%al
40e79e:	1d 0e 08 08 03       	sbb    $0x308080e,%eax
40e7a3:	07                   	pop    %es
40e7a4:	01 02                	add    %eax,(%edx)
40e7a6:	05 20 00 11 80       	add    $0x80110020,%eax
40e7ab:	b9 05 07 01 11       	mov    $0x11010705,%ecx
40e7b0:	80 89 09 07 07 08 08 	orb    $0x8,0x8070709(%ecx)
40e7b7:	08 02                	or     %al,(%edx)
40e7b9:	02 02                	add    (%edx),%al
40e7bb:	08 0a                	or     %cl,(%edx)
40e7bd:	07                   	pop    %es
40e7be:	08 08                	or     %cl,(%eax)
40e7c0:	08 08                	or     %cl,(%eax)
40e7c2:	08 02                	or     %al,(%edx)
40e7c4:	02 02                	add    (%edx),%al
40e7c6:	02 07                	add    (%edi),%al
40e7c8:	07                   	pop    %es
40e7c9:	02 12                	add    (%edx),%dl
40e7cb:	80 99 12 3c 08 00 01 	sbbb   $0x1,0x83c12(%ecx)
40e7d2:	12 81 69 11 81 6d    	adc    0x6d811169(%ecx),%al
40e7d8:	06                   	push   %es
40e7d9:	20 01                	and    %al,(%ecx)
40e7db:	01 12                	add    %edx,(%edx)
40e7dd:	81 69 05 20 02 01 0e 	subl   $0xe010220,0x5(%ecx)
40e7e4:	0c 06                	or     $0x6,%al
40e7e6:	20 01                	and    %al,(%ecx)