4068f1:	8b 45 08             	mov    0x8(%ebp),%eax
4068f4:	d3 c8                	ror    %cl,%eax
4068f6:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
4068fc:	5d                   	pop    %ebp
4068fd:	c3                   	ret
4068fe:	55                   	push   %ebp
4068ff:	8b ec                	mov    %esp,%ebp
406901:	8b 45 08             	mov    0x8(%ebp),%eax
406904:	56                   	push   %esi
406905:	8b 48 3c             	mov    0x3c(%eax),%ecx
406908:	03 c8                	add    %eax,%ecx
40690a:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
40690e:	8d 51 18             	lea    0x18(%ecx),%edx
406911:	03 d0                	add    %eax,%edx
406913:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
406917:	6b f0 28             	imul   $0x28,%eax,%esi
40691a:	03 f2                	add    %edx,%esi
40691c:	3b d6                	cmp    %esi,%edx
40691e:	74 19                	je     0x406939
406920:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406923:	3b 4a 0c             	cmp    0xc(%edx),%ecx
406926:	72 0a                	jb     0x406932
406928:	8b 42 08             	mov    0x8(%edx),%eax
40692b:	03 42 0c             	add    0xc(%edx),%eax
40692e:	3b c8                	cmp    %eax,%ecx
406930:	72 0c                	jb     0x40693e
406932:	83 c2 28             	add    $0x28,%edx
406935:	3b d6                	cmp    %esi,%edx
406937:	75 ea                	jne    0x406923
406939:	33 c0                	xor    %eax,%eax
40693b:	5e                   	pop    %esi
40693c:	5d                   	pop    %ebp
40693d:	c3                   	ret
40693e:	8b c2                	mov    %edx,%eax
406940:	eb f9                	jmp    0x40693b
406942:	e8 da 0a 00 00       	call   0x407421
406947:	85 c0                	test   %eax,%eax
406949:	75 03                	jne    0x40694e
40694b:	32 c0                	xor    %al,%al
40694d:	c3                   	ret
40694e:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
406954:	56                   	push   %esi
406955:	be fc 95 83 02       	mov    $0x28395fc,%esi
40695a:	8b 50 04             	mov    0x4(%eax),%edx
40695d:	eb 04                	jmp    0x406963
40695f:	3b d0                	cmp    %eax,%edx
406961:	74 10                	je     0x406973
406963:	33 c0                	xor    %eax,%eax
406965:	8b ca                	mov    %edx,%ecx
406967:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
40696b:	85 c0                	test   %eax,%eax
40696d:	75 f0                	jne    0x40695f
40696f:	32 c0                	xor    %al,%al
406971:	5e                   	pop    %esi
406972:	c3                   	ret
406973:	b0 01                	mov    $0x1,%al
406975:	5e                   	pop    %esi
406976:	c3                   	ret
406977:	55                   	push   %ebp
406978:	8b ec                	mov    %esp,%ebp
40697a:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40697e:	75 07                	jne    0x406987
406980:	c6 05 18 96 83 02 01 	movb   $0x1,0x2839618
406987:	e8 f7 08 00 00       	call   0x407283
40698c:	e8 9c 47 00 00       	call   0x40b12d
406991:	84 c0                	test   %al,%al
406993:	75 04                	jne    0x406999
406995:	32 c0                	xor    %al,%al
406997:	5d                   	pop    %ebp
406998:	c3                   	ret
406999:	e8 34 fd 00 00       	call   0x4166d2
40699e:	84 c0                	test   %al,%al
4069a0:	75 0a                	jne    0x4069ac
4069a2:	6a 00                	push   $0x0
4069a4:	e8 ad 47 00 00       	call   0x40b156
4069a9:	59                   	pop    %ecx
4069aa:	eb e9                	jmp    0x406995
4069ac:	b0 01                	mov    $0x1,%al
4069ae:	5d                   	pop    %ebp
4069af:	c3                   	ret
4069b0:	55                   	push   %ebp
4069b1:	8b ec                	mov    %esp,%ebp
4069b3:	83 ec 0c             	sub    $0xc,%esp
4069b6:	56                   	push   %esi
4069b7:	8b 75 08             	mov    0x8(%ebp),%esi
4069ba:	85 f6                	test   %esi,%esi
4069bc:	74 05                	je     0x4069c3
4069be:	83 fe 01             	cmp    $0x1,%esi
4069c1:	75 7c                	jne    0x406a3f
4069c3:	e8 59 0a 00 00       	call   0x407421
4069c8:	85 c0                	test   %eax,%eax
4069ca:	74 2a                	je     0x4069f6
4069cc:	85 f6                	test   %esi,%esi
4069ce:	75 26                	jne    0x4069f6
4069d0:	68 00 96 83 02       	push   $0x2839600
4069d5:	e8 66 fb 00 00       	call   0x416540
4069da:	59                   	pop    %ecx
4069db:	85 c0                	test   %eax,%eax
4069dd:	74 04                	je     0x4069e3
4069df:	32 c0                	xor    %al,%al
4069e1:	eb 57                	jmp    0x406a3a
4069e3:	68 0c 96 83 02       	push   $0x283960c
4069e8:	e8 53 fb 00 00       	call   0x416540
4069ed:	f7 d8                	neg    %eax
4069ef:	59                   	pop    %ecx
4069f0:	1a c0                	sbb    %al,%al
4069f2:	fe c0                	inc    %al
4069f4:	eb 44                	jmp    0x406a3a
4069f6:	a1 28 ba 43 00       	mov    0x43ba28,%eax
4069fb:	8d 75 f4             	lea    -0xc(%ebp),%esi
4069fe:	57                   	push   %edi
4069ff:	83 e0 1f             	and    $0x1f,%eax
406a02:	bf 00 96 83 02       	mov    $0x2839600,%edi
406a07:	6a 20                	push   $0x20
406a09:	59                   	pop    %ecx
406a0a:	2b c8                	sub    %eax,%ecx
406a0c:	83 c8 ff             	or     $0xffffffff,%eax
406a0f:	d3 c8                	ror    %cl,%eax
406a11:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406a17:	89 45 f4             	mov    %eax,-0xc(%ebp)
406a1a:	89 45 f8             	mov    %eax,-0x8(%ebp)
406a1d:	89 45 fc             	mov    %eax,-0x4(%ebp)
406a20:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406a21:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406a22:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406a23:	bf 0c 96 83 02       	mov    $0x283960c,%edi
406a28:	89 45 f4             	mov    %eax,-0xc(%ebp)
406a2b:	89 45 f8             	mov    %eax,-0x8(%ebp)
406a2e:	8d 75 f4             	lea    -0xc(%ebp),%esi
406a31:	89 45 fc             	mov    %eax,-0x4(%ebp)
406a34:	b0 01                	mov    $0x1,%al
406a36:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406a37:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406a38:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406a39:	5f                   	pop    %edi
406a3a:	5e                   	pop    %esi
406a3b:	8b e5                	mov    %ebp,%esp
406a3d:	5d                   	pop    %ebp
406a3e:	c3                   	ret
406a3f:	6a 05                	push   $0x5
406a41:	e8 e7 09 00 00       	call   0x40742d
406a46:	cc                   	int3
406a47:	6a 08                	push   $0x8
406a49:	68 08 7e 43 00       	push   $0x437e08
406a4e:	e8 cd 0b 00 00       	call   0x407620
406a53:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406a57:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
406a5c:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
406a63:	75 5d                	jne    0x406ac2
406a65:	a1 3c 00 40 00       	mov    0x40003c,%eax
406a6a:	81 b8 00 00 40 00 50 	cmpl   $0x4550,0x400000(%eax)
406a71:	45 00 00
406a74:	75 4c                	jne    0x406ac2
406a76:	b9 0b 01 00 00       	mov    $0x10b,%ecx
406a7b:	66 39 88 18 00 40 00 	cmp    %cx,0x400018(%eax)
406a82:	75 3e                	jne    0x406ac2
406a84:	8b 45 08             	mov    0x8(%ebp),%eax
406a87:	b9 00 00 40 00       	mov    $0x400000,%ecx
406a8c:	2b c1                	sub    %ecx,%eax
406a8e:	50                   	push   %eax
406a8f:	51                   	push   %ecx
406a90:	e8 69 fe ff ff       	call   0x4068fe
406a95:	59                   	pop    %ecx
406a96:	59                   	pop    %ecx
406a97:	85 c0                	test   %eax,%eax
406a99:	74 27                	je     0x406ac2
406a9b:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
406a9f:	7c 21                	jl     0x406ac2
406aa1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406aa8:	b0 01                	mov    $0x1,%al
406aaa:	eb 1f                	jmp    0x406acb
406aac:	8b 45 ec             	mov    -0x14(%ebp),%eax
406aaf:	8b 00                	mov    (%eax),%eax
406ab1:	33 c9                	xor    %ecx,%ecx
406ab3:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
406ab9:	0f 94 c1             	sete   %cl
406abc:	8b c1                	mov    %ecx,%eax
406abe:	c3                   	ret
406abf:	8b 65 e8             	mov    -0x18(%ebp),%esp
406ac2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406ac9:	32 c0                	xor    %al,%al
406acb:	e8 96 0b 00 00       	call   0x407666
406ad0:	c3                   	ret
406ad1:	55                   	push   %ebp
406ad2:	8b ec                	mov    %esp,%ebp
406ad4:	e8 48 09 00 00       	call   0x407421
406ad9:	85 c0                	test   %eax,%eax
406adb:	74 0f                	je     0x406aec
406add:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
406ae1:	75 09                	jne    0x406aec
406ae3:	33 c0                	xor    %eax,%eax
406ae5:	b9 fc 95 83 02       	mov    $0x28395fc,%ecx
406aea:	87 01                	xchg   %eax,(%ecx)
406aec:	5d                   	pop    %ebp
406aed:	c3                   	ret
406aee:	55                   	push   %ebp
406aef:	8b ec                	mov    %esp,%ebp
406af1:	80 3d 18 96 83 02 00 	cmpb   $0x0,0x2839618
406af8:	74 06                	je     0x406b00
406afa:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
406afe:	75 12                	jne    0x406b12
406b00:	ff 75 08             	push   0x8(%ebp)
406b03:	e8 dc fb 00 00       	call   0x4166e4
406b08:	ff 75 08             	push   0x8(%ebp)
406b0b:	e8 46 46 00 00       	call   0x40b156
406b10:	59                   	pop    %ecx
406b11:	59                   	pop    %ecx
406b12:	b0 01                	mov    $0x1,%al
406b14:	5d                   	pop    %ebp
406b15:	c3                   	ret
406b16:	55                   	push   %ebp
406b17:	8b ec                	mov    %esp,%ebp
406b19:	a1 28 ba 43 00       	mov    0x43ba28,%eax
406b1e:	8b c8                	mov    %eax,%ecx
406b20:	33 05 00 96 83 02    	xor    0x2839600,%eax
406b26:	83 e1 1f             	and    $0x1f,%ecx
406b29:	ff 75 08             	push   0x8(%ebp)
406b2c:	d3 c8                	ror    %cl,%eax
406b2e:	83 f8 ff             	cmp    $0xffffffff,%eax
406b31:	75 07                	jne    0x406b3a
406b33:	e8 d5 f9 00 00       	call   0x41650d
406b38:	eb 0b                	jmp    0x406b45
406b3a:	68 00 96 83 02       	push   $0x2839600
406b3f:	e8 39 fa 00 00       	call   0x41657d
406b44:	59                   	pop    %ecx
406b45:	f7 d8                	neg    %eax
406b47:	59                   	pop    %ecx
406b48:	1b c0                	sbb    %eax,%eax
406b4a:	f7 d0                	not    %eax
406b4c:	23 45 08             	and    0x8(%ebp),%eax
406b4f:	5d                   	pop    %ebp
406b50:	c3                   	ret
406b51:	55                   	push   %ebp
406b52:	8b ec                	mov    %esp,%ebp
406b54:	ff 75 08             	push   0x8(%ebp)
406b57:	e8 ba ff ff ff       	call   0x406b16
406b5c:	f7 d8                	neg    %eax
406b5e:	59                   	pop    %ecx
406b5f:	1b c0                	sbb    %eax,%eax
406b61:	f7 d8                	neg    %eax
406b63:	48                   	dec    %eax
406b64:	5d                   	pop    %ebp
406b65:	c3                   	ret
406b66:	53                   	push   %ebx
406b67:	56                   	push   %esi
406b68:	57                   	push   %edi
406b69:	6a 00                	push   $0x0
406b6b:	68 a0 0f 00 00       	push   $0xfa0
406b70:	68 1c 96 83 02       	push   $0x283961c
406b75:	e8 d5 49 00 00       	call   0x40b54f
406b7a:	83 c4 0c             	add    $0xc,%esp
406b7d:	68 a4 74 42 00       	push   $0x4274a4
406b82:	ff 15 6c 71 42 00    	call   *0x42716c
406b88:	8b f0                	mov    %eax,%esi
406b8a:	85 f6                	test   %esi,%esi
406b8c:	0f 84 8c 00 00 00    	je     0x406c1e
406b92:	68 5c 83 42 00       	push   $0x42835c
406b97:	56                   	push   %esi
406b98:	ff 15 70 71 42 00    	call   *0x427170
406b9e:	68 ac 83 42 00       	push   $0x4283ac
406ba3:	56                   	push   %esi
406ba4:	8b d8                	mov    %eax,%ebx
406ba6:	ff 15 70 71 42 00    	call   *0x427170
406bac:	68 90 83 42 00       	push   $0x428390
406bb1:	56                   	push   %esi
406bb2:	8b f8                	mov    %eax,%edi
406bb4:	ff 15 70 71 42 00    	call   *0x427170
406bba:	8b f0                	mov    %eax,%esi
406bbc:	85 db                	test   %ebx,%ebx
406bbe:	74 37                	je     0x406bf7
406bc0:	85 ff                	test   %edi,%edi
406bc2:	74 33                	je     0x406bf7
406bc4:	85 f6                	test   %esi,%esi
406bc6:	74 2f                	je     0x406bf7
406bc8:	83 25 38 96 83 02 00 	andl   $0x0,0x2839638
406bcf:	8b cb                	mov    %ebx,%ecx
406bd1:	68 34 96 83 02       	push   $0x2839634
406bd6:	e8 96 04 00 00       	call   0x407071
406bdb:	ff d3                	call   *%ebx
406bdd:	57                   	push   %edi
406bde:	e8 43 00 00 00       	call   0x406c26
406be3:	56                   	push   %esi
406be4:	a3 3c 96 83 02       	mov    %eax,0x283963c
406be9:	e8 55 00 00 00       	call   0x406c43
406bee:	59                   	pop    %ecx
406bef:	59                   	pop    %ecx
406bf0:	a3 40 96 83 02       	mov    %eax,0x2839640
406bf5:	eb 16                	jmp    0x406c0d
406bf7:	33 c0                	xor    %eax,%eax
406bf9:	50                   	push   %eax
406bfa:	50                   	push   %eax
406bfb:	6a 01                	push   $0x1
406bfd:	50                   	push   %eax
406bfe:	ff 15 54 71 42 00    	call   *0x427154
406c04:	a3 38 96 83 02       	mov    %eax,0x2839638
406c09:	85 c0                	test   %eax,%eax
406c0b:	74 11                	je     0x406c1e
406c0d:	68 60 6c 40 00       	push   $0x406c60
406c12:	e8 3a ff ff ff       	call   0x406b51
406c17:	59                   	pop    %ecx
406c18:	5f                   	pop    %edi
406c19:	5e                   	pop    %esi
406c1a:	33 c0                	xor    %eax,%eax
406c1c:	5b                   	pop    %ebx
406c1d:	c3                   	ret
406c1e:	6a 07                	push   $0x7
406c20:	e8 08 08 00 00       	call   0x40742d
406c25:	cc                   	int3
406c26:	55                   	push   %ebp
406c27:	8b ec                	mov    %esp,%ebp
406c29:	a1 28 ba 43 00       	mov    0x43ba28,%eax
406c2e:	83 e0 1f             	and    $0x1f,%eax
406c31:	6a 20                	push   $0x20
406c33:	59                   	pop    %ecx
406c34:	2b c8                	sub    %eax,%ecx
406c36:	8b 45 08             	mov    0x8(%ebp),%eax
406c39:	d3 c8                	ror    %cl,%eax
406c3b:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406c41:	5d                   	pop    %ebp
406c42:	c3                   	ret
406c43:	55                   	push   %ebp
406c44:	8b ec                	mov    %esp,%ebp
406c46:	a1 28 ba 43 00       	mov    0x43ba28,%eax
406c4b:	83 e0 1f             	and    $0x1f,%eax
406c4e:	6a 20                	push   $0x20
406c50:	59                   	pop    %ecx
406c51:	2b c8                	sub    %eax,%ecx
406c53:	8b 45 08             	mov    0x8(%ebp),%eax
406c56:	d3 c8                	ror    %cl,%eax
406c58:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406c5e:	5d                   	pop    %ebp
406c5f:	c3                   	ret
406c60:	68 1c 96 83 02       	push   $0x283961c
406c65:	ff 15 40 71 42 00    	call   *0x427140
406c6b:	a1 38 96 83 02       	mov    0x2839638,%eax
406c70:	85 c0                	test   %eax,%eax
406c72:	74 07                	je     0x406c7b
406c74:	50                   	push   %eax
406c75:	ff 15 80 71 42 00    	call   *0x427180
406c7b:	c3                   	ret
406c7c:	55                   	push   %ebp
406c7d:	8b ec                	mov    %esp,%ebp
406c7f:	e8 7d 00 00 00       	call   0x406d01
406c84:	8b 0d 10 ba 43 00    	mov    0x43ba10,%ecx
406c8a:	8b 45 08             	mov    0x8(%ebp),%eax
406c8d:	41                   	inc    %ecx
406c8e:	89 0d 10 ba 43 00    	mov    %ecx,0x43ba10
406c94:	89 08                	mov    %ecx,(%eax)
406c96:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
406c9c:	8b 0d 44 96 83 02    	mov    0x2839644,%ecx