45282d:	65 77 6f             	gs ja  0x45289f
452830:	72 6b                	jb     0x45289d
452832:	20 34 2e             	and    %dh,(%esi,%ebp,1)
452835:	35 0f 01 00 0a       	xor    $0xa00010f,%eax
45283a:	37                   	aaa
45283b:	2e 31 31             	xor    %esi,%cs:(%ecx)
45283e:	2e 31 35 2e 31 39 00 	xor    %esi,%cs:0x39312e
452845:	00 04 01             	add    %al,(%ecx,%eax,1)
452848:	00 00                	add    %al,(%eax)
45284a:	00 05 20 02 01 0e    	add    %al,0xe010220
452850:	0e                   	push   %cs
452851:	41                   	inc    %ecx
452852:	01 00                	add    %eax,(%eax)
452854:	33 53 79             	xor    0x79(%ebx),%edx
452857:	73 74                	jae    0x4528cd
452859:	65 6d                	gs insl (%dx),%es:(%edi)
45285b:	2e 52                	cs push %edx
45285d:	65 73 6f             	gs jae 0x4528cf
452860:	75 72                	jne    0x4528d4
452862:	63 65 73             	arpl   %esp,0x73(%ebp)
452865:	2e 54                	cs push %esp
452867:	6f                   	outsl  %ds:(%esi),(%dx)
452868:	6f                   	outsl  %ds:(%esi),(%dx)
452869:	6c                   	insb   (%dx),%es:(%edi)
45286a:	73 2e                	jae    0x45289a
45286c:	53                   	push   %ebx
45286d:	74 72                	je     0x4528e1
45286f:	6f                   	outsl  %ds:(%esi),(%dx)
452870:	6e                   	outsb  %ds:(%esi),(%dx)
452871:	67 6c                	insb   (%dx),%es:(%di)
452873:	79 54                	jns    0x4528c9
452875:	79 70                	jns    0x4528e7
452877:	65 64 52             	gs fs push %edx
45287a:	65 73 6f             	gs jae 0x4528ec
45287d:	75 72                	jne    0x4528f1
45287f:	63 65 42             	arpl   %esp,0x42(%ebp)
452882:	75 69                	jne    0x4528ed
452884:	6c                   	insb   (%dx),%es:(%edi)
452885:	64 65 72 08          	fs gs jb 0x452891
452889:	31 36                	xor    %esi,(%esi)
45288b:	2e 30 2e             	xor    %ch,%cs:(%esi)
45288e:	30 2e                	xor    %ch,(%esi)
452890:	30 00                	xor    %al,(%eax)
452892:	00 06                	add    %al,(%esi)
452894:	20 01                	and    %al,(%ecx)
452896:	01 11                	add    %edx,(%ecx)
452898:	80 9d 08 01 00 02 00 	sbbb   $0x0,0x2000108(%ebp)
45289f:	00 00                	add    %al,(%eax)
4528a1:	00 00                	add    %al,(%eax)
4528a3:	59                   	pop    %ecx
4528a4:	01 00                	add    %eax,(%eax)
4528a6:	4b                   	dec    %ebx
4528a7:	4d                   	dec    %ebp
4528a8:	69 63 72 6f 73 6f 66 	imul   $0x666f736f,0x72(%ebx),%esp
4528af:	74 2e                	je     0x4528df
4528b1:	56                   	push   %esi
4528b2:	69 73 75 61 6c 53 74 	imul   $0x74536c61,0x75(%ebx),%esi
4528b9:	75 64                	jne    0x45291f
4528bb:	69 6f 2e 45 64 69 74 	imul   $0x74696445,0x2e(%edi),%ebp
4528c2:	6f                   	outsl  %ds:(%esi),(%dx)
4528c3:	72 73                	jb     0x452938
4528c5:	2e 53                	cs push %ebx
4528c7:	65 74 74             	gs je  0x45293e
4528ca:	69 6e 67 73 44 65 73 	imul   $0x73654473,0x67(%esi),%ebp
4528d1:	69 67 6e 65 72 2e 53 	imul   $0x532e7265,0x6e(%edi),%esp
4528d8:	65 74 74             	gs je  0x45294f
4528db:	69 6e 67 73 53 69 6e 	imul   $0x6e695373,0x67(%esi),%ebp
4528e2:	67 6c                	insb   (%dx),%es:(%di)
4528e4:	65 46                	gs inc %esi
4528e6:	69 6c 65 47 65 6e 65 	imul   $0x72656e65,0x47(%ebp,%eiz,2),%ebp
4528ed:	72
4528ee:	61                   	popa
4528ef:	74 6f                	je     0x452960
4528f1:	72 08                	jb     0x4528fb
4528f3:	31 36                	xor    %esi,(%esi)
4528f5:	2e 33 2e             	xor    %cs:(%esi),%ebp
4528f8:	30 2e                	xor    %ch,(%esi)
4528fa:	30 00                	xor    %al,(%eax)
4528fc:	00 1f                	add    %bl,(%edi)
4528fe:	07                   	pop    %es
4528ff:	10 12                	adc    %dl,(%edx)
452901:	28 19                	sub    %bl,(%ecx)
452903:	12 18                	adc    (%eax),%bl
452905:	1d 05 12 38 12       	sbb    $0x12381205,%eax
45290a:	04 0e                	add    $0xe,%al
45290c:	11 44 1c 11          	adc    %eax,0x11(%esp,%ebx,1)
452910:	48                   	dec    %eax
452911:	12 14 12             	adc    (%edx,%edx,1),%dl
452914:	10 12                	adc    %dl,(%edx)
452916:	3c 12                	cmp    $0x12,%al
452918:	08 12                	or     %dl,(%edx)
45291a:	0c 12                	or     $0x12,%al
45291c:	40                   	inc    %eax
45291d:	02 1d 05 04 07 02    	add    0x2070405,%bl
452923:	08 08                	or     %cl,(%eax)
452925:	08 00                	or     %al,(%eax)
452927:	02 01                	add    (%ecx),%al
452929:	12 3d 11 80 b1 1f    	adc    0x1fb18011,%bh
45292f:	07                   	pop    %es
452930:	10 19                	adc    %bl,(%ecx)
452932:	0e                   	push   %cs
452933:	11 44 12 18          	adc    %eax,0x18(%edx,%edx,1)
452937:	12 40 12             	adc    0x12(%eax),%al
45293a:	3c 12                	cmp    $0x12,%al
45293c:	28 1c 1d 05 12 14 12 	sub    %bl,0x12141205(,%ebx,1)
452943:	08 12                	or     %dl,(%edx)
452945:	0c 12                	or     $0x12,%al
452947:	04 11                	add    $0x11,%al
452949:	48                   	dec    %eax
45294a:	12 38                	adc    (%eax),%bh
45294c:	12 24 06             	adc    (%esi,%eax,1),%ah
45294f:	07                   	pop    %es
452950:	04 08                	add    $0x8,%al
452952:	08 08                	or     %cl,(%eax)
452954:	08 08                	or     %cl,(%eax)
452956:	00 01                	add    %al,(%ecx)
452958:	12 80 b5 11 80 b9    	adc    -0x467fee4b(%eax),%al
45295e:	06                   	push   %es
45295f:	00 01                	add    %al,(%ecx)
452961:	1c 12                	sbb    $0x12,%al
452963:	80 b5 1d 07 0f 0e 11 	xorb   $0x11,0xe0f071d(%ebp)
45296a:	44                   	inc    %esp
45296b:	1d 05 19 12 3c       	sbb    $0x3c121905,%eax
452970:	12 24 12             	adc    (%edx,%edx,1),%ah
452973:	28 11                	sub    %dl,(%ecx)
452975:	48                   	dec    %eax
452976:	12 38                	adc    (%eax),%bh
452978:	12 18                	adc    (%eax),%bl
45297a:	1c 12                	sbb    $0x12,%al
45297c:	0c 12                	or     $0x12,%al
45297e:	40                   	inc    %eax
45297f:	12 10                	adc    (%eax),%dl
452981:	12 04 1f             	adc    (%edi,%ebx,1),%al
452984:	07                   	pop    %es
452985:	10 1c 0e             	adc    %bl,(%esi,%ecx,1)
452988:	12 38                	adc    (%eax),%bh
45298a:	1d 05 19 12 40       	sbb    $0x40121905,%eax
45298f:	12 14 12             	adc    (%edx,%edx,1),%dl
452992:	0c 11                	or     $0x11,%al
452994:	44                   	inc    %esp
452995:	12 3c 12             	adc    (%edx,%edx,1),%bh
452998:	04 12                	add    $0x12,%al
45299a:	18 12                	sbb    %dl,(%edx)
45299c:	08 12                	or     %dl,(%edx)
45299e:	28 12                	sub    %dl,(%edx)
4529a0:	10 11                	adc    %dl,(%ecx)
4529a2:	48                   	dec    %eax
4529a3:	1b 07                	sbb    (%edi),%eax
4529a5:	0e                   	push   %cs
4529a6:	0e                   	push   %cs
4529a7:	19 12                	sbb    %edx,(%edx)
4529a9:	24 12                	and    $0x12,%al
4529ab:	04 11                	add    $0x11,%al
4529ad:	48                   	dec    %eax
4529ae:	12 18                	adc    (%eax),%bl
4529b0:	12 40 1d             	adc    0x1d(%eax),%al
4529b3:	05 11 44 1c 12       	add    $0x121c4411,%eax
4529b8:	0c 12                	or     $0x12,%al
4529ba:	10 12                	adc    %dl,(%edx)
4529bc:	38 12                	cmp    %dl,(%edx)
4529be:	14 1b                	adc    $0x1b,%al
4529c0:	07                   	pop    %es
4529c1:	0e                   	push   %cs
4529c2:	12 10                	adc    (%eax),%dl
4529c4:	12 40 0e             	adc    0xe(%eax),%al
4529c7:	19 12                	sbb    %edx,(%edx)
4529c9:	0c 12                	or     $0x12,%al
4529cb:	24 1c                	and    $0x1c,%al
4529cd:	12 18                	adc    (%eax),%bl
4529cf:	12 08                	adc    (%eax),%cl
4529d1:	12 28                	adc    (%eax),%ch
4529d3:	12 14 11             	adc    (%ecx,%edx,1),%dl
4529d6:	44                   	inc    %esp
4529d7:	1d 05 12 04 1f       	sbb    $0x1f041205,%eax
4529dc:	07                   	pop    %es
4529dd:	10 19                	adc    %bl,(%ecx)
4529df:	0e                   	push   %cs
4529e0:	12 18                	adc    (%eax),%bl
4529e2:	1c 12                	sbb    $0x12,%al
4529e4:	10 1d 05 11 44 12    	adc    %bl,0x12441105
4529ea:	08 12                	or     %dl,(%edx)
4529ec:	24 11                	and    $0x11,%al
4529ee:	48                   	dec    %eax
4529ef:	12 04 12             	adc    (%edx,%edx,1),%al
4529f2:	40                   	inc    %eax
4529f3:	12 38                	adc    (%eax),%bh
4529f5:	12 3c 12             	adc    (%edx,%edx,1),%bh
4529f8:	14 12                	adc    $0x12,%al
4529fa:	28 21                	sub    %ah,(%ecx)
4529fc:	07                   	pop    %es
4529fd:	11 19                	adc    %ebx,(%ecx)
4529ff:	0e                   	push   %cs
452a00:	12 14 12             	adc    (%edx,%edx,1),%dl
452a03:	08 12                	or     %dl,(%edx)
452a05:	3c 1d                	cmp    $0x1d,%al
452a07:	05 1c 12 28 12       	add    $0x1228121c,%eax
452a0c:	0c 12                	or     $0x12,%al
452a0e:	18 11                	sbb    %dl,(%ecx)
452a10:	48                   	dec    %eax
452a11:	12 40 12             	adc    0x12(%eax),%al
452a14:	04 11                	add    $0x11,%al
452a16:	44                   	inc    %esp
452a17:	12 38                	adc    (%eax),%bh
452a19:	12 24 12             	adc    (%edx,%edx,1),%ah
452a1c:	10 03                	adc    %al,(%ebx)
452a1e:	07                   	pop    %es
452a1f:	01 1c 0f             	add    %ebx,(%edi,%ecx,1)
452a22:	07                   	pop    %es
452a23:	0d 08 08 08 08       	or     $0x8080808,%eax
452a28:	08 08                	or     %cl,(%eax)
452a2a:	08 08                	or     %cl,(%eax)
452a2c:	08 08                	or     %cl,(%eax)
452a2e:	08 08                	or     %cl,(%eax)
452a30:	08 1b                	or     %bl,(%ebx)
452a32:	07                   	pop    %es
452a33:	19 1c 08             	sbb    %ebx,(%eax,%ecx,1)
452a36:	08 08                	or     %cl,(%eax)
452a38:	08 08                	or     %cl,(%eax)
452a3a:	08 08                	or     %cl,(%eax)
452a3c:	08 08                	or     %cl,(%eax)
452a3e:	08 08                	or     %cl,(%eax)
452a40:	08 08                	or     %cl,(%eax)
452a42:	08 08                	or     %cl,(%eax)
452a44:	08 08                	or     %cl,(%eax)
452a46:	08 08                	or     %cl,(%eax)
452a48:	08 08                	or     %cl,(%eax)
452a4a:	08 08                	or     %cl,(%eax)
452a4c:	08 08                	or     %cl,(%eax)
452a4e:	b0 3f                	mov    $0x3f,%al
452a50:	5f                   	pop    %edi
452a51:	7f 11                	jg     0x452a64
452a53:	d5 0a                	aad    $0xa
452a55:	3a 09                	cmp    (%ecx),%cl
452a57:	00 02                	add    %al,(%edx)
452a59:	12 80 c1 11 80 c5    	adc    -0x3a7fee3f(%eax),%al
452a5f:	0e                   	push   %cs
452a60:	14 00                	adc    $0x0,%al
452a62:	04 12                	add    $0x12,%al
452a64:	80 cd 11             	or     $0x11,%ch
452a67:	80 d1 0e             	adc    $0xe,%cl
452a6a:	12 80 b5 15 12 80    	adc    -0x7fedea4b(%eax),%al
452a70:	d5 01                	aad    $0x1
452a72:	12 80 c1 0d 15 12    	adc    0x12150dc1(%eax),%al
452a78:	1d 01 15 12 21       	sbb    $0x21121501,%eax
452a7d:	04 12                	add    $0x12,%al
452a7f:	25 1c 1c 1c 0b       	and    $0xb1c1c1c,%eax
452a84:	00 01                	add    %al,(%ecx)
452a86:	15 12 1d 01 13       	adc    $0x13011d12,%eax
452a8b:	00 12                	add    %dl,(%edx)
452a8d:	80 cd 03             	or     $0x3,%ch
452a90:	06                   	push   %es
452a91:	13 00                	adc    (%eax),%eax
452a93:	09 15 12 21 04 12    	or     %edx,0x12042112
452a99:	25 1c 1c 1c 0a       	and    $0xa1c1c1c,%eax
452a9e:	20 03                	and    %al,(%ebx)
452aa0:	13 03                	adc    (%ebx),%eax
452aa2:	13 00                	adc    (%eax),%eax
452aa4:	13 01                	adc    (%ecx),%eax
452aa6:	13 02                	adc    (%edx),%eax
452aa8:	0e                   	push   %cs
452aa9:	00 03                	add    %al,(%ebx)
452aab:	12 80 cd 11 80 d1    	adc    -0x2e7fee33(%eax),%al
452ab1:	12 80 b5 12 80 b5    	adc    -0x4a7fed4b(%eax),%al
452ab7:	0d 15 12 1d 01       	or     $0x11d1215,%eax
452abc:	15 12 29 03 12       	adc    $0x12032912,%eax
452ac1:	25 1c 12 0d 09       	and    $0x90d121c,%eax
452ac6:	15 12 29 03 12       	adc    $0x12032912,%eax
452acb:	25 1c 12 0d 08       	and    $0x80d121c,%eax
452ad0:	20 02                	and    %al,(%edx)
452ad2:	13 02                	adc    (%edx),%eax
452ad4:	13 00                	adc    (%eax),%eax
452ad6:	13 01                	adc    (%ecx),%eax
452ad8:	04 07                	add    $0x7,%al
452ada:	01 11                	add    %edx,(%ecx)
452adc:	20 04 00             	and    %al,(%eax,%eax,1)
452adf:	01 01                	add    %eax,(%ecx)
452ae1:	0e                   	push   %cs
452ae2:	04 00                	add    $0x0,%al
452ae4:	00 12                	add    %dl,(%edx)
452ae6:	11 05 20 02 01 1c    	adc    %eax,0x1c010220
452aec:	18 06                	sbb    %al,(%esi)
452aee:	20 01                	and    %al,(%ecx)
452af0:	01 12                	add    %edx,(%edx)
452af2:	80 e1 04             	and    $0x4,%cl
452af5:	20 00                	and    %al,(%eax)
452af7:	12 15 05 20 02 1c    	adc    0x1c022005,%dl
452afd:	0e                   	push   %cs
452afe:	0e                   	push   %cs
452aff:	1b 07                	sbb    (%edi),%eax
452b01:	0e                   	push   %cs
452b02:	19 1d 05 1c 11 44    	sbb    %ebx,0x44111c05
452b08:	0e                   	push   %cs
452b09:	12 08                	adc    (%eax),%cl
452b0b:	11 48 12             	adc    %ecx,0x12(%eax)
452b0e:	28 12                	sub    %dl,(%edx)
452b10:	04 12                	add    $0x12,%al
452b12:	10 12                	adc    %dl,(%edx)
452b14:	14 12                	adc    $0x12,%al
452b16:	18 12                	sbb    %dl,(%edx)
452b18:	40                   	inc    %eax
452b19:	12 3c 1f             	adc    (%edi,%ebx,1),%bh
452b1c:	07                   	pop    %es
452b1d:	10 12                	adc    %dl,(%edx)
452b1f:	04 12                	add    $0x12,%al
452b21:	18 1d 05 12 0c 0e    	sbb    %bl,0xe0c1205
452b27:	12 40 12             	adc    0x12(%eax),%al
452b2a:	08 19                	or     %bl,(%ecx)
452b2c:	11 44 1c 12          	adc    %eax,0x12(%esp,%ebx,1)
452b30:	14 11                	adc    $0x11,%al
452b32:	48                   	dec    %eax
452b33:	12 3c 12             	adc    (%edx,%edx,1),%bh
452b36:	38 12                	cmp    %dl,(%edx)
452b38:	10 12                	adc    %dl,(%edx)
452b3a:	28 03                	sub    %al,(%ebx)
452b3c:	07                   	pop    %es
452b3d:	01 08                	add    %ecx,(%eax)
452b3f:	05 00 01 1d 05       	add    $0x51d0100,%eax
452b44:	08 10                	or     %dl,(%eax)
452b46:	07                   	pop    %es
452b47:	0e                   	push   %cs
452b48:	08 08                	or     %cl,(%eax)
452b4a:	08 08                	or     %cl,(%eax)
452b4c:	08 08                	or     %cl,(%eax)
452b4e:	08 08                	or     %cl,(%eax)
452b50:	08 08                	or     %cl,(%eax)
452b52:	08 08                	or     %cl,(%eax)
452b54:	08 08                	or     %cl,(%eax)
452b56:	05 00 01 0e 1d       	add    $0x1d0e0100,%eax
452b5b:	0e                   	push   %cs
452b5c:	1f                   	pop    %ds
452b5d:	07                   	pop    %es
452b5e:	19 12                	sbb    %edx,(%edx)
452b60:	80 ed 12             	sub    $0x12,%ch
452b63:	80 f1 1c             	xor    $0x1c,%cl
452b66:	08 08                	or     %cl,(%eax)
452b68:	08 08                	or     %cl,(%eax)
452b6a:	08 08                	or     %cl,(%eax)
452b6c:	08 08                	or     %cl,(%eax)
452b6e:	08 08                	or     %cl,(%eax)
452b70:	08 08                	or     %cl,(%eax)
452b72:	08 08                	or     %cl,(%eax)
452b74:	08 08                	or     %cl,(%eax)
452b76:	08 08                	or     %cl,(%eax)
452b78:	08 08                	or     %cl,(%eax)
452b7a:	08 08                	or     %cl,(%eax)
452b7c:	06                   	push   %es
452b7d:	20 01                	and    %al,(%ecx)
452b7f:	12 15 1d 05 06 20    	adc    0x2006051d,%dl
452b85:	00 1d 12 80 b5 0b    	add    %bl,0xbb58012
452b8b:	20 03                	and    %al,(%ebx)