40b5ec:	75 00                	jne    0x40b5ee
40b5ee:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40b5f2:	74 00                	je     0x40b5f4
40b5f4:	20 00                	and    %al,(%eax)
40b5f6:	72 00                	jb     0x40b5f8
40b5f8:	65 00 63 00          	add    %ah,%gs:0x0(%ebx)
40b5fc:	65 00 69 00          	add    %ch,%gs:0x0(%ecx)
40b600:	76 00                	jbe    0x40b602
40b602:	65 00 64 00 3a       	add    %ah,%gs:0x3a(%eax,%eax,1)
40b607:	00 20                	add    %ah,(%eax)
40b609:	00 00                	add    %al,(%eax)
40b60b:	49                   	dec    %ecx
40b60c:	43                   	inc    %ebx
40b60d:	00 6f 00             	add    %ch,0x0(%edi)
40b610:	6e                   	outsb  %ds:(%esi),(%dx)
40b611:	00 6e 00             	add    %ch,0x0(%esi)
40b614:	65 00 63 00          	add    %ah,%gs:0x0(%ebx)
40b618:	74 00                	je     0x40b61a
40b61a:	69 00 6f 00 6e 00    	imul   $0x6e006f,(%eax),%eax
40b620:	20 00                	and    %al,(%eax)
40b622:	61                   	popa
40b623:	00 69 00             	add    %ch,0x0(%ecx)
40b626:	6e                   	outsb  %ds:(%esi),(%dx)
40b627:	00 74 00 20          	add    %dh,0x20(%eax,%eax,1)
40b62b:	00 73 00             	add    %dh,0x0(%ebx)
40b62e:	75 00                	jne    0x40b630
40b630:	63 00                	arpl   %eax,(%eax)
40b632:	63 00                	arpl   %eax,(%eax)
40b634:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40b638:	66 00 75 00          	data16 add %dh,0x0(%ebp)
40b63c:	6c                   	insb   (%dx),%es:(%edi)
40b63d:	00 6c 00 20          	add    %ch,0x20(%eax,%eax,1)
40b641:	00 62 00             	add    %ah,0x0(%edx)
40b644:	65 00 63 00          	add    %ah,%gs:0x0(%ebx)
40b648:	61                   	popa
40b649:	00 75 00             	add    %dh,0x0(%ebp)
40b64c:	73 00                	jae    0x40b64e
40b64e:	65 00 3a             	add    %bh,%gs:(%edx)
40b651:	00 20                	add    %ah,(%eax)
40b653:	00 00                	add    %al,(%eax)
40b655:	0b 4b 00             	or     0x0(%ebx),%ecx
40b658:	61                   	popa
40b659:	00 6b 00             	add    %ch,0x0(%ebx)
40b65c:	61                   	popa
40b65d:	00 73 00             	add    %dh,0x0(%ebx)
40b660:	00 00                	add    %al,(%eax)
40b662:	00 00                	add    %al,(%eax)
40b664:	85 38                	test   %edi,(%eax)
40b666:	08 e7                	or     %ah,%bh
40b668:	cc                   	int3
40b669:	a8 99                	test   $0x99,%al
40b66b:	4f                   	dec    %edi
40b66c:	a1 f1 b2 f9 ab       	mov    0xabf9b2f1,%eax
40b671:	c3                   	ret
40b672:	bf 22 00 04 20       	mov    $0x20040022,%edi
40b677:	01 01                	add    %eax,(%ecx)
40b679:	08 03                	or     %al,(%ebx)
40b67b:	20 00                	and    %al,(%eax)
40b67d:	01 05 20 01 01 11    	add    %eax,0x11010120
40b683:	11 04 20             	adc    %eax,(%eax,%eiz,1)
40b686:	01 01                	add    %eax,(%ecx)
40b688:	0e                   	push   %cs
40b689:	04 20                	add    $0x20,%al
40b68b:	01 01                	add    %eax,(%ecx)
40b68d:	02 05 20 02 01 0e    	add    0xe010220,%al
40b693:	0e                   	push   %cs
40b694:	06                   	push   %es
40b695:	20 01                	and    %al,(%ecx)
40b697:	01 11                	add    %edx,(%ecx)
40b699:	80 a9 06 20 01 01 11 	subb   $0x11,0x1012006(%ecx)
40b6a0:	80 d1 07             	adc    $0x7,%cl
40b6a3:	07                   	pop    %es
40b6a4:	03 1d 05 12 45 0e    	add    0xe451205,%ebx
40b6aa:	05 00 00 12 81       	add    $0x81120000,%eax
40b6af:	35 06 20 01 12       	xor    $0x12012006,%eax
40b6b4:	45                   	inc    %ebp
40b6b5:	1d 05 06 20 00       	sbb    $0x200605,%eax
40b6ba:	1d 12 80 b9 06       	sbb    $0x6b98012,%eax
40b6bf:	20 00                	and    %al,(%eax)
40b6c1:	1d 12 81 39 06       	sbb    $0x6398112,%eax
40b6c6:	20 02                	and    %al,(%edx)
40b6c8:	1c 1c                	sbb    $0x1c,%al
40b6ca:	1d 1c 04 00 01       	sbb    $0x100041c,%eax
40b6cf:	01 08                	add    %ecx,(%eax)
40b6d1:	04 07                	add    $0x7,%al
40b6d3:	02 02                	add    (%edx),%al
40b6d5:	02 05 20 00 11 80    	add    0x80110020,%al
40b6db:	d9 25 07 1a 02 02    	fldenv 0x2021a07
40b6e1:	11 69 12             	adc    %ebp,0x12(%ecx)
40b6e4:	6d                   	insl   (%dx),%es:(%edi)
40b6e5:	12 71 02             	adc    0x2(%ecx),%dh
40b6e8:	02 02                	add    (%edx),%al
40b6ea:	11 75 02             	adc    %esi,0x2(%ebp)
40b6ed:	02 12                	add    (%edx),%dl
40b6ef:	79 12                	jns    0x40b703
40b6f1:	6d                   	insl   (%dx),%es:(%edi)
40b6f2:	12 71 02             	adc    0x2(%ecx),%dh
40b6f5:	02 08                	add    (%eax),%cl
40b6f7:	02 02                	add    (%edx),%al
40b6f9:	02 12                	add    (%edx),%dl
40b6fb:	6d                   	insl   (%dx),%es:(%edi)
40b6fc:	12 71 02             	adc    0x2(%ecx),%dh
40b6ff:	02 02                	add    (%edx),%al
40b701:	02 03                	add    (%ebx),%al
40b703:	20 00                	and    %al,(%eax)
40b705:	0e                   	push   %cs
40b706:	05 00 02 0e 0e       	add    $0xe0e0200,%eax
40b70b:	0e                   	push   %cs
40b70c:	03 20                	add    (%eax),%esp
40b70e:	00 08                	add    %cl,(%eax)
40b710:	04 20                	add    $0x20,%al
40b712:	00 11                	add    %dl,(%ecx)
40b714:	69 05 20 00 12 81 4d 	imul   $0x20044d,0x81120020,%eax
40b71b:	04 20 00
40b71e:	12 6d 03             	adc    0x3(%ebp),%ch
40b721:	20 00                	and    %al,(%eax)
40b723:	1c 05                	sbb    $0x5,%al
40b725:	20 00                	and    %al,(%eax)
40b727:	11 80 bd 06 20 01    	adc    %eax,0x12006bd(%eax)
40b72d:	01 11                	add    %edx,(%ecx)
40b72f:	80 bd 05 00 00 11 80 	cmpb   $0x80,0x11000005(%ebp)
40b736:	c5 06                	lds    (%esi),%eax
40b738:	20 01                	and    %al,(%ecx)
40b73a:	01 11                	add    %edx,(%ecx)
40b73c:	80 c5 05             	add    $0x5,%ch
40b73f:	20 01                	and    %al,(%ecx)
40b741:	01 12                	add    %edx,(%edx)
40b743:	71 05                	jno    0x40b74a
40b745:	20 02                	and    %al,(%edx)
40b747:	08 08                	or     %cl,(%eax)
40b749:	08 04 20             	or     %al,(%eax,%eiz,1)
40b74c:	00 11                	add    %dl,(%ecx)
40b74e:	75 05                	jne    0x40b755
40b750:	20 01                	and    %al,(%ecx)
40b752:	02 11                	add    (%ecx),%dl
40b754:	75 05                	jne    0x40b75b
40b756:	00 01                	add    %al,(%ecx)
40b758:	0e                   	push   %cs
40b759:	1d 0e 06 00 01       	sbb    $0x100060e,%eax
40b75e:	11 81 59 0e 03 20    	adc    %eax,0x20030e59(%ecx)
40b764:	00 02                	add    %al,(%edx)
40b766:	15 07 0b 12 6d       	adc    $0x6d120b07,%eax
40b76b:	12 71 02             	adc    0x2(%ecx),%dh
40b76e:	11 69 12             	adc    %ebp,0x12(%ecx)
40b771:	79 12                	jns    0x40b785
40b773:	6d                   	insl   (%dx),%es:(%edi)
40b774:	12 71 02             	adc    0x2(%ecx),%dh
40b777:	12 6d 12             	adc    0x12(%ebp),%ch
40b77a:	71 02                	jno    0x40b77e
40b77c:	03 07                	add    (%edi),%eax
40b77e:	01 02                	add    %eax,(%edx)
40b780:	04 07                	add    $0x7,%al
40b782:	01 12                	add    %edx,(%edx)
40b784:	7d 08                	jge    0x40b78e
40b786:	00 01                	add    %al,(%ecx)
40b788:	12 80 b9 11 81 61    	adc    0x618111b9(%eax),%al
40b78e:	06                   	push   %es
40b78f:	20 01                	and    %al,(%ecx)
40b791:	01 12                	add    %edx,(%edx)
40b793:	80 b9 05 20 01 01 12 	cmpb   $0x12,0x1012005(%ecx)
40b79a:	55                   	push   %ebp
40b79b:	05 20 02 01 08       	add    $0x8010220,%eax
40b7a0:	08 05 20 01 01 11    	or     %al,0x11010120
40b7a6:	69 06 20 01 01 11    	imul   $0x11010120,(%esi),%eax
40b7ac:	81 69 04 20 01 01 1c 	subl   $0x1c010120,0x4(%ecx)
40b7b3:	04 20                	add    $0x20,%al
40b7b5:	01 1c 0e             	add    %ebx,(%esi,%ecx,1)
40b7b8:	06                   	push   %es
40b7b9:	20 01                	and    %al,(%ecx)
40b7bb:	01 12                	add    %edx,(%edx)
40b7bd:	80 c9 0c             	or     $0xc,%cl
40b7c0:	20 05 01 0e 0c 11    	and    %al,0x110c0e01
40b7c6:	81 6d 11 81 71 05 06 	subl   $0x6057181,0x11(%ebp)
40b7cd:	20 01                	and    %al,(%ecx)
40b7cf:	01 12                	add    %edx,(%edx)
40b7d1:	81 31 05 20 02 01    	xorl   $0x1022005,(%ecx)
40b7d7:	1c 18                	sbb    $0x18,%al
40b7d9:	06                   	push   %es
40b7da:	20 01                	and    %al,(%ecx)
40b7dc:	01 12                	add    %edx,(%edx)
40b7de:	81 75 05 20 02 01 0c 	xorl   $0xc010220,0x5(%ebp)
40b7e5:	0c 06                	or     $0x6,%al
40b7e7:	20 01                	and    %al,(%ecx)
40b7e9:	01 11                	add    %edx,(%ecx)
40b7eb:	81 29 06 20 01 01    	subl   $0x1012006,(%ecx)
40b7f1:	11 81 7d 06 20 01    	adc    %eax,0x120067d(%ecx)
40b7f7:	01 12                	add    %edx,(%edx)
40b7f9:	81 81 04 07 01 12 28 	addl   $0x1070428,0x12010704(%ecx)
40b800:	04 07 01
40b803:	12 18                	adc    (%eax),%bl
40b805:	04 07                	add    $0x7,%al
40b807:	01 12                	add    %edx,(%edx)
40b809:	0c 04                	or     $0x4,%al
40b80b:	07                   	pop    %es
40b80c:	01 12                	add    %edx,(%edx)
40b80e:	14 06                	adc    $0x6,%al
40b810:	20 01                	and    %al,(%ecx)
40b812:	01 11                	add    %edx,(%ecx)
40b814:	81 8d 1d 07 14 02 02 	orl    $0x12691102,0x214071d(%ebp)
40b81b:	11 69 12
40b81e:	6d                   	insl   (%dx),%es:(%edi)
40b81f:	12 71 02             	adc    0x2(%ecx),%dh
40b822:	02 02                	add    (%edx),%al
40b824:	11 75 02             	adc    %esi,0x2(%ebp)
40b827:	02 12                	add    (%edx),%dl
40b829:	79 12                	jns    0x40b83d
40b82b:	6d                   	insl   (%dx),%es:(%edi)
40b82c:	12 71 02             	adc    0x2(%ecx),%dh
40b82f:	02 08                	add    (%eax),%cl
40b831:	02 02                	add    (%edx),%al
40b833:	02 10                	add    (%eax),%dl
40b835:	07                   	pop    %es
40b836:	08 12                	or     %dl,(%edx)
40b838:	6d                   	insl   (%dx),%es:(%edi)
40b839:	12 71 02             	adc    0x2(%ecx),%dh
40b83c:	11 69 12             	adc    %ebp,0x12(%ecx)
40b83f:	79 12                	jns    0x40b853
40b841:	6d                   	insl   (%dx),%es:(%edi)
40b842:	12 71 02             	adc    0x2(%ecx),%dh
40b845:	13 07                	adc    (%edi),%eax
40b847:	0c 02                	or     $0x2,%al
40b849:	02 11                	add    (%ecx),%dl
40b84b:	69 12 6d 12 71 02    	imul   $0x271126d,(%edx),%edx
40b851:	02 02                	add    (%edx),%al
40b853:	11 75 02             	adc    %esi,0x2(%ebp)
40b856:	02 12                	add    (%edx),%dl
40b858:	79 06                	jns    0x40b860
40b85a:	00 03                	add    %al,(%ebx)
40b85c:	0e                   	push   %cs
40b85d:	0e                   	push   %cs
40b85e:	0e                   	push   %cs
40b85f:	0e                   	push   %cs
40b860:	0b 07                	or     (%edi),%eax
40b862:	05 12 6d 12 71       	add    $0x71126d12,%eax
40b867:	02 11                	add    (%ecx),%dl
40b869:	69 12 79 03 00 00    	imul   $0x379,(%edx),%edx
40b86f:	01 04 00             	add    %eax,(%eax,%eax,1)
40b872:	01 01                	add    %eax,(%ecx)
40b874:	02 05 00 01 01 12    	add    0x12010100,%al
40b87a:	49                   	dec    %ecx
40b87b:	04 07                	add    $0x7,%al
40b87d:	01 12                	add    %edx,(%edx)
40b87f:	20 04 07             	and    %al,(%edi,%eax,1)
40b882:	01 12                	add    %edx,(%edx)
40b884:	1c 04                	sbb    $0x4,%al
40b886:	07                   	pop    %es
40b887:	01 12                	add    %edx,(%edx)
40b889:	10 07                	adc    %al,(%edi)
40b88b:	20 04 01             	and    %al,(%ecx,%eax,1)
40b88e:	08 08                	or     %cl,(%eax)
40b890:	08 08                	or     %cl,(%eax)
40b892:	09 07                	or     %eax,(%edi)
40b894:	03 02                	add    (%edx),%eax
40b896:	12 80 9d 12 80 9d    	adc    -0x627fed63(%eax),%al
40b89c:	04 20                	add    $0x20,%al
40b89e:	00 12                	add    %dl,(%edx)
40b8a0:	45                   	inc    %ebp
40b8a1:	06                   	push   %es
40b8a2:	20 02                	and    %al,(%edx)
40b8a4:	01 0e                	add    %ecx,(%esi)
40b8a6:	12 45 05             	adc    0x5(%ebp),%al
40b8a9:	07                   	pop    %es
40b8aa:	01 12                	add    %edx,(%edx)
40b8ac:	80 a1 06 07 02 1c 12 	andb   $0x12,0x1c020706(%ecx)
40b8b3:	80 a5 07 20 02 1c 0e 	andb   $0xe,0x1c022007(%ebp)
40b8ba:	12 80 a1 05 07 02    	adc    0x20705a1(%eax),%al
40b8c0:	1c 1d                	sbb    $0x1d,%al
40b8c2:	05 02 1d 05 04       	add    $0x4051d02,%eax
40b8c7:	07                   	pop    %es
40b8c8:	01 12                	add    %edx,(%edx)
40b8ca:	30 08                	xor    %cl,(%eax)
40b8cc:	00 01                	add    %al,(%ecx)
40b8ce:	12 81 95 12 81 95    	adc    -0x6a7eed6b(%ecx),%al
40b8d4:	07                   	pop    %es
40b8d5:	15 12 80 c1 01       	adc    $0x1c18012,%eax
40b8da:	12 71 0b             	adc    0xb(%ecx),%dh
40b8dd:	07                   	pop    %es
40b8de:	07                   	pop    %es
40b8df:	02 08                	add    (%eax),%cl
40b8e1:	12 71 02             	adc    0x2(%ecx),%dh
40b8e4:	02 11                	add    (%ecx),%dl
40b8e6:	38 02                	cmp    %al,(%edx)
40b8e8:	05 20 01 13 00       	add    $0x130120,%eax
40b8ed:	08 07                	or     %al,(%edi)
40b8ef:	15 12 80 c1 01       	adc    $0x1c18012,%eax
40b8f4:	11 38                	adc    %edi,(%eax)
40b8f6:	06                   	push   %es
40b8f7:	00 01                	add    %al,(%ecx)
40b8f9:	1c 12                	sbb    $0x12,%al
40b8fb:	80 b9 05 20 01 01 13 	cmpb   $0x13,0x1012005(%ecx)
40b902:	00 05 00 00 12 81    	add    %al,0x81120000
40b908:	a1 08 07 02 11       	mov    0x11020708,%eax
40b90d:	80 bd 11 80 bd 08 07 	cmpb   $0x7,0x8bd8011(%ebp)
40b914:	04 12                	add    $0x12,%al
40b916:	80 cd 02             	or     $0x2,%ch
40b919:	02 02                	add    (%edx),%al
40b91b:	0b 07                	or     (%edi),%eax
40b91d:	03 12                	add    (%edx),%edx
40b91f:	80 84 12 80 84 12 80 	addb   $0x84,-0x7fed7b80(%edx,%edx,1)
40b926:	84
40b927:	0b 00                	or     (%eax),%eax
40b929:	02 12                	add    (%edx),%dl
40b92b:	81 a5 12 81 a5 12 81 	andl   $0x100ca581,0x12a58112(%ebp)
40b932:	a5 0c 10
40b935:	01 03                	add    %eax,(%ebx)
40b937:	1e                   	push   %ds
40b938:	00 10                	add    %dl,(%eax)
40b93a:	1e                   	push   %ds
40b93b:	00 1e                	add    %bl,(%esi)
40b93d:	00 1e                	add    %bl,(%esi)
40b93f:	00 05 0a 01 12 80    	add    %al,0x8012010a
40b945:	84 08                	test   %cl,(%eax)
40b947:	07                   	pop    %es
40b948:	03 12                	add    (%edx),%edx
40b94a:	6d                   	insl   (%dx),%es:(%edi)
40b94b:	12 71 12             	adc    0x12(%ecx),%dh
40b94e:	79 08                	jns    0x40b958
40b950:	15 12 80 c1 01       	adc    $0x1c18012,%eax
40b955:	11 80 d9 06 20 01    	adc    %eax,0x12006d9(%eax)
40b95b:	01 12                	add    %edx,(%edx)
40b95d:	81 ad 07 15 12 80 c1 	subl   $0x581201c1,-0x7fedeaf9(%ebp)
40b964:	01 12 58
40b967:	08 15 12 80 c1 01    	or     %dl,0x1c18012
40b96d:	12 80 80 06 07 02    	adc    0x2070680(%eax),%al
40b973:	02 12                	add    (%edx),%dl
40b975:	80 88 31 07 19 02 15 	orb    $0x15,0x2190731(%eax)
40b97c:	12 80 c1 01 12 54    	adc    0x541201c1(%eax),%al
40b982:	15 11 80 dd 01       	adc    $0x1dd8011,%eax
40b987:	12 48 12             	adc    0x12(%eax),%cl
40b98a:	48                   	dec    %eax
40b98b:	12 54 02 15          	adc    0x15(%edx,%eax,1),%dl
40b98f:	11 80 dd 01 12 54    	adc    %eax,0x541201dd(%eax)
40b995:	12 54 02 12          	adc    0x12(%edx,%eax,1),%dl
40b999:	54                   	push   %esp
40b99a:	0c 0c                	or     $0xc,%al
40b99c:	02 02                	add    (%edx),%al
40b99e:	02 0c 08             	add    (%eax,%ecx,1),%cl
40b9a1:	08 02                	or     %al,(%edx)
40b9a3:	0c 0c                	or     $0xc,%al
40b9a5:	0c 02                	or     $0x2,%al
40b9a7:	02 02                	add    (%edx),%al
40b9a9:	07                   	pop    %es
40b9aa:	15 12 80 c1 01       	adc    $0x1c18012,%eax
40b9af:	12 54 07 15          	adc    0x15(%edi,%eax,1),%dl
40b9b3:	12 80 c1 01 12 48    	adc    0x481201c1(%eax),%al
40b9b9:	09 20                	or     %esp,(%eax)
40b9bb:	00 15 11 80 dd 01    	add    %dl,0x1dd8011
40b9c1:	13 00                	adc    (%eax),%eax
40b9c3:	07                   	pop    %es
40b9c4:	15 11 80 dd 01       	adc    $0x1dd8011,%eax