47a098:	8b 7d 10             	mov    0x10(%ebp),%edi
47a09b:	89 45 a8             	mov    %eax,-0x58(%ebp)
47a09e:	8b 45 14             	mov    0x14(%ebp),%eax
47a0a1:	0f 83 06 01 00 00    	jae    0x47a1ad
47a0a7:	51                   	push   %ecx
47a0a8:	50                   	push   %eax
47a0a9:	ff 76 04             	push   0x4(%esi)
47a0ac:	57                   	push   %edi
47a0ad:	ff 76 04             	push   0x4(%esi)
47a0b0:	e8 24 01 00 00       	call   0x47a1d9
47a0b5:	ff 46 08             	incl   0x8(%esi)
47a0b8:	8b d8                	mov    %eax,%ebx
47a0ba:	8b 46 04             	mov    0x4(%esi),%eax
47a0bd:	3b f8                	cmp    %eax,%edi
47a0bf:	75 0d                	jne    0x47a0ce
47a0c1:	89 58 04             	mov    %ebx,0x4(%eax)
47a0c4:	8b 46 04             	mov    0x4(%esi),%eax
47a0c7:	89 18                	mov    %ebx,(%eax)
47a0c9:	8b 46 04             	mov    0x4(%esi),%eax
47a0cc:	eb 1e                	jmp    0x47a0ec
47a0ce:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
47a0d2:	74 0d                	je     0x47a0e1
47a0d4:	89 1f                	mov    %ebx,(%edi)
47a0d6:	8b 46 04             	mov    0x4(%esi),%eax
47a0d9:	3b 38                	cmp    (%eax),%edi
47a0db:	75 12                	jne    0x47a0ef
47a0dd:	89 18                	mov    %ebx,(%eax)
47a0df:	eb 0e                	jmp    0x47a0ef
47a0e1:	89 5f 08             	mov    %ebx,0x8(%edi)
47a0e4:	8b 46 04             	mov    0x4(%esi),%eax
47a0e7:	3b 78 08             	cmp    0x8(%eax),%edi
47a0ea:	75 03                	jne    0x47a0ef
47a0ec:	89 58 08             	mov    %ebx,0x8(%eax)
47a0ef:	8b fb                	mov    %ebx,%edi
47a0f1:	8d 4b 04             	lea    0x4(%ebx),%ecx
47a0f4:	e9 91 00 00 00       	jmp    0x47a18a
47a0f9:	8b 50 04             	mov    0x4(%eax),%edx
47a0fc:	8b 12                	mov    (%edx),%edx
47a0fe:	3b c2                	cmp    %edx,%eax
47a100:	75 3b                	jne    0x47a13d
47a102:	8b 50 04             	mov    0x4(%eax),%edx
47a105:	8b 52 08             	mov    0x8(%edx),%edx
47a108:	80 7a 20 00          	cmpb   $0x0,0x20(%edx)
47a10c:	74 35                	je     0x47a143
47a10e:	3b 78 08             	cmp    0x8(%eax),%edi
47a111:	75 0a                	jne    0x47a11d
47a113:	8b f8                	mov    %eax,%edi
47a115:	8b ce                	mov    %esi,%ecx
47a117:	57                   	push   %edi
47a118:	e8 0a fd ff ff       	call   0x479e27
47a11d:	8b 47 04             	mov    0x4(%edi),%eax
47a120:	8b ce                	mov    %esi,%ecx
47a122:	c6 40 20 01          	movb   $0x1,0x20(%eax)
47a126:	8b 47 04             	mov    0x4(%edi),%eax
47a129:	8b 40 04             	mov    0x4(%eax),%eax
47a12c:	c6 40 20 00          	movb   $0x0,0x20(%eax)
47a130:	8b 47 04             	mov    0x4(%edi),%eax
47a133:	ff 70 04             	push   0x4(%eax)
47a136:	e8 a3 fc ff ff       	call   0x479dde
47a13b:	eb 4a                	jmp    0x47a187
47a13d:	80 7a 20 00          	cmpb   $0x0,0x20(%edx)
47a141:	75 18                	jne    0x47a15b
47a143:	c6 40 20 01          	movb   $0x1,0x20(%eax)
47a147:	c6 42 20 01          	movb   $0x1,0x20(%edx)
47a14b:	8b 01                	mov    (%ecx),%eax
47a14d:	8b 40 04             	mov    0x4(%eax),%eax
47a150:	c6 40 20 00          	movb   $0x0,0x20(%eax)
47a154:	8b 01                	mov    (%ecx),%eax
47a156:	8b 78 04             	mov    0x4(%eax),%edi
47a159:	eb 2c                	jmp    0x47a187
47a15b:	3b 38                	cmp    (%eax),%edi
47a15d:	75 0a                	jne    0x47a169
47a15f:	8b f8                	mov    %eax,%edi
47a161:	8b ce                	mov    %esi,%ecx
47a163:	57                   	push   %edi
47a164:	e8 75 fc ff ff       	call   0x479dde
47a169:	8b 47 04             	mov    0x4(%edi),%eax
47a16c:	8b ce                	mov    %esi,%ecx
47a16e:	c6 40 20 01          	movb   $0x1,0x20(%eax)
47a172:	8b 47 04             	mov    0x4(%edi),%eax
47a175:	8b 40 04             	mov    0x4(%eax),%eax
47a178:	c6 40 20 00          	movb   $0x0,0x20(%eax)
47a17c:	8b 47 04             	mov    0x4(%edi),%eax
47a17f:	ff 70 04             	push   0x4(%eax)
47a182:	e8 a0 fc ff ff       	call   0x479e27
47a187:	8d 4f 04             	lea    0x4(%edi),%ecx
47a18a:	8b 01                	mov    (%ecx),%eax
47a18c:	80 78 20 00          	cmpb   $0x0,0x20(%eax)
47a190:	0f 84 63 ff ff ff    	je     0x47a0f9
47a196:	8b 4e 04             	mov    0x4(%esi),%ecx
47a199:	8b 45 a8             	mov    -0x58(%ebp),%eax
47a19c:	8b 49 04             	mov    0x4(%ecx),%ecx
47a19f:	c6 41 20 01          	movb   $0x1,0x20(%ecx)
47a1a3:	89 18                	mov    %ebx,(%eax)
47a1a5:	e8 0b 63 01 00       	call   0x4904b5
47a1aa:	c2 10 00             	ret    $0x10
47a1ad:	68 c0 f9 40 00       	push   $0x40f9c0
47a1b2:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47a1b5:	e8 d2 1c fa ff       	call   0x41be8c
47a1ba:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47a1be:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47a1c1:	50                   	push   %eax
47a1c2:	8d 4d ac             	lea    -0x54(%ebp),%ecx
47a1c5:	e8 a0 17 fa ff       	call   0x41b96a
47a1ca:	68 c8 ea 49 00       	push   $0x49eac8
47a1cf:	8d 45 ac             	lea    -0x54(%ebp),%eax
47a1d2:	50                   	push   %eax
47a1d3:	e8 c3 62 01 00       	call   0x49049b
47a1d8:	cc                   	int3
47a1d9:	8b ff                	mov    %edi,%edi
47a1db:	55                   	push   %ebp
47a1dc:	8b ec                	mov    %esp,%ebp
47a1de:	56                   	push   %esi
47a1df:	57                   	push   %edi
47a1e0:	6a 24                	push   $0x24
47a1e2:	ff 15 14 74 4a 00    	call   *0x4a7414
47a1e8:	8b 75 14             	mov    0x14(%ebp),%esi
47a1eb:	59                   	pop    %ecx
47a1ec:	8b 4d 08             	mov    0x8(%ebp),%ecx
47a1ef:	89 08                	mov    %ecx,(%eax)
47a1f1:	8d 78 0c             	lea    0xc(%eax),%edi
47a1f4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47a1f7:	89 48 04             	mov    %ecx,0x4(%eax)
47a1fa:	8b 4d 10             	mov    0x10(%ebp),%ecx
47a1fd:	6a 05                	push   $0x5
47a1ff:	89 48 08             	mov    %ecx,0x8(%eax)
47a202:	59                   	pop    %ecx
47a203:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
47a205:	5f                   	pop    %edi
47a206:	66 c7 40 20 00 00    	movw   $0x0,0x20(%eax)
47a20c:	5e                   	pop    %esi
47a20d:	5d                   	pop    %ebp
47a20e:	c2 14 00             	ret    $0x14
47a211:	6a 24                	push   $0x24
47a213:	ff 15 14 74 4a 00    	call   *0x4a7414
47a219:	59                   	pop    %ecx
47a21a:	33 c9                	xor    %ecx,%ecx
47a21c:	89 08                	mov    %ecx,(%eax)
47a21e:	89 48 04             	mov    %ecx,0x4(%eax)
47a221:	89 48 08             	mov    %ecx,0x8(%eax)
47a224:	66 c7 40 20 01 00    	movw   $0x1,0x20(%eax)
47a22a:	c3                   	ret
47a22b:	6a 08                	push   $0x8
47a22d:	b8 dc 61 49 00       	mov    $0x4961dc,%eax
47a232:	e8 9c 62 01 00       	call   0x4904d3
47a237:	8b f9                	mov    %ecx,%edi
47a239:	89 7d ec             	mov    %edi,-0x14(%ebp)
47a23c:	68 60 02 00 00       	push   $0x260
47a241:	e8 66 2e 00 00       	call   0x47d0ac
47a246:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47a24a:	6a 10                	push   $0x10
47a24c:	c7 07 90 61 40 00    	movl   $0x406190,(%edi)
47a252:	ff 15 14 74 4a 00    	call   *0x4a7414
47a258:	89 45 f0             	mov    %eax,-0x10(%ebp)
47a25b:	59                   	pop    %ecx
47a25c:	85 c0                	test   %eax,%eax
47a25e:	74 11                	je     0x47a271
47a260:	89 78 04             	mov    %edi,0x4(%eax)
47a263:	89 78 08             	mov    %edi,0x8(%eax)
47a266:	c7 00 4c 60 40 00    	movl   $0x40604c,(%eax)
47a26c:	89 78 0c             	mov    %edi,0xc(%eax)
47a26f:	eb 02                	jmp    0x47a273
47a271:	33 c0                	xor    %eax,%eax
47a273:	6a 18                	push   $0x18
47a275:	89 47 04             	mov    %eax,0x4(%edi)
47a278:	ff 15 14 74 4a 00    	call   *0x4a7414
47a27e:	89 45 f0             	mov    %eax,-0x10(%ebp)
47a281:	59                   	pop    %ecx
47a282:	85 c0                	test   %eax,%eax
47a284:	74 11                	je     0x47a297
47a286:	89 78 04             	mov    %edi,0x4(%eax)
47a289:	89 78 08             	mov    %edi,0x8(%eax)
47a28c:	c7 00 24 61 40 00    	movl   $0x406124,(%eax)
47a292:	89 78 0c             	mov    %edi,0xc(%eax)
47a295:	eb 02                	jmp    0x47a299
47a297:	33 c0                	xor    %eax,%eax
47a299:	6a 10                	push   $0x10
47a29b:	89 47 08             	mov    %eax,0x8(%edi)
47a29e:	ff 15 14 74 4a 00    	call   *0x4a7414
47a2a4:	89 45 f0             	mov    %eax,-0x10(%ebp)
47a2a7:	59                   	pop    %ecx
47a2a8:	85 c0                	test   %eax,%eax
47a2aa:	74 11                	je     0x47a2bd
47a2ac:	89 78 04             	mov    %edi,0x4(%eax)
47a2af:	89 78 08             	mov    %edi,0x8(%eax)
47a2b2:	c7 00 e0 5f 40 00    	movl   $0x405fe0,(%eax)
47a2b8:	89 78 0c             	mov    %edi,0xc(%eax)
47a2bb:	eb 02                	jmp    0x47a2bf
47a2bd:	33 c0                	xor    %eax,%eax
47a2bf:	89 47 0c             	mov    %eax,0xc(%edi)
47a2c2:	8d 77 2c             	lea    0x2c(%edi),%esi
47a2c5:	8d 45 f0             	lea    -0x10(%ebp),%eax
47a2c8:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
47a2cf:	50                   	push   %eax
47a2d0:	8b ce                	mov    %esi,%ecx
47a2d2:	e8 5a 72 fb ff       	call   0x431531
47a2d7:	8d 45 f0             	lea    -0x10(%ebp),%eax
47a2da:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
47a2e1:	50                   	push   %eax
47a2e2:	8b ce                	mov    %esi,%ecx
47a2e4:	e8 48 72 fb ff       	call   0x431531
47a2e9:	8d 45 f0             	lea    -0x10(%ebp),%eax
47a2ec:	c7 45 f0 03 00 00 00 	movl   $0x3,-0x10(%ebp)
47a2f3:	50                   	push   %eax
47a2f4:	8b ce                	mov    %esi,%ecx
47a2f6:	e8 36 72 fb ff       	call   0x431531
47a2fb:	8d 45 f0             	lea    -0x10(%ebp),%eax
47a2fe:	c7 45 f0 04 00 00 00 	movl   $0x4,-0x10(%ebp)
47a305:	50                   	push   %eax
47a306:	8b ce                	mov    %esi,%ecx
47a308:	e8 24 72 fb ff       	call   0x431531
47a30d:	8b c7                	mov    %edi,%eax
47a30f:	e8 8d 61 01 00       	call   0x4904a1
47a314:	c2 04 00             	ret    $0x4
47a317:	cc                   	int3
47a318:	cc                   	int3
47a319:	cc                   	int3
47a31a:	cc                   	int3
47a31b:	cc                   	int3
47a31c:	cc                   	int3
47a31d:	cc                   	int3
47a31e:	cc                   	int3
47a31f:	cc                   	int3
47a320:	8b ff                	mov    %edi,%edi
47a322:	55                   	push   %ebp
47a323:	8b ec                	mov    %esp,%ebp
47a325:	56                   	push   %esi
47a326:	8b f1                	mov    %ecx,%esi
47a328:	ff 76 04             	push   0x4(%esi)
47a32b:	c7 06 90 61 40 00    	movl   $0x406190,(%esi)
47a331:	ff 15 10 74 4a 00    	call   *0x4a7410
47a337:	ff 76 08             	push   0x8(%esi)
47a33a:	ff 15 10 74 4a 00    	call   *0x4a7410
47a340:	ff 76 0c             	push   0xc(%esi)
47a343:	ff 15 10 74 4a 00    	call   *0x4a7410
47a349:	83 c4 0c             	add    $0xc,%esp
47a34c:	8b ce                	mov    %esi,%ecx
47a34e:	e8 df 2d 00 00       	call   0x47d132
47a353:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
47a357:	74 08                	je     0x47a361
47a359:	56                   	push   %esi
47a35a:	ff 15 10 74 4a 00    	call   *0x4a7410
47a360:	59                   	pop    %ecx
47a361:	8b c6                	mov    %esi,%eax
47a363:	5e                   	pop    %esi
47a364:	5d                   	pop    %ebp
47a365:	c2 04 00             	ret    $0x4
47a368:	cc                   	int3
47a369:	cc                   	int3
47a36a:	cc                   	int3
47a36b:	cc                   	int3
47a36c:	cc                   	int3
47a36d:	cc                   	int3
47a36e:	cc                   	int3
47a36f:	cc                   	int3
47a370:	8b ff                	mov    %edi,%edi
47a372:	55                   	push   %ebp
47a373:	8b ec                	mov    %esp,%ebp
47a375:	51                   	push   %ecx
47a376:	53                   	push   %ebx
47a377:	8b 5d 08             	mov    0x8(%ebp),%ebx
47a37a:	8b c1                	mov    %ecx,%eax
47a37c:	56                   	push   %esi
47a37d:	57                   	push   %edi
47a37e:	53                   	push   %ebx
47a37f:	89 45 fc             	mov    %eax,-0x4(%ebp)
47a382:	e8 39 40 00 00       	call   0x47e3c0
47a387:	8b 03                	mov    (%ebx),%eax
47a389:	6a 03                	push   $0x3
47a38b:	8b 70 20             	mov    0x20(%eax),%esi
47a38e:	8b ce                	mov    %esi,%ecx
47a390:	ff 15 2c 81 4a 00    	call   *0x4a812c
47a396:	8b cb                	mov    %ebx,%ecx
47a398:	ff d6                	call   *%esi
47a39a:	8b f8                	mov    %eax,%edi
47a39c:	8b 45 fc             	mov    -0x4(%ebp),%eax
47a39f:	50                   	push   %eax
47a3a0:	89 78 48             	mov    %edi,0x48(%eax)
47a3a3:	8b 0f                	mov    (%edi),%ecx
47a3a5:	8b 31                	mov    (%ecx),%esi
47a3a7:	8b ce                	mov    %esi,%ecx
47a3a9:	ff 15 2c 81 4a 00    	call   *0x4a812c
47a3af:	8b cf                	mov    %edi,%ecx
47a3b1:	ff d6                	call   *%esi
47a3b3:	8b 03                	mov    (%ebx),%eax
47a3b5:	6a 2a                	push   $0x2a
47a3b7:	8b 70 20             	mov    0x20(%eax),%esi
47a3ba:	8b ce                	mov    %esi,%ecx
47a3bc:	ff 15 2c 81 4a 00    	call   *0x4a812c
47a3c2:	8b cb                	mov    %ebx,%ecx
47a3c4:	ff d6                	call   *%esi
47a3c6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47a3c9:	5f                   	pop    %edi
47a3ca:	5e                   	pop    %esi
47a3cb:	5b                   	pop    %ebx
47a3cc:	89 41 4c             	mov    %eax,0x4c(%ecx)
47a3cf:	c9                   	leave
47a3d0:	c2 04 00             	ret    $0x4
47a3d3:	8b ff                	mov    %edi,%edi
47a3d5:	55                   	push   %ebp
47a3d6:	8b ec                	mov    %esp,%ebp
47a3d8:	51                   	push   %ecx
47a3d9:	51                   	push   %ecx
47a3da:	8b 55 08             	mov    0x8(%ebp),%edx
47a3dd:	8b 45 10             	mov    0x10(%ebp),%eax
47a3e0:	56                   	push   %esi
47a3e1:	8b f1                	mov    %ecx,%esi
47a3e3:	2b 42 04             	sub    0x4(%edx),%eax
47a3e6:	89 45 fc             	mov    %eax,-0x4(%ebp)
47a3e9:	db 45 fc             	fildl  -0x4(%ebp)
47a3ec:	dd 5d f8             	fstpl  -0x8(%ebp)
47a3ef:	dd 45 f8             	fldl   -0x8(%ebp)
47a3f2:	8b 45 0c             	mov    0xc(%ebp),%eax
47a3f5:	2b 02                	sub    (%edx),%eax
47a3f7:	89 45 fc             	mov    %eax,-0x4(%ebp)
47a3fa:	db 45 fc             	fildl  -0x4(%ebp)
47a3fd:	dd 5d f8             	fstpl  -0x8(%ebp)
47a400:	dd 45 f8             	fldl   -0x8(%ebp)
47a403:	e8 c7 6a 01 00       	call   0x490ecf
47a408:	dc 0d b0 42 41 00    	fmull  0x4142b0
47a40e:	dc 0d 80 41 41 00    	fmull  0x414180
47a414:	dc 05 d0 42 41 00    	faddl  0x4142d0
47a41a:	e8 02 6c 01 00       	call   0x491021
47a41f:	99                   	cltd
47a420:	b9 b4 00 00 00       	mov    $0xb4,%ecx
47a425:	f7 f9                	idiv   %ecx
47a427:	6a 2d                	push   $0x2d
47a429:	59                   	pop    %ecx
47a42a:	8d 42 16             	lea    0x16(%edx),%eax
47a42d:	99                   	cltd
47a42e:	f7 f9                	idiv   %ecx
47a430:	6b c0 2d             	imul   $0x2d,%eax,%eax
47a433:	89 46 58             	mov    %eax,0x58(%esi)
47a436:	5e                   	pop    %esi
47a437:	c9                   	leave
47a438:	c2 0c 00             	ret    $0xc
47a43b:	8b ff                	mov    %edi,%edi
47a43d:	55                   	push   %ebp
47a43e:	8b ec                	mov    %esp,%ebp
47a440:	83 ec 10             	sub    $0x10,%esp
47a443:	53                   	push   %ebx
47a444:	8b 5d 08             	mov    0x8(%ebp),%ebx
47a447:	56                   	push   %esi
47a448:	57                   	push   %edi
47a449:	8b 7d 0c             	mov    0xc(%ebp),%edi
47a44c:	8b 43 04             	mov    0x4(%ebx),%eax
47a44f:	8b 33                	mov    (%ebx),%esi
47a451:	89 4d f0             	mov    %ecx,-0x10(%ebp)
47a454:	2b 47 04             	sub    0x4(%edi),%eax
47a457:	89 45 f8             	mov    %eax,-0x8(%ebp)