40a786:	04 17                	add    $0x17,%al
40a788:	6f                   	outsl  %ds:(%esi),(%dx)
40a789:	3f                   	aas
40a78a:	00 00                	add    %al,(%eax)
40a78c:	0a 02                	or     (%edx),%al
40a78e:	7b 0a                	jnp    0x40a79a
40a790:	01 00                	add    %eax,(%eax)
40a792:	04 02                	add    $0x2,%al
40a794:	fe 06                	incb   (%esi)
40a796:	5a                   	pop    %edx
40a797:	01 00                	add    %eax,(%eax)
40a799:	06                   	push   %es
40a79a:	73 40                	jae    0x40a7dc
40a79c:	00 00                	add    %al,(%eax)
40a79e:	0a 6f 41             	or     0x41(%edi),%ch
40a7a1:	00 00                	add    %al,(%eax)
40a7a3:	0a 02                	or     (%edx),%al
40a7a5:	7b 0b                	jnp    0x40a7b2
40a7a7:	01 00                	add    %eax,(%eax)
40a7a9:	04 1f                	add    $0x1f,%al
40a7ab:	0a 6f 3d             	or     0x3d(%edi),%ch
40a7ae:	00 00                	add    %al,(%eax)
40a7b0:	0a 02                	or     (%edx),%al
40a7b2:	7b 0b                	jnp    0x40a7bf
40a7b4:	01 00                	add    %eax,(%eax)
40a7b6:	04 20                	add    $0x20,%al
40a7b8:	ba 00 00 00 1f       	mov    $0x1f000000,%edx
40a7bd:	52                   	push   %edx
40a7be:	73 36                	jae    0x40a7f6
40a7c0:	00 00                	add    %al,(%eax)
40a7c2:	0a 6f 37             	or     0x37(%edi),%ch
40a7c5:	00 00                	add    %al,(%eax)
40a7c7:	0a 02                	or     (%edx),%al
40a7c9:	7b 0b                	jnp    0x40a7d6
40a7cb:	01 00                	add    %eax,(%eax)
40a7cd:	04 20                	add    $0x20,%al
40a7cf:	e1 26                	loope  0x40a7f7
40a7d1:	31 34 28             	xor    %esi,(%eax,%ebp,1)
40a7d4:	7d 00                	jge    0x40a7d6
40a7d6:	00 06                	add    %al,(%esi)
40a7d8:	6f                   	outsl  %ds:(%esi),(%dx)
40a7d9:	38 00                	cmp    %al,(%eax)
40a7db:	00 0a                	add    %cl,(%edx)
40a7dd:	02 7b 0b             	add    0xb(%ebx),%bh
40a7e0:	01 00                	add    %eax,(%eax)
40a7e2:	04 1f                	add    $0x1f,%al
40a7e4:	4b                   	dec    %ebx
40a7e5:	1f                   	pop    %ds
40a7e6:	17                   	pop    %ss
40a7e7:	73 39                	jae    0x40a822
40a7e9:	00 00                	add    %al,(%eax)
40a7eb:	0a 6f 3a             	or     0x3a(%edi),%ch
40a7ee:	00 00                	add    %al,(%eax)
40a7f0:	0a 02                	or     (%edx),%al
40a7f2:	7b 0b                	jnp    0x40a7ff
40a7f4:	01 00                	add    %eax,(%eax)
40a7f6:	04 17                	add    $0x17,%al
40a7f8:	6f                   	outsl  %ds:(%esi),(%dx)
40a7f9:	3b 00                	cmp    (%eax),%eax
40a7fb:	00 0a                	add    %cl,(%edx)
40a7fd:	02 7b 0b             	add    0xb(%ebx),%bh
40a800:	01 00                	add    %eax,(%eax)
40a802:	04 20                	add    $0x20,%al
40a804:	0a 27                	or     (%edi),%ah
40a806:	31 34 28             	xor    %esi,(%eax,%ebp,1)
40a809:	7d 00                	jge    0x40a80b
40a80b:	00 06                	add    %al,(%esi)
40a80d:	6f                   	outsl  %ds:(%esi),(%dx)
40a80e:	3c 00                	cmp    $0x0,%al
40a810:	00 0a                	add    %cl,(%edx)
40a812:	02 7b 0b             	add    0xb(%ebx),%bh
40a815:	01 00                	add    %eax,(%eax)
40a817:	04 17                	add    $0x17,%al
40a819:	6f                   	outsl  %ds:(%esi),(%dx)
40a81a:	3f                   	aas
40a81b:	00 00                	add    %al,(%eax)
40a81d:	0a 02                	or     (%edx),%al
40a81f:	7b 0b                	jnp    0x40a82c
40a821:	01 00                	add    %eax,(%eax)
40a823:	04 02                	add    $0x2,%al
40a825:	fe 06                	incb   (%esi)
40a827:	5b                   	pop    %ebx
40a828:	01 00                	add    %eax,(%eax)
40a82a:	06                   	push   %es
40a82b:	73 40                	jae    0x40a86d
40a82d:	00 00                	add    %al,(%eax)
40a82f:	0a 6f 41             	or     0x41(%edi),%ch
40a832:	00 00                	add    %al,(%eax)
40a834:	0a 02                	or     (%edx),%al
40a836:	7b 0c                	jnp    0x40a844
40a838:	01 00                	add    %eax,(%eax)
40a83a:	04 1f                	add    $0x1f,%al
40a83c:	0a 6f 3d             	or     0x3d(%edi),%ch
40a83f:	00 00                	add    %al,(%eax)
40a841:	0a 02                	or     (%edx),%al
40a843:	7b 0c                	jnp    0x40a851
40a845:	01 00                	add    %eax,(%eax)
40a847:	04 18                	add    $0x18,%al
40a849:	6f                   	outsl  %ds:(%esi),(%dx)
40a84a:	3e 00 00             	add    %al,%ds:(%eax)
40a84d:	0a 02                	or     (%edx),%al
40a84f:	7b 0c                	jnp    0x40a85d
40a851:	01 00                	add    %eax,(%eax)
40a853:	04 20                	add    $0x20,%al
40a855:	0b 01                	or     (%ecx),%eax
40a857:	00 00                	add    %al,(%eax)
40a859:	1f                   	pop    %ds
40a85a:	52                   	push   %edx
40a85b:	73 36                	jae    0x40a893
40a85d:	00 00                	add    %al,(%eax)
40a85f:	0a 6f 37             	or     0x37(%edi),%ch
40a862:	00 00                	add    %al,(%eax)
40a864:	0a 02                	or     (%edx),%al
40a866:	7b 0c                	jnp    0x40a874
40a868:	01 00                	add    %eax,(%eax)
40a86a:	04 20                	add    $0x20,%al
40a86c:	4d                   	dec    %ebp
40a86d:	1b 31                	sbb    (%ecx),%esi
40a86f:	34 28                	xor    $0x28,%al
40a871:	7d 00                	jge    0x40a873
40a873:	00 06                	add    %al,(%esi)
40a875:	6f                   	outsl  %ds:(%esi),(%dx)
40a876:	38 00                	cmp    %al,(%eax)
40a878:	00 0a                	add    %cl,(%edx)
40a87a:	02 7b 0c             	add    0xc(%ebx),%bh
40a87d:	01 00                	add    %eax,(%eax)
40a87f:	04 1f                	add    $0x1f,%al
40a881:	4b                   	dec    %ebx
40a882:	1f                   	pop    %ds
40a883:	17                   	pop    %ss
40a884:	73 39                	jae    0x40a8bf
40a886:	00 00                	add    %al,(%eax)
40a888:	0a 6f 3a             	or     0x3a(%edi),%ch
40a88b:	00 00                	add    %al,(%eax)
40a88d:	0a 02                	or     (%edx),%al
40a88f:	7b 0c                	jnp    0x40a89d
40a891:	01 00                	add    %eax,(%eax)
40a893:	04 17                	add    $0x17,%al
40a895:	6f                   	outsl  %ds:(%esi),(%dx)
40a896:	3b 00                	cmp    (%eax),%eax
40a898:	00 0a                	add    %cl,(%edx)
40a89a:	02 7b 0c             	add    0xc(%ebx),%bh
40a89d:	01 00                	add    %eax,(%eax)
40a89f:	04 20                	add    $0x20,%al
40a8a1:	58                   	pop    %eax
40a8a2:	1b 31                	sbb    (%ecx),%esi
40a8a4:	34 28                	xor    $0x28,%al
40a8a6:	7d 00                	jge    0x40a8a8
40a8a8:	00 06                	add    %al,(%esi)
40a8aa:	6f                   	outsl  %ds:(%esi),(%dx)
40a8ab:	3c 00                	cmp    $0x0,%al
40a8ad:	00 0a                	add    %cl,(%edx)
40a8af:	02 7b 0c             	add    0xc(%ebx),%bh
40a8b2:	01 00                	add    %eax,(%eax)
40a8b4:	04 17                	add    $0x17,%al
40a8b6:	6f                   	outsl  %ds:(%esi),(%dx)
40a8b7:	3f                   	aas
40a8b8:	00 00                	add    %al,(%eax)
40a8ba:	0a 02                	or     (%edx),%al
40a8bc:	7b 0c                	jnp    0x40a8ca
40a8be:	01 00                	add    %eax,(%eax)
40a8c0:	04 02                	add    $0x2,%al
40a8c2:	fe 06                	incb   (%esi)
40a8c4:	5c                   	pop    %esp
40a8c5:	01 00                	add    %eax,(%eax)
40a8c7:	06                   	push   %es
40a8c8:	73 40                	jae    0x40a90a
40a8ca:	00 00                	add    %al,(%eax)
40a8cc:	0a 6f 41             	or     0x41(%edi),%ch
40a8cf:	00 00                	add    %al,(%eax)
40a8d1:	0a 02                	or     (%edx),%al
40a8d3:	7b 0d                	jnp    0x40a8e2
40a8d5:	01 00                	add    %eax,(%eax)
40a8d7:	04 17                	add    $0x17,%al
40a8d9:	6f                   	outsl  %ds:(%esi),(%dx)
40a8da:	33 00                	xor    (%eax),%eax
40a8dc:	00 0a                	add    %cl,(%edx)
40a8de:	02 7b 0d             	add    0xd(%ebx),%bh
40a8e1:	01 00                	add    %eax,(%eax)
40a8e3:	04 1f                	add    $0x1f,%al
40a8e5:	0c 1f                	or     $0x1f,%al
40a8e7:	0c 73                	or     $0x73,%al
40a8e9:	36 00 00             	add    %al,%ss:(%eax)
40a8ec:	0a 6f 37             	or     0x37(%edi),%ch
40a8ef:	00 00                	add    %al,(%eax)
40a8f1:	0a 02                	or     (%edx),%al
40a8f3:	7b 0d                	jnp    0x40a902
40a8f5:	01 00                	add    %eax,(%eax)
40a8f7:	04 20                	add    $0x20,%al
40a8f9:	1b 27                	sbb    (%edi),%esp
40a8fb:	31 34 28             	xor    %esi,(%eax,%ebp,1)
40a8fe:	7d 00                	jge    0x40a900
40a900:	00 06                	add    %al,(%esi)
40a902:	6f                   	outsl  %ds:(%esi),(%dx)
40a903:	38 00                	cmp    %al,(%eax)
40a905:	00 0a                	add    %cl,(%edx)
40a907:	02 7b 0d             	add    0xd(%ebx),%bh
40a90a:	01 00                	add    %eax,(%eax)
40a90c:	04 20                	add    $0x20,%al
40a90e:	dc 00                	faddl  (%eax)
40a910:	00 00                	add    %al,(%eax)
40a912:	1f                   	pop    %ds
40a913:	0d 73 39 00 00       	or     $0x3973,%eax
40a918:	0a 6f 3a             	or     0x3a(%edi),%ch
40a91b:	00 00                	add    %al,(%eax)
40a91d:	0a 02                	or     (%edx),%al
40a91f:	7b 0d                	jnp    0x40a92e
40a921:	01 00                	add    %eax,(%eax)
40a923:	04 18                	add    $0x18,%al
40a925:	6f                   	outsl  %ds:(%esi),(%dx)
40a926:	3b 00                	cmp    (%eax),%eax
40a928:	00 0a                	add    %cl,(%edx)
40a92a:	02 7b 0d             	add    0xd(%ebx),%bh
40a92d:	01 00                	add    %eax,(%eax)
40a92f:	04 20                	add    $0x20,%al
40a931:	26 27                	es daa
40a933:	31 34 28             	xor    %esi,(%eax,%ebp,1)
40a936:	7d 00                	jge    0x40a938
40a938:	00 06                	add    %al,(%esi)
40a93a:	6f                   	outsl  %ds:(%esi),(%dx)
40a93b:	3c 00                	cmp    $0x0,%al
40a93d:	00 0a                	add    %cl,(%edx)
40a93f:	02 22                	add    (%edx),%ah
40a941:	00 00                	add    %al,(%eax)
40a943:	c0 40 22 00          	rolb   $0x0,0x22(%eax)
40a947:	00 50 41             	add    %dl,0x41(%eax)
40a94a:	73 48                	jae    0x40a994
40a94c:	00 00                	add    %al,(%eax)
40a94e:	0a 28                	or     (%eax),%ch
40a950:	49                   	dec    %ecx
40a951:	00 00                	add    %al,(%eax)
40a953:	0a 02                	or     (%edx),%al
40a955:	17                   	pop    %ss
40a956:	28 4a 00             	sub    %cl,0x0(%edx)
40a959:	00 0a                	add    %cl,(%edx)
40a95b:	02 02                	add    (%edx),%al
40a95d:	7b 0c                	jnp    0x40a96b
40a95f:	01 00                	add    %eax,(%eax)
40a961:	04 28                	add    $0x28,%al
40a963:	4b                   	dec    %ebx
40a964:	00 00                	add    %al,(%eax)
40a966:	0a 02                	or     (%edx),%al
40a968:	20 62 01             	and    %ah,0x1(%edx)
40a96b:	00 00                	add    %al,(%eax)
40a96d:	1f                   	pop    %ds
40a96e:	75 73                	jne    0x40a9e3
40a970:	39 00                	cmp    %eax,(%eax)
40a972:	00 0a                	add    %cl,(%edx)
40a974:	28 4c 00 00          	sub    %cl,0x0(%eax,%eax,1)
40a978:	0a 02                	or     (%edx),%al
40a97a:	28 4d 00             	sub    %cl,0x0(%ebp)
40a97d:	00 0a                	add    %cl,(%edx)
40a97f:	02 7b 0d             	add    0xd(%ebx),%bh
40a982:	01 00                	add    %eax,(%eax)
40a984:	04 6f                	add    $0x6f,%al
40a986:	4e                   	dec    %esi
40a987:	00 00                	add    %al,(%eax)
40a989:	0a 02                	or     (%edx),%al
40a98b:	28 4d 00             	sub    %cl,0x0(%ebp)
40a98e:	00 0a                	add    %cl,(%edx)
40a990:	02 7b 0c             	add    0xc(%ebx),%bh
40a993:	01 00                	add    %eax,(%eax)
40a995:	04 6f                	add    $0x6f,%al
40a997:	4e                   	dec    %esi
40a998:	00 00                	add    %al,(%eax)
40a99a:	0a 02                	or     (%edx),%al
40a99c:	28 4d 00             	sub    %cl,0x0(%ebp)
40a99f:	00 0a                	add    %cl,(%edx)
40a9a1:	02 7b 0b             	add    0xb(%ebx),%bh
40a9a4:	01 00                	add    %eax,(%eax)
40a9a6:	04 6f                	add    $0x6f,%al
40a9a8:	4e                   	dec    %esi
40a9a9:	00 00                	add    %al,(%eax)
40a9ab:	0a 02                	or     (%edx),%al
40a9ad:	28 4d 00             	sub    %cl,0x0(%ebp)
40a9b0:	00 0a                	add    %cl,(%edx)
40a9b2:	02 7b 0a             	add    0xa(%ebx),%bh
40a9b5:	01 00                	add    %eax,(%eax)
40a9b7:	04 6f                	add    $0x6f,%al
40a9b9:	4e                   	dec    %esi
40a9ba:	00 00                	add    %al,(%eax)
40a9bc:	0a 02                	or     (%edx),%al
40a9be:	06                   	push   %es
40a9bf:	20 ff                	and    %bh,%bh
40a9c1:	40                   	inc    %eax
40a9c2:	31 34 28             	xor    %esi,(%eax,%ebp,1)
40a9c5:	7d 00                	jge    0x40a9c7
40a9c7:	00 06                	add    %al,(%esi)
40a9c9:	6f                   	outsl  %ds:(%esi),(%dx)
40a9ca:	4f                   	dec    %edi
40a9cb:	00 00                	add    %al,(%eax)
40a9cd:	0a 74 33 00          	or     0x0(%ebx,%esi,1),%dh
40a9d1:	00 01                	add    %al,(%ecx)
40a9d3:	28 50 00             	sub    %dl,0x0(%eax)
40a9d6:	00 0a                	add    %cl,(%edx)
40a9d8:	02 16                	add    (%esi),%dl
40a9da:	28 51 00             	sub    %dl,0x0(%ecx)
40a9dd:	00 0a                	add    %cl,(%edx)
40a9df:	02 16                	add    (%esi),%dl
40a9e1:	28 52 00             	sub    %dl,0x0(%edx)
40a9e4:	00 0a                	add    %cl,(%edx)
40a9e6:	02 20                	add    (%eax),%ah
40a9e8:	57                   	push   %edi
40a9e9:	27                   	daa
40a9ea:	31 34 28             	xor    %esi,(%eax,%ebp,1)
40a9ed:	7d 00                	jge    0x40a9ef
40a9ef:	00 06                	add    %al,(%esi)
40a9f1:	28 38                	sub    %bh,(%eax)
40a9f3:	00 00                	add    %al,(%eax)
40a9f5:	0a 02                	or     (%edx),%al
40a9f7:	16                   	push   %ss
40a9f8:	28 53 00             	sub    %dl,0x0(%ebx)
40a9fb:	00 0a                	add    %cl,(%edx)
40a9fd:	02 16                	add    (%esi),%dl
40a9ff:	28 54 00 00          	sub    %dl,0x0(%eax,%eax,1)
40aa03:	0a 02                	or     (%edx),%al
40aa05:	1a 28                	sbb    (%eax),%ch
40aa07:	55                   	push   %ebp
40aa08:	00 00                	add    %al,(%eax)
40aa0a:	0a 02                	or     (%edx),%al
40aa0c:	20 03                	and    %al,(%ebx)
40aa0e:	40                   	inc    %eax
40aa0f:	31 34 28             	xor    %esi,(%eax,%ebp,1)
40aa12:	7d 00                	jge    0x40aa14
40aa14:	00 06                	add    %al,(%esi)
40aa16:	6f                   	outsl  %ds:(%esi),(%dx)
40aa17:	3c 00                	cmp    $0x0,%al
40aa19:	00 0a                	add    %cl,(%edx)
40aa1b:	02 16                	add    (%esi),%dl
40aa1d:	28 57 00             	sub    %dl,0x0(%edi)
40aa20:	00 0a                	add    %cl,(%edx)
40aa22:	02 28                	add    (%eax),%ch
40aa24:	58                   	pop    %eax
40aa25:	00 00                	add    %al,(%eax)
40aa27:	0a 2a                	or     (%edx),%ch
40aa29:	00 00                	add    %al,(%eax)
40aa2b:	00 13                	add    %dl,(%ebx)
40aa2d:	30 02                	xor    %al,(%edx)
40aa2f:	00 14 00             	add    %dl,(%eax,%eax,1)
40aa32:	00 00                	add    %al,(%eax)
40aa34:	5f                   	pop    %edi
40aa35:	00 00                	add    %al,(%eax)
40aa37:	11 02                	adc    %eax,(%edx)
40aa39:	7b 12                	jnp    0x40aa4d
40aa3b:	01 00                	add    %eax,(%eax)
40aa3d:	04 02                	add    $0x2,%al
40aa3f:	7b 13                	jnp    0x40aa54
40aa41:	01 00                	add    %eax,(%eax)
40aa43:	04 73                	add    $0x73,%al
40aa45:	32 01                	xor    (%ecx),%al