4870f5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4870f7:	e8 2a 04 00 00       	call   0x487526
4870fc:	8b 75 08             	mov    0x8(%ebp),%esi
4870ff:	3b c6                	cmp    %esi,%eax
487101:	73 19                	jae    0x48711c
487103:	8d 45 98             	lea    -0x68(%ebp),%eax
487106:	50                   	push   %eax
487107:	e8 1a 04 00 00       	call   0x487526
48710c:	2b f0                	sub    %eax,%esi
48710e:	56                   	push   %esi
48710f:	ff 35 fc 64 4a 00    	push   0x4a64fc
487115:	e8 08 02 00 00       	call   0x487322
48711a:	eb 22                	jmp    0x48713e
48711c:	e8 05 04 00 00       	call   0x487526
487121:	3b f0                	cmp    %eax,%esi
487123:	73 19                	jae    0x48713e
487125:	ff 35 fc 64 4a 00    	push   0x4a64fc
48712b:	6b c6 64             	imul   $0x64,%esi,%eax
48712e:	03 05 f8 64 4a 00    	add    0x4a64f8,%eax
487134:	50                   	push   %eax
487135:	8d 45 94             	lea    -0x6c(%ebp),%eax
487138:	50                   	push   %eax
487139:	e8 f6 00 00 00       	call   0x487234
48713e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
487141:	5f                   	pop    %edi
487142:	33 cd                	xor    %ebp,%ecx
487144:	5e                   	pop    %esi
487145:	e8 b6 8d 00 00       	call   0x48ff00
48714a:	c9                   	leave
48714b:	c2 04 00             	ret    $0x4
48714e:	8b ff                	mov    %edi,%edi
487150:	55                   	push   %ebp
487151:	8b ec                	mov    %esp,%ebp
487153:	83 ec 10             	sub    $0x10,%esp
487156:	d9 ee                	fldz
487158:	d9 55 f0             	fsts   -0x10(%ebp)
48715b:	56                   	push   %esi
48715c:	d9 55 f4             	fsts   -0xc(%ebp)
48715f:	57                   	push   %edi
487160:	d9 5d f8             	fstps  -0x8(%ebp)
487163:	8b f1                	mov    %ecx,%esi
487165:	e8 08 a2 f9 ff       	call   0x421372
48716a:	8b 7d 08             	mov    0x8(%ebp),%edi
48716d:	8b ce                	mov    %esi,%ecx
48716f:	3b c7                	cmp    %edi,%eax
487171:	73 18                	jae    0x48718b
487173:	8d 45 f0             	lea    -0x10(%ebp),%eax
487176:	50                   	push   %eax
487177:	e8 f6 a1 f9 ff       	call   0x421372
48717c:	2b f8                	sub    %eax,%edi
48717e:	8b ce                	mov    %esi,%ecx
487180:	57                   	push   %edi
487181:	ff 76 08             	push   0x8(%esi)
487184:	e8 fb 03 00 00       	call   0x487584
487189:	eb 1e                	jmp    0x4871a9
48718b:	e8 e2 a1 f9 ff       	call   0x421372
487190:	3b f8                	cmp    %eax,%edi
487192:	73 15                	jae    0x4871a9
487194:	ff 76 08             	push   0x8(%esi)
487197:	6b c7 0c             	imul   $0xc,%edi,%eax
48719a:	8b ce                	mov    %esi,%ecx
48719c:	03 46 04             	add    0x4(%esi),%eax
48719f:	50                   	push   %eax
4871a0:	8d 45 fc             	lea    -0x4(%ebp),%eax
4871a3:	50                   	push   %eax
4871a4:	e8 d6 00 00 00       	call   0x48727f
4871a9:	5f                   	pop    %edi
4871aa:	5e                   	pop    %esi
4871ab:	c9                   	leave
4871ac:	c2 04 00             	ret    $0x4
4871af:	cc                   	int3
4871b0:	33 c0                	xor    %eax,%eax
4871b2:	89 41 04             	mov    %eax,0x4(%ecx)
4871b5:	89 41 08             	mov    %eax,0x8(%ecx)
4871b8:	89 41 0c             	mov    %eax,0xc(%ecx)
4871bb:	8b c1                	mov    %ecx,%eax
4871bd:	c3                   	ret
4871be:	8b ff                	mov    %edi,%edi
4871c0:	55                   	push   %ebp
4871c1:	8b ec                	mov    %esp,%ebp
4871c3:	51                   	push   %ecx
4871c4:	51                   	push   %ecx
4871c5:	d9 ee                	fldz
4871c7:	56                   	push   %esi
4871c8:	57                   	push   %edi
4871c9:	8b f9                	mov    %ecx,%edi
4871cb:	33 f6                	xor    %esi,%esi
4871cd:	d9 55 fc             	fsts   -0x4(%ebp)
4871d0:	d9 5d f8             	fstps  -0x8(%ebp)
4871d3:	8b 57 04             	mov    0x4(%edi),%edx
4871d6:	85 d2                	test   %edx,%edx
4871d8:	75 04                	jne    0x4871de
4871da:	8b c6                	mov    %esi,%eax
4871dc:	eb 08                	jmp    0x4871e6
4871de:	8b 47 08             	mov    0x8(%edi),%eax
4871e1:	2b c2                	sub    %edx,%eax
4871e3:	c1 f8 03             	sar    $0x3,%eax
4871e6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4871e9:	3b c1                	cmp    %ecx,%eax
4871eb:	73 1f                	jae    0x48720c
4871ed:	8b 47 08             	mov    0x8(%edi),%eax
4871f0:	85 d2                	test   %edx,%edx
4871f2:	74 07                	je     0x4871fb
4871f4:	8b f0                	mov    %eax,%esi
4871f6:	2b f2                	sub    %edx,%esi
4871f8:	c1 fe 03             	sar    $0x3,%esi
4871fb:	8d 55 f8             	lea    -0x8(%ebp),%edx
4871fe:	2b ce                	sub    %esi,%ecx
487200:	52                   	push   %edx
487201:	51                   	push   %ecx
487202:	50                   	push   %eax
487203:	8b cf                	mov    %edi,%ecx
487205:	e8 4c 05 00 00       	call   0x487756
48720a:	eb 22                	jmp    0x48722e
48720c:	85 d2                	test   %edx,%edx
48720e:	74 1e                	je     0x48722e
487210:	8b 47 08             	mov    0x8(%edi),%eax
487213:	2b c2                	sub    %edx,%eax
487215:	c1 f8 03             	sar    $0x3,%eax
487218:	3b c8                	cmp    %eax,%ecx
48721a:	73 12                	jae    0x48722e
48721c:	ff 77 08             	push   0x8(%edi)
48721f:	8d 04 ca             	lea    (%edx,%ecx,8),%eax
487222:	8b cf                	mov    %edi,%ecx
487224:	50                   	push   %eax
487225:	8d 45 fc             	lea    -0x4(%ebp),%eax
487228:	50                   	push   %eax
487229:	e8 96 00 00 00       	call   0x4872c4
48722e:	5f                   	pop    %edi
48722f:	5e                   	pop    %esi
487230:	c9                   	leave
487231:	c2 04 00             	ret    $0x4
487234:	8b ff                	mov    %edi,%edi
487236:	55                   	push   %ebp
487237:	8b ec                	mov    %esp,%ebp
487239:	51                   	push   %ecx
48723a:	8b 45 0c             	mov    0xc(%ebp),%eax
48723d:	53                   	push   %ebx
48723e:	8b 5d 10             	mov    0x10(%ebp),%ebx
487241:	3b c3                	cmp    %ebx,%eax
487243:	74 2e                	je     0x487273
487245:	8b 0d fc 64 4a 00    	mov    0x4a64fc,%ecx
48724b:	8b d0                	mov    %eax,%edx
48724d:	3b d9                	cmp    %ecx,%ebx
48724f:	74 1c                	je     0x48726d
487251:	56                   	push   %esi
487252:	8b c1                	mov    %ecx,%eax
487254:	57                   	push   %edi
487255:	8b f3                	mov    %ebx,%esi
487257:	8b fa                	mov    %edx,%edi
487259:	6a 19                	push   $0x19
48725b:	83 c3 64             	add    $0x64,%ebx
48725e:	83 c2 64             	add    $0x64,%edx
487261:	59                   	pop    %ecx
487262:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
487264:	3b d8                	cmp    %eax,%ebx
487266:	75 ed                	jne    0x487255
487268:	8b 45 0c             	mov    0xc(%ebp),%eax
48726b:	5f                   	pop    %edi
48726c:	5e                   	pop    %esi
48726d:	89 15 fc 64 4a 00    	mov    %edx,0x4a64fc
487273:	8b 4d 08             	mov    0x8(%ebp),%ecx
487276:	5b                   	pop    %ebx
487277:	89 01                	mov    %eax,(%ecx)
487279:	8b c1                	mov    %ecx,%eax
48727b:	c9                   	leave
48727c:	c2 0c 00             	ret    $0xc
48727f:	8b ff                	mov    %edi,%edi
487281:	55                   	push   %ebp
487282:	8b ec                	mov    %esp,%ebp
487284:	51                   	push   %ecx
487285:	8b 45 0c             	mov    0xc(%ebp),%eax
487288:	53                   	push   %ebx
487289:	8b d9                	mov    %ecx,%ebx
48728b:	8b 4d 10             	mov    0x10(%ebp),%ecx
48728e:	3b c1                	cmp    %ecx,%eax
487290:	74 26                	je     0x4872b8
487292:	56                   	push   %esi
487293:	8b 73 08             	mov    0x8(%ebx),%esi
487296:	8b d0                	mov    %eax,%edx
487298:	3b ce                	cmp    %esi,%ecx
48729a:	74 18                	je     0x4872b4
48729c:	8b c6                	mov    %esi,%eax
48729e:	57                   	push   %edi
48729f:	8b f1                	mov    %ecx,%esi
4872a1:	8b fa                	mov    %edx,%edi
4872a3:	83 c1 0c             	add    $0xc,%ecx
4872a6:	83 c2 0c             	add    $0xc,%edx
4872a9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4872aa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4872ab:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4872ac:	3b c8                	cmp    %eax,%ecx
4872ae:	75 ef                	jne    0x48729f
4872b0:	8b 45 0c             	mov    0xc(%ebp),%eax
4872b3:	5f                   	pop    %edi
4872b4:	89 53 08             	mov    %edx,0x8(%ebx)
4872b7:	5e                   	pop    %esi
4872b8:	8b 4d 08             	mov    0x8(%ebp),%ecx
4872bb:	5b                   	pop    %ebx
4872bc:	89 01                	mov    %eax,(%ecx)
4872be:	8b c1                	mov    %ecx,%eax
4872c0:	c9                   	leave
4872c1:	c2 0c 00             	ret    $0xc
4872c4:	8b ff                	mov    %edi,%edi
4872c6:	55                   	push   %ebp
4872c7:	8b ec                	mov    %esp,%ebp
4872c9:	51                   	push   %ecx
4872ca:	8b 45 0c             	mov    0xc(%ebp),%eax
4872cd:	53                   	push   %ebx
4872ce:	56                   	push   %esi
4872cf:	8b 75 10             	mov    0x10(%ebp),%esi
4872d2:	8b d9                	mov    %ecx,%ebx
4872d4:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4872d7:	3b c6                	cmp    %esi,%eax
4872d9:	74 3a                	je     0x487315
4872db:	8b 4b 08             	mov    0x8(%ebx),%ecx
4872de:	8b d0                	mov    %eax,%edx
4872e0:	2b ce                	sub    %esi,%ecx
4872e2:	83 c1 07             	add    $0x7,%ecx
4872e5:	c1 e9 03             	shr    $0x3,%ecx
4872e8:	39 73 08             	cmp    %esi,0x8(%ebx)
4872eb:	57                   	push   %edi
4872ec:	1b ff                	sbb    %edi,%edi
4872ee:	f7 d7                	not    %edi
4872f0:	23 f9                	and    %ecx,%edi
4872f2:	74 1d                	je     0x487311
4872f4:	33 db                	xor    %ebx,%ebx
4872f6:	8b 06                	mov    (%esi),%eax
4872f8:	8d 76 08             	lea    0x8(%esi),%esi
4872fb:	89 02                	mov    %eax,(%edx)
4872fd:	8b 46 fc             	mov    -0x4(%esi),%eax
487300:	89 42 04             	mov    %eax,0x4(%edx)
487303:	83 c2 08             	add    $0x8,%edx
487306:	43                   	inc    %ebx
487307:	3b df                	cmp    %edi,%ebx
487309:	75 eb                	jne    0x4872f6
48730b:	8b 45 0c             	mov    0xc(%ebp),%eax
48730e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
487311:	89 53 08             	mov    %edx,0x8(%ebx)
487314:	5f                   	pop    %edi
487315:	8b 4d 08             	mov    0x8(%ebp),%ecx
487318:	5e                   	pop    %esi
487319:	5b                   	pop    %ebx
48731a:	89 01                	mov    %eax,(%ecx)
48731c:	8b c1                	mov    %ecx,%eax
48731e:	c9                   	leave
48731f:	c2 0c 00             	ret    $0xc
487322:	6a 74                	push   $0x74
487324:	b8 a1 68 49 00       	mov    $0x4968a1,%eax
487329:	e8 0e 92 00 00       	call   0x49053c
48732e:	8b 75 10             	mov    0x10(%ebp),%esi
487331:	8d 7d 80             	lea    -0x80(%ebp),%edi
487334:	6a 19                	push   $0x19
487336:	59                   	pop    %ecx
487337:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
487339:	8b 0d f8 64 4a 00    	mov    0x4a64f8,%ecx
48733f:	6a 64                	push   $0x64
487341:	5b                   	pop    %ebx
487342:	85 c9                	test   %ecx,%ecx
487344:	75 04                	jne    0x48734a
487346:	33 ff                	xor    %edi,%edi
487348:	eb 0c                	jmp    0x487356
48734a:	a1 00 65 4a 00       	mov    0x4a6500,%eax
48734f:	2b c1                	sub    %ecx,%eax
487351:	99                   	cltd
487352:	f7 fb                	idiv   %ebx
487354:	8b f8                	mov    %eax,%edi
487356:	8b 75 0c             	mov    0xc(%ebp),%esi
487359:	85 f6                	test   %esi,%esi
48735b:	0f 84 a5 01 00 00    	je     0x487506
487361:	e8 c0 01 00 00       	call   0x487526
487366:	b9 28 5c 8f 02       	mov    $0x28f5c28,%ecx
48736b:	2b c8                	sub    %eax,%ecx
48736d:	3b ce                	cmp    %esi,%ecx
48736f:	0f 82 99 01 00 00    	jb     0x48750e
487375:	e8 ac 01 00 00       	call   0x487526
48737a:	03 c6                	add    %esi,%eax
48737c:	3b f8                	cmp    %eax,%edi
48737e:	0f 83 b8 00 00 00    	jae    0x48743c
487384:	8b c7                	mov    %edi,%eax
487386:	b9 28 5c 8f 02       	mov    $0x28f5c28,%ecx
48738b:	d1 e8                	shr    $1,%eax
48738d:	2b c8                	sub    %eax,%ecx
48738f:	03 c7                	add    %edi,%eax
487391:	3b cf                	cmp    %edi,%ecx
487393:	1b ff                	sbb    %edi,%edi
487395:	f7 d7                	not    %edi
487397:	23 f8                	and    %eax,%edi
487399:	e8 88 01 00 00       	call   0x487526
48739e:	03 c6                	add    %esi,%eax
4873a0:	3b f8                	cmp    %eax,%edi
4873a2:	73 08                	jae    0x4873ac
4873a4:	e8 7d 01 00 00       	call   0x487526
4873a9:	8d 3c 06             	lea    (%esi,%eax,1),%edi
4873ac:	57                   	push   %edi
4873ad:	e8 8f 01 00 00       	call   0x487541
4873b2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4873b6:	8b d8                	mov    %eax,%ebx
4873b8:	ff 75 e4             	push   -0x1c(%ebp)
4873bb:	8b 55 08             	mov    0x8(%ebp),%edx
4873be:	ff 75 e4             	push   -0x1c(%ebp)
4873c1:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4873c4:	51                   	push   %ecx
4873c5:	8b 0d f8 64 4a 00    	mov    0x4a64f8,%ecx
4873cb:	53                   	push   %ebx
4873cc:	e8 d5 05 00 00       	call   0x4879a6
4873d1:	ff 75 e4             	push   -0x1c(%ebp)
4873d4:	8b c8                	mov    %eax,%ecx
4873d6:	8b d6                	mov    %esi,%edx
4873d8:	ff 75 e4             	push   -0x1c(%ebp)
4873db:	6b c6 64             	imul   $0x64,%esi,%eax
4873de:	51                   	push   %ecx
4873df:	03 c1                	add    %ecx,%eax
4873e1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4873e4:	8d 45 80             	lea    -0x80(%ebp),%eax
4873e7:	50                   	push   %eax
4873e8:	e8 72 05 00 00       	call   0x48795f
4873ed:	ff 75 e4             	push   -0x1c(%ebp)
4873f0:	8b 15 fc 64 4a 00    	mov    0x4a64fc,%edx
4873f6:	ff 75 e4             	push   -0x1c(%ebp)
4873f9:	51                   	push   %ecx
4873fa:	ff 75 ec             	push   -0x14(%ebp)
4873fd:	8b 4d 08             	mov    0x8(%ebp),%ecx
487400:	e8 a1 05 00 00       	call   0x4879a6
487405:	e8 1c 01 00 00       	call   0x487526
48740a:	03 f0                	add    %eax,%esi
48740c:	a1 f8 64 4a 00       	mov    0x4a64f8,%eax
487411:	85 c0                	test   %eax,%eax
487413:	74 08                	je     0x48741d
487415:	50                   	push   %eax
487416:	ff 15 10 74 4a 00    	call   *0x4a7410
48741c:	59                   	pop    %ecx
48741d:	6b c7 64             	imul   $0x64,%edi,%eax
487420:	89 1d f8 64 4a 00    	mov    %ebx,0x4a64f8
487426:	03 c3                	add    %ebx,%eax
487428:	a3 00 65 4a 00       	mov    %eax,0x4a6500
48742d:	6b c6 64             	imul   $0x64,%esi,%eax
487430:	03 c3                	add    %ebx,%eax
487432:	a3 fc 64 4a 00       	mov    %eax,0x4a64fc
487437:	e9 ca 00 00 00       	jmp    0x487506
48743c:	8b 3d fc 64 4a 00    	mov    0x4a64fc,%edi
487442:	8b 4d 08             	mov    0x8(%ebp),%ecx
487445:	6b c6 64             	imul   $0x64,%esi,%eax
487448:	ff 75 e4             	push   -0x1c(%ebp)
48744b:	ff 75 e4             	push   -0x1c(%ebp)
48744e:	89 45 ec             	mov    %eax,-0x14(%ebp)
487451:	8b c7                	mov    %edi,%eax
487453:	2b c1                	sub    %ecx,%eax
487455:	99                   	cltd
487456:	f7 fb                	idiv   %ebx