51dbc5:	75 f9                	jne    0x51dbc0
51dbc7:	51                   	push   %ecx
51dbc8:	53                   	push   %ebx
51dbc9:	56                   	push   %esi
51dbca:	57                   	push   %edi
51dbcb:	8b f0                	mov    %eax,%esi
51dbcd:	33 c0                	xor    %eax,%eax
51dbcf:	55                   	push   %ebp
51dbd0:	68 ee de 51 00       	push   $0x51deee
51dbd5:	64 ff 30             	push   %fs:(%eax)
51dbd8:	64 89 20             	mov    %esp,%fs:(%eax)
51dbdb:	80 be d8 05 00 00 00 	cmpb   $0x0,0x5d8(%esi)
51dbe2:	0f 84 eb 02 00 00    	je     0x51ded3
51dbe8:	8b 86 5c 03 00 00    	mov    0x35c(%esi),%eax
51dbee:	3b d0                	cmp    %eax,%edx
51dbf0:	75 7d                	jne    0x51dc6f
51dbf2:	8b 10                	mov    (%eax),%edx
51dbf4:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51dbfa:	83 e8 02             	sub    $0x2,%eax
51dbfd:	72 12                	jb     0x51dc11
51dbff:	74 3e                	je     0x51dc3f
51dc01:	48                   	dec    %eax
51dc02:	74 53                	je     0x51dc57
51dc04:	83 c0 fe             	add    $0xfffffffe,%eax
51dc07:	83 e8 03             	sub    $0x3,%eax
51dc0a:	72 33                	jb     0x51dc3f
51dc0c:	e9 f4 00 00 00       	jmp    0x51dd05
51dc11:	8b 86 a0 03 00 00    	mov    0x3a0(%esi),%eax
51dc17:	8b 10                	mov    (%eax),%edx
51dc19:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51dc1f:	85 c0                	test   %eax,%eax
51dc21:	0f 8e de 00 00 00    	jle    0x51dd05
51dc27:	ba 02 00 00 00       	mov    $0x2,%edx
51dc2c:	8b 86 a0 03 00 00    	mov    0x3a0(%esi),%eax
51dc32:	8b 08                	mov    (%eax),%ecx
51dc34:	ff 91 cc 00 00 00    	call   *0xcc(%ecx)
51dc3a:	e9 c6 00 00 00       	jmp    0x51dd05
51dc3f:	ba 04 00 00 00       	mov    $0x4,%edx
51dc44:	8b 86 a0 03 00 00    	mov    0x3a0(%esi),%eax
51dc4a:	8b 08                	mov    (%eax),%ecx
51dc4c:	ff 91 cc 00 00 00    	call   *0xcc(%ecx)
51dc52:	e9 ae 00 00 00       	jmp    0x51dd05
51dc57:	ba 02 00 00 00       	mov    $0x2,%edx
51dc5c:	8b 86 a0 03 00 00    	mov    0x3a0(%esi),%eax
51dc62:	8b 08                	mov    (%eax),%ecx
51dc64:	ff 91 cc 00 00 00    	call   *0xcc(%ecx)
51dc6a:	e9 96 00 00 00       	jmp    0x51dd05
51dc6f:	8b 86 a0 03 00 00    	mov    0x3a0(%esi),%eax
51dc75:	3b d0                	cmp    %eax,%edx
51dc77:	0f 85 88 00 00 00    	jne    0x51dd05
51dc7d:	8b 10                	mov    (%eax),%edx
51dc7f:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51dc85:	83 e8 01             	sub    $0x1,%eax
51dc88:	72 07                	jb     0x51dc91
51dc8a:	74 2b                	je     0x51dcb7
51dc8c:	48                   	dec    %eax
51dc8d:	74 3d                	je     0x51dccc
51dc8f:	eb 74                	jmp    0x51dd05
51dc91:	8b 86 5c 03 00 00    	mov    0x35c(%esi),%eax
51dc97:	8b 10                	mov    (%eax),%edx
51dc99:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51dc9f:	48                   	dec    %eax
51dca0:	7e 63                	jle    0x51dd05
51dca2:	ba 01 00 00 00       	mov    $0x1,%edx
51dca7:	8b 86 5c 03 00 00    	mov    0x35c(%esi),%eax
51dcad:	8b 08                	mov    (%eax),%ecx
51dcaf:	ff 91 cc 00 00 00    	call   *0xcc(%ecx)
51dcb5:	eb 4e                	jmp    0x51dd05
51dcb7:	ba 03 00 00 00       	mov    $0x3,%edx
51dcbc:	8b 86 5c 03 00 00    	mov    0x35c(%esi),%eax
51dcc2:	8b 08                	mov    (%eax),%ecx
51dcc4:	ff 91 cc 00 00 00    	call   *0xcc(%ecx)
51dcca:	eb 39                	jmp    0x51dd05
51dccc:	8b 86 5c 03 00 00    	mov    0x35c(%esi),%eax
51dcd2:	8b 10                	mov    (%eax),%edx
51dcd4:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51dcda:	83 f8 02             	cmp    $0x2,%eax
51dcdd:	74 13                	je     0x51dcf2
51dcdf:	8b 86 5c 03 00 00    	mov    0x35c(%esi),%eax
51dce5:	8b 10                	mov    (%eax),%edx
51dce7:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51dced:	83 f8 03             	cmp    $0x3,%eax
51dcf0:	7e 13                	jle    0x51dd05
51dcf2:	ba 03 00 00 00       	mov    $0x3,%edx
51dcf7:	8b 86 5c 03 00 00    	mov    0x35c(%esi),%eax
51dcfd:	8b 08                	mov    (%eax),%ecx
51dcff:	ff 91 cc 00 00 00    	call   *0xcc(%ecx)
51dd05:	8b 86 48 03 00 00    	mov    0x348(%esi),%eax
51dd0b:	8b 10                	mov    (%eax),%edx
51dd0d:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51dd13:	8b d0                	mov    %eax,%edx
51dd15:	8b c6                	mov    %esi,%eax
51dd17:	e8 04 c7 ff ff       	call   0x51a420
51dd1c:	88 45 ff             	mov    %al,-0x1(%ebp)
51dd1f:	8b 86 5c 03 00 00    	mov    0x35c(%esi),%eax
51dd25:	8b 10                	mov    (%eax),%edx
51dd27:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51dd2d:	8b d8                	mov    %eax,%ebx
51dd2f:	80 fb 05             	cmp    $0x5,%bl
51dd32:	75 0c                	jne    0x51dd40
51dd34:	bf 08 00 00 00       	mov    $0x8,%edi
51dd39:	b8 04 00 00 00       	mov    $0x4,%eax
51dd3e:	eb 2a                	jmp    0x51dd6a
51dd40:	8b 86 a0 03 00 00    	mov    0x3a0(%esi),%eax
51dd46:	8b 10                	mov    (%eax),%edx
51dd48:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51dd4e:	8b 3c c5 a4 40 69 00 	mov    0x6940a4(,%eax,8),%edi
51dd55:	8b 86 a0 03 00 00    	mov    0x3a0(%esi),%eax
51dd5b:	8b 10                	mov    (%eax),%edx
51dd5d:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51dd63:	8b 04 c5 a0 40 69 00 	mov    0x6940a0(,%eax,8),%eax
51dd6a:	8a 55 ff             	mov    -0x1(%ebp),%dl
51dd6d:	3a 96 0c 06 00 00    	cmp    0x60c(%esi),%dl
51dd73:	75 18                	jne    0x51dd8d
51dd75:	3a 9e 14 06 00 00    	cmp    0x614(%esi),%bl
51dd7b:	75 10                	jne    0x51dd8d
51dd7d:	3b be 34 06 00 00    	cmp    0x634(%esi),%edi
51dd83:	75 08                	jne    0x51dd8d
51dd85:	3b 86 38 06 00 00    	cmp    0x638(%esi),%eax
51dd8b:	74 42                	je     0x51ddcf
51dd8d:	8a 55 ff             	mov    -0x1(%ebp),%dl
51dd90:	88 96 0c 06 00 00    	mov    %dl,0x60c(%esi)
51dd96:	88 9e 14 06 00 00    	mov    %bl,0x614(%esi)
51dd9c:	89 86 38 06 00 00    	mov    %eax,0x638(%esi)
51dda2:	89 be 34 06 00 00    	mov    %edi,0x634(%esi)
51dda8:	8b 86 78 05 00 00    	mov    0x578(%esi),%eax
51ddae:	8b 10                	mov    (%eax),%edx
51ddb0:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51ddb6:	84 c0                	test   %al,%al
51ddb8:	74 15                	je     0x51ddcf
51ddba:	8b c6                	mov    %esi,%eax
51ddbc:	e8 f7 e8 ff ff       	call   0x51c6b8
51ddc1:	8b 86 b8 05 00 00    	mov    0x5b8(%esi),%eax
51ddc7:	8b 10                	mov    (%eax),%edx
51ddc9:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51ddcf:	8d 55 f8             	lea    -0x8(%ebp),%edx
51ddd2:	8b 86 50 03 00 00    	mov    0x350(%esi),%eax
51ddd8:	e8 ef a9 f2 ff       	call   0x4487cc
51dddd:	8b 45 f8             	mov    -0x8(%ebp),%eax
51dde0:	33 d2                	xor    %edx,%edx
51dde2:	e8 f9 b8 ee ff       	call   0x4096e0
51dde7:	89 86 10 06 00 00    	mov    %eax,0x610(%esi)
51dded:	8d 55 f4             	lea    -0xc(%ebp),%edx
51ddf0:	8b 86 6c 03 00 00    	mov    0x36c(%esi),%eax
51ddf6:	e8 d1 a9 f2 ff       	call   0x4487cc
51ddfb:	8b 45 f4             	mov    -0xc(%ebp),%eax
51ddfe:	33 d2                	xor    %edx,%edx
51de00:	e8 db b8 ee ff       	call   0x4096e0
51de05:	89 86 18 06 00 00    	mov    %eax,0x618(%esi)
51de0b:	8d 55 f0             	lea    -0x10(%ebp),%edx
51de0e:	8b 86 70 03 00 00    	mov    0x370(%esi),%eax
51de14:	e8 b3 a9 f2 ff       	call   0x4487cc
51de19:	8b 45 f0             	mov    -0x10(%ebp),%eax
51de1c:	33 d2                	xor    %edx,%edx
51de1e:	e8 bd b8 ee ff       	call   0x4096e0
51de23:	89 86 1c 06 00 00    	mov    %eax,0x61c(%esi)
51de29:	8d 55 ec             	lea    -0x14(%ebp),%edx
51de2c:	8b 86 78 03 00 00    	mov    0x378(%esi),%eax
51de32:	e8 95 a9 f2 ff       	call   0x4487cc
51de37:	8b 55 ec             	mov    -0x14(%ebp),%edx
51de3a:	8d 86 20 06 00 00    	lea    0x620(%esi),%eax
51de40:	e8 77 6a ee ff       	call   0x4048bc
51de45:	8d 55 e8             	lea    -0x18(%ebp),%edx
51de48:	8b 86 80 03 00 00    	mov    0x380(%esi),%eax
51de4e:	e8 79 a9 f2 ff       	call   0x4487cc
51de53:	8b 55 e8             	mov    -0x18(%ebp),%edx
51de56:	8d 86 24 06 00 00    	lea    0x624(%esi),%eax
51de5c:	e8 5b 6a ee ff       	call   0x4048bc
51de61:	8d 55 e4             	lea    -0x1c(%ebp),%edx
51de64:	8b 86 88 03 00 00    	mov    0x388(%esi),%eax
51de6a:	e8 5d a9 f2 ff       	call   0x4487cc
51de6f:	8b 55 e4             	mov    -0x1c(%ebp),%edx
51de72:	8d 86 28 06 00 00    	lea    0x628(%esi),%eax
51de78:	e8 3f 6a ee ff       	call   0x4048bc
51de7d:	8d 55 e0             	lea    -0x20(%ebp),%edx
51de80:	8b 86 90 03 00 00    	mov    0x390(%esi),%eax
51de86:	e8 41 a9 f2 ff       	call   0x4487cc
51de8b:	8b 45 e0             	mov    -0x20(%ebp),%eax
51de8e:	33 d2                	xor    %edx,%edx
51de90:	e8 4b b8 ee ff       	call   0x4096e0
51de95:	89 86 2c 06 00 00    	mov    %eax,0x62c(%esi)
51de9b:	8d 55 dc             	lea    -0x24(%ebp),%edx
51de9e:	8b 86 98 03 00 00    	mov    0x398(%esi),%eax
51dea4:	e8 23 a9 f2 ff       	call   0x4487cc
51dea9:	8b 45 dc             	mov    -0x24(%ebp),%eax
51deac:	33 d2                	xor    %edx,%edx
51deae:	e8 2d b8 ee ff       	call   0x4096e0
51deb3:	89 86 30 06 00 00    	mov    %eax,0x630(%esi)
51deb9:	b2 01                	mov    $0x1,%dl
51debb:	8b 86 ec 04 00 00    	mov    0x4ec(%esi),%eax
51dec1:	8b 08                	mov    (%eax),%ecx
51dec3:	ff 51 64             	call   *0x64(%ecx)
51dec6:	b2 01                	mov    $0x1,%dl
51dec8:	8b 86 3c 03 00 00    	mov    0x33c(%esi),%eax
51dece:	8b 08                	mov    (%eax),%ecx
51ded0:	ff 51 64             	call   *0x64(%ecx)
51ded3:	33 c0                	xor    %eax,%eax
51ded5:	5a                   	pop    %edx
51ded6:	59                   	pop    %ecx
51ded7:	59                   	pop    %ecx
51ded8:	64 89 10             	mov    %edx,%fs:(%eax)
51dedb:	68 f5 de 51 00       	push   $0x51def5
51dee0:	8d 45 dc             	lea    -0x24(%ebp),%eax
51dee3:	ba 08 00 00 00       	mov    $0x8,%edx
51dee8:	e8 9f 69 ee ff       	call   0x40488c
51deed:	c3                   	ret
51deee:	e9 19 63 ee ff       	jmp    0x40420c
51def3:	eb eb                	jmp    0x51dee0
51def5:	5f                   	pop    %edi
51def6:	5e                   	pop    %esi
51def7:	5b                   	pop    %ebx
51def8:	8b e5                	mov    %ebp,%esp
51defa:	5d                   	pop    %ebp
51defb:	c3                   	ret
51defc:	55                   	push   %ebp
51defd:	8b ec                	mov    %esp,%ebp
51deff:	33 c9                	xor    %ecx,%ecx
51df01:	51                   	push   %ecx
51df02:	51                   	push   %ecx
51df03:	51                   	push   %ecx
51df04:	51                   	push   %ecx
51df05:	56                   	push   %esi
51df06:	57                   	push   %edi
51df07:	8b f8                	mov    %eax,%edi
51df09:	33 c0                	xor    %eax,%eax
51df0b:	55                   	push   %ebp
51df0c:	68 7d e0 51 00       	push   $0x51e07d
51df11:	64 ff 30             	push   %fs:(%eax)
51df14:	64 89 20             	mov    %esp,%fs:(%eax)
51df17:	80 bf d8 05 00 00 00 	cmpb   $0x0,0x5d8(%edi)
51df1e:	0f 84 3e 01 00 00    	je     0x51e062
51df24:	8b 87 b8 03 00 00    	mov    0x3b8(%edi),%eax
51df2a:	8b 10                	mov    (%eax),%edx
51df2c:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51df32:	8b f0                	mov    %eax,%esi
51df34:	46                   	inc    %esi
51df35:	8b 87 c8 03 00 00    	mov    0x3c8(%edi),%eax
51df3b:	8b 10                	mov    (%eax),%edx
51df3d:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51df43:	3b b7 5c 06 00 00    	cmp    0x65c(%edi),%esi
51df49:	75 08                	jne    0x51df53
51df4b:	3a 87 58 06 00 00    	cmp    0x658(%edi),%al
51df51:	74 33                	je     0x51df86
51df53:	89 b7 5c 06 00 00    	mov    %esi,0x65c(%edi)
51df59:	88 87 58 06 00 00    	mov    %al,0x658(%edi)
51df5f:	8b 87 78 05 00 00    	mov    0x578(%edi),%eax
51df65:	8b 10                	mov    (%eax),%edx
51df67:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51df6d:	84 c0                	test   %al,%al
51df6f:	74 15                	je     0x51df86
51df71:	8b c7                	mov    %edi,%eax
51df73:	e8 40 e7 ff ff       	call   0x51c6b8
51df78:	8b 87 b8 05 00 00    	mov    0x5b8(%edi),%eax
51df7e:	8b 10                	mov    (%eax),%edx
51df80:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51df86:	8d 55 fc             	lea    -0x4(%ebp),%edx
51df89:	8b 87 ac 03 00 00    	mov    0x3ac(%edi),%eax
51df8f:	e8 38 a8 f2 ff       	call   0x4487cc
51df94:	8b 45 fc             	mov    -0x4(%ebp),%eax
51df97:	33 d2                	xor    %edx,%edx
51df99:	e8 42 b7 ee ff       	call   0x4096e0
51df9e:	89 87 44 06 00 00    	mov    %eax,0x644(%edi)
51dfa4:	8d 55 f8             	lea    -0x8(%ebp),%edx
51dfa7:	8b 87 e4 03 00 00    	mov    0x3e4(%edi),%eax
51dfad:	e8 1a a8 f2 ff       	call   0x4487cc
51dfb2:	8b 45 f8             	mov    -0x8(%ebp),%eax
51dfb5:	33 d2                	xor    %edx,%edx
51dfb7:	e8 24 b7 ee ff       	call   0x4096e0
51dfbc:	89 87 48 06 00 00    	mov    %eax,0x648(%edi)
51dfc2:	8d 55 f4             	lea    -0xc(%ebp),%edx
51dfc5:	8b 87 ec 03 00 00    	mov    0x3ec(%edi),%eax
51dfcb:	e8 fc a7 f2 ff       	call   0x4487cc
51dfd0:	8b 45 f4             	mov    -0xc(%ebp),%eax
51dfd3:	33 d2                	xor    %edx,%edx
51dfd5:	e8 06 b7 ee ff       	call   0x4096e0
51dfda:	89 87 4c 06 00 00    	mov    %eax,0x64c(%edi)
51dfe0:	8d 55 f0             	lea    -0x10(%ebp),%edx
51dfe3:	8b 87 d8 03 00 00    	mov    0x3d8(%edi),%eax
51dfe9:	e8 de a7 f2 ff       	call   0x4487cc
51dfee:	8b 45 f0             	mov    -0x10(%ebp),%eax
51dff1:	33 d2                	xor    %edx,%edx
51dff3:	e8 e8 b6 ee ff       	call   0x4096e0
51dff8:	89 87 50 06 00 00    	mov    %eax,0x650(%edi)
51dffe:	8b 87 c4 03 00 00    	mov    0x3c4(%edi),%eax
51e004:	8b 10                	mov    (%eax),%edx
51e006:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51e00c:	88 87 54 06 00 00    	mov    %al,0x654(%edi)
51e012:	8a 97 54 06 00 00    	mov    0x654(%edi),%dl
51e018:	8b 87 bc 03 00 00    	mov    0x3bc(%edi),%eax
51e01e:	8b 08                	mov    (%eax),%ecx
51e020:	ff 51 64             	call   *0x64(%ecx)
51e023:	8a 97 54 06 00 00    	mov    0x654(%edi),%dl
51e029:	8b 87 c0 03 00 00    	mov    0x3c0(%edi),%eax
51e02f:	8b 08                	mov    (%eax),%ecx
51e031:	ff 51 64             	call   *0x64(%ecx)
51e034:	8b 87 c8 03 00 00    	mov    0x3c8(%edi),%eax
51e03a:	8b 10                	mov    (%eax),%edx
51e03c:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51e042:	88 87 58 06 00 00    	mov    %al,0x658(%edi)
51e048:	b2 01                	mov    $0x1,%dl
51e04a:	8b 87 ec 04 00 00    	mov    0x4ec(%edi),%eax
51e050:	8b 08                	mov    (%eax),%ecx
51e052:	ff 51 64             	call   *0x64(%ecx)
51e055:	b2 01                	mov    $0x1,%dl
51e057:	8b 87 3c 03 00 00    	mov    0x33c(%edi),%eax
51e05d:	8b 08                	mov    (%eax),%ecx
51e05f:	ff 51 64             	call   *0x64(%ecx)
51e062:	33 c0                	xor    %eax,%eax
51e064:	5a                   	pop    %edx
51e065:	59                   	pop    %ecx
51e066:	59                   	pop    %ecx
51e067:	64 89 10             	mov    %edx,%fs:(%eax)
51e06a:	68 84 e0 51 00       	push   $0x51e084
51e06f:	8d 45 f0             	lea    -0x10(%ebp),%eax
51e072:	ba 04 00 00 00       	mov    $0x4,%edx
51e077:	e8 10 68 ee ff       	call   0x40488c
51e07c:	c3                   	ret
51e07d:	e9 8a 61 ee ff       	jmp    0x40420c
51e082:	eb eb                	jmp    0x51e06f
51e084:	5f                   	pop    %edi
51e085:	5e                   	pop    %esi
51e086:	8b e5                	mov    %ebp,%esp
51e088:	5d                   	pop    %ebp
51e089:	c3                   	ret
51e08a:	8b c0                	mov    %eax,%eax
51e08c:	53                   	push   %ebx
51e08d:	56                   	push   %esi
51e08e:	8b d8                	mov    %eax,%ebx
51e090:	80 bb d8 05 00 00 00 	cmpb   $0x0,0x5d8(%ebx)
51e097:	0f 84 8d 00 00 00    	je     0x51e12a
51e09d:	8b 83 04 04 00 00    	mov    0x404(%ebx),%eax
51e0a3:	8b 10                	mov    (%eax),%edx
51e0a5:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51e0ab:	8b f0                	mov    %eax,%esi
51e0ad:	8b 83 fc 03 00 00    	mov    0x3fc(%ebx),%eax
51e0b3:	8b 10                	mov    (%eax),%edx
51e0b5:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51e0bb:	3b b3 6c 06 00 00    	cmp    0x66c(%ebx),%esi
51e0c1:	75 0c                	jne    0x51e0cf
51e0c3:	33 d2                	xor    %edx,%edx
51e0c5:	8a 93 68 06 00 00    	mov    0x668(%ebx),%dl
51e0cb:	3b c2                	cmp    %edx,%eax
51e0cd:	74 41                	je     0x51e110
51e0cf:	89 b3 6c 06 00 00    	mov    %esi,0x66c(%ebx)
51e0d5:	85 c0                	test   %eax,%eax
51e0d7:	75 09                	jne    0x51e0e2
51e0d9:	c6 83 68 06 00 00 00 	movb   $0x0,0x668(%ebx)
51e0e0:	eb 07                	jmp    0x51e0e9
51e0e2:	c6 83 68 06 00 00 01 	movb   $0x1,0x668(%ebx)
51e0e9:	8b 83 78 05 00 00    	mov    0x578(%ebx),%eax