4068a2:	50                   	push   %eax
4068a3:	ff 75 08             	push   0x8(%ebp)
4068a6:	ff 15 fc 80 40 00    	call   *0x4080fc
4068ac:	8b 45 fc             	mov    -0x4(%ebp),%eax
4068af:	5f                   	pop    %edi
4068b0:	5e                   	pop    %esi
4068b1:	c9                   	leave
4068b2:	c2 04 00             	ret    $0x4
4068b5:	83 3d cc 7d 42 00 00 	cmpl   $0x0,0x427dcc
4068bc:	56                   	push   %esi
4068bd:	75 2d                	jne    0x4068ec
4068bf:	33 c9                	xor    %ecx,%ecx
4068c1:	6a 08                	push   $0x8
4068c3:	8b c1                	mov    %ecx,%eax
4068c5:	5e                   	pop    %esi
4068c6:	8b d0                	mov    %eax,%edx
4068c8:	80 e2 01             	and    $0x1,%dl
4068cb:	f6 da                	neg    %dl
4068cd:	1b d2                	sbb    %edx,%edx
4068cf:	81 e2 20 83 b8 ed    	and    $0xedb88320,%edx
4068d5:	d1 e8                	shr    $1,%eax
4068d7:	33 c2                	xor    %edx,%eax
4068d9:	4e                   	dec    %esi
4068da:	75 ea                	jne    0x4068c6
4068dc:	89 04 8d c8 7d 42 00 	mov    %eax,0x427dc8(,%ecx,4)
4068e3:	41                   	inc    %ecx
4068e4:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
4068ea:	7c d5                	jl     0x4068c1
4068ec:	8b 54 24 10          	mov    0x10(%esp),%edx
4068f0:	8b 44 24 08          	mov    0x8(%esp),%eax
4068f4:	85 d2                	test   %edx,%edx
4068f6:	f7 d0                	not    %eax
4068f8:	76 23                	jbe    0x40691d
4068fa:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4068fe:	57                   	push   %edi
4068ff:	0f b6 39             	movzbl (%ecx),%edi
406902:	8b f0                	mov    %eax,%esi
406904:	81 e6 ff 00 00 00    	and    $0xff,%esi
40690a:	33 f7                	xor    %edi,%esi
40690c:	c1 e8 08             	shr    $0x8,%eax
40690f:	8b 34 b5 c8 7d 42 00 	mov    0x427dc8(,%esi,4),%esi
406916:	33 c6                	xor    %esi,%eax
406918:	41                   	inc    %ecx
406919:	4a                   	dec    %edx
40691a:	75 e3                	jne    0x4068ff
40691c:	5f                   	pop    %edi
40691d:	f7 d0                	not    %eax
40691f:	5e                   	pop    %esi
406920:	c2 0c 00             	ret    $0xc
406923:	b8 80 00 00 00       	mov    $0x80,%eax
406928:	48                   	dec    %eax
406929:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
40692d:	75 f9                	jne    0x406928
40692f:	83 49 78 ff          	orl    $0xffffffff,0x78(%ecx)
406933:	33 c0                	xor    %eax,%eax
406935:	40                   	inc    %eax
406936:	89 41 68             	mov    %eax,0x68(%ecx)
406939:	89 41 64             	mov    %eax,0x64(%ecx)
40693c:	89 41 60             	mov    %eax,0x60(%ecx)
40693f:	89 41 5c             	mov    %eax,0x5c(%ecx)
406942:	c3                   	ret
406943:	55                   	push   %ebp
406944:	8b ec                	mov    %esp,%ebp
406946:	81 ec 90 00 00 00    	sub    $0x90,%esp
40694c:	53                   	push   %ebx
40694d:	56                   	push   %esi
40694e:	57                   	push   %edi
40694f:	6a 22                	push   $0x22
406951:	8b f1                	mov    %ecx,%esi
406953:	59                   	pop    %ecx
406954:	8d bd 78 ff ff ff    	lea    -0x88(%ebp),%edi
40695a:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
406960:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
406962:	83 7d d0 ff          	cmpl   $0xffffffff,-0x30(%ebp)
406966:	75 08                	jne    0x406970
406968:	33 c0                	xor    %eax,%eax
40696a:	40                   	inc    %eax
40696b:	e9 20 0a 00 00       	jmp    0x407390
406970:	8b 5d bc             	mov    -0x44(%ebp),%ebx
406973:	8b 75 ac             	mov    -0x54(%ebp),%esi
406976:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
40697c:	83 f8 1c             	cmp    $0x1c,%eax
40697f:	0f 87 08 0a 00 00    	ja     0x40738d
406985:	ff 24 85 95 73 40 00 	jmp    *0x407395(,%eax,4)
40698c:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
406990:	0f 84 e2 09 00 00    	je     0x407378
406996:	8b 45 90             	mov    -0x70(%ebp),%eax
406999:	ff 4d 94             	decl   -0x6c(%ebp)
40699c:	ff 45 90             	incl   -0x70(%ebp)
40699f:	8a 00                	mov    (%eax),%al
4069a1:	3c e1                	cmp    $0xe1,%al
4069a3:	0f 87 e4 09 00 00    	ja     0x40738d
4069a9:	0f b6 c0             	movzbl %al,%eax
4069ac:	6a 2d                	push   $0x2d
4069ae:	99                   	cltd
4069af:	59                   	pop    %ecx
4069b0:	f7 f9                	idiv   %ecx
4069b2:	6a 09                	push   $0x9
4069b4:	59                   	pop    %ecx
4069b5:	8b f0                	mov    %eax,%esi
4069b7:	0f b6 c2             	movzbl %dl,%eax
4069ba:	99                   	cltd
4069bb:	f7 f9                	idiv   %ecx
4069bd:	8b ce                	mov    %esi,%ecx
4069bf:	0f b6 fa             	movzbl %dl,%edi
4069c2:	33 d2                	xor    %edx,%edx
4069c4:	89 7d c4             	mov    %edi,-0x3c(%ebp)
4069c7:	42                   	inc    %edx
4069c8:	d3 e2                	shl    %cl,%edx
4069ca:	8b c8                	mov    %eax,%ecx
4069cc:	4a                   	dec    %edx
4069cd:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4069d0:	33 d2                	xor    %edx,%edx
4069d2:	42                   	inc    %edx
4069d3:	d3 e2                	shl    %cl,%edx
4069d5:	8d 0c 37             	lea    (%edi,%esi,1),%ecx
4069d8:	be 00 03 00 00       	mov    $0x300,%esi
4069dd:	d3 e6                	shl    %cl,%esi
4069df:	4a                   	dec    %edx
4069e0:	89 55 e8             	mov    %edx,-0x18(%ebp)
4069e3:	81 c6 36 07 00 00    	add    $0x736,%esi
4069e9:	8d 3c 36             	lea    (%esi,%esi,1),%edi
4069ec:	3b 7d 88             	cmp    -0x78(%ebp),%edi
4069ef:	74 26                	je     0x406a17
4069f1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4069f5:	74 09                	je     0x406a00
4069f7:	ff 75 fc             	push   -0x4(%ebp)
4069fa:	ff 15 28 81 40 00    	call   *0x408128
406a00:	57                   	push   %edi
406a01:	6a 40                	push   $0x40
406a03:	ff 15 34 81 40 00    	call   *0x408134
406a09:	85 c0                	test   %eax,%eax
406a0b:	89 45 fc             	mov    %eax,-0x4(%ebp)
406a0e:	0f 84 79 09 00 00    	je     0x40738d
406a14:	89 7d 88             	mov    %edi,-0x78(%ebp)
406a17:	85 f6                	test   %esi,%esi
406a19:	74 0c                	je     0x406a27
406a1b:	8b 45 fc             	mov    -0x4(%ebp),%eax
406a1e:	4e                   	dec    %esi
406a1f:	66 c7 04 70 00 04    	movw   $0x400,(%eax,%esi,2)
406a25:	75 f4                	jne    0x406a1b
406a27:	83 65 b8 00          	andl   $0x0,-0x48(%ebp)
406a2b:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
406a2f:	eb 26                	jmp    0x406a57
406a31:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
406a35:	0f 84 a6 08 00 00    	je     0x4072e1
406a3b:	8b 45 b8             	mov    -0x48(%ebp),%eax
406a3e:	ff 4d 94             	decl   -0x6c(%ebp)
406a41:	8b c8                	mov    %eax,%ecx
406a43:	8b 45 90             	mov    -0x70(%ebp),%eax
406a46:	c1 e1 03             	shl    $0x3,%ecx
406a49:	0f b6 00             	movzbl (%eax),%eax
406a4c:	d3 e0                	shl    %cl,%eax
406a4e:	09 45 c0             	or     %eax,-0x40(%ebp)
406a51:	ff 45 90             	incl   -0x70(%ebp)
406a54:	ff 45 b8             	incl   -0x48(%ebp)
406a57:	83 7d b8 04          	cmpl   $0x4,-0x48(%ebp)
406a5b:	7c d4                	jl     0x406a31
406a5d:	8b 45 c0             	mov    -0x40(%ebp),%eax
406a60:	3b 45 8c             	cmp    -0x74(%ebp),%eax
406a63:	74 28                	je     0x406a8d
406a65:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
406a69:	89 45 8c             	mov    %eax,-0x74(%ebp)
406a6c:	74 09                	je     0x406a77
406a6e:	ff 75 f8             	push   -0x8(%ebp)
406a71:	ff 15 28 81 40 00    	call   *0x408128
406a77:	ff 75 c0             	push   -0x40(%ebp)
406a7a:	6a 40                	push   $0x40
406a7c:	ff 15 34 81 40 00    	call   *0x408134
406a82:	85 c0                	test   %eax,%eax
406a84:	89 45 f8             	mov    %eax,-0x8(%ebp)
406a87:	0f 84 00 09 00 00    	je     0x40738d
406a8d:	8b 45 f8             	mov    -0x8(%ebp),%eax
406a90:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
406a93:	c7 45 b8 05 00 00 00 	movl   $0x5,-0x48(%ebp)
406a9a:	80 64 08 ff 00       	andb   $0x0,-0x1(%eax,%ecx,1)
406a9f:	eb 21                	jmp    0x406ac2
406aa1:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
406aa5:	0f 84 45 08 00 00    	je     0x4072f0
406aab:	8b 4d 90             	mov    -0x70(%ebp),%ecx
406aae:	8b 45 f4             	mov    -0xc(%ebp),%eax
406ab1:	ff 4d 94             	decl   -0x6c(%ebp)
406ab4:	0f b6 09             	movzbl (%ecx),%ecx
406ab7:	c1 e0 08             	shl    $0x8,%eax
406aba:	0b c1                	or     %ecx,%eax
406abc:	ff 45 90             	incl   -0x70(%ebp)
406abf:	89 45 f4             	mov    %eax,-0xc(%ebp)
406ac2:	8b 45 b8             	mov    -0x48(%ebp),%eax
406ac5:	ff 4d b8             	decl   -0x48(%ebp)
406ac8:	85 c0                	test   %eax,%eax
406aca:	75 d5                	jne    0x406aa1
406acc:	8b 45 a0             	mov    -0x60(%ebp),%eax
406acf:	8b 4d c8             	mov    -0x38(%ebp),%ecx
406ad2:	23 45 e4             	and    -0x1c(%ebp),%eax
406ad5:	c7 85 7c ff ff ff 06 	movl   $0x6,-0x84(%ebp)
406adc:	00 00 00
406adf:	c1 e1 04             	shl    $0x4,%ecx
406ae2:	89 45 b4             	mov    %eax,-0x4c(%ebp)
406ae5:	03 c8                	add    %eax,%ecx
406ae7:	8b 45 fc             	mov    -0x4(%ebp),%eax
406aea:	8d 34 48             	lea    (%eax,%ecx,2),%esi
406aed:	e9 6c 06 00 00       	jmp    0x40715e
406af2:	33 d2                	xor    %edx,%edx
406af4:	39 55 c0             	cmp    %edx,-0x40(%ebp)
406af7:	75 6f                	jne    0x406b68
406af9:	0f b6 45 a4          	movzbl -0x5c(%ebp),%eax
406afd:	8b 75 a0             	mov    -0x60(%ebp),%esi
406b00:	b1 08                	mov    $0x8,%cl
406b02:	2a 4d c4             	sub    -0x3c(%ebp),%cl
406b05:	23 75 e8             	and    -0x18(%ebp),%esi
406b08:	d3 e8                	shr    %cl,%eax
406b0a:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
406b0d:	d3 e6                	shl    %cl,%esi
406b0f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406b12:	03 c6                	add    %esi,%eax
406b14:	8d 04 40             	lea    (%eax,%eax,2),%eax
406b17:	c1 e0 09             	shl    $0x9,%eax
406b1a:	83 7d c8 04          	cmpl   $0x4,-0x38(%ebp)
406b1e:	8d 84 08 6c 0e 00 00 	lea    0xe6c(%eax,%ecx,1),%eax
406b25:	89 45 a8             	mov    %eax,-0x58(%ebp)
406b28:	7d 05                	jge    0x406b2f
406b2a:	89 55 c8             	mov    %edx,-0x38(%ebp)
406b2d:	eb 10                	jmp    0x406b3f
406b2f:	83 7d c8 0a          	cmpl   $0xa,-0x38(%ebp)
406b33:	7d 06                	jge    0x406b3b
406b35:	83 6d c8 03          	subl   $0x3,-0x38(%ebp)
406b39:	eb 04                	jmp    0x406b3f
406b3b:	83 6d c8 06          	subl   $0x6,-0x38(%ebp)
406b3f:	39 55 cc             	cmp    %edx,-0x34(%ebp)
406b42:	74 1c                	je     0x406b60
406b44:	8b 45 ec             	mov    -0x14(%ebp),%eax
406b47:	2b 45 d4             	sub    -0x2c(%ebp),%eax
406b4a:	3b 45 8c             	cmp    -0x74(%ebp),%eax
406b4d:	72 03                	jb     0x406b52
406b4f:	03 45 8c             	add    -0x74(%ebp),%eax
406b52:	8b 4d f8             	mov    -0x8(%ebp),%ecx
406b55:	33 db                	xor    %ebx,%ebx
406b57:	43                   	inc    %ebx
406b58:	8a 04 08             	mov    (%eax,%ecx,1),%al
406b5b:	88 45 a5             	mov    %al,-0x5b(%ebp)
406b5e:	eb 68                	jmp    0x406bc8
406b60:	33 db                	xor    %ebx,%ebx
406b62:	43                   	inc    %ebx
406b63:	e9 cd 01 00 00       	jmp    0x406d35
406b68:	8b 45 fc             	mov    -0x4(%ebp),%eax
406b6b:	8b 4d c8             	mov    -0x38(%ebp),%ecx
406b6e:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
406b75:	c7 85 7c ff ff ff 07 	movl   $0x7,-0x84(%ebp)
406b7c:	00 00 00
406b7f:	8d b4 48 80 01 00 00 	lea    0x180(%eax,%ecx,2),%esi
406b86:	e9 d3 05 00 00       	jmp    0x40715e
406b8b:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
406b8f:	0f 84 67 07 00 00    	je     0x4072fc
406b95:	8b 4d 90             	mov    -0x70(%ebp),%ecx
406b98:	8b 45 f4             	mov    -0xc(%ebp),%eax
406b9b:	c1 65 f0 08          	shll   $0x8,-0x10(%ebp)
406b9f:	0f b6 09             	movzbl (%ecx),%ecx
406ba2:	ff 4d 94             	decl   -0x6c(%ebp)
406ba5:	c1 e0 08             	shl    $0x8,%eax
406ba8:	0b c1                	or     %ecx,%eax
406baa:	ff 45 90             	incl   -0x70(%ebp)
406bad:	89 45 f4             	mov    %eax,-0xc(%ebp)
406bb0:	8b 45 c0             	mov    -0x40(%ebp),%eax
406bb3:	39 45 b8             	cmp    %eax,-0x48(%ebp)
406bb6:	0f 85 ad 00 00 00    	jne    0x406c69
406bbc:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
406bc2:	0f 8d 05 01 00 00    	jge    0x406ccd
406bc8:	0f b6 45 a5          	movzbl -0x5b(%ebp),%eax
406bcc:	d0 65 a5             	shlb   $1,-0x5b(%ebp)
406bcf:	8b 4d a8             	mov    -0x58(%ebp),%ecx
406bd2:	c1 e8 07             	shr    $0x7,%eax
406bd5:	89 45 b8             	mov    %eax,-0x48(%ebp)
406bd8:	40                   	inc    %eax
406bd9:	c1 e0 08             	shl    $0x8,%eax
406bdc:	03 c3                	add    %ebx,%eax
406bde:	8d 34 41             	lea    (%ecx,%eax,2),%esi
406be1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406be4:	c1 e9 0b             	shr    $0xb,%ecx
406be7:	66 8b 06             	mov    (%esi),%ax
406bea:	89 75 ac             	mov    %esi,-0x54(%ebp)
406bed:	0f b7 d0             	movzwl %ax,%edx
406bf0:	0f af ca             	imul   %edx,%ecx
406bf3:	39 4d f4             	cmp    %ecx,-0xc(%ebp)
406bf6:	73 1a                	jae    0x406c12
406bf8:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
406bfc:	89 4d f0             	mov    %ecx,-0x10(%ebp)
406bff:	b9 00 08 00 00       	mov    $0x800,%ecx
406c04:	2b ca                	sub    %edx,%ecx
406c06:	c1 f9 05             	sar    $0x5,%ecx
406c09:	03 c8                	add    %eax,%ecx
406c0b:	03 db                	add    %ebx,%ebx
406c0d:	66 89 0e             	mov    %cx,(%esi)
406c10:	eb 1d                	jmp    0x406c2f
406c12:	29 4d f0             	sub    %ecx,-0x10(%ebp)
406c15:	29 4d f4             	sub    %ecx,-0xc(%ebp)
406c18:	66 8b c8             	mov    %ax,%cx
406c1b:	c7 45 c0 01 00 00 00 	movl   $0x1,-0x40(%ebp)
406c22:	66 c1 e9 05          	shr    $0x5,%cx
406c26:	2b c1                	sub    %ecx,%eax
406c28:	8d 5c 1b 01          	lea    0x1(%ebx,%ebx,1),%ebx
406c2c:	66 89 06             	mov    %ax,(%esi)
406c2f:	81 7d f0 00 00 00 01 	cmpl   $0x1000000,-0x10(%ebp)
406c36:	89 5d bc             	mov    %ebx,-0x44(%ebp)
406c39:	0f 83 71 ff ff ff    	jae    0x406bb0
406c3f:	e9 47 ff ff ff       	jmp    0x406b8b
406c44:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
406c48:	0f 84 ba 06 00 00    	je     0x407308
406c4e:	8b 4d 90             	mov    -0x70(%ebp),%ecx
406c51:	8b 45 f4             	mov    -0xc(%ebp),%eax
406c54:	c1 65 f0 08          	shll   $0x8,-0x10(%ebp)
406c58:	0f b6 09             	movzbl (%ecx),%ecx
406c5b:	ff 4d 94             	decl   -0x6c(%ebp)
406c5e:	c1 e0 08             	shl    $0x8,%eax
406c61:	0b c1                	or     %ecx,%eax
406c63:	ff 45 90             	incl   -0x70(%ebp)
406c66:	89 45 f4             	mov    %eax,-0xc(%ebp)
406c69:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
406c6f:	7d 5c                	jge    0x406ccd
406c71:	8b 45 a8             	mov    -0x58(%ebp),%eax
406c74:	8d 14 1b             	lea    (%ebx,%ebx,1),%edx
406c77:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406c7a:	8d 34 02             	lea    (%edx,%eax,1),%esi
406c7d:	c1 e9 0b             	shr    $0xb,%ecx
406c80:	66 8b 06             	mov    (%esi),%ax
406c83:	89 75 ac             	mov    %esi,-0x54(%ebp)
406c86:	0f b7 f8             	movzwl %ax,%edi
406c89:	0f af cf             	imul   %edi,%ecx
406c8c:	39 4d f4             	cmp    %ecx,-0xc(%ebp)
406c8f:	73 16                	jae    0x406ca7
406c91:	89 4d f0             	mov    %ecx,-0x10(%ebp)
406c94:	b9 00 08 00 00       	mov    $0x800,%ecx
406c99:	2b cf                	sub    %edi,%ecx
406c9b:	c1 f9 05             	sar    $0x5,%ecx
406c9e:	03 c8                	add    %eax,%ecx
406ca0:	03 db                	add    %ebx,%ebx
406ca2:	66 89 0e             	mov    %cx,(%esi)
406ca5:	eb 15                	jmp    0x406cbc
406ca7:	29 4d f0             	sub    %ecx,-0x10(%ebp)
406caa:	29 4d f4             	sub    %ecx,-0xc(%ebp)
406cad:	66 8b c8             	mov    %ax,%cx
406cb0:	8d 5a 01             	lea    0x1(%edx),%ebx
406cb3:	66 c1 e9 05          	shr    $0x5,%cx
406cb7:	2b c1                	sub    %ecx,%eax
406cb9:	66 89 06             	mov    %ax,(%esi)
406cbc:	81 7d f0 00 00 00 01 	cmpl   $0x1000000,-0x10(%ebp)
406cc3:	89 5d bc             	mov    %ebx,-0x44(%ebp)
406cc6:	73 a1                	jae    0x406c69
406cc8:	e9 77 ff ff ff       	jmp    0x406c44
406ccd:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
406cd1:	8a 45 bc             	mov    -0x44(%ebp),%al