486f74:	c2 04 00             	ret    $0x4
486f77:	90                   	nop
486f78:	53                   	push   %ebx
486f79:	56                   	push   %esi
486f7a:	8b f2                	mov    %edx,%esi
486f7c:	8b d8                	mov    %eax,%ebx
486f7e:	8b c3                	mov    %ebx,%eax
486f80:	e8 7b fa fe ff       	call   0x476a00
486f85:	84 c0                	test   %al,%al
486f87:	75 38                	jne    0x486fc1
486f89:	8b c3                	mov    %ebx,%eax
486f8b:	e8 70 f9 fe ff       	call   0x476900
486f90:	8b d0                	mov    %eax,%edx
486f92:	8b c3                	mov    %ebx,%eax
486f94:	8b 08                	mov    (%eax),%ecx
486f96:	ff 91 b8 01 00 00    	call   *0x1b8(%ecx)
486f9c:	84 c0                	test   %al,%al
486f9e:	75 21                	jne    0x486fc1
486fa0:	8b c3                	mov    %ebx,%eax
486fa2:	e8 b1 f9 fe ff       	call   0x476958
486fa7:	6a 00                	push   $0x0
486fa9:	56                   	push   %esi
486faa:	6a 00                	push   $0x0
486fac:	8b 83 78 01 00 00    	mov    0x178(%ebx),%eax
486fb2:	50                   	push   %eax
486fb3:	e8 9a 73 ff ff       	call   0x47e352
486fb8:	66 85 c0             	test   %ax,%ax
486fbb:	0f 94 c0             	sete   %al
486fbe:	5e                   	pop    %esi
486fbf:	5b                   	pop    %ebx
486fc0:	c3                   	ret
486fc1:	33 c0                	xor    %eax,%eax
486fc3:	5e                   	pop    %esi
486fc4:	5b                   	pop    %ebx
486fc5:	c3                   	ret
486fc6:	8b c0                	mov    %eax,%eax
486fc8:	55                   	push   %ebp
486fc9:	8b ec                	mov    %esp,%ebp
486fcb:	83 c4 f8             	add    $0xfffffff8,%esp
486fce:	89 45 fc             	mov    %eax,-0x4(%ebp)
486fd1:	8b 45 fc             	mov    -0x4(%ebp),%eax
486fd4:	e8 7f f9 fe ff       	call   0x476958
486fd9:	8b 45 fc             	mov    -0x4(%ebp),%eax
486fdc:	8b 80 78 01 00 00    	mov    0x178(%eax),%eax
486fe2:	83 c9 ff             	or     $0xffffffff,%ecx
486fe5:	ba 04 00 05 05       	mov    $0x5050004,%edx
486fea:	e8 0d b4 ff ff       	call   0x4823fc
486fef:	84 c0                	test   %al,%al
486ff1:	74 6c                	je     0x48705f
486ff3:	33 c0                	xor    %eax,%eax
486ff5:	55                   	push   %ebp
486ff6:	68 58 70 48 00       	push   $0x487058
486ffb:	64 ff 30             	push   %fs:(%eax)
486ffe:	64 89 20             	mov    %esp,%fs:(%eax)
487001:	6a 00                	push   $0x0
487003:	8b 45 fc             	mov    -0x4(%ebp),%eax
487006:	8b 80 c8 01 00 00    	mov    0x1c8(%eax),%eax
48700c:	8b 40 0c             	mov    0xc(%eax),%eax
48700f:	50                   	push   %eax
487010:	6a 00                	push   $0x0
487012:	8b 45 fc             	mov    -0x4(%ebp),%eax
487015:	8b 80 78 01 00 00    	mov    0x178(%eax),%eax
48701b:	50                   	push   %eax
48701c:	e8 31 73 ff ff       	call   0x47e352
487021:	e8 82 b5 ff ff       	call   0x4825a8
487026:	8b 45 fc             	mov    -0x4(%ebp),%eax
487029:	8b 80 c8 01 00 00    	mov    0x1c8(%eax),%eax
48702f:	8b 40 0c             	mov    0xc(%eax),%eax
487032:	89 45 f8             	mov    %eax,-0x8(%ebp)
487035:	33 c0                	xor    %eax,%eax
487037:	5a                   	pop    %edx
487038:	59                   	pop    %ecx
487039:	59                   	pop    %ecx
48703a:	64 89 10             	mov    %edx,%fs:(%eax)
48703d:	68 64 70 48 00       	push   $0x487064
487042:	8b 45 fc             	mov    -0x4(%ebp),%eax
487045:	8b 80 78 01 00 00    	mov    0x178(%eax),%eax
48704b:	33 c9                	xor    %ecx,%ecx
48704d:	ba 04 00 05 05       	mov    $0x5050004,%edx
487052:	e8 a5 b3 ff ff       	call   0x4823fc
487057:	c3                   	ret
487058:	e9 0b cb f7 ff       	jmp    0x403b68
48705d:	eb e3                	jmp    0x487042
48705f:	33 c0                	xor    %eax,%eax
487061:	89 45 f8             	mov    %eax,-0x8(%ebp)
487064:	8b 45 f8             	mov    -0x8(%ebp),%eax
487067:	59                   	pop    %ecx
487068:	59                   	pop    %ecx
487069:	5d                   	pop    %ebp
48706a:	c3                   	ret
48706b:	90                   	nop
48706c:	53                   	push   %ebx
48706d:	51                   	push   %ecx
48706e:	8b d8                	mov    %eax,%ebx
487070:	8b c3                	mov    %ebx,%eax
487072:	8b 10                	mov    (%eax),%edx
487074:	ff 92 84 00 00 00    	call   *0x84(%edx)
48707a:	54                   	push   %esp
48707b:	8b 83 78 01 00 00    	mov    0x178(%ebx),%eax
487081:	50                   	push   %eax
487082:	e8 73 6a ff ff       	call   0x47dafa
487087:	66 85 c0             	test   %ax,%ax
48708a:	74 19                	je     0x4870a5
48708c:	54                   	push   %esp
48708d:	8b 83 78 01 00 00    	mov    0x178(%ebx),%eax
487093:	50                   	push   %eax
487094:	e8 ad 72 ff ff       	call   0x47e346
487099:	66 85 c0             	test   %ax,%ax
48709c:	74 07                	je     0x4870a5
48709e:	c7 04 24 ff ff ff ff 	movl   $0xffffffff,(%esp)
4870a5:	8b 04 24             	mov    (%esp),%eax
4870a8:	5a                   	pop    %edx
4870a9:	5b                   	pop    %ebx
4870aa:	c3                   	ret
4870ab:	90                   	nop
4870ac:	53                   	push   %ebx
4870ad:	8b d8                	mov    %eax,%ebx
4870af:	8b c3                	mov    %ebx,%eax
4870b1:	8b 10                	mov    (%eax),%edx
4870b3:	ff 92 84 00 00 00    	call   *0x84(%edx)
4870b9:	80 bb 9d 00 00 00 05 	cmpb   $0x5,0x9d(%ebx)
4870c0:	75 05                	jne    0x4870c7
4870c2:	8b 43 60             	mov    0x60(%ebx),%eax
4870c5:	eb 07                	jmp    0x4870ce
4870c7:	8b c3                	mov    %ebx,%eax
4870c9:	e8 32 f8 fe ff       	call   0x476900
4870ce:	0f b7 93 fc 01 00 00 	movzwl 0x1fc(%ebx),%edx
4870d5:	03 c2                	add    %edx,%eax
4870d7:	8b 00                	mov    (%eax),%eax
4870d9:	5b                   	pop    %ebx
4870da:	c3                   	ret
4870db:	90                   	nop
4870dc:	53                   	push   %ebx
4870dd:	56                   	push   %esi
4870de:	8b f2                	mov    %edx,%esi
4870e0:	8b d8                	mov    %eax,%ebx
4870e2:	8b c3                	mov    %ebx,%eax
4870e4:	e8 23 03 ff ff       	call   0x47740c
4870e9:	80 bb ec 01 00 00 01 	cmpb   $0x1,0x1ec(%ebx)
4870f0:	75 44                	jne    0x487136
4870f2:	8b c3                	mov    %ebx,%eax
4870f4:	8b 10                	mov    (%eax),%edx
4870f6:	ff 92 50 01 00 00    	call   *0x150(%edx)
4870fc:	3b f0                	cmp    %eax,%esi
4870fe:	74 36                	je     0x487136
487100:	8b c3                	mov    %ebx,%eax
487102:	8b 10                	mov    (%eax),%edx
487104:	ff 92 fc 00 00 00    	call   *0xfc(%edx)
48710a:	56                   	push   %esi
48710b:	8b 83 78 01 00 00    	mov    0x178(%ebx),%eax
487111:	50                   	push   %eax
487112:	e8 a7 6f ff ff       	call   0x47e0be
487117:	66 85 c0             	test   %ax,%ax
48711a:	75 1a                	jne    0x487136
48711c:	8a 15 3c 71 48 00    	mov    0x48713c,%dl
487122:	8b c3                	mov    %ebx,%eax
487124:	8b 08                	mov    (%eax),%ecx
487126:	ff 91 50 02 00 00    	call   *0x250(%ecx)
48712c:	8b c3                	mov    %ebx,%eax
48712e:	8b 10                	mov    (%eax),%edx
487130:	ff 92 d8 00 00 00    	call   *0xd8(%edx)
487136:	5e                   	pop    %esi
487137:	5b                   	pop    %ebx
487138:	c3                   	ret
487139:	00 00                	add    %al,(%eax)
48713b:	00 02                	add    %al,(%edx)
48713d:	00 00                	add    %al,(%eax)
48713f:	00 66 8b             	add    %ah,-0x75(%esi)
487142:	80 f8 01             	cmp    $0x1,%al
487145:	00 00                	add    %al,(%eax)
487147:	c3                   	ret
487148:	53                   	push   %ebx
487149:	56                   	push   %esi
48714a:	8b f2                	mov    %edx,%esi
48714c:	8b d8                	mov    %eax,%ebx
48714e:	33 c0                	xor    %eax,%eax
487150:	8a 83 9d 00 00 00    	mov    0x9d(%ebx),%al
487156:	83 f8 0a             	cmp    $0xa,%eax
487159:	0f 87 d4 00 00 00    	ja     0x487233
48715f:	ff 24 85 66 71 48 00 	jmp    *0x487166(,%eax,4)
487166:	33 72 48             	xor    0x48(%edx),%esi
487169:	00 ac 71 48 00 c8 71 	add    %ch,0x71c80048(%ecx,%esi,2)
487170:	48                   	dec    %eax
487171:	00 c8                	add    %cl,%al
487173:	71 48                	jno    0x4871bd
487175:	00 d3                	add    %dl,%bl
487177:	71 48                	jno    0x4871c1
487179:	00 e0                	add    %ah,%al
48717b:	71 48                	jno    0x4871c5
48717d:	00 e7                	add    %ah,%bh
48717f:	71 48                	jno    0x4871c9
487181:	00 f1                	add    %dh,%cl
487183:	71 48                	jno    0x4871cd
487185:	00 12                	add    %dl,(%edx)
487187:	72 48                	jb     0x4871d1
487189:	00 33                	add    %dh,(%ebx)
48718b:	72 48                	jb     0x4871d5
48718d:	00 92 71 48 00 0f    	add    %dl,0xf004871(%edx)
487193:	b7 83                	mov    $0x83,%bh
487195:	f8                   	clc
487196:	01 00                	add    %eax,(%eax)
487198:	00 f7                	add    %dh,%bh
48719a:	ab                   	stos   %eax,%es:(%edi)
48719b:	08 02                	or     %al,(%edx)
48719d:	00 00                	add    %al,(%eax)
48719f:	03 83 18 02 00 00    	add    0x218(%ebx),%eax
4871a5:	89 06                	mov    %eax,(%esi)
4871a7:	e9 8b 00 00 00       	jmp    0x487237
4871ac:	8b c3                	mov    %ebx,%eax
4871ae:	e8 4d f8 fe ff       	call   0x476a00
4871b3:	84 c0                	test   %al,%al
4871b5:	74 06                	je     0x4871bd
4871b7:	33 c0                	xor    %eax,%eax
4871b9:	89 06                	mov    %eax,(%esi)
4871bb:	eb 7a                	jmp    0x487237
4871bd:	8b c3                	mov    %ebx,%eax
4871bf:	e8 3c f7 fe ff       	call   0x476900
4871c4:	89 06                	mov    %eax,(%esi)
4871c6:	eb 6f                	jmp    0x487237
4871c8:	8b c3                	mov    %ebx,%eax
4871ca:	e8 31 f7 fe ff       	call   0x476900
4871cf:	89 06                	mov    %eax,(%esi)
4871d1:	eb 64                	jmp    0x487237
4871d3:	8b 83 e8 01 00 00    	mov    0x1e8(%ebx),%eax
4871d9:	83 c0 06             	add    $0x6,%eax
4871dc:	89 06                	mov    %eax,(%esi)
4871de:	eb 57                	jmp    0x487237
4871e0:	8b 43 60             	mov    0x60(%ebx),%eax
4871e3:	89 06                	mov    %eax,(%esi)
4871e5:	eb 50                	jmp    0x487237
4871e7:	8b 83 9c 01 00 00    	mov    0x19c(%ebx),%eax
4871ed:	89 06                	mov    %eax,(%esi)
4871ef:	eb 46                	jmp    0x487237
4871f1:	80 bb c3 01 00 00 00 	cmpb   $0x0,0x1c3(%ebx)
4871f8:	74 0d                	je     0x487207
4871fa:	8b 83 c8 01 00 00    	mov    0x1c8(%ebx),%eax
487200:	8b 40 08             	mov    0x8(%eax),%eax
487203:	89 06                	mov    %eax,(%esi)
487205:	eb 30                	jmp    0x487237
487207:	8b c3                	mov    %ebx,%eax
487209:	e8 f2 f6 fe ff       	call   0x476900
48720e:	89 06                	mov    %eax,(%esi)
487210:	eb 25                	jmp    0x487237
487212:	80 bb c3 01 00 00 00 	cmpb   $0x0,0x1c3(%ebx)
487219:	74 0d                	je     0x487228
48721b:	8b 83 c8 01 00 00    	mov    0x1c8(%ebx),%eax
487221:	8b 40 0c             	mov    0xc(%eax),%eax
487224:	89 06                	mov    %eax,(%esi)
487226:	eb 0f                	jmp    0x487237
487228:	8b c3                	mov    %ebx,%eax
48722a:	e8 99 fd ff ff       	call   0x486fc8
48722f:	89 06                	mov    %eax,(%esi)
487231:	eb 04                	jmp    0x487237
487233:	33 c0                	xor    %eax,%eax
487235:	89 06                	mov    %eax,(%esi)
487237:	83 3e 00             	cmpl   $0x0,(%esi)
48723a:	0f 95 c0             	setne  %al
48723d:	5e                   	pop    %esi
48723e:	5b                   	pop    %ebx
48723f:	c3                   	ret
487240:	55                   	push   %ebp
487241:	8b ec                	mov    %esp,%ebp
487243:	83 c4 8c             	add    $0xffffff8c,%esp
487246:	53                   	push   %ebx
487247:	56                   	push   %esi
487248:	57                   	push   %edi
487249:	33 db                	xor    %ebx,%ebx
48724b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
48724e:	89 5d e0             	mov    %ebx,-0x20(%ebp)
487251:	8b f9                	mov    %ecx,%edi
487253:	89 55 f8             	mov    %edx,-0x8(%ebp)
487256:	89 45 fc             	mov    %eax,-0x4(%ebp)
487259:	8b 5d 08             	mov    0x8(%ebp),%ebx
48725c:	8b 75 10             	mov    0x10(%ebp),%esi
48725f:	8b 45 f8             	mov    -0x8(%ebp),%eax
487262:	e8 b9 e4 f7 ff       	call   0x405720
487267:	33 c0                	xor    %eax,%eax
487269:	55                   	push   %ebp
48726a:	68 58 75 48 00       	push   $0x487558
48726f:	64 ff 30             	push   %fs:(%eax)
487272:	64 89 20             	mov    %esp,%fs:(%eax)
487275:	8b 07                	mov    (%edi),%eax
487277:	8b d0                	mov    %eax,%edx
487279:	c1 e0 05             	shl    $0x5,%eax
48727c:	2b c2                	sub    %edx,%eax
48727e:	8b 55 f8             	mov    -0x8(%ebp),%edx
487281:	56                   	push   %esi
487282:	57                   	push   %edi
487283:	8d 34 42             	lea    (%edx,%eax,2),%esi
487286:	8d 7d 9e             	lea    -0x62(%ebp),%edi
487289:	b9 0f 00 00 00       	mov    $0xf,%ecx
48728e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
487290:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
487292:	5f                   	pop    %edi
487293:	5e                   	pop    %esi
487294:	ff 07                	incl   (%edi)
487296:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
487299:	8d 55 a0             	lea    -0x60(%ebp),%edx
48729c:	8b 45 fc             	mov    -0x4(%ebp),%eax
48729f:	8b 80 90 01 00 00    	mov    0x190(%eax),%eax
4872a5:	e8 b2 af ff ff       	call   0x48225c
4872aa:	33 c0                	xor    %eax,%eax
4872ac:	89 45 e8             	mov    %eax,-0x18(%ebp)
4872af:	8d 45 e0             	lea    -0x20(%ebp),%eax
4872b2:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4872b5:	e8 42 cf f7 ff       	call   0x4041fc
4872ba:	eb 2d                	jmp    0x4872e9
4872bc:	ff 45 e8             	incl   -0x18(%ebp)
4872bf:	8d 45 e0             	lea    -0x20(%ebp),%eax
4872c2:	50                   	push   %eax
4872c3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4872c6:	89 45 8c             	mov    %eax,-0x74(%ebp)
4872c9:	c6 45 90 0b          	movb   $0xb,-0x70(%ebp)
4872cd:	8b 45 e8             	mov    -0x18(%ebp),%eax
4872d0:	89 45 94             	mov    %eax,-0x6c(%ebp)
4872d3:	c6 45 98 00          	movb   $0x0,-0x68(%ebp)
4872d7:	8d 55 8c             	lea    -0x74(%ebp),%edx
4872da:	b9 01 00 00 00       	mov    $0x1,%ecx
4872df:	b8 70 75 48 00       	mov    $0x487570,%eax
4872e4:	e8 2b 22 f8 ff       	call   0x409514
4872e9:	8b 55 e0             	mov    -0x20(%ebp),%edx
4872ec:	8b c3                	mov    %ebx,%eax
4872ee:	e8 e5 2f fe ff       	call   0x46a2d8
4872f3:	85 c0                	test   %eax,%eax
4872f5:	7d c5                	jge    0x4872bc
4872f7:	66 8b 45 c0          	mov    -0x40(%ebp),%ax
4872fb:	66 83 f8 19          	cmp    $0x19,%ax
4872ff:	73 0e                	jae    0x48730f
487301:	0f b7 c0             	movzwl %ax,%eax
487304:	8a 80 90 ef 48 00    	mov    0x48ef90(%eax),%al
48730a:	88 45 f7             	mov    %al,-0x9(%ebp)
48730d:	eb 04                	jmp    0x487313
48730f:	c6 45 f7 00          	movb   $0x0,-0x9(%ebp)
487313:	66 c7 45 f4 00 00    	movw   $0x0,-0xc(%ebp)
487319:	33 c0                	xor    %eax,%eax
48731b:	89 45 ec             	mov    %eax,-0x14(%ebp)
48731e:	8b 45 0c             	mov    0xc(%ebp),%eax
487321:	8b 40 04             	mov    0x4(%eax),%eax
487324:	3b 06                	cmp    (%esi),%eax
487326:	7e 0f                	jle    0x487337
487328:	8b 16                	mov    (%esi),%edx
48732a:	8b 45 0c             	mov    0xc(%ebp),%eax
48732d:	e8 16 50 f9 ff       	call   0x41c348
487332:	88 45 f3             	mov    %al,-0xd(%ebp)
487335:	eb 04                	jmp    0x48733b
487337:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
48733b:	0f b7 45 c0          	movzwl -0x40(%ebp),%eax
48733f:	83 f8 16             	cmp    $0x16,%eax
487342:	0f 87 ba 00 00 00    	ja     0x487402
487348:	8a 80 55 73 48 00    	mov    0x487355(%eax),%al