486f41:	b3 01                	mov    $0x1,%bl
486f43:	88 5d e7             	mov    %bl,-0x19(%ebp)
486f46:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
486f4d:	e8 15 00 00 00       	call   0x486f67
486f52:	8a c3                	mov    %bl,%al
486f54:	8b 4d f0             	mov    -0x10(%ebp),%ecx
486f57:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
486f5e:	59                   	pop    %ecx
486f5f:	5f                   	pop    %edi
486f60:	5e                   	pop    %esi
486f61:	5b                   	pop    %ebx
486f62:	c9                   	leave
486f63:	c3                   	ret
486f64:	8a 5d e7             	mov    -0x19(%ebp),%bl
486f67:	6a 07                	push   $0x7
486f69:	e8 43 af ff ff       	call   0x481eb1
486f6e:	59                   	pop    %ecx
486f6f:	c3                   	ret
486f70:	8b ff                	mov    %edi,%edi
486f72:	56                   	push   %esi
486f73:	33 f6                	xor    %esi,%esi
486f75:	8b 86 00 88 4c 00    	mov    0x4c8800(%esi),%eax
486f7b:	85 c0                	test   %eax,%eax
486f7d:	74 0e                	je     0x486f8d
486f7f:	50                   	push   %eax
486f80:	e8 cd 8f 00 00       	call   0x48ff52
486f85:	83 a6 00 88 4c 00 00 	andl   $0x0,0x4c8800(%esi)
486f8c:	59                   	pop    %ecx
486f8d:	83 c6 04             	add    $0x4,%esi
486f90:	81 fe 00 02 00 00    	cmp    $0x200,%esi
486f96:	72 dd                	jb     0x486f75
486f98:	b0 01                	mov    $0x1,%al
486f9a:	5e                   	pop    %esi
486f9b:	c3                   	ret
486f9c:	6a 0c                	push   $0xc
486f9e:	68 b0 19 4c 00       	push   $0x4c19b0
486fa3:	e8 98 37 fe ff       	call   0x46a740
486fa8:	33 f6                	xor    %esi,%esi
486faa:	89 75 e4             	mov    %esi,-0x1c(%ebp)
486fad:	8b 45 08             	mov    0x8(%ebp),%eax
486fb0:	ff 30                	push   (%eax)
486fb2:	e8 6e 90 00 00       	call   0x490025
486fb7:	59                   	pop    %ecx
486fb8:	89 75 fc             	mov    %esi,-0x4(%ebp)
486fbb:	8b 45 0c             	mov    0xc(%ebp),%eax
486fbe:	8b 00                	mov    (%eax),%eax
486fc0:	8b 38                	mov    (%eax),%edi
486fc2:	8b d7                	mov    %edi,%edx
486fc4:	c1 fa 06             	sar    $0x6,%edx
486fc7:	8b c7                	mov    %edi,%eax
486fc9:	83 e0 3f             	and    $0x3f,%eax
486fcc:	6b c8 38             	imul   $0x38,%eax,%ecx
486fcf:	8b 04 95 00 88 4c 00 	mov    0x4c8800(,%edx,4),%eax
486fd6:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
486fdb:	74 21                	je     0x486ffe
486fdd:	57                   	push   %edi
486fde:	e8 be 92 00 00       	call   0x4902a1
486fe3:	59                   	pop    %ecx
486fe4:	50                   	push   %eax
486fe5:	ff 15 c4 e1 49 00    	call   *0x49e1c4
486feb:	85 c0                	test   %eax,%eax
486fed:	75 1d                	jne    0x48700c
486fef:	ff 15 30 e1 49 00    	call   *0x49e130
486ff5:	8b f0                	mov    %eax,%esi
486ff7:	e8 26 2f ff ff       	call   0x479f22
486ffc:	89 30                	mov    %esi,(%eax)
486ffe:	e8 32 2f ff ff       	call   0x479f35
487003:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
487009:	83 ce ff             	or     $0xffffffff,%esi
48700c:	89 75 e4             	mov    %esi,-0x1c(%ebp)
48700f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
487016:	e8 17 00 00 00       	call   0x487032
48701b:	8b c6                	mov    %esi,%eax
48701d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
487020:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
487027:	59                   	pop    %ecx
487028:	5f                   	pop    %edi
487029:	5e                   	pop    %esi
48702a:	5b                   	pop    %ebx
48702b:	c9                   	leave
48702c:	c2 0c 00             	ret    $0xc
48702f:	8b 75 e4             	mov    -0x1c(%ebp),%esi
487032:	8b 4d 10             	mov    0x10(%ebp),%ecx
487035:	ff 31                	push   (%ecx)
487037:	e8 9e 90 00 00       	call   0x4900da
48703c:	59                   	pop    %ecx
48703d:	c3                   	ret
48703e:	8b ff                	mov    %edi,%edi
487040:	55                   	push   %ebp
487041:	8b ec                	mov    %esp,%ebp
487043:	83 ec 10             	sub    $0x10,%esp
487046:	56                   	push   %esi
487047:	8b 75 08             	mov    0x8(%ebp),%esi
48704a:	83 fe fe             	cmp    $0xfffffffe,%esi
48704d:	75 0d                	jne    0x48705c
48704f:	e8 e1 2e ff ff       	call   0x479f35
487054:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
48705a:	eb 59                	jmp    0x4870b5
48705c:	85 f6                	test   %esi,%esi
48705e:	78 45                	js     0x4870a5
487060:	3b 35 00 8a 4c 00    	cmp    0x4c8a00,%esi
487066:	73 3d                	jae    0x4870a5
487068:	8b c6                	mov    %esi,%eax
48706a:	8b d6                	mov    %esi,%edx
48706c:	83 e0 3f             	and    $0x3f,%eax
48706f:	c1 fa 06             	sar    $0x6,%edx
487072:	6b c8 38             	imul   $0x38,%eax,%ecx
487075:	8b 04 95 00 88 4c 00 	mov    0x4c8800(,%edx,4),%eax
48707c:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
487081:	74 22                	je     0x4870a5
487083:	8d 45 08             	lea    0x8(%ebp),%eax
487086:	89 75 f8             	mov    %esi,-0x8(%ebp)
487089:	89 45 f4             	mov    %eax,-0xc(%ebp)
48708c:	8d 4d ff             	lea    -0x1(%ebp),%ecx
48708f:	8d 45 f8             	lea    -0x8(%ebp),%eax
487092:	89 75 f0             	mov    %esi,-0x10(%ebp)
487095:	50                   	push   %eax
487096:	8d 45 f4             	lea    -0xc(%ebp),%eax
487099:	50                   	push   %eax
48709a:	8d 45 f0             	lea    -0x10(%ebp),%eax
48709d:	50                   	push   %eax
48709e:	e8 f9 fe ff ff       	call   0x486f9c
4870a3:	eb 13                	jmp    0x4870b8
4870a5:	e8 8b 2e ff ff       	call   0x479f35
4870aa:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4870b0:	e8 6c 25 ff ff       	call   0x479621
4870b5:	83 c8 ff             	or     $0xffffffff,%eax
4870b8:	5e                   	pop    %esi
4870b9:	c9                   	leave
4870ba:	c3                   	ret
4870bb:	8b ff                	mov    %edi,%edi
4870bd:	55                   	push   %ebp
4870be:	8b ec                	mov    %esp,%ebp
4870c0:	6a ff                	push   $0xffffffff
4870c2:	68 91 cf 49 00       	push   $0x49cf91
4870c7:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4870cd:	50                   	push   %eax
4870ce:	83 ec 74             	sub    $0x74,%esp
4870d1:	a1 14 40 4c 00       	mov    0x4c4014,%eax
4870d6:	33 c5                	xor    %ebp,%eax
4870d8:	89 45 f0             	mov    %eax,-0x10(%ebp)
4870db:	53                   	push   %ebx
4870dc:	56                   	push   %esi
4870dd:	57                   	push   %edi
4870de:	50                   	push   %eax
4870df:	8d 45 f4             	lea    -0xc(%ebp),%eax
4870e2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4870e8:	8b 45 0c             	mov    0xc(%ebp),%eax
4870eb:	8b d0                	mov    %eax,%edx
4870ed:	8b 75 10             	mov    0x10(%ebp),%esi
4870f0:	83 e0 3f             	and    $0x3f,%eax
4870f3:	8b 5d 18             	mov    0x18(%ebp),%ebx
4870f6:	6b c8 38             	imul   $0x38,%eax,%ecx
4870f9:	c1 fa 06             	sar    $0x6,%edx
4870fc:	89 75 a0             	mov    %esi,-0x60(%ebp)
4870ff:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
487102:	89 55 bc             	mov    %edx,-0x44(%ebp)
487105:	8b 04 95 00 88 4c 00 	mov    0x4c8800(,%edx,4),%eax
48710c:	89 4d b0             	mov    %ecx,-0x50(%ebp)
48710f:	8b 44 01 18          	mov    0x18(%ecx,%eax,1),%eax
487113:	89 45 9c             	mov    %eax,-0x64(%ebp)
487116:	8b 45 14             	mov    0x14(%ebp),%eax
487119:	03 c6                	add    %esi,%eax
48711b:	89 45 ac             	mov    %eax,-0x54(%ebp)
48711e:	ff 15 04 e1 49 00    	call   *0x49e104
487124:	80 7b 14 00          	cmpb   $0x0,0x14(%ebx)
487128:	89 45 94             	mov    %eax,-0x6c(%ebp)
48712b:	75 07                	jne    0x487134
48712d:	8b cb                	mov    %ebx,%ecx
48712f:	e8 dc 1f ff ff       	call   0x479110
487134:	8b 43 0c             	mov    0xc(%ebx),%eax
487137:	8b 75 08             	mov    0x8(%ebp),%esi
48713a:	8b fe                	mov    %esi,%edi
48713c:	8b 48 08             	mov    0x8(%eax),%ecx
48713f:	33 c0                	xor    %eax,%eax
487141:	ab                   	stos   %eax,%es:(%edi)
487142:	89 4d 90             	mov    %ecx,-0x70(%ebp)
487145:	ab                   	stos   %eax,%es:(%edi)
487146:	ab                   	stos   %eax,%es:(%edi)
487147:	8b 45 a0             	mov    -0x60(%ebp),%eax
48714a:	8b d0                	mov    %eax,%edx
48714c:	89 55 d4             	mov    %edx,-0x2c(%ebp)
48714f:	3b 45 ac             	cmp    -0x54(%ebp),%eax
487152:	0f 83 09 03 00 00    	jae    0x487461
487158:	8b 7d b0             	mov    -0x50(%ebp),%edi
48715b:	33 db                	xor    %ebx,%ebx
48715d:	89 5d b8             	mov    %ebx,-0x48(%ebp)
487160:	8a 02                	mov    (%edx),%al
487162:	88 45 d3             	mov    %al,-0x2d(%ebp)
487165:	8b 45 bc             	mov    -0x44(%ebp),%eax
487168:	89 5d c0             	mov    %ebx,-0x40(%ebp)
48716b:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
487172:	81 f9 e9 fd 00 00    	cmp    $0xfde9,%ecx
487178:	0f 85 2c 01 00 00    	jne    0x4872aa
48717e:	8b 04 85 00 88 4c 00 	mov    0x4c8800(,%eax,4),%eax
487185:	8b cb                	mov    %ebx,%ecx
487187:	83 c0 2e             	add    $0x2e,%eax
48718a:	03 c7                	add    %edi,%eax
48718c:	89 45 b8             	mov    %eax,-0x48(%ebp)
48718f:	80 38 00             	cmpb   $0x0,(%eax)
487192:	74 07                	je     0x48719b
487194:	41                   	inc    %ecx
487195:	40                   	inc    %eax
487196:	83 f9 05             	cmp    $0x5,%ecx
487199:	7c f4                	jl     0x48718f
48719b:	8b 7d ac             	mov    -0x54(%ebp),%edi
48719e:	2b fa                	sub    %edx,%edi
4871a0:	89 4d cc             	mov    %ecx,-0x34(%ebp)
4871a3:	85 c9                	test   %ecx,%ecx
4871a5:	0f 8e a4 00 00 00    	jle    0x48724f
4871ab:	8b 45 b8             	mov    -0x48(%ebp),%eax
4871ae:	0f b6 00             	movzbl (%eax),%eax
4871b1:	0f be 80 d0 42 4c 00 	movsbl 0x4c42d0(%eax),%eax
4871b8:	40                   	inc    %eax
4871b9:	89 45 c8             	mov    %eax,-0x38(%ebp)
4871bc:	2b c1                	sub    %ecx,%eax
4871be:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4871c1:	3b c7                	cmp    %edi,%eax
4871c3:	0f 8f 21 02 00 00    	jg     0x4873ea
4871c9:	8b fb                	mov    %ebx,%edi
4871cb:	8b 5d b8             	mov    -0x48(%ebp),%ebx
4871ce:	8a 03                	mov    (%ebx),%al
4871d0:	88 44 3d e8          	mov    %al,-0x18(%ebp,%edi,1)
4871d4:	47                   	inc    %edi
4871d5:	43                   	inc    %ebx
4871d6:	3b f9                	cmp    %ecx,%edi
4871d8:	7c f4                	jl     0x4871ce
4871da:	8b 75 b4             	mov    -0x4c(%ebp),%esi
4871dd:	33 db                	xor    %ebx,%ebx
4871df:	85 f6                	test   %esi,%esi
4871e1:	7e 13                	jle    0x4871f6
4871e3:	56                   	push   %esi
4871e4:	8d 45 e8             	lea    -0x18(%ebp),%eax
4871e7:	03 c1                	add    %ecx,%eax
4871e9:	52                   	push   %edx
4871ea:	50                   	push   %eax
4871eb:	e8 30 44 fe ff       	call   0x46b620
4871f0:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4871f3:	83 c4 0c             	add    $0xc,%esp
4871f6:	8b 7d b0             	mov    -0x50(%ebp),%edi
4871f9:	8b d3                	mov    %ebx,%edx
4871fb:	8b 75 bc             	mov    -0x44(%ebp),%esi
4871fe:	8b 04 b5 00 88 4c 00 	mov    0x4c8800(,%esi,4),%eax
487205:	03 c7                	add    %edi,%eax
487207:	88 5c 10 2e          	mov    %bl,0x2e(%eax,%edx,1)
48720b:	42                   	inc    %edx
48720c:	3b d1                	cmp    %ecx,%edx
48720e:	7c ee                	jl     0x4871fe
487210:	ff 75 c4             	push   -0x3c(%ebp)
487213:	8b 75 08             	mov    0x8(%ebp),%esi
487216:	8d 45 e8             	lea    -0x18(%ebp),%eax
487219:	89 45 98             	mov    %eax,-0x68(%ebp)
48721c:	8d 4d 88             	lea    -0x78(%ebp),%ecx
48721f:	33 c0                	xor    %eax,%eax
487221:	89 5d 88             	mov    %ebx,-0x78(%ebp)
487224:	83 7d c8 04          	cmpl   $0x4,-0x38(%ebp)
487228:	51                   	push   %ecx
487229:	0f 94 c0             	sete   %al
48722c:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
48722f:	40                   	inc    %eax
487230:	50                   	push   %eax
487231:	89 45 cc             	mov    %eax,-0x34(%ebp)
487234:	8d 45 98             	lea    -0x68(%ebp),%eax
487237:	50                   	push   %eax
487238:	8d 45 c0             	lea    -0x40(%ebp),%eax
48723b:	50                   	push   %eax
48723c:	e8 e8 ba 00 00       	call   0x492d29
487241:	83 c4 14             	add    $0x14,%esp
487244:	83 f8 ff             	cmp    $0xffffffff,%eax
487247:	0f 84 14 02 00 00    	je     0x487461
48724d:	eb 4f                	jmp    0x48729e
48724f:	0f b6 02             	movzbl (%edx),%eax
487252:	0f be 88 d0 42 4c 00 	movsbl 0x4c42d0(%eax),%ecx
487259:	41                   	inc    %ecx
48725a:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
48725d:	3b cf                	cmp    %edi,%ecx
48725f:	0f 8f b2 01 00 00    	jg     0x487417
487265:	ff 75 c4             	push   -0x3c(%ebp)
487268:	33 c0                	xor    %eax,%eax
48726a:	89 5d 80             	mov    %ebx,-0x80(%ebp)
48726d:	83 f9 04             	cmp    $0x4,%ecx
487270:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
487273:	8d 4d 80             	lea    -0x80(%ebp),%ecx
487276:	89 55 c8             	mov    %edx,-0x38(%ebp)
487279:	0f 94 c0             	sete   %al
48727c:	40                   	inc    %eax
48727d:	51                   	push   %ecx
48727e:	50                   	push   %eax
48727f:	89 45 cc             	mov    %eax,-0x34(%ebp)
487282:	8d 45 c8             	lea    -0x38(%ebp),%eax
487285:	50                   	push   %eax
487286:	8d 45 c0             	lea    -0x40(%ebp),%eax
487289:	50                   	push   %eax
48728a:	e8 9a ba 00 00       	call   0x492d29
48728f:	83 c4 14             	add    $0x14,%esp
487292:	83 f8 ff             	cmp    $0xffffffff,%eax
487295:	0f 84 c6 01 00 00    	je     0x487461
48729b:	8b 7d b0             	mov    -0x50(%ebp),%edi
48729e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4872a1:	03 45 b4             	add    -0x4c(%ebp),%eax
4872a4:	48                   	dec    %eax
4872a5:	e9 8f 00 00 00       	jmp    0x487339
4872aa:	8b 0c 85 00 88 4c 00 	mov    0x4c8800(,%eax,4),%ecx
4872b1:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
4872b4:	8a 64 39 2d          	mov    0x2d(%ecx,%edi,1),%ah
4872b8:	f6 c4 04             	test   $0x4,%ah
4872bb:	74 1e                	je     0x4872db
4872bd:	8a 44 39 2e          	mov    0x2e(%ecx,%edi,1),%al
4872c1:	80 e4 fb             	and    $0xfb,%ah
4872c4:	ff 75 c4             	push   -0x3c(%ebp)
4872c7:	88 45 e0             	mov    %al,-0x20(%ebp)
4872ca:	8a 02                	mov    (%edx),%al
4872cc:	88 45 e1             	mov    %al,-0x1f(%ebp)
4872cf:	88 64 39 2d          	mov    %ah,0x2d(%ecx,%edi,1)
4872d3:	8d 45 e0             	lea    -0x20(%ebp),%eax
4872d6:	6a 02                	push   $0x2
4872d8:	50                   	push   %eax
4872d9:	eb 46                	jmp    0x487321
4872db:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4872de:	0f b6 0a             	movzbl (%edx),%ecx
4872e1:	8b 40 0c             	mov    0xc(%eax),%eax
4872e4:	8b 00                	mov    (%eax),%eax
4872e6:	66 39 1c 48          	cmp    %bx,(%eax,%ecx,2)
4872ea:	7d 2f                	jge    0x48731b
4872ec:	8d 42 01             	lea    0x1(%edx),%eax
4872ef:	89 45 c8             	mov    %eax,-0x38(%ebp)
4872f2:	3b 45 ac             	cmp    -0x54(%ebp),%eax
4872f5:	0f 83 3d 01 00 00    	jae    0x487438
4872fb:	ff 75 c4             	push   -0x3c(%ebp)
4872fe:	8d 45 c0             	lea    -0x40(%ebp),%eax
487301:	6a 02                	push   $0x2
487303:	52                   	push   %edx
487304:	50                   	push   %eax
487305:	e8 f5 f2 ff ff       	call   0x4865ff
48730a:	83 c4 10             	add    $0x10,%esp
48730d:	83 f8 ff             	cmp    $0xffffffff,%eax
487310:	0f 84 4b 01 00 00    	je     0x487461
487316:	8b 45 c8             	mov    -0x38(%ebp),%eax
487319:	eb 1e                	jmp    0x487339
48731b:	ff 75 c4             	push   -0x3c(%ebp)
48731e:	6a 01                	push   $0x1
487320:	52                   	push   %edx
487321:	8d 45 c0             	lea    -0x40(%ebp),%eax
487324:	50                   	push   %eax
487325:	e8 d5 f2 ff ff       	call   0x4865ff
48732a:	83 c4 10             	add    $0x10,%esp
48732d:	83 f8 ff             	cmp    $0xffffffff,%eax
487330:	0f 84 2b 01 00 00    	je     0x487461
487336:	8b 45 d4             	mov    -0x2c(%ebp),%eax
487339:	53                   	push   %ebx