59b451:	ff 40 0c             	incl   0xc(%eax)
59b454:	8b 45 0c             	mov    0xc(%ebp),%eax
59b457:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
59b45c:	74 21                	je     0x59b47f
59b45e:	8b 45 0c             	mov    0xc(%ebp),%eax
59b461:	db 40 0c             	fildl  0xc(%eax)
59b464:	8b 45 0c             	mov    0xc(%ebp),%eax
59b467:	dc 48 18             	fmull  0x18(%eax)
59b46a:	e8 5d 78 e6 ff       	call   0x402ccc
59b46f:	8b c8                	mov    %eax,%ecx
59b471:	8b 75 0c             	mov    0xc(%ebp),%esi
59b474:	8b 55 0c             	mov    0xc(%ebp),%edx
59b477:	8b 52 08             	mov    0x8(%edx),%edx
59b47a:	8b 46 04             	mov    0x4(%esi),%eax
59b47d:	ff 16                	call   *(%esi)
59b47f:	ff 45 e4             	incl   -0x1c(%ebp)
59b482:	ff 4d c8             	decl   -0x38(%ebp)
59b485:	0f 85 71 ff ff ff    	jne    0x59b3fc
59b48b:	e9 19 06 00 00       	jmp    0x59baa9
59b490:	8b 45 f4             	mov    -0xc(%ebp),%eax
59b493:	ba 24 bb 59 00       	mov    $0x59bb24,%edx
59b498:	e8 c7 97 e6 ff       	call   0x404c64
59b49d:	0f 85 33 01 00 00    	jne    0x59b5d6
59b4a3:	8b 06                	mov    (%esi),%eax
59b4a5:	c7 40 08 08 00 00 00 	movl   $0x8,0x8(%eax)
59b4ac:	8b 06                	mov    (%esi),%eax
59b4ae:	c7 40 10 03 00 00 00 	movl   $0x3,0x10(%eax)
59b4b5:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
59b4b9:	0f 85 ea 05 00 00    	jne    0x59baa9
59b4bf:	6a 05                	push   $0x5
59b4c1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
59b4c4:	8b 55 f0             	mov    -0x10(%ebp),%edx
59b4c7:	8b 45 fc             	mov    -0x4(%ebp),%eax
59b4ca:	8b 30                	mov    (%eax),%esi
59b4cc:	ff 56 24             	call   *0x24(%esi)
59b4cf:	8b 45 ec             	mov    -0x14(%ebp),%eax
59b4d2:	48                   	dec    %eax
59b4d3:	85 c0                	test   %eax,%eax
59b4d5:	0f 8c ce 05 00 00    	jl     0x59baa9
59b4db:	40                   	inc    %eax
59b4dc:	89 45 c8             	mov    %eax,-0x38(%ebp)
59b4df:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
59b4e6:	8b 55 e4             	mov    -0x1c(%ebp),%edx
59b4e9:	8b 45 fc             	mov    -0x4(%ebp),%eax
59b4ec:	8b 08                	mov    (%eax),%ecx
59b4ee:	ff 11                	call   *(%ecx)
59b4f0:	89 45 d8             	mov    %eax,-0x28(%ebp)
59b4f3:	8b 75 f0             	mov    -0x10(%ebp),%esi
59b4f6:	4e                   	dec    %esi
59b4f7:	85 f6                	test   %esi,%esi
59b4f9:	0f 8c 95 00 00 00    	jl     0x59b594
59b4ff:	46                   	inc    %esi
59b500:	8b 7d d8             	mov    -0x28(%ebp),%edi
59b503:	8d 55 f8             	lea    -0x8(%ebp),%edx
59b506:	8b c3                	mov    %ebx,%eax
59b508:	e8 73 f8 ff ff       	call   0x59ad80
59b50d:	33 d2                	xor    %edx,%edx
59b50f:	8b 45 f8             	mov    -0x8(%ebp),%eax
59b512:	e8 c9 e1 e6 ff       	call   0x4096e0
59b517:	89 45 bc             	mov    %eax,-0x44(%ebp)
59b51a:	db 45 bc             	fildl  -0x44(%ebp)
59b51d:	db 45 e8             	fildl  -0x18(%ebp)
59b520:	de f9                	fdivrp %st,%st(1)
59b522:	d8 0d 18 bb 59 00    	fmuls  0x59bb18
59b528:	e8 9f 77 e6 ff       	call   0x402ccc
59b52d:	88 47 02             	mov    %al,0x2(%edi)
59b530:	8d 55 f8             	lea    -0x8(%ebp),%edx
59b533:	8b c3                	mov    %ebx,%eax
59b535:	e8 46 f8 ff ff       	call   0x59ad80
59b53a:	33 d2                	xor    %edx,%edx
59b53c:	8b 45 f8             	mov    -0x8(%ebp),%eax
59b53f:	e8 9c e1 e6 ff       	call   0x4096e0
59b544:	89 45 bc             	mov    %eax,-0x44(%ebp)
59b547:	db 45 bc             	fildl  -0x44(%ebp)
59b54a:	db 45 e8             	fildl  -0x18(%ebp)
59b54d:	de f9                	fdivrp %st,%st(1)
59b54f:	d8 0d 18 bb 59 00    	fmuls  0x59bb18
59b555:	e8 72 77 e6 ff       	call   0x402ccc
59b55a:	88 47 01             	mov    %al,0x1(%edi)
59b55d:	8d 55 f8             	lea    -0x8(%ebp),%edx
59b560:	8b c3                	mov    %ebx,%eax
59b562:	e8 19 f8 ff ff       	call   0x59ad80
59b567:	33 d2                	xor    %edx,%edx
59b569:	8b 45 f8             	mov    -0x8(%ebp),%eax
59b56c:	e8 6f e1 e6 ff       	call   0x4096e0
59b571:	89 45 bc             	mov    %eax,-0x44(%ebp)
59b574:	db 45 bc             	fildl  -0x44(%ebp)
59b577:	db 45 e8             	fildl  -0x18(%ebp)
59b57a:	de f9                	fdivrp %st,%st(1)
59b57c:	d8 0d 18 bb 59 00    	fmuls  0x59bb18
59b582:	e8 45 77 e6 ff       	call   0x402ccc
59b587:	88 07                	mov    %al,(%edi)
59b589:	83 45 d8 03          	addl   $0x3,-0x28(%ebp)
59b58d:	4e                   	dec    %esi
59b58e:	0f 85 6c ff ff ff    	jne    0x59b500
59b594:	8b 45 0c             	mov    0xc(%ebp),%eax
59b597:	ff 40 0c             	incl   0xc(%eax)
59b59a:	8b 45 0c             	mov    0xc(%ebp),%eax
59b59d:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
59b5a2:	74 21                	je     0x59b5c5
59b5a4:	8b 45 0c             	mov    0xc(%ebp),%eax
59b5a7:	db 40 0c             	fildl  0xc(%eax)
59b5aa:	8b 45 0c             	mov    0xc(%ebp),%eax
59b5ad:	dc 48 18             	fmull  0x18(%eax)
59b5b0:	e8 17 77 e6 ff       	call   0x402ccc
59b5b5:	8b c8                	mov    %eax,%ecx
59b5b7:	8b 75 0c             	mov    0xc(%ebp),%esi
59b5ba:	8b 55 0c             	mov    0xc(%ebp),%edx
59b5bd:	8b 52 08             	mov    0x8(%edx),%edx
59b5c0:	8b 46 04             	mov    0x4(%esi),%eax
59b5c3:	ff 16                	call   *(%esi)
59b5c5:	ff 45 e4             	incl   -0x1c(%ebp)
59b5c8:	ff 4d c8             	decl   -0x38(%ebp)
59b5cb:	0f 85 15 ff ff ff    	jne    0x59b4e6
59b5d1:	e9 d3 04 00 00       	jmp    0x59baa9
59b5d6:	8b 45 f4             	mov    -0xc(%ebp),%eax
59b5d9:	ba 04 bb 59 00       	mov    $0x59bb04,%edx
59b5de:	e8 81 96 e6 ff       	call   0x404c64
59b5e3:	0f 85 ab 00 00 00    	jne    0x59b694
59b5e9:	8b 06                	mov    (%esi),%eax
59b5eb:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
59b5f2:	8b 06                	mov    (%esi),%eax
59b5f4:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
59b5fb:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
59b5ff:	0f 85 a4 04 00 00    	jne    0x59baa9
59b605:	6a 01                	push   $0x1
59b607:	8b 4d ec             	mov    -0x14(%ebp),%ecx
59b60a:	8b 55 f0             	mov    -0x10(%ebp),%edx
59b60d:	8b 45 fc             	mov    -0x4(%ebp),%eax
59b610:	8b 30                	mov    (%eax),%esi
59b612:	ff 56 24             	call   *0x24(%esi)
59b615:	8b 75 f0             	mov    -0x10(%ebp),%esi
59b618:	c1 ee 03             	shr    $0x3,%esi
59b61b:	f6 45 f0 07          	testb  $0x7,-0x10(%ebp)
59b61f:	74 01                	je     0x59b622
59b621:	46                   	inc    %esi
59b622:	8b 45 ec             	mov    -0x14(%ebp),%eax
59b625:	48                   	dec    %eax
59b626:	85 c0                	test   %eax,%eax
59b628:	7c 5d                	jl     0x59b687
59b62a:	40                   	inc    %eax
59b62b:	89 45 c8             	mov    %eax,-0x38(%ebp)
59b62e:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
59b635:	8b 55 e4             	mov    -0x1c(%ebp),%edx
59b638:	8b 45 fc             	mov    -0x4(%ebp),%eax
59b63b:	8b 08                	mov    (%eax),%ecx
59b63d:	ff 11                	call   *(%ecx)
59b63f:	89 45 dc             	mov    %eax,-0x24(%ebp)
59b642:	8b 55 dc             	mov    -0x24(%ebp),%edx
59b645:	8b ce                	mov    %esi,%ecx
59b647:	8b c3                	mov    %ebx,%eax
59b649:	8b 38                	mov    (%eax),%edi
59b64b:	ff 57 08             	call   *0x8(%edi)
59b64e:	8b 45 0c             	mov    0xc(%ebp),%eax
59b651:	ff 40 0c             	incl   0xc(%eax)
59b654:	8b 45 0c             	mov    0xc(%ebp),%eax
59b657:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
59b65c:	74 21                	je     0x59b67f
59b65e:	8b 45 0c             	mov    0xc(%ebp),%eax
59b661:	db 40 0c             	fildl  0xc(%eax)
59b664:	8b 45 0c             	mov    0xc(%ebp),%eax
59b667:	dc 48 18             	fmull  0x18(%eax)
59b66a:	e8 5d 76 e6 ff       	call   0x402ccc
59b66f:	8b c8                	mov    %eax,%ecx
59b671:	8b 7d 0c             	mov    0xc(%ebp),%edi
59b674:	8b 55 0c             	mov    0xc(%ebp),%edx
59b677:	8b 52 08             	mov    0x8(%edx),%edx
59b67a:	8b 47 04             	mov    0x4(%edi),%eax
59b67d:	ff 17                	call   *(%edi)
59b67f:	ff 45 e4             	incl   -0x1c(%ebp)
59b682:	ff 4d c8             	decl   -0x38(%ebp)
59b685:	75 ae                	jne    0x59b635
59b687:	8b 45 fc             	mov    -0x4(%ebp),%eax
59b68a:	e8 55 10 01 00       	call   0x5ac6e4
59b68f:	e9 15 04 00 00       	jmp    0x59baa9
59b694:	8b 45 f4             	mov    -0xc(%ebp),%eax
59b697:	ba 30 bb 59 00       	mov    $0x59bb30,%edx
59b69c:	e8 c3 95 e6 ff       	call   0x404c64
59b6a1:	0f 85 1b 01 00 00    	jne    0x59b7c2
59b6a7:	8b 06                	mov    (%esi),%eax
59b6a9:	c7 40 08 08 00 00 00 	movl   $0x8,0x8(%eax)
59b6b0:	8b 06                	mov    (%esi),%eax
59b6b2:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
59b6b9:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
59b6bd:	0f 85 e6 03 00 00    	jne    0x59baa9
59b6c3:	6a 05                	push   $0x5
59b6c5:	8b 4d ec             	mov    -0x14(%ebp),%ecx
59b6c8:	8b 55 f0             	mov    -0x10(%ebp),%edx
59b6cb:	8b 45 fc             	mov    -0x4(%ebp),%eax
59b6ce:	8b 30                	mov    (%eax),%esi
59b6d0:	ff 56 24             	call   *0x24(%esi)
59b6d3:	8b 45 f0             	mov    -0x10(%ebp),%eax
59b6d6:	e8 d1 70 e6 ff       	call   0x4027ac
59b6db:	89 45 e0             	mov    %eax,-0x20(%ebp)
59b6de:	8b 45 ec             	mov    -0x14(%ebp),%eax
59b6e1:	48                   	dec    %eax
59b6e2:	85 c0                	test   %eax,%eax
59b6e4:	0f 8c cb 00 00 00    	jl     0x59b7b5
59b6ea:	40                   	inc    %eax
59b6eb:	89 45 c8             	mov    %eax,-0x38(%ebp)
59b6ee:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
59b6f5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
59b6f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
59b6fb:	8b 08                	mov    (%eax),%ecx
59b6fd:	ff 11                	call   *(%ecx)
59b6ff:	89 45 d8             	mov    %eax,-0x28(%ebp)
59b702:	8b 45 e0             	mov    -0x20(%ebp),%eax
59b705:	89 45 dc             	mov    %eax,-0x24(%ebp)
59b708:	8b 55 dc             	mov    -0x24(%ebp),%edx
59b70b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
59b70e:	8b c3                	mov    %ebx,%eax
59b710:	8b 30                	mov    (%eax),%esi
59b712:	ff 56 08             	call   *0x8(%esi)
59b715:	81 7d e8 ff 00 00 00 	cmpl   $0xff,-0x18(%ebp)
59b71c:	7d 2d                	jge    0x59b74b
59b71e:	8b 75 f0             	mov    -0x10(%ebp),%esi
59b721:	4e                   	dec    %esi
59b722:	85 f6                	test   %esi,%esi
59b724:	7c 25                	jl     0x59b74b
59b726:	46                   	inc    %esi
59b727:	8b 45 dc             	mov    -0x24(%ebp),%eax
59b72a:	0f b6 00             	movzbl (%eax),%eax
59b72d:	89 45 bc             	mov    %eax,-0x44(%ebp)
59b730:	db 45 bc             	fildl  -0x44(%ebp)
59b733:	db 45 e8             	fildl  -0x18(%ebp)
59b736:	de f9                	fdivrp %st,%st(1)
59b738:	d8 0d 18 bb 59 00    	fmuls  0x59bb18
59b73e:	e8 89 75 e6 ff       	call   0x402ccc
59b743:	8b 55 dc             	mov    -0x24(%ebp),%edx
59b746:	88 02                	mov    %al,(%edx)
59b748:	4e                   	dec    %esi
59b749:	75 dc                	jne    0x59b727
59b74b:	8b 75 f0             	mov    -0x10(%ebp),%esi
59b74e:	4e                   	dec    %esi
59b74f:	85 f6                	test   %esi,%esi
59b751:	7c 25                	jl     0x59b778
59b753:	46                   	inc    %esi
59b754:	8b 45 d8             	mov    -0x28(%ebp),%eax
59b757:	8b 55 dc             	mov    -0x24(%ebp),%edx
59b75a:	8a 12                	mov    (%edx),%dl
59b75c:	88 50 02             	mov    %dl,0x2(%eax)
59b75f:	8b 55 dc             	mov    -0x24(%ebp),%edx
59b762:	8a 12                	mov    (%edx),%dl
59b764:	88 50 01             	mov    %dl,0x1(%eax)
59b767:	8b 55 dc             	mov    -0x24(%ebp),%edx
59b76a:	8a 12                	mov    (%edx),%dl
59b76c:	88 10                	mov    %dl,(%eax)
59b76e:	83 45 d8 03          	addl   $0x3,-0x28(%ebp)
59b772:	ff 45 dc             	incl   -0x24(%ebp)
59b775:	4e                   	dec    %esi
59b776:	75 dc                	jne    0x59b754
59b778:	8b 45 0c             	mov    0xc(%ebp),%eax
59b77b:	ff 40 0c             	incl   0xc(%eax)
59b77e:	8b 45 0c             	mov    0xc(%ebp),%eax
59b781:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
59b786:	74 21                	je     0x59b7a9
59b788:	8b 45 0c             	mov    0xc(%ebp),%eax
59b78b:	db 40 0c             	fildl  0xc(%eax)
59b78e:	8b 45 0c             	mov    0xc(%ebp),%eax
59b791:	dc 48 18             	fmull  0x18(%eax)
59b794:	e8 33 75 e6 ff       	call   0x402ccc
59b799:	8b c8                	mov    %eax,%ecx
59b79b:	8b 75 0c             	mov    0xc(%ebp),%esi
59b79e:	8b 55 0c             	mov    0xc(%ebp),%edx
59b7a1:	8b 52 08             	mov    0x8(%edx),%edx
59b7a4:	8b 46 04             	mov    0x4(%esi),%eax
59b7a7:	ff 16                	call   *(%esi)
59b7a9:	ff 45 e4             	incl   -0x1c(%ebp)
59b7ac:	ff 4d c8             	decl   -0x38(%ebp)
59b7af:	0f 85 40 ff ff ff    	jne    0x59b6f5
59b7b5:	8b 45 e0             	mov    -0x20(%ebp),%eax
59b7b8:	e8 0f 70 e6 ff       	call   0x4027cc
59b7bd:	e9 e7 02 00 00       	jmp    0x59baa9
59b7c2:	8b 45 f4             	mov    -0xc(%ebp),%eax
59b7c5:	ba 3c bb 59 00       	mov    $0x59bb3c,%edx
59b7ca:	e8 95 94 e6 ff       	call   0x404c64
59b7cf:	0f 85 c9 00 00 00    	jne    0x59b89e
59b7d5:	81 7d e8 00 01 00 00 	cmpl   $0x100,-0x18(%ebp)
59b7dc:	0f 8d bc 00 00 00    	jge    0x59b89e
59b7e2:	8b 06                	mov    (%esi),%eax
59b7e4:	c7 40 08 08 00 00 00 	movl   $0x8,0x8(%eax)
59b7eb:	8b 06                	mov    (%esi),%eax
59b7ed:	c7 40 10 03 00 00 00 	movl   $0x3,0x10(%eax)
59b7f4:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
59b7f8:	0f 85 ab 02 00 00    	jne    0x59baa9
59b7fe:	6a 05                	push   $0x5
59b800:	8b 4d ec             	mov    -0x14(%ebp),%ecx
59b803:	8b 55 f0             	mov    -0x10(%ebp),%edx
59b806:	8b 45 fc             	mov    -0x4(%ebp),%eax
59b809:	8b 30                	mov    (%eax),%esi
59b80b:	ff 56 24             	call   *0x24(%esi)
59b80e:	8b 45 ec             	mov    -0x14(%ebp),%eax
59b811:	48                   	dec    %eax
59b812:	85 c0                	test   %eax,%eax
59b814:	0f 8c 8f 02 00 00    	jl     0x59baa9
59b81a:	40                   	inc    %eax
59b81b:	89 45 c8             	mov    %eax,-0x38(%ebp)
59b81e:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
59b825:	8b 55 e4             	mov    -0x1c(%ebp),%edx
59b828:	8b 45 fc             	mov    -0x4(%ebp),%eax
59b82b:	8b 08                	mov    (%eax),%ecx
59b82d:	ff 11                	call   *(%ecx)
59b82f:	89 45 d8             	mov    %eax,-0x28(%ebp)
59b832:	8b 4d f0             	mov    -0x10(%ebp),%ecx
59b835:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
59b838:	8b 55 d8             	mov    -0x28(%ebp),%edx
59b83b:	8b c3                	mov    %ebx,%eax
59b83d:	8b 30                	mov    (%eax),%esi
59b83f:	ff 56 08             	call   *0x8(%esi)
59b842:	8b 75 f0             	mov    -0x10(%ebp),%esi
59b845:	4e                   	dec    %esi
59b846:	85 f6                	test   %esi,%esi
59b848:	7c 16                	jl     0x59b860
59b84a:	46                   	inc    %esi
59b84b:	8b 55 d8             	mov    -0x28(%ebp),%edx
59b84e:	8b 45 d8             	mov    -0x28(%ebp),%eax
59b851:	83 c0 02             	add    $0x2,%eax
59b854:	e8 23 dc 00 00       	call   0x5a947c
59b859:	83 45 d8 03          	addl   $0x3,-0x28(%ebp)
59b85d:	4e                   	dec    %esi
59b85e:	75 eb                	jne    0x59b84b
59b860:	8b 45 0c             	mov    0xc(%ebp),%eax
59b863:	ff 40 0c             	incl   0xc(%eax)
59b866:	8b 45 0c             	mov    0xc(%ebp),%eax
59b869:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
59b86e:	74 21                	je     0x59b891
59b870:	8b 45 0c             	mov    0xc(%ebp),%eax
59b873:	db 40 0c             	fildl  0xc(%eax)
59b876:	8b 45 0c             	mov    0xc(%ebp),%eax
59b879:	dc 48 18             	fmull  0x18(%eax)
59b87c:	e8 4b 74 e6 ff       	call   0x402ccc
59b881:	8b c8                	mov    %eax,%ecx
59b883:	8b 75 0c             	mov    0xc(%ebp),%esi
59b886:	8b 55 0c             	mov    0xc(%ebp),%edx
59b889:	8b 52 08             	mov    0x8(%edx),%edx
59b88c:	8b 46 04             	mov    0x4(%esi),%eax
59b88f:	ff 16                	call   *(%esi)
59b891:	ff 45 e4             	incl   -0x1c(%ebp)
59b894:	ff 4d c8             	decl   -0x38(%ebp)
59b897:	75 8c                	jne    0x59b825
59b899:	e9 0b 02 00 00       	jmp    0x59baa9
59b89e:	8b 45 f4             	mov    -0xc(%ebp),%eax
59b8a1:	ba 3c bb 59 00       	mov    $0x59bb3c,%edx
59b8a6:	e8 b9 93 e6 ff       	call   0x404c64
59b8ab:	0f 85 ef 01 00 00    	jne    0x59baa0
59b8b1:	81 7d e8 00 00 01 00 	cmpl   $0x10000,-0x18(%ebp)
59b8b8:	0f 8d e2 01 00 00    	jge    0x59baa0
59b8be:	8b 06                	mov    (%esi),%eax
59b8c0:	c7 40 08 10 00 00 00 	movl   $0x10,0x8(%eax)
59b8c7:	8b 06                	mov    (%esi),%eax