4a6fea:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a6fee:	3b c1                	cmp    %ecx,%eax
4a6ff0:	7e bc                	jle    0x4a6fae
4a6ff2:	83 c8 ff             	or     $0xffffffff,%eax
4a6ff5:	5f                   	pop    %edi
4a6ff6:	5e                   	pop    %esi
4a6ff7:	5d                   	pop    %ebp
4a6ff8:	5b                   	pop    %ebx
4a6ff9:	81 c4 04 08 00 00    	add    $0x804,%esp
4a6fff:	c3                   	ret
4a7000:	51                   	push   %ecx
4a7001:	56                   	push   %esi
4a7002:	8b 74 24 10          	mov    0x10(%esp),%esi
4a7006:	56                   	push   %esi
4a7007:	ff 15 40 a1 50 00    	call   *0x50a140
4a700d:	83 c4 04             	add    $0x4,%esp
4a7010:	85 c0                	test   %eax,%eax
4a7012:	75 03                	jne    0x4a7017
4a7014:	5e                   	pop    %esi
4a7015:	59                   	pop    %ecx
4a7016:	c3                   	ret
4a7017:	53                   	push   %ebx
4a7018:	55                   	push   %ebp
4a7019:	57                   	push   %edi
4a701a:	6a 00                	push   $0x0
4a701c:	68 50 a1 50 00       	push   $0x50a150
4a7021:	8d 44 24 24          	lea    0x24(%esp),%eax
4a7025:	68 4c a1 50 00       	push   $0x50a14c
4a702a:	50                   	push   %eax
4a702b:	89 74 24 2c          	mov    %esi,0x2c(%esp)
4a702f:	e8 1c 0a 00 00       	call   0x4a7a50
4a7034:	8b d8                	mov    %eax,%ebx
4a7036:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
4a703a:	53                   	push   %ebx
4a703b:	68 48 a1 50 00       	push   $0x50a148
4a7040:	68 44 a1 50 00       	push   $0x50a144
4a7045:	51                   	push   %ecx
4a7046:	e8 05 0a 00 00       	call   0x4a7a50
4a704b:	8b 54 24 3c          	mov    0x3c(%esp),%edx
4a704f:	0b d8                	or     %eax,%ebx
4a7051:	52                   	push   %edx
4a7052:	ff 15 40 a1 50 00    	call   *0x50a140
4a7058:	8d 68 01             	lea    0x1(%eax),%ebp
4a705b:	89 44 24 34          	mov    %eax,0x34(%esp)
4a705f:	55                   	push   %ebp
4a7060:	e8 51 15 00 00       	call   0x4a85b6
4a7065:	8b cd                	mov    %ebp,%ecx
4a7067:	8b f0                	mov    %eax,%esi
4a7069:	8b d1                	mov    %ecx,%edx
4a706b:	33 c0                	xor    %eax,%eax
4a706d:	8b fe                	mov    %esi,%edi
4a706f:	83 c4 28             	add    $0x28,%esp
4a7072:	c1 e9 02             	shr    $0x2,%ecx
4a7075:	f3 ab                	rep stos %eax,%es:(%edi)
4a7077:	8b ca                	mov    %edx,%ecx
4a7079:	55                   	push   %ebp
4a707a:	83 e1 03             	and    $0x3,%ecx
4a707d:	56                   	push   %esi
4a707e:	f3 aa                	rep stos %al,%es:(%edi)
4a7080:	8b 44 24 18          	mov    0x18(%esp),%eax
4a7084:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4a7088:	50                   	push   %eax
4a7089:	51                   	push   %ecx
4a708a:	68 00 00 40 00       	push   $0x400000
4a708f:	68 04 08 00 00       	push   $0x804
4a7094:	ff 15 cc 30 4b 00    	call   *0x4b30cc
4a709a:	85 db                	test   %ebx,%ebx
4a709c:	74 0d                	je     0x4a70ab
4a709e:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4a70a2:	52                   	push   %edx
4a70a3:	e8 25 14 00 00       	call   0x4a84cd
4a70a8:	83 c4 04             	add    $0x4,%esp
4a70ab:	56                   	push   %esi
4a70ac:	ff 15 40 a1 50 00    	call   *0x50a140
4a70b2:	50                   	push   %eax
4a70b3:	56                   	push   %esi
4a70b4:	e8 87 00 00 00       	call   0x4a7140
4a70b9:	56                   	push   %esi
4a70ba:	8b f8                	mov    %eax,%edi
4a70bc:	e8 0c 14 00 00       	call   0x4a84cd
4a70c1:	83 c4 10             	add    $0x10,%esp
4a70c4:	8b c7                	mov    %edi,%eax
4a70c6:	5f                   	pop    %edi
4a70c7:	5d                   	pop    %ebp
4a70c8:	5b                   	pop    %ebx
4a70c9:	5e                   	pop    %esi
4a70ca:	59                   	pop    %ecx
4a70cb:	c3                   	ret
4a70cc:	90                   	nop
4a70cd:	90                   	nop
4a70ce:	90                   	nop
4a70cf:	90                   	nop
4a70d0:	8b 44 24 04          	mov    0x4(%esp),%eax
4a70d4:	85 c0                	test   %eax,%eax
4a70d6:	75 01                	jne    0x4a70d9
4a70d8:	c3                   	ret
4a70d9:	25 00 00 00 c0       	and    $0xc0000000,%eax
4a70de:	3d 00 00 00 80       	cmp    $0x80000000,%eax
4a70e3:	75 06                	jne    0x4a70eb
4a70e5:	b8 01 00 00 00       	mov    $0x1,%eax
4a70ea:	c3                   	ret
4a70eb:	33 c9                	xor    %ecx,%ecx
4a70ed:	3d 00 00 00 40       	cmp    $0x40000000,%eax
4a70f2:	0f 95 c1             	setne  %cl
4a70f5:	83 c1 02             	add    $0x2,%ecx
4a70f8:	8b c1                	mov    %ecx,%eax
4a70fa:	c3                   	ret
4a70fb:	90                   	nop
4a70fc:	90                   	nop
4a70fd:	90                   	nop
4a70fe:	90                   	nop
4a70ff:	90                   	nop
4a7100:	56                   	push   %esi
4a7101:	8b 74 24 0c          	mov    0xc(%esp),%esi
4a7105:	85 f6                	test   %esi,%esi
4a7107:	75 04                	jne    0x4a710d
4a7109:	33 c0                	xor    %eax,%eax
4a710b:	5e                   	pop    %esi
4a710c:	c3                   	ret
4a710d:	8d 46 08             	lea    0x8(%esi),%eax
4a7110:	57                   	push   %edi
4a7111:	50                   	push   %eax
4a7112:	e8 29 9c ff ff       	call   0x4a0d40
4a7117:	8b ce                	mov    %esi,%ecx
4a7119:	89 70 04             	mov    %esi,0x4(%eax)
4a711c:	8b 74 24 10          	mov    0x10(%esp),%esi
4a7120:	8b d1                	mov    %ecx,%edx
4a7122:	8d 78 08             	lea    0x8(%eax),%edi
4a7125:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4a712b:	c1 e9 02             	shr    $0x2,%ecx
4a712e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a7130:	8b ca                	mov    %edx,%ecx
4a7132:	83 c4 04             	add    $0x4,%esp
4a7135:	83 e1 03             	and    $0x3,%ecx
4a7138:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a713a:	5f                   	pop    %edi
4a713b:	5e                   	pop    %esi
4a713c:	c3                   	ret
4a713d:	90                   	nop
4a713e:	90                   	nop
4a713f:	90                   	nop
4a7140:	53                   	push   %ebx
4a7141:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
4a7145:	85 db                	test   %ebx,%ebx
4a7147:	7f 04                	jg     0x4a714d
4a7149:	33 c0                	xor    %eax,%eax
4a714b:	5b                   	pop    %ebx
4a714c:	c3                   	ret
4a714d:	56                   	push   %esi
4a714e:	8d 43 01             	lea    0x1(%ebx),%eax
4a7151:	57                   	push   %edi
4a7152:	50                   	push   %eax
4a7153:	e8 e8 9b ff ff       	call   0x4a0d40
4a7158:	8b 74 24 14          	mov    0x14(%esp),%esi
4a715c:	8b cb                	mov    %ebx,%ecx
4a715e:	8b d1                	mov    %ecx,%edx
4a7160:	8b f8                	mov    %eax,%edi
4a7162:	c1 e9 02             	shr    $0x2,%ecx
4a7165:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a7167:	8b ca                	mov    %edx,%ecx
4a7169:	83 c4 04             	add    $0x4,%esp
4a716c:	83 e1 03             	and    $0x3,%ecx
4a716f:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a7171:	5f                   	pop    %edi
4a7172:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
4a7176:	5e                   	pop    %esi
4a7177:	5b                   	pop    %ebx
4a7178:	c3                   	ret
4a7179:	90                   	nop
4a717a:	90                   	nop
4a717b:	90                   	nop
4a717c:	90                   	nop
4a717d:	90                   	nop
4a717e:	90                   	nop
4a717f:	90                   	nop
4a7180:	8b c1                	mov    %ecx,%eax
4a7182:	33 c9                	xor    %ecx,%ecx
4a7184:	c7 00 30 35 4b 00    	movl   $0x4b3530,(%eax)
4a718a:	c7 40 04 e0 d8 50 00 	movl   $0x50d8e0,0x4(%eax)
4a7191:	89 48 08             	mov    %ecx,0x8(%eax)
4a7194:	89 48 10             	mov    %ecx,0x10(%eax)
4a7197:	89 48 0c             	mov    %ecx,0xc(%eax)
4a719a:	c3                   	ret
4a719b:	90                   	nop
4a719c:	90                   	nop
4a719d:	90                   	nop
4a719e:	90                   	nop
4a719f:	90                   	nop
4a71a0:	53                   	push   %ebx
4a71a1:	56                   	push   %esi
4a71a2:	8b f1                	mov    %ecx,%esi
4a71a4:	57                   	push   %edi
4a71a5:	8b 46 08             	mov    0x8(%esi),%eax
4a71a8:	85 c0                	test   %eax,%eax
4a71aa:	74 10                	je     0x4a71bc
4a71ac:	8b 44 24 10          	mov    0x10(%esp),%eax
4a71b0:	50                   	push   %eax
4a71b1:	e8 ba 00 00 00       	call   0x4a7270
4a71b6:	5f                   	pop    %edi
4a71b7:	5e                   	pop    %esi
4a71b8:	5b                   	pop    %ebx
4a71b9:	c2 04 00             	ret    $0x4
4a71bc:	8b 7c 24 10          	mov    0x10(%esp),%edi
4a71c0:	85 ff                	test   %edi,%edi
4a71c2:	75 08                	jne    0x4a71cc
4a71c4:	5f                   	pop    %edi
4a71c5:	5e                   	pop    %esi
4a71c6:	33 c0                	xor    %eax,%eax
4a71c8:	5b                   	pop    %ebx
4a71c9:	c2 04 00             	ret    $0x4
4a71cc:	a1 48 99 51 00       	mov    0x519948,%eax
4a71d1:	bb 01 00 00 00       	mov    $0x1,%ebx
4a71d6:	3b c3                	cmp    %ebx,%eax
4a71d8:	75 4c                	jne    0x4a7226
4a71da:	81 ff 00 02 00 00    	cmp    $0x200,%edi
4a71e0:	7f 44                	jg     0x4a7226
4a71e2:	8b 46 04             	mov    0x4(%esi),%eax
4a71e5:	83 38 60             	cmpl   $0x60,(%eax)
4a71e8:	7d 3c                	jge    0x4a7226
4a71ea:	6a 00                	push   $0x0
4a71ec:	83 c0 04             	add    $0x4,%eax
4a71ef:	6a 60                	push   $0x60
4a71f1:	50                   	push   %eax
4a71f2:	e8 49 03 00 00       	call   0x4a7540
4a71f7:	8b 4e 04             	mov    0x4(%esi),%ecx
4a71fa:	83 c4 0c             	add    $0xc,%esp
4a71fd:	88 5c 01 04          	mov    %bl,0x4(%ecx,%eax,1)
4a7201:	8b 4e 04             	mov    0x4(%esi),%ecx
4a7204:	8b 11                	mov    (%ecx),%edx
4a7206:	42                   	inc    %edx
4a7207:	89 11                	mov    %edx,(%ecx)
4a7209:	8b 56 04             	mov    0x4(%esi),%edx
4a720c:	c1 e0 09             	shl    $0x9,%eax
4a720f:	89 7e 10             	mov    %edi,0x10(%esi)
4a7212:	c7 46 0c 00 02 00 00 	movl   $0x200,0xc(%esi)
4a7219:	8d 44 10 64          	lea    0x64(%eax,%edx,1),%eax
4a721d:	5f                   	pop    %edi
4a721e:	89 46 08             	mov    %eax,0x8(%esi)
4a7221:	5e                   	pop    %esi
4a7222:	5b                   	pop    %ebx
4a7223:	c2 04 00             	ret    $0x4
4a7226:	a1 44 99 51 00       	mov    0x519944,%eax
4a722b:	85 c0                	test   %eax,%eax
4a722d:	75 0b                	jne    0x4a723a
4a722f:	ff 15 54 30 4b 00    	call   *0x4b3054
4a7235:	a3 44 99 51 00       	mov    %eax,0x519944
4a723a:	8d 9f 80 00 00 00    	lea    0x80(%edi),%ebx
4a7240:	53                   	push   %ebx
4a7241:	6a 00                	push   $0x0
4a7243:	50                   	push   %eax
4a7244:	ff 15 88 30 4b 00    	call   *0x4b3088
4a724a:	85 c0                	test   %eax,%eax
4a724c:	89 46 08             	mov    %eax,0x8(%esi)
4a724f:	75 0c                	jne    0x4a725d
4a7251:	89 46 0c             	mov    %eax,0xc(%esi)
4a7254:	89 46 10             	mov    %eax,0x10(%esi)
4a7257:	5f                   	pop    %edi
4a7258:	5e                   	pop    %esi
4a7259:	5b                   	pop    %ebx
4a725a:	c2 04 00             	ret    $0x4
4a725d:	89 7e 10             	mov    %edi,0x10(%esi)
4a7260:	89 5e 0c             	mov    %ebx,0xc(%esi)
4a7263:	5f                   	pop    %edi
4a7264:	5e                   	pop    %esi
4a7265:	5b                   	pop    %ebx
4a7266:	c2 04 00             	ret    $0x4
4a7269:	90                   	nop
4a726a:	90                   	nop
4a726b:	90                   	nop
4a726c:	90                   	nop
4a726d:	90                   	nop
4a726e:	90                   	nop
4a726f:	90                   	nop
4a7270:	53                   	push   %ebx
4a7271:	55                   	push   %ebp
4a7272:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
4a7276:	56                   	push   %esi
4a7277:	85 ed                	test   %ebp,%ebp
4a7279:	8b d9                	mov    %ecx,%ebx
4a727b:	75 0d                	jne    0x4a728a
4a727d:	e8 fe 00 00 00       	call   0x4a7380
4a7282:	5e                   	pop    %esi
4a7283:	5d                   	pop    %ebp
4a7284:	33 c0                	xor    %eax,%eax
4a7286:	5b                   	pop    %ebx
4a7287:	c2 04 00             	ret    $0x4
4a728a:	8b 43 08             	mov    0x8(%ebx),%eax
4a728d:	85 c0                	test   %eax,%eax
4a728f:	75 0e                	jne    0x4a729f
4a7291:	55                   	push   %ebp
4a7292:	8b cb                	mov    %ebx,%ecx
4a7294:	e8 07 ff ff ff       	call   0x4a71a0
4a7299:	5e                   	pop    %esi
4a729a:	5d                   	pop    %ebp
4a729b:	5b                   	pop    %ebx
4a729c:	c2 04 00             	ret    $0x4
4a729f:	8b 4b 04             	mov    0x4(%ebx),%ecx
4a72a2:	8d 51 64             	lea    0x64(%ecx),%edx
4a72a5:	3b c2                	cmp    %edx,%eax
4a72a7:	72 11                	jb     0x4a72ba
4a72a9:	81 c1 64 c0 00 00    	add    $0xc064,%ecx
4a72af:	3b c1                	cmp    %ecx,%eax
4a72b1:	73 07                	jae    0x4a72ba
4a72b3:	be 01 00 00 00       	mov    $0x1,%esi
4a72b8:	eb 02                	jmp    0x4a72bc
4a72ba:	33 f6                	xor    %esi,%esi
4a72bc:	8b 4b 0c             	mov    0xc(%ebx),%ecx
4a72bf:	3b cd                	cmp    %ebp,%ecx
4a72c1:	7c 18                	jl     0x4a72db
4a72c3:	83 fe 01             	cmp    $0x1,%esi
4a72c6:	74 0a                	je     0x4a72d2
4a72c8:	2b cd                	sub    %ebp,%ecx
4a72ca:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
4a72d0:	7f 09                	jg     0x4a72db
4a72d2:	89 6b 10             	mov    %ebp,0x10(%ebx)
4a72d5:	5e                   	pop    %esi
4a72d6:	5d                   	pop    %ebp
4a72d7:	5b                   	pop    %ebx
4a72d8:	c2 04 00             	ret    $0x4
4a72db:	a1 44 99 51 00       	mov    0x519944,%eax
4a72e0:	85 c0                	test   %eax,%eax
4a72e2:	75 0b                	jne    0x4a72ef
4a72e4:	ff 15 54 30 4b 00    	call   *0x4b3054
4a72ea:	a3 44 99 51 00       	mov    %eax,0x519944
4a72ef:	83 fe 01             	cmp    $0x1,%esi
4a72f2:	75 5e                	jne    0x4a7352
4a72f4:	8d 8d 80 00 00 00    	lea    0x80(%ebp),%ecx
4a72fa:	51                   	push   %ecx
4a72fb:	6a 00                	push   $0x0
4a72fd:	50                   	push   %eax
4a72fe:	ff 15 88 30 4b 00    	call   *0x4b3088
4a7304:	85 c0                	test   %eax,%eax
4a7306:	89 44 24 10          	mov    %eax,0x10(%esp)
4a730a:	0f 84 72 ff ff ff    	je     0x4a7282
4a7310:	8b 4b 10             	mov    0x10(%ebx),%ecx
4a7313:	3b e9                	cmp    %ecx,%ebp
4a7315:	7d 02                	jge    0x4a7319
4a7317:	8b cd                	mov    %ebp,%ecx
4a7319:	8b 73 08             	mov    0x8(%ebx),%esi
4a731c:	57                   	push   %edi
4a731d:	8b f8                	mov    %eax,%edi
4a731f:	8b c1                	mov    %ecx,%eax
4a7321:	c1 e9 02             	shr    $0x2,%ecx
4a7324:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a7326:	8b c8                	mov    %eax,%ecx
4a7328:	83 e1 03             	and    $0x3,%ecx
4a732b:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a732d:	8b 4b 08             	mov    0x8(%ebx),%ecx
4a7330:	51                   	push   %ecx
4a7331:	8b cb                	mov    %ebx,%ecx