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
51e0ef:	8b 10                	mov    (%eax),%edx
51e0f1:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51e0f7:	84 c0                	test   %al,%al
51e0f9:	74 15                	je     0x51e110
51e0fb:	8b c3                	mov    %ebx,%eax
51e0fd:	e8 b6 e5 ff ff       	call   0x51c6b8
51e102:	8b 83 b8 05 00 00    	mov    0x5b8(%ebx),%eax
51e108:	8b 10                	mov    (%eax),%edx
51e10a:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51e110:	b2 01                	mov    $0x1,%dl
51e112:	8b 83 ec 04 00 00    	mov    0x4ec(%ebx),%eax
51e118:	8b 08                	mov    (%eax),%ecx
51e11a:	ff 51 64             	call   *0x64(%ecx)
51e11d:	b2 01                	mov    $0x1,%dl
51e11f:	8b 83 3c 03 00 00    	mov    0x33c(%ebx),%eax
51e125:	8b 08                	mov    (%eax),%ecx
51e127:	ff 51 64             	call   *0x64(%ecx)
51e12a:	5e                   	pop    %esi
51e12b:	5b                   	pop    %ebx
51e12c:	c3                   	ret
51e12d:	8d 40 00             	lea    0x0(%eax),%eax
51e130:	53                   	push   %ebx
51e131:	56                   	push   %esi
51e132:	8b d8                	mov    %eax,%ebx
51e134:	80 bb d8 05 00 00 00 	cmpb   $0x0,0x5d8(%ebx)
51e13b:	0f 84 8d 00 00 00    	je     0x51e1ce
51e141:	8b 83 18 04 00 00    	mov    0x418(%ebx),%eax
51e147:	8b 10                	mov    (%eax),%edx
51e149:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51e14f:	8b f0                	mov    %eax,%esi
51e151:	8b 83 10 04 00 00    	mov    0x410(%ebx),%eax
51e157:	8b 10                	mov    (%eax),%edx
51e159:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
51e15f:	3b b3 74 06 00 00    	cmp    0x674(%ebx),%esi
51e165:	75 0c                	jne    0x51e173
51e167:	33 d2                	xor    %edx,%edx
51e169:	8a 93 70 06 00 00    	mov    0x670(%ebx),%dl
51e16f:	3b c2                	cmp    %edx,%eax
51e171:	74 41                	je     0x51e1b4
51e173:	89 b3 74 06 00 00    	mov    %esi,0x674(%ebx)
51e179:	85 c0                	test   %eax,%eax
51e17b:	75 09                	jne    0x51e186
51e17d:	c6 83 70 06 00 00 00 	movb   $0x0,0x670(%ebx)
51e184:	eb 07                	jmp    0x51e18d
51e186:	c6 83 70 06 00 00 01 	movb   $0x1,0x670(%ebx)
51e18d:	8b 83 78 05 00 00    	mov    0x578(%ebx),%eax
51e193:	8b 10                	mov    (%eax),%edx
51e195:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51e19b:	84 c0                	test   %al,%al
51e19d:	74 15                	je     0x51e1b4
51e19f:	8b c3                	mov    %ebx,%eax
51e1a1:	e8 12 e5 ff ff       	call   0x51c6b8
51e1a6:	8b 83 b8 05 00 00    	mov    0x5b8(%ebx),%eax
51e1ac:	8b 10                	mov    (%eax),%edx
51e1ae:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
51e1b4:	b2 01                	mov    $0x1,%dl
51e1b6:	8b 83 ec 04 00 00    	mov    0x4ec(%ebx),%eax
51e1bc:	8b 08                	mov    (%eax),%ecx
51e1be:	ff 51 64             	call   *0x64(%ecx)
51e1c1:	b2 01                	mov    $0x1,%dl
51e1c3:	8b 83 3c 03 00 00    	mov    0x33c(%ebx),%eax
51e1c9:	8b 08                	mov    (%eax),%ecx
51e1cb:	ff 51 64             	call   *0x64(%ecx)
51e1ce:	5e                   	pop    %esi
51e1cf:	5b                   	pop    %ebx
51e1d0:	c3                   	ret
51e1d1:	8d 40 00             	lea    0x0(%eax),%eax
51e1d4:	55                   	push   %ebp
51e1d5:	8b ec                	mov    %esp,%ebp
51e1d7:	b9 2a 00 00 00       	mov    $0x2a,%ecx
51e1dc:	6a 00                	push   $0x0
51e1de:	6a 00                	push   $0x0
51e1e0:	49                   	dec    %ecx
51e1e1:	75 f9                	jne    0x51e1dc
51e1e3:	51                   	push   %ecx
51e1e4:	53                   	push   %ebx
51e1e5:	56                   	push   %esi
51e1e6:	8b da                	mov    %edx,%ebx
51e1e8:	8b f0                	mov    %eax,%esi
51e1ea:	33 c0                	xor    %eax,%eax
51e1ec:	55                   	push   %ebp
51e1ed:	68 e0 ef 51 00       	push   $0x51efe0
51e1f2:	64 ff 30             	push   %fs:(%eax)
51e1f5:	64 89 20             	mov    %esp,%fs:(%eax)
51e1f8:	e9 c5 0d 00 00       	jmp    0x51efc2
51e1fd:	8d 4d fc             	lea    -0x4(%ebp),%ecx
51e200:	8b d3                	mov    %ebx,%edx
51e202:	b0 25                	mov    $0x25,%al
51e204:	e8 3f 37 0d 00       	call   0x5f1948
51e209:	8b 55 fc             	mov    -0x4(%ebp),%edx
51e20c:	8b c6                	mov    %esi,%eax
51e20e:	e8 e9 a5 f2 ff       	call   0x4487fc
51e213:	8d 4d f8             	lea    -0x8(%ebp),%ecx
51e216:	8b d3                	mov    %ebx,%edx
51e218:	b0 01                	mov    $0x1,%al
51e21a:	e8 29 37 0d 00       	call   0x5f1948
51e21f:	8d 45 f8             	lea    -0x8(%ebp),%eax
51e222:	ba f8 ef 51 00       	mov    $0x51eff8,%edx
51e227:	e8 fc 68 ee ff       	call   0x404b28
51e22c:	8b 55 f8             	mov    -0x8(%ebp),%edx
51e22f:	8b 86 50 04 00 00    	mov    0x450(%esi),%eax
51e235:	e8 c2 a5 f2 ff       	call   0x4487fc
51e23a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
51e23d:	8b d3                	mov    %ebx,%edx
51e23f:	b0 02                	mov    $0x2,%al
51e241:	e8 02 37 0d 00       	call   0x5f1948
51e246:	8d 45 f4             	lea    -0xc(%ebp),%eax
51e249:	ba f8 ef 51 00       	mov    $0x51eff8,%edx
51e24e:	e8 d5 68 ee ff       	call   0x404b28
51e253:	8b 55 f4             	mov    -0xc(%ebp),%edx
51e256:	8b 86 54 04 00 00    	mov    0x454(%esi),%eax
51e25c:	e8 9b a5 f2 ff       	call   0x4487fc
51e261:	8d 4d f0             	lea    -0x10(%ebp),%ecx
51e264:	8b d3                	mov    %ebx,%edx
51e266:	b0 04                	mov    $0x4,%al
51e268:	e8 db 36 0d 00       	call   0x5f1948
51e26d:	8b 55 f0             	mov    -0x10(%ebp),%edx
51e270:	8b 86 f4 02 00 00    	mov    0x2f4(%esi),%eax
51e276:	e8 81 a5 f2 ff       	call   0x4487fc
51e27b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
51e27e:	8b d3                	mov    %ebx,%edx
51e280:	b0 03                	mov    $0x3,%al
51e282:	e8 c1 36 0d 00       	call   0x5f1948
51e287:	8b 55 ec             	mov    -0x14(%ebp),%edx
51e28a:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
51e290:	e8 67 a5 f2 ff       	call   0x4487fc
51e295:	8d 4d e8             	lea    -0x18(%ebp),%ecx
51e298:	8b d3                	mov    %ebx,%edx
51e29a:	33 c0                	xor    %eax,%eax
51e29c:	e8 a7 36 0d 00       	call   0x5f1948
51e2a1:	8b 55 e8             	mov    -0x18(%ebp),%edx
51e2a4:	8b 86 3c 03 00 00    	mov    0x33c(%esi),%eax
51e2aa:	e8 4d a5 f2 ff       	call   0x4487fc
51e2af:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
51e2b2:	8b d3                	mov    %ebx,%edx
51e2b4:	b0 05                	mov    $0x5,%al
51e2b6:	e8 8d 36 0d 00       	call   0x5f1948
51e2bb:	8b 55 e4             	mov    -0x1c(%ebp),%edx
51e2be:	8b 86 78 05 00 00    	mov    0x578(%esi),%eax
51e2c4:	e8 33 a5 f2 ff       	call   0x4487fc
51e2c9:	8d 4d e0             	lea    -0x20(%ebp),%ecx
51e2cc:	8b d3                	mov    %ebx,%edx
51e2ce:	b0 78                	mov    $0x78,%al
51e2d0:	e8 73 36 0d 00       	call   0x5f1948
51e2d5:	8b 55 e0             	mov    -0x20(%ebp),%edx
51e2d8:	8b 86 ec 04 00 00    	mov    0x4ec(%esi),%eax
51e2de:	e8 19 a5 f2 ff       	call   0x4487fc
51e2e3:	8d 4d dc             	lea    -0x24(%ebp),%ecx
51e2e6:	8b d3                	mov    %ebx,%edx
51e2e8:	b0 26                	mov    $0x26,%al
51e2ea:	e8 59 36 0d 00       	call   0x5f1948
51e2ef:	8d 45 dc             	lea    -0x24(%ebp),%eax
51e2f2:	ba f8 ef 51 00       	mov    $0x51eff8,%edx
51e2f7:	e8 2c 68 ee ff       	call   0x404b28
51e2fc:	8b 55 dc             	mov    -0x24(%ebp),%edx
51e2ff:	8b 86 00 03 00 00    	mov    0x300(%esi),%eax
51e305:	e8 f2 a4 f2 ff       	call   0x4487fc
51e30a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
51e30d:	8b d3                	mov    %ebx,%edx
51e30f:	b0 27                	mov    $0x27,%al
51e311:	e8 32 36 0d 00       	call   0x5f1948
51e316:	8d 45 d8             	lea    -0x28(%ebp),%eax
51e319:	ba f8 ef 51 00       	mov    $0x51eff8,%edx
51e31e:	e8 05 68 ee ff       	call   0x404b28
51e323:	8b 55 d8             	mov    -0x28(%ebp),%edx
51e326:	8b 86 18 03 00 00    	mov    0x318(%esi),%eax
51e32c:	e8 cb a4 f2 ff       	call   0x4487fc
51e331:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
51e334:	8b d3                	mov    %ebx,%edx
51e336:	b0 28                	mov    $0x28,%al
51e338:	e8 0b 36 0d 00       	call   0x5f1948
51e33d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
51e340:	ba f8 ef 51 00       	mov    $0x51eff8,%edx
51e345:	e8 de 67 ee ff       	call   0x404b28
51e34a:	8b 55 d4             	mov    -0x2c(%ebp),%edx