4076b9:	5d                   	pop    %ebp
4076ba:	c3                   	ret
4076bb:	b7 28                	mov    $0x28,%bh
4076bd:	b6 57                	mov    $0x57,%dh
4076bf:	c5 55 8b             	lds    -0x75(%ebp),%edx
4076c2:	ec                   	in     (%dx),%al
4076c3:	53                   	push   %ebx
4076c4:	56                   	push   %esi
4076c5:	8b 75 08             	mov    0x8(%ebp),%esi
4076c8:	57                   	push   %edi
4076c9:	8d 7e 28             	lea    0x28(%esi),%edi
4076cc:	8d 46 44             	lea    0x44(%esi),%eax
4076cf:	57                   	push   %edi
4076d0:	50                   	push   %eax
4076d1:	8d 5e 1c             	lea    0x1c(%esi),%ebx
4076d4:	53                   	push   %ebx
4076d5:	e8 46 04 01 00       	call   0x417b20
4076da:	89 86 98 0b 00 00    	mov    %eax,0xb98(%esi)
4076e0:	57                   	push   %edi
4076e1:	8d 46 44             	lea    0x44(%esi),%eax
4076e4:	50                   	push   %eax
4076e5:	53                   	push   %ebx
4076e6:	e8 35 04 01 00       	call   0x417b20
4076eb:	8b 4e 04             	mov    0x4(%esi),%ecx
4076ee:	57                   	push   %edi
4076ef:	8d 56 51             	lea    0x51(%esi),%edx
4076f2:	52                   	push   %edx
4076f3:	33 c8                	xor    %eax,%ecx
4076f5:	53                   	push   %ebx
4076f6:	89 8e 14 0a 00 00    	mov    %ecx,0xa14(%esi)
4076fc:	e8 1f 04 01 00       	call   0x417b20
407701:	8b 4e 04             	mov    0x4(%esi),%ecx
407704:	83 c4 24             	add    $0x24,%esp
407707:	33 c8                	xor    %eax,%ecx
407709:	5f                   	pop    %edi
40770a:	89 8e 18 0a 00 00    	mov    %ecx,0xa18(%esi)
407710:	5e                   	pop    %esi
407711:	5b                   	pop    %ebx
407712:	5d                   	pop    %ebp
407713:	c3                   	ret
407714:	fc                   	cld
407715:	84 54 d5 f2          	test   %dl,-0xe(%ebp,%edx,8)
407719:	6e                   	outsb  %ds:(%esi),(%dx)
40771a:	70 38                	jo     0x407754
40771c:	e9 6c 10 cb 55       	jmp    0x560b878d
407721:	8b ec                	mov    %esp,%ebp
407723:	56                   	push   %esi
407724:	8b 75 08             	mov    0x8(%ebp),%esi
407727:	56                   	push   %esi
407728:	c7 06 ff ff ff ff    	movl   $0xffffffff,(%esi)
40772e:	e8 fd e3 00 00       	call   0x415b30
407733:	56                   	push   %esi
407734:	89 46 10             	mov    %eax,0x10(%esi)
407737:	e8 a4 e2 00 00       	call   0x4159e0
40773c:	83 c4 08             	add    $0x8,%esp
40773f:	89 46 08             	mov    %eax,0x8(%esi)
407742:	85 c0                	test   %eax,%eax
407744:	75 05                	jne    0x40774b
407746:	32 c0                	xor    %al,%al
407748:	5e                   	pop    %esi
407749:	5d                   	pop    %ebp
40774a:	c3                   	ret
40774b:	e8 f0 fa ff ff       	call   0x407240
407750:	3d 00 03 00 00       	cmp    $0x300,%eax
407755:	0f 9f c0             	setg   %al
407758:	6a 73                	push   $0x73
40775a:	56                   	push   %esi
40775b:	88 46 34             	mov    %al,0x34(%esi)
40775e:	e8 ad aa 00 00       	call   0x412210
407763:	50                   	push   %eax
407764:	e8 87 04 01 00       	call   0x417bf0
407769:	83 c4 0c             	add    $0xc,%esp
40776c:	85 c0                	test   %eax,%eax
40776e:	74 0d                	je     0x40777d
407770:	8b 4e 04             	mov    0x4(%esi),%ecx
407773:	31 8e ac 04 00 00    	xor    %ecx,0x4ac(%esi)
407779:	c6 46 33 01          	movb   $0x1,0x33(%esi)
40777d:	56                   	push   %esi
40777e:	e8 ad 00 01 00       	call   0x417830
407783:	83 c4 04             	add    $0x4,%esp
407786:	89 46 0c             	mov    %eax,0xc(%esi)
407789:	85 c0                	test   %eax,%eax
40778b:	74 b9                	je     0x407746
40778d:	e8 ae fa ff ff       	call   0x407240
407792:	3d 00 03 00 00       	cmp    $0x300,%eax
407797:	0f 9f c2             	setg   %dl
40779a:	56                   	push   %esi
40779b:	88 56 35             	mov    %dl,0x35(%esi)
40779e:	e8 3d fc ff ff       	call   0x4073e0
4077a3:	56                   	push   %esi
4077a4:	e8 e7 f6 ff ff       	call   0x406e90
4077a9:	56                   	push   %esi
4077aa:	e8 41 f9 ff ff       	call   0x4070f0
4077af:	56                   	push   %esi
4077b0:	e8 ab f7 ff ff       	call   0x406f60
4077b5:	56                   	push   %esi
4077b6:	e8 f5 de ff ff       	call   0x4056b0
4077bb:	83 c4 14             	add    $0x14,%esp
4077be:	5e                   	pop    %esi
4077bf:	5d                   	pop    %ebp
4077c0:	c3                   	ret
4077c1:	18 65 cf             	sbb    %ah,-0x31(%ebp)
4077c4:	cb                   	lret
4077c5:	98                   	cwtl
4077c6:	a2 24 eb 22 83       	mov    %al,0x8322eb24
4077cb:	3f                   	aas
4077cc:	a4                   	movsb  %ds:(%esi),%es:(%edi)
4077cd:	1b 71 33             	sbb    0x33(%ecx),%esi
4077d0:	55                   	push   %ebp
4077d1:	8b ec                	mov    %esp,%ebp
4077d3:	56                   	push   %esi
4077d4:	8b 75 08             	mov    0x8(%ebp),%esi
4077d7:	56                   	push   %esi
4077d8:	e8 43 ff ff ff       	call   0x407720
4077dd:	83 c4 04             	add    $0x4,%esp
4077e0:	84 c0                	test   %al,%al
4077e2:	75 03                	jne    0x4077e7
4077e4:	5e                   	pop    %esi
4077e5:	5d                   	pop    %ebp
4077e6:	c3                   	ret
4077e7:	56                   	push   %esi
4077e8:	e8 d3 fe ff ff       	call   0x4076c0
4077ed:	6a 3c                	push   $0x3c
4077ef:	56                   	push   %esi
4077f0:	e8 ab 50 00 00       	call   0x40c8a0
4077f5:	83 c4 0c             	add    $0xc,%esp
4077f8:	b0 01                	mov    $0x1,%al
4077fa:	5e                   	pop    %esi
4077fb:	5d                   	pop    %ebp
4077fc:	c3                   	ret
4077fd:	cd cd                	int    $0xcd
4077ff:	13 55 8b             	adc    -0x75(%ebp),%edx
407802:	ec                   	in     (%dx),%al
407803:	8b 55 08             	mov    0x8(%ebp),%edx
407806:	56                   	push   %esi
407807:	57                   	push   %edi
407808:	33 c9                	xor    %ecx,%ecx
40780a:	bf 00 01 00 00       	mov    $0x100,%edi
40780f:	90                   	nop
407810:	8b c1                	mov    %ecx,%eax
407812:	c1 e0 18             	shl    $0x18,%eax
407815:	be 08 00 00 00       	mov    $0x8,%esi
40781a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
407820:	85 c0                	test   %eax,%eax
407822:	79 09                	jns    0x40782d
407824:	03 c0                	add    %eax,%eax
407826:	35 b7 1d c1 04       	xor    $0x4c11db7,%eax
40782b:	eb 02                	jmp    0x40782f
40782d:	03 c0                	add    %eax,%eax
40782f:	4e                   	dec    %esi
407830:	75 ee                	jne    0x407820
407832:	89 02                	mov    %eax,(%edx)
407834:	41                   	inc    %ecx
407835:	83 c2 04             	add    $0x4,%edx
407838:	4f                   	dec    %edi
407839:	75 d5                	jne    0x407810
40783b:	5f                   	pop    %edi
40783c:	5e                   	pop    %esi
40783d:	5d                   	pop    %ebp
40783e:	c3                   	ret
40783f:	cc                   	int3
407840:	55                   	push   %ebp
407841:	8b ec                	mov    %esp,%ebp
407843:	81 ec 00 04 00 00    	sub    $0x400,%esp
407849:	56                   	push   %esi
40784a:	68 fc 03 00 00       	push   $0x3fc
40784f:	8d 85 04 fc ff ff    	lea    -0x3fc(%ebp),%eax
407855:	6a 00                	push   $0x0
407857:	50                   	push   %eax
407858:	c7 85 00 fc ff ff 00 	movl   $0x0,-0x400(%ebp)
40785f:	00 00 00
407862:	e8 79 0b 01 00       	call   0x4183e0
407867:	8d 8d 00 fc ff ff    	lea    -0x400(%ebp),%ecx
40786d:	51                   	push   %ecx
40786e:	e8 8d ff ff ff       	call   0x407800
407873:	8b 75 0c             	mov    0xc(%ebp),%esi
407876:	83 c4 10             	add    $0x10,%esp
407879:	83 c8 ff             	or     $0xffffffff,%eax
40787c:	85 f6                	test   %esi,%esi
40787e:	74 23                	je     0x4078a3
407880:	8b 55 08             	mov    0x8(%ebp),%edx
407883:	57                   	push   %edi
407884:	0f b6 3a             	movzbl (%edx),%edi
407887:	8b c8                	mov    %eax,%ecx
407889:	c1 e9 18             	shr    $0x18,%ecx
40788c:	33 cf                	xor    %edi,%ecx
40788e:	81 e1 ff 00 00 00    	and    $0xff,%ecx
407894:	c1 e0 08             	shl    $0x8,%eax
407897:	33 84 8d 00 fc ff ff 	xor    -0x400(%ebp,%ecx,4),%eax
40789e:	42                   	inc    %edx
40789f:	4e                   	dec    %esi
4078a0:	75 e2                	jne    0x407884
4078a2:	5f                   	pop    %edi
4078a3:	f7 d0                	not    %eax
4078a5:	5e                   	pop    %esi
4078a6:	8b e5                	mov    %ebp,%esp
4078a8:	5d                   	pop    %ebp
4078a9:	c3                   	ret
4078aa:	5a                   	pop    %edx
4078ab:	6b f8 c5             	imul   $0xffffffc5,%eax,%edi
4078ae:	f5                   	cmc
4078af:	ca 55 8b             	lret   $0x8b55
4078b2:	ec                   	in     (%dx),%al
4078b3:	8b 45 08             	mov    0x8(%ebp),%eax
4078b6:	33 c9                	xor    %ecx,%ecx
4078b8:	89 48 14             	mov    %ecx,0x14(%eax)
4078bb:	89 48 18             	mov    %ecx,0x18(%eax)
4078be:	89 48 5c             	mov    %ecx,0x5c(%eax)
4078c1:	c7 00 01 23 45 67    	movl   $0x67452301,(%eax)
4078c7:	c7 40 04 89 ab cd ef 	movl   $0xefcdab89,0x4(%eax)
4078ce:	c7 40 08 fe dc ba 98 	movl   $0x98badcfe,0x8(%eax)
4078d5:	c7 40 0c 76 54 32 10 	movl   $0x10325476,0xc(%eax)
4078dc:	c7 40 10 f0 e1 d2 c3 	movl   $0xc3d2e1f0,0x10(%eax)
4078e3:	89 48 60             	mov    %ecx,0x60(%eax)
4078e6:	89 48 64             	mov    %ecx,0x64(%eax)
4078e9:	5d                   	pop    %ebp
4078ea:	c3                   	ret
4078eb:	89 46 14             	mov    %eax,0x14(%esi)
4078ee:	cd a9                	int    $0xa9
4078f0:	55                   	push   %ebp
4078f1:	8b ec                	mov    %esp,%ebp
4078f3:	81 ec 4c 01 00 00    	sub    $0x14c,%esp
4078f9:	53                   	push   %ebx
4078fa:	56                   	push   %esi
4078fb:	8b 75 08             	mov    0x8(%ebp),%esi
4078fe:	57                   	push   %edi
4078ff:	33 c9                	xor    %ecx,%ecx
407901:	8d 46 1d             	lea    0x1d(%esi),%eax
407904:	0f b6 50 ff          	movzbl -0x1(%eax),%edx
407908:	0f b6 38             	movzbl (%eax),%edi
40790b:	c1 e2 08             	shl    $0x8,%edx
40790e:	0b d7                	or     %edi,%edx
407910:	0f b6 78 01          	movzbl 0x1(%eax),%edi
407914:	c1 e2 08             	shl    $0x8,%edx
407917:	0b d7                	or     %edi,%edx
407919:	0f b6 78 02          	movzbl 0x2(%eax),%edi
40791d:	c1 e2 08             	shl    $0x8,%edx
407920:	0b d7                	or     %edi,%edx
407922:	0f b6 78 04          	movzbl 0x4(%eax),%edi
407926:	89 94 8d b4 fe ff ff 	mov    %edx,-0x14c(%ebp,%ecx,4)
40792d:	0f b6 50 03          	movzbl 0x3(%eax),%edx
407931:	c1 e2 08             	shl    $0x8,%edx
407934:	0b d7                	or     %edi,%edx
407936:	0f b6 78 05          	movzbl 0x5(%eax),%edi
40793a:	c1 e2 08             	shl    $0x8,%edx
40793d:	0b d7                	or     %edi,%edx
40793f:	0f b6 78 06          	movzbl 0x6(%eax),%edi
407943:	c1 e2 08             	shl    $0x8,%edx
407946:	0b d7                	or     %edi,%edx
407948:	0f b6 78 08          	movzbl 0x8(%eax),%edi
40794c:	89 94 8d b8 fe ff ff 	mov    %edx,-0x148(%ebp,%ecx,4)
407953:	0f b6 50 07          	movzbl 0x7(%eax),%edx
407957:	c1 e2 08             	shl    $0x8,%edx
40795a:	0b d7                	or     %edi,%edx
40795c:	0f b6 78 09          	movzbl 0x9(%eax),%edi
407960:	c1 e2 08             	shl    $0x8,%edx
407963:	0b d7                	or     %edi,%edx
407965:	0f b6 78 0a          	movzbl 0xa(%eax),%edi
407969:	c1 e2 08             	shl    $0x8,%edx
40796c:	0b d7                	or     %edi,%edx
40796e:	0f b6 78 0c          	movzbl 0xc(%eax),%edi
407972:	89 94 8d bc fe ff ff 	mov    %edx,-0x144(%ebp,%ecx,4)
407979:	0f b6 50 0b          	movzbl 0xb(%eax),%edx
40797d:	c1 e2 08             	shl    $0x8,%edx
407980:	0b d7                	or     %edi,%edx
407982:	0f b6 78 0d          	movzbl 0xd(%eax),%edi
407986:	c1 e2 08             	shl    $0x8,%edx
407989:	0b d7                	or     %edi,%edx
40798b:	0f b6 78 0e          	movzbl 0xe(%eax),%edi
40798f:	c1 e2 08             	shl    $0x8,%edx
407992:	0b d7                	or     %edi,%edx
407994:	89 94 8d c0 fe ff ff 	mov    %edx,-0x140(%ebp,%ecx,4)
40799b:	83 c1 04             	add    $0x4,%ecx
40799e:	83 c0 10             	add    $0x10,%eax
4079a1:	83 f9 10             	cmp    $0x10,%ecx
4079a4:	0f 8c 5a ff ff ff    	jl     0x407904
4079aa:	8d 85 d4 fe ff ff    	lea    -0x12c(%ebp),%eax
4079b0:	c7 45 fc 10 00 00 00 	movl   $0x10,-0x4(%ebp)
4079b7:	8b 48 e0             	mov    -0x20(%eax),%ecx
4079ba:	33 48 14             	xor    0x14(%eax),%ecx
4079bd:	8b 58 e4             	mov    -0x1c(%eax),%ebx
4079c0:	33 58 18             	xor    0x18(%eax),%ebx
4079c3:	33 08                	xor    (%eax),%ecx
4079c5:	33 58 04             	xor    0x4(%eax),%ebx
4079c8:	8b 50 e8             	mov    -0x18(%eax),%edx
4079cb:	8b 78 ec             	mov    -0x14(%eax),%edi
4079ce:	33 ca                	xor    %edx,%ecx
4079d0:	33 df                	xor    %edi,%ebx
4079d2:	d1 c1                	rol    $1,%ecx
4079d4:	d1 c3                	rol    $1,%ebx
4079d6:	89 58 24             	mov    %ebx,0x24(%eax)
4079d9:	8b 58 1c             	mov    0x1c(%eax),%ebx
4079dc:	33 58 f0             	xor    -0x10(%eax),%ebx
4079df:	89 48 20             	mov    %ecx,0x20(%eax)
4079e2:	33 58 08             	xor    0x8(%eax),%ebx
4079e5:	83 c0 10             	add    $0x10,%eax
4079e8:	33 da                	xor    %edx,%ebx
4079ea:	8b 50 e4             	mov    -0x1c(%eax),%edx
4079ed:	33 50 fc             	xor    -0x4(%eax),%edx
4079f0:	d1 c3                	rol    $1,%ebx
4079f2:	33 d1                	xor    %ecx,%edx
4079f4:	33 d7                	xor    %edi,%edx
4079f6:	d1 c2                	rol    $1,%edx
4079f8:	ff 4d fc             	decl   -0x4(%ebp)
4079fb:	89 58 18             	mov    %ebx,0x18(%eax)
4079fe:	89 50 1c             	mov    %edx,0x1c(%eax)
407a01:	75 b4                	jne    0x4079b7
407a03:	8b 1e                	mov    (%esi),%ebx
407a05:	8b 46 04             	mov    0x4(%esi),%eax
407a08:	8b 4e 08             	mov    0x8(%esi),%ecx
407a0b:	8b 56 0c             	mov    0xc(%esi),%edx
407a0e:	8b 76 10             	mov    0x10(%esi),%esi
407a11:	89 5d f8             	mov    %ebx,-0x8(%ebp)
407a14:	89 75 f4             	mov    %esi,-0xc(%ebp)
407a17:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
407a1e:	8b ff                	mov    %edi,%edi
407a20:	8b f0                	mov    %eax,%esi
407a22:	f7 d6                	not    %esi
407a24:	23 f2                	and    %edx,%esi
407a26:	c1 c3 05             	rol    $0x5,%ebx
407a29:	8b f9                	mov    %ecx,%edi
407a2b:	23 f8                	and    %eax,%edi
407a2d:	0b f7                	or     %edi,%esi
407a2f:	8b 7d fc             	mov    -0x4(%ebp),%edi
407a32:	03 de                	add    %esi,%ebx
407a34:	03 9c bd b4 fe ff ff 	add    -0x14c(%ebp,%edi,4),%ebx
407a3b:	8b 75 f4             	mov    -0xc(%ebp),%esi
407a3e:	8d b4 33 99 79 82 5a 	lea    0x5a827999(%ebx,%esi,1),%esi
407a45:	8b 5d f8             	mov    -0x8(%ebp),%ebx
407a48:	c1 c8 02             	ror    $0x2,%eax
407a4b:	89 55 f4             	mov    %edx,-0xc(%ebp)
407a4e:	8b d3                	mov    %ebx,%edx
407a50:	f7 d2                	not    %edx
407a52:	23 d1                	and    %ecx,%edx
407a54:	89 75 f8             	mov    %esi,-0x8(%ebp)
407a57:	c1 c6 05             	rol    $0x5,%esi
407a5a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
407a5d:	8b c8                	mov    %eax,%ecx
407a5f:	23 cb                	and    %ebx,%ecx
407a61:	0b d1                	or     %ecx,%edx
407a63:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407a66:	03 f2                	add    %edx,%esi
407a68:	03 b4 bd b8 fe ff ff 	add    -0x148(%ebp,%edi,4),%esi
407a6f:	8b 55 f4             	mov    -0xc(%ebp),%edx
407a72:	8d 94 16 99 79 82 5a 	lea    0x5a827999(%esi,%edx,1),%edx
407a79:	8b f0                	mov    %eax,%esi
407a7b:	c1 cb 02             	ror    $0x2,%ebx
407a7e:	89 4d f4             	mov    %ecx,-0xc(%ebp)
407a81:	8b 4d f8             	mov    -0x8(%ebp),%ecx
407a84:	8b c1                	mov    %ecx,%eax