4762e7:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4762eb:	8b 44 24 10          	mov    0x10(%esp),%eax
4762ef:	e9 34 66 fa ff       	jmp    0x41c928
4762f4:	8b 54 24 2c          	mov    0x2c(%esp),%edx
4762f8:	6a 00                	push   $0x0
4762fa:	8b 02                	mov    (%edx),%eax
4762fc:	6a 01                	push   $0x1
4762fe:	8b 48 04             	mov    0x4(%eax),%ecx
476301:	03 ca                	add    %edx,%ecx
476303:	e8 44 6c fd ff       	call   0x44cf4c
476308:	e9 e4 66 fa ff       	jmp    0x41c9f1
47630d:	8b 0e                	mov    (%esi),%ecx
47630f:	e8 c2 ef fd ff       	call   0x4552d6
476314:	8d 45 f8             	lea    -0x8(%ebp),%eax
476317:	50                   	push   %eax
476318:	8d 4d fc             	lea    -0x4(%ebp),%ecx
47631b:	e8 5e 66 fd ff       	call   0x44c97e
476320:	8b 75 fc             	mov    -0x4(%ebp),%esi
476323:	e9 01 d2 f8 ff       	jmp    0x403529
476328:	8b 71 04             	mov    0x4(%ecx),%esi
47632b:	51                   	push   %ecx
47632c:	e8 2d df fd ff       	call   0x45425e
476331:	8b ce                	mov    %esi,%ecx
476333:	85 f6                	test   %esi,%esi
476335:	75 f1                	jne    0x476328
476337:	5e                   	pop    %esi
476338:	e9 45 d2 f8 ff       	jmp    0x403582
47633d:	ff 33                	push   (%ebx)
47633f:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
476343:	8d 4d e0             	lea    -0x20(%ebp),%ecx
476346:	e8 d5 b3 f9 ff       	call   0x411720
47634b:	8d 4d e0             	lea    -0x20(%ebp),%ecx
47634e:	e8 19 30 f9 ff       	call   0x40936c
476353:	8b 45 e8             	mov    -0x18(%ebp),%eax
476356:	8d 4d e0             	lea    -0x20(%ebp),%ecx
476359:	8b 10                	mov    (%eax),%edx
47635b:	e8 3e 52 fd ff       	call   0x44b59e
476360:	8b 4d 0c             	mov    0xc(%ebp),%ecx
476363:	85 c0                	test   %eax,%eax
476365:	74 06                	je     0x47636d
476367:	8d 42 04             	lea    0x4(%edx),%eax
47636a:	50                   	push   %eax
47636b:	eb 01                	jmp    0x47636e
47636d:	52                   	push   %edx
47636e:	e8 46 6a f9 ff       	call   0x40cdb9
476373:	8d 4d e0             	lea    -0x20(%ebp),%ecx
476376:	e8 a5 c8 f9 ff       	call   0x412c20
47637b:	e9 54 72 f9 ff       	jmp    0x40d5d4
476380:	6a 29                	push   $0x29
476382:	8b c8                	mov    %eax,%ecx
476384:	e8 63 b8 f8 ff       	call   0x401bec
476389:	84 c0                	test   %al,%al
47638b:	0f 85 a0 71 f9 ff    	jne    0x40d531
476391:	8b 45 f8             	mov    -0x8(%ebp),%eax
476394:	e9 83 71 f9 ff       	jmp    0x40d51c
476399:	8b 76 04             	mov    0x4(%esi),%esi
47639c:	8b 0e                	mov    (%esi),%ecx
47639e:	e8 d4 51 fd ff       	call   0x44b577
4763a3:	99                   	cltd
4763a4:	8b f2                	mov    %edx,%esi
4763a6:	38 5d ff             	cmp    %bl,-0x1(%ebp)
4763a9:	0f 84 0a 72 f9 ff    	je     0x40d5b9
4763af:	6a 08                	push   $0x8
4763b1:	eb 66                	jmp    0x476419
4763b3:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4763b6:	e8 15 c9 f9 ff       	call   0x412cd0
4763bb:	dd 5d f0             	fstpl  -0x10(%ebp)
4763be:	8b 45 f0             	mov    -0x10(%ebp),%eax
4763c1:	8b 75 f4             	mov    -0xc(%ebp),%esi
4763c4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4763c7:	38 5d ff             	cmp    %bl,-0x1(%ebp)
4763ca:	75 17                	jne    0x4763e3
4763cc:	e9 d4 71 f9 ff       	jmp    0x40d5a5
4763d1:	8b 45 08             	mov    0x8(%ebp),%eax
4763d4:	8b 40 04             	mov    0x4(%eax),%eax
4763d7:	8b 00                	mov    (%eax),%eax
4763d9:	83 78 0c 02          	cmpl   $0x2,0xc(%eax)
4763dd:	0f 85 c2 71 f9 ff    	jne    0x40d5a5
4763e3:	6a 10                	push   $0x10
4763e5:	88 5d ff             	mov    %bl,-0x1(%ebp)
4763e8:	5f                   	pop    %edi
4763e9:	e9 b7 71 f9 ff       	jmp    0x40d5a5
4763ee:	3b f3                	cmp    %ebx,%esi
4763f0:	7c 0f                	jl     0x476401
4763f2:	7f 07                	jg     0x4763fb
4763f4:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
4763f9:	76 06                	jbe    0x476401
4763fb:	0b de                	or     %esi,%ebx
4763fd:	75 18                	jne    0x476417
4763ff:	eb ae                	jmp    0x4763af
476401:	83 fe ff             	cmp    $0xffffffff,%esi
476404:	0f 8f af 71 f9 ff    	jg     0x40d5b9
47640a:	7c 0b                	jl     0x476417
47640c:	3d 00 00 00 80       	cmp    $0x80000000,%eax
476411:	0f 83 a2 71 f9 ff    	jae    0x40d5b9
476417:	6a 10                	push   $0x10
476419:	5f                   	pop    %edi
47641a:	e9 9a 71 f9 ff       	jmp    0x40d5b9
47641f:	8b 47 04             	mov    0x4(%edi),%eax
476422:	8b 48 04             	mov    0x4(%eax),%ecx
476425:	e8 5c 6e f9 ff       	call   0x40d286
47642a:	48                   	dec    %eax
47642b:	74 0f                	je     0x47643c
47642d:	48                   	dec    %eax
47642e:	0f 85 c6 6a f9 ff    	jne    0x40cefa
476434:	6a 02                	push   $0x2
476436:	5e                   	pop    %esi
476437:	e9 be 6a f9 ff       	jmp    0x40cefa
47643c:	33 f6                	xor    %esi,%esi
47643e:	46                   	inc    %esi
47643f:	e9 b6 6a f9 ff       	jmp    0x40cefa
476444:	8d 46 ff             	lea    -0x1(%esi),%eax
476447:	83 f8 01             	cmp    $0x1,%eax
47644a:	0f 87 c7 6a f9 ff    	ja     0x40cf17
476450:	8b 47 04             	mov    0x4(%edi),%eax
476453:	56                   	push   %esi
476454:	8b 08                	mov    (%eax),%ecx
476456:	e8 38 6b f9 ff       	call   0x40cf93
47645b:	52                   	push   %edx
47645c:	50                   	push   %eax
47645d:	8d 45 f0             	lea    -0x10(%ebp),%eax
476460:	50                   	push   %eax
476461:	e8 ec fe fd ff       	call   0x456352
476466:	8b 4d 0c             	mov    0xc(%ebp),%ecx
476469:	50                   	push   %eax
47646a:	e8 3f 78 f9 ff       	call   0x40dcae
47646f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
476472:	e8 a9 c7 f9 ff       	call   0x412c20
476477:	e9 9b 6a f9 ff       	jmp    0x40cf17
47647c:	8b 46 04             	mov    0x4(%esi),%eax
47647f:	8b 08                	mov    (%eax),%ecx
476481:	e8 4a c8 f9 ff       	call   0x412cd0
476486:	dd 5d f8             	fstpl  -0x8(%ebp)
476489:	8b 75 0c             	mov    0xc(%ebp),%esi
47648c:	8b ce                	mov    %esi,%ecx
47648e:	e8 8d c7 f9 ff       	call   0x412c20
476493:	dd 45 f8             	fldl   -0x8(%ebp)
476496:	dd 1e                	fstpl  (%esi)
476498:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
47649f:	e9 99 71 f9 ff       	jmp    0x40d63d
4764a4:	ff 75 0c             	push   0xc(%ebp)
4764a7:	8b cf                	mov    %edi,%ecx
4764a9:	56                   	push   %esi
4764aa:	e8 34 6a f9 ff       	call   0x40cee3
4764af:	e9 89 71 f9 ff       	jmp    0x40d63d
4764b4:	e8 17 c8 f9 ff       	call   0x412cd0
4764b9:	dc 4d f8             	fmull  -0x8(%ebp)
4764bc:	51                   	push   %ecx
4764bd:	51                   	push   %ecx
4764be:	dc 25 f0 26 4b 00    	fsubl  0x4b26f0
4764c4:	dd 1c 24             	fstpl  (%esp)
4764c7:	e8 b4 e6 fa ff       	call   0x424b80
4764cc:	dc 75 f8             	fdivl  -0x8(%ebp)
4764cf:	8b 7d 0c             	mov    0xc(%ebp),%edi
4764d2:	59                   	pop    %ecx
4764d3:	59                   	pop    %ecx
4764d4:	8b cf                	mov    %edi,%ecx
4764d6:	dd 5d f8             	fstpl  -0x8(%ebp)
4764d9:	e8 42 c7 f9 ff       	call   0x412c20
4764de:	dd 45 f8             	fldl   -0x8(%ebp)
4764e1:	e9 ca 7c fa ff       	jmp    0x41e1b0
4764e6:	6a 00                	push   $0x0
4764e8:	8b cf                	mov    %edi,%ecx
4764ea:	e8 a4 6a f9 ff       	call   0x40cf93
4764ef:	52                   	push   %edx
4764f0:	50                   	push   %eax
4764f1:	8d 45 f0             	lea    -0x10(%ebp),%eax
4764f4:	50                   	push   %eax
4764f5:	e8 58 fe fd ff       	call   0x456352
4764fa:	50                   	push   %eax
4764fb:	8b cf                	mov    %edi,%ecx
4764fd:	e8 ac 77 f9 ff       	call   0x40dcae
476502:	8d 4d f0             	lea    -0x10(%ebp),%ecx
476505:	e8 16 c7 f9 ff       	call   0x412c20
47650a:	e9 b4 7c fa ff       	jmp    0x41e1c3
47650f:	8d 44 24 34          	lea    0x34(%esp),%eax
476513:	33 db                	xor    %ebx,%ebx
476515:	50                   	push   %eax
476516:	43                   	inc    %ebx
476517:	e8 81 41 fd ff       	call   0x44a69d
47651c:	8b c8                	mov    %eax,%ecx
47651e:	e9 99 ac f8 ff       	jmp    0x4011bc
476523:	8d 4c 24 34          	lea    0x34(%esp),%ecx
476527:	e8 0b 66 f9 ff       	call   0x40cb37
47652c:	e9 c2 ac f8 ff       	jmp    0x4011f3
476531:	8b 75 0c             	mov    0xc(%ebp),%esi
476534:	8b ce                	mov    %esi,%ecx
476536:	e8 e5 c6 f9 ff       	call   0x412c20
47653b:	83 26 00             	andl   $0x0,(%esi)
47653e:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
476545:	e9 7b ad f8 ff       	jmp    0x4012c5
47654a:	8b 74 24 0c          	mov    0xc(%esp),%esi
47654e:	8d 54 24 14          	lea    0x14(%esp),%edx
476552:	8b 0e                	mov    (%esi),%ecx
476554:	e8 cd 03 f9 ff       	call   0x406926
476559:	84 c0                	test   %al,%al
47655b:	75 13                	jne    0x476570
47655d:	8d 44 24 10          	lea    0x10(%esp),%eax
476561:	50                   	push   %eax
476562:	8d 4c 24 10          	lea    0x10(%esp),%ecx
476566:	e8 13 64 fd ff       	call   0x44c97e
47656b:	e9 f9 ac f8 ff       	jmp    0x401269
476570:	8b 06                	mov    (%esi),%eax
476572:	c6 40 11 00          	movb   $0x0,0x11(%eax)
476576:	8b 06                	mov    (%esi),%eax
476578:	89 78 18             	mov    %edi,0x18(%eax)
47657b:	8b 36                	mov    (%esi),%esi
47657d:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
476581:	75 09                	jne    0x47658c
476583:	ff 15 a0 d7 48 00    	call   *0x48d7a0
476589:	89 46 14             	mov    %eax,0x14(%esi)
47658c:	8b 03                	mov    (%ebx),%eax
47658e:	6a 00                	push   $0x0
476590:	8b 48 04             	mov    0x4(%eax),%ecx
476593:	6a 01                	push   $0x1
476595:	03 cb                	add    %ebx,%ecx
476597:	e8 85 cd f8 ff       	call   0x403321
47659c:	e9 24 ad f8 ff       	jmp    0x4012c5
4765a1:	83 f9 44             	cmp    $0x44,%ecx
4765a4:	0f 85 61 b5 f8 ff    	jne    0x401b0b
4765aa:	50                   	push   %eax
4765ab:	e8 2b a7 fa ff       	call   0x420cdb
4765b0:	59                   	pop    %ecx
4765b1:	50                   	push   %eax
4765b2:	8d 8c 24 bc 01 00 00 	lea    0x1bc(%esp),%ecx
4765b9:	e8 51 05 f9 ff       	call   0x406b0f
4765be:	8b 44 34 48          	mov    0x48(%esp,%esi,1),%eax
4765c2:	c7 44 24 14 02 00 00 	movl   $0x2,0x14(%esp)
4765c9:	00
4765ca:	0f b7 40 04          	movzwl 0x4(%eax),%eax
4765ce:	eb 24                	jmp    0x4765f4
4765d0:	66 83 f8 27          	cmp    $0x27,%ax
4765d4:	74 23                	je     0x4765f9
4765d6:	50                   	push   %eax
4765d7:	8d 8c 24 bc 01 00 00 	lea    0x1bc(%esp),%ecx
4765de:	e8 b6 61 f9 ff       	call   0x40c799
4765e3:	8b 44 24 14          	mov    0x14(%esp),%eax
4765e7:	8b 4c 34 48          	mov    0x48(%esp,%esi,1),%ecx
4765eb:	40                   	inc    %eax
4765ec:	89 44 24 14          	mov    %eax,0x14(%esp)
4765f0:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
4765f4:	66 85 c0             	test   %ax,%ax
4765f7:	75 d7                	jne    0x4765d0
4765f9:	ff 44 24 14          	incl   0x14(%esp)
4765fd:	8d 84 24 b8 01 00 00 	lea    0x1b8(%esp),%eax
476604:	50                   	push   %eax
476605:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
476609:	e8 5a 05 f9 ff       	call   0x406b68
47660e:	8d 8c 24 b8 01 00 00 	lea    0x1b8(%esp),%ecx
476615:	e8 1d 65 f9 ff       	call   0x40cb37
47661a:	e9 ec b4 f8 ff       	jmp    0x401b0b
47661f:	48                   	dec    %eax
476620:	0f 85 ed 02 00 00    	jne    0x476913
476626:	8b 74 34 44          	mov    0x44(%esp,%esi,1),%esi
47662a:	56                   	push   %esi
47662b:	8b cb                	mov    %ebx,%ecx
47662d:	e8 87 67 f9 ff       	call   0x40cdb9
476632:	83 7c 24 1c 01       	cmpl   $0x1,0x1c(%esp)
476637:	0f 86 4c b5 f8 ff    	jbe    0x401b89
47663d:	8b 45 08             	mov    0x8(%ebp),%eax
476640:	6a 29                	push   $0x29
476642:	8b 40 04             	mov    0x4(%eax),%eax
476645:	8b 40 04             	mov    0x4(%eax),%eax
476648:	8b c8                	mov    %eax,%ecx
47664a:	89 44 24 14          	mov    %eax,0x14(%esp)
47664e:	e8 99 b5 f8 ff       	call   0x401bec
476653:	84 c0                	test   %al,%al
476655:	74 0b                	je     0x476662
476657:	8d 4c 24 28          	lea    0x28(%esp),%ecx
47665b:	e8 26 6c f9 ff       	call   0x40d286
476660:	eb 15                	jmp    0x476677
476662:	8b 4c 24 10          	mov    0x10(%esp),%ecx
476666:	e8 01 2d f9 ff       	call   0x40936c
47666b:	8b 4c 24 10          	mov    0x10(%esp),%ecx
47666f:	8b 41 08             	mov    0x8(%ecx),%eax
476672:	8b 00                	mov    (%eax),%eax
476674:	66 8b 00             	mov    (%eax),%ax
476677:	66 89 06             	mov    %ax,(%esi)
47667a:	e9 0a b5 f8 ff       	jmp    0x401b89
47667f:	8b 44 34 44          	mov    0x44(%esp,%esi,1),%eax
476683:	8b cb                	mov    %ebx,%ecx
476685:	ff 30                	push   (%eax)
476687:	e8 2d 67 f9 ff       	call   0x40cdb9
47668c:	83 7c 24 1c 01       	cmpl   $0x1,0x1c(%esp)
476691:	0f 86 f2 b4 f8 ff    	jbe    0x401b89
476697:	8b 45 08             	mov    0x8(%ebp),%eax
47669a:	6a 29                	push   $0x29
47669c:	8b 40 04             	mov    0x4(%eax),%eax
47669f:	8b 40 04             	mov    0x4(%eax),%eax
4766a2:	8b c8                	mov    %eax,%ecx
4766a4:	89 44 24 14          	mov    %eax,0x14(%esp)
4766a8:	e8 3f b5 f8 ff       	call   0x401bec
4766ad:	84 c0                	test   %al,%al
4766af:	74 0f                	je     0x4766c0
4766b1:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4766b5:	e8 b2 2c f9 ff       	call   0x40936c
4766ba:	8b 44 24 30          	mov    0x30(%esp),%eax
4766be:	eb 10                	jmp    0x4766d0
4766c0:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4766c4:	e8 a3 2c f9 ff       	call   0x40936c
4766c9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4766cd:	8b 41 08             	mov    0x8(%ecx),%eax
4766d0:	ff 30                	push   (%eax)
4766d2:	8b 4c 34 48          	mov    0x48(%esp,%esi,1),%ecx
4766d6:	e8 88 03 f9 ff       	call   0x406a63
4766db:	e9 a9 b4 f8 ff       	jmp    0x401b89
4766e0:	8d 44 24 20          	lea    0x20(%esp),%eax
4766e4:	50                   	push   %eax
4766e5:	8d 54 24 18          	lea    0x18(%esp),%edx
4766e9:	e8 1a b5 f8 ff       	call   0x401c08
4766ee:	8b 44 24 24          	mov    0x24(%esp),%eax
4766f2:	59                   	pop    %ecx
4766f3:	48                   	dec    %eax
4766f4:	0f 84 40 01 00 00    	je     0x47683a
4766fa:	48                   	dec    %eax
4766fb:	74 6d                	je     0x47676a
4766fd:	48                   	dec    %eax
4766fe:	0f 85 0f 02 00 00    	jne    0x476913
476704:	8b b7 f4 02 00 00    	mov    0x2f4(%edi),%esi
47670a:	8b cb                	mov    %ebx,%ecx
47670c:	e8 0f c5 f9 ff       	call   0x412c20
476711:	83 7c 24 1c 01       	cmpl   $0x1,0x1c(%esp)
476716:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
47671d:	89 33                	mov    %esi,(%ebx)
47671f:	0f 86 64 b4 f8 ff    	jbe    0x401b89
476725:	8b 45 08             	mov    0x8(%ebp),%eax
476728:	6a 29                	push   $0x29
47672a:	8b 48 04             	mov    0x4(%eax),%ecx
47672d:	8b 49 04             	mov    0x4(%ecx),%ecx
476730:	e8 b7 b4 f8 ff       	call   0x401bec
476735:	84 c0                	test   %al,%al
476737:	74 11                	je     0x47674a
476739:	8d 4c 24 28          	lea    0x28(%esp),%ecx
47673d:	e8 44 6b f9 ff       	call   0x40d286
476742:	8b f0                	mov    %eax,%esi
476744:	89 74 24 18          	mov    %esi,0x18(%esp)
476748:	eb 04                	jmp    0x47674e
47674a:	8b 74 24 18          	mov    0x18(%esp),%esi
47674e:	56                   	push   %esi
47674f:	e8 49 e5 fa ff       	call   0x424c9d
476754:	48                   	dec    %eax
476755:	59                   	pop    %ecx
476756:	83 f8 03             	cmp    $0x3,%eax
476759:	0f 87 b4 01 00 00    	ja     0x476913
47675f:	89 b7 f4 02 00 00    	mov    %esi,0x2f4(%edi)
476765:	e9 1f b4 f8 ff       	jmp    0x401b89
47676a:	8b 35 20 17 4c 00    	mov    0x4c1720,%esi
476770:	8b cb                	mov    %ebx,%ecx
476772:	e8 a9 c4 f9 ff       	call   0x412c20
476777:	83 7c 24 1c 01       	cmpl   $0x1,0x1c(%esp)