5b644b:	3b 45 90             	cmp    -0x70(%ebp),%eax
5b644e:	7c 06                	jl     0x5b6456
5b6450:	8b 45 90             	mov    -0x70(%ebp),%eax
5b6453:	48                   	dec    %eax
5b6454:	eb 06                	jmp    0x5b645c
5b6456:	85 c0                	test   %eax,%eax
5b6458:	7d 02                	jge    0x5b645c
5b645a:	33 c0                	xor    %eax,%eax
5b645c:	8b d0                	mov    %eax,%edx
5b645e:	c1 ea 03             	shr    $0x3,%edx
5b6461:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
5b6464:	8a 14 11             	mov    (%ecx,%edx,1),%dl
5b6467:	83 e0 07             	and    $0x7,%eax
5b646a:	8b 0d 88 6d 6a 00    	mov    0x6a6d88,%ecx
5b6470:	22 14 01             	and    (%ecx,%eax,1),%dl
5b6473:	75 04                	jne    0x5b6479
5b6475:	33 d2                	xor    %edx,%edx
5b6477:	eb 02                	jmp    0x5b647b
5b6479:	b2 ff                	mov    $0xff,%dl
5b647b:	8b 45 b0             	mov    -0x50(%ebp),%eax
5b647e:	8b 44 f0 04          	mov    0x4(%eax,%esi,8),%eax
5b6482:	8b 44 d8 04          	mov    0x4(%eax,%ebx,8),%eax
5b6486:	01 45 ac             	add    %eax,-0x54(%ebp)
5b6489:	85 c0                	test   %eax,%eax
5b648b:	74 0c                	je     0x5b6499
5b648d:	81 e2 ff 00 00 00    	and    $0xff,%edx
5b6493:	0f af d0             	imul   %eax,%edx
5b6496:	01 55 a8             	add    %edx,-0x58(%ebp)
5b6499:	43                   	inc    %ebx
5b649a:	ff 8d 60 ff ff ff    	decl   -0xa0(%ebp)
5b64a0:	75 9f                	jne    0x5b6441
5b64a2:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
5b64a6:	75 0f                	jne    0x5b64b7
5b64a8:	8b 45 a8             	mov    -0x58(%ebp),%eax
5b64ab:	c1 e8 08             	shr    $0x8,%eax
5b64ae:	e8 81 2f ff ff       	call   0x5a9434
5b64b3:	8b d0                	mov    %eax,%edx
5b64b5:	eb 0e                	jmp    0x5b64c5
5b64b7:	8b 45 a8             	mov    -0x58(%ebp),%eax
5b64ba:	99                   	cltd
5b64bb:	f7 7d ac             	idivl  -0x54(%ebp)
5b64be:	e8 71 2f ff ff       	call   0x5a9434
5b64c3:	8b d0                	mov    %eax,%edx
5b64c5:	8b 45 9c             	mov    -0x64(%ebp),%eax
5b64c8:	88 10                	mov    %dl,(%eax)
5b64ca:	ff 45 9c             	incl   -0x64(%ebp)
5b64cd:	46                   	inc    %esi
5b64ce:	ff 8d 64 ff ff ff    	decl   -0x9c(%ebp)
5b64d4:	0f 85 49 ff ff ff    	jne    0x5b6423
5b64da:	ff 45 d4             	incl   -0x2c(%ebp)
5b64dd:	ff 8d 68 ff ff ff    	decl   -0x98(%ebp)
5b64e3:	0f 85 0a ff ff ff    	jne    0x5b63f3
5b64e9:	8b 45 88             	mov    -0x78(%ebp),%eax
5b64ec:	48                   	dec    %eax
5b64ed:	85 c0                	test   %eax,%eax
5b64ef:	7c 1e                	jl     0x5b650f
5b64f1:	40                   	inc    %eax
5b64f2:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
5b64f8:	33 f6                	xor    %esi,%esi
5b64fa:	8b 45 b0             	mov    -0x50(%ebp),%eax
5b64fd:	8b 44 f0 04          	mov    0x4(%eax,%esi,8),%eax
5b6501:	e8 c6 c2 e4 ff       	call   0x4027cc
5b6506:	46                   	inc    %esi
5b6507:	ff 8d 68 ff ff ff    	decl   -0x98(%ebp)
5b650d:	75 eb                	jne    0x5b64fa
5b650f:	8b 45 b0             	mov    -0x50(%ebp),%eax
5b6512:	e8 b5 c2 e4 ff       	call   0x4027cc
5b6517:	8b 45 84             	mov    -0x7c(%ebp),%eax
5b651a:	c1 e0 03             	shl    $0x3,%eax
5b651d:	e8 8a c2 e4 ff       	call   0x4027ac
5b6522:	89 45 b0             	mov    %eax,-0x50(%ebp)
5b6525:	dd 45 d8             	fldl   -0x28(%ebp)
5b6528:	d8 1d 4c 69 5b 00    	fcomps 0x5b694c
5b652e:	df e0                	fnstsw %ax
5b6530:	9e                   	sahf
5b6531:	0f 83 34 01 00 00    	jae    0x5b666b
5b6537:	dd 45 e8             	fldl   -0x18(%ebp)
5b653a:	dc 75 d8             	fdivl  -0x28(%ebp)
5b653d:	dd 5d c0             	fstpl  -0x40(%ebp)
5b6540:	9b d9 05 4c 69 5b 00 	flds   0x5b694c
5b6547:	dc 75 d8             	fdivl  -0x28(%ebp)
5b654a:	dd 5d b8             	fstpl  -0x48(%ebp)
5b654d:	9b                   	fwait
5b654e:	8b 45 84             	mov    -0x7c(%ebp),%eax
5b6551:	48                   	dec    %eax
5b6552:	85 c0                	test   %eax,%eax
5b6554:	0f 8c 1f 02 00 00    	jl     0x5b6779
5b655a:	40                   	inc    %eax
5b655b:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
5b6561:	33 f6                	xor    %esi,%esi
5b6563:	8b 45 b0             	mov    -0x50(%ebp),%eax
5b6566:	33 d2                	xor    %edx,%edx
5b6568:	89 14 f0             	mov    %edx,(%eax,%esi,8)
5b656b:	6a 00                	push   $0x0
5b656d:	6a 08                	push   $0x8
5b656f:	dd 45 c0             	fldl   -0x40(%ebp)
5b6572:	d8 0d 50 69 5b 00    	fmuls  0x5b6950
5b6578:	d8 05 4c 69 5b 00    	fadds  0x5b694c
5b657e:	e8 49 c7 e4 ff       	call   0x402ccc
5b6583:	e8 fc f4 e4 ff       	call   0x405a84
5b6588:	e8 1f c2 e4 ff       	call   0x4027ac
5b658d:	8b 55 b0             	mov    -0x50(%ebp),%edx
5b6590:	89 44 f2 04          	mov    %eax,0x4(%edx,%esi,8)
5b6594:	89 b5 5c ff ff ff    	mov    %esi,-0xa4(%ebp)
5b659a:	db 85 5c ff ff ff    	fildl  -0xa4(%ebp)
5b65a0:	dc 75 d8             	fdivl  -0x28(%ebp)
5b65a3:	dd 5d c8             	fstpl  -0x38(%ebp)
5b65a6:	9b dd 45 c8          	fldl   -0x38(%ebp)
5b65aa:	dc 65 c0             	fsubl  -0x40(%ebp)
5b65ad:	83 c4 f4             	add    $0xfffffff4,%esp
5b65b0:	db 3c 24             	fstpt  (%esp)
5b65b3:	9b                   	fwait
5b65b4:	e8 27 2d ff ff       	call   0x5a92e0
5b65b9:	8b d8                	mov    %eax,%ebx
5b65bb:	dd 45 c8             	fldl   -0x38(%ebp)
5b65be:	dc 45 c0             	faddl  -0x40(%ebp)
5b65c1:	83 c4 f4             	add    $0xfffffff4,%esp
5b65c4:	db 3c 24             	fstpt  (%esp)
5b65c7:	9b                   	fwait
5b65c8:	e8 e3 2c ff ff       	call   0x5a92b0
5b65cd:	2b c3                	sub    %ebx,%eax
5b65cf:	0f 8c 84 00 00 00    	jl     0x5b6659
5b65d5:	40                   	inc    %eax
5b65d6:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
5b65dc:	89 9d 5c ff ff ff    	mov    %ebx,-0xa4(%ebp)
5b65e2:	db 85 5c ff ff ff    	fildl  -0xa4(%ebp)
5b65e8:	dc 6d c8             	fsubrl -0x38(%ebp)
5b65eb:	dc 75 b8             	fdivl  -0x48(%ebp)
5b65ee:	83 c4 f8             	add    $0xfffffff8,%esp
5b65f1:	dd 1c 24             	fstpl  (%esp)
5b65f4:	9b                   	fwait
5b65f5:	ff 55 f0             	call   *-0x10(%ebp)
5b65f8:	d8 0d 54 69 5b 00    	fmuls  0x5b6954
5b65fe:	dc 75 b8             	fdivl  -0x48(%ebp)
5b6601:	e8 ba c6 e4 ff       	call   0x402cc0
5b6606:	85 c0                	test   %eax,%eax
5b6608:	74 46                	je     0x5b6650
5b660a:	85 db                	test   %ebx,%ebx
5b660c:	7d 06                	jge    0x5b6614
5b660e:	8b d3                	mov    %ebx,%edx
5b6610:	f7 da                	neg    %edx
5b6612:	eb 12                	jmp    0x5b6626
5b6614:	3b 5d 8c             	cmp    -0x74(%ebp),%ebx
5b6617:	7c 0b                	jl     0x5b6624
5b6619:	8b 55 8c             	mov    -0x74(%ebp),%edx
5b661c:	2b d3                	sub    %ebx,%edx
5b661e:	03 55 8c             	add    -0x74(%ebp),%edx
5b6621:	4a                   	dec    %edx
5b6622:	eb 02                	jmp    0x5b6626
5b6624:	8b d3                	mov    %ebx,%edx
5b6626:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5b6629:	8b 0c f1             	mov    (%ecx,%esi,8),%ecx
5b662c:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
5b662f:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5b6632:	ff 04 f1             	incl   (%ecx,%esi,8)
5b6635:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5b6638:	8b 4c f1 04          	mov    0x4(%ecx,%esi,8),%ecx
5b663c:	8b 7d d4             	mov    -0x2c(%ebp),%edi
5b663f:	89 14 f9             	mov    %edx,(%ecx,%edi,8)
5b6642:	8b 55 b0             	mov    -0x50(%ebp),%edx
5b6645:	8b 54 f2 04          	mov    0x4(%edx,%esi,8),%edx
5b6649:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5b664c:	89 44 ca 04          	mov    %eax,0x4(%edx,%ecx,8)
5b6650:	43                   	inc    %ebx
5b6651:	ff 8d 64 ff ff ff    	decl   -0x9c(%ebp)
5b6657:	75 83                	jne    0x5b65dc
5b6659:	46                   	inc    %esi
5b665a:	ff 8d 68 ff ff ff    	decl   -0x98(%ebp)
5b6660:	0f 85 fd fe ff ff    	jne    0x5b6563
5b6666:	e9 0e 01 00 00       	jmp    0x5b6779
5b666b:	8b 45 84             	mov    -0x7c(%ebp),%eax
5b666e:	48                   	dec    %eax
5b666f:	85 c0                	test   %eax,%eax
5b6671:	0f 8c 02 01 00 00    	jl     0x5b6779
5b6677:	40                   	inc    %eax
5b6678:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
5b667e:	33 f6                	xor    %esi,%esi
5b6680:	8b 45 b0             	mov    -0x50(%ebp),%eax
5b6683:	33 d2                	xor    %edx,%edx
5b6685:	89 14 f0             	mov    %edx,(%eax,%esi,8)
5b6688:	6a 00                	push   $0x0
5b668a:	6a 08                	push   $0x8
5b668c:	dd 45 e8             	fldl   -0x18(%ebp)
5b668f:	d8 0d 50 69 5b 00    	fmuls  0x5b6950
5b6695:	d8 05 4c 69 5b 00    	fadds  0x5b694c
5b669b:	e8 2c c6 e4 ff       	call   0x402ccc
5b66a0:	e8 df f3 e4 ff       	call   0x405a84
5b66a5:	e8 02 c1 e4 ff       	call   0x4027ac
5b66aa:	8b 55 b0             	mov    -0x50(%ebp),%edx
5b66ad:	89 44 f2 04          	mov    %eax,0x4(%edx,%esi,8)
5b66b1:	89 b5 5c ff ff ff    	mov    %esi,-0xa4(%ebp)
5b66b7:	db 85 5c ff ff ff    	fildl  -0xa4(%ebp)
5b66bd:	dc 75 d8             	fdivl  -0x28(%ebp)
5b66c0:	dd 5d c8             	fstpl  -0x38(%ebp)
5b66c3:	9b dd 45 c8          	fldl   -0x38(%ebp)
5b66c7:	dc 65 e8             	fsubl  -0x18(%ebp)
5b66ca:	83 c4 f4             	add    $0xfffffff4,%esp
5b66cd:	db 3c 24             	fstpt  (%esp)
5b66d0:	9b                   	fwait
5b66d1:	e8 0a 2c ff ff       	call   0x5a92e0
5b66d6:	8b d8                	mov    %eax,%ebx
5b66d8:	dd 45 c8             	fldl   -0x38(%ebp)
5b66db:	dc 45 e8             	faddl  -0x18(%ebp)
5b66de:	83 c4 f4             	add    $0xfffffff4,%esp
5b66e1:	db 3c 24             	fstpt  (%esp)
5b66e4:	9b                   	fwait
5b66e5:	e8 c6 2b ff ff       	call   0x5a92b0
5b66ea:	2b c3                	sub    %ebx,%eax
5b66ec:	7c 7e                	jl     0x5b676c
5b66ee:	40                   	inc    %eax
5b66ef:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
5b66f5:	89 9d 5c ff ff ff    	mov    %ebx,-0xa4(%ebp)
5b66fb:	db 85 5c ff ff ff    	fildl  -0xa4(%ebp)
5b6701:	dc 6d c8             	fsubrl -0x38(%ebp)
5b6704:	83 c4 f8             	add    $0xfffffff8,%esp
5b6707:	dd 1c 24             	fstpl  (%esp)
5b670a:	9b                   	fwait
5b670b:	ff 55 f0             	call   *-0x10(%ebp)
5b670e:	d8 0d 54 69 5b 00    	fmuls  0x5b6954
5b6714:	e8 a7 c5 e4 ff       	call   0x402cc0
5b6719:	85 c0                	test   %eax,%eax
5b671b:	74 46                	je     0x5b6763
5b671d:	85 db                	test   %ebx,%ebx
5b671f:	7d 06                	jge    0x5b6727
5b6721:	8b d3                	mov    %ebx,%edx
5b6723:	f7 da                	neg    %edx
5b6725:	eb 12                	jmp    0x5b6739
5b6727:	3b 5d 8c             	cmp    -0x74(%ebp),%ebx
5b672a:	7c 0b                	jl     0x5b6737
5b672c:	8b 55 8c             	mov    -0x74(%ebp),%edx
5b672f:	2b d3                	sub    %ebx,%edx
5b6731:	03 55 8c             	add    -0x74(%ebp),%edx
5b6734:	4a                   	dec    %edx
5b6735:	eb 02                	jmp    0x5b6739
5b6737:	8b d3                	mov    %ebx,%edx
5b6739:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5b673c:	8b 0c f1             	mov    (%ecx,%esi,8),%ecx
5b673f:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
5b6742:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5b6745:	ff 04 f1             	incl   (%ecx,%esi,8)
5b6748:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5b674b:	8b 4c f1 04          	mov    0x4(%ecx,%esi,8),%ecx
5b674f:	8b 7d d4             	mov    -0x2c(%ebp),%edi
5b6752:	89 14 f9             	mov    %edx,(%ecx,%edi,8)
5b6755:	8b 55 b0             	mov    -0x50(%ebp),%edx
5b6758:	8b 54 f2 04          	mov    0x4(%edx,%esi,8),%edx
5b675c:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5b675f:	89 44 ca 04          	mov    %eax,0x4(%edx,%ecx,8)
5b6763:	43                   	inc    %ebx
5b6764:	ff 8d 64 ff ff ff    	decl   -0x9c(%ebp)
5b676a:	75 89                	jne    0x5b66f5
5b676c:	46                   	inc    %esi
5b676d:	ff 8d 68 ff ff ff    	decl   -0x98(%ebp)
5b6773:	0f 85 07 ff ff ff    	jne    0x5b6680
5b6779:	33 d2                	xor    %edx,%edx
5b677b:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5b677e:	e8 91 df 03 00       	call   0x5f4714
5b6783:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b6786:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5b6789:	8b 40 10             	mov    0x10(%eax),%eax
5b678c:	f7 d8                	neg    %eax
5b678e:	89 45 94             	mov    %eax,-0x6c(%ebp)
5b6791:	33 c0                	xor    %eax,%eax
5b6793:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
5b6799:	33 d2                	xor    %edx,%edx
5b679b:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5b679e:	e8 71 df 03 00       	call   0x5f4714
5b67a3:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
5b67a9:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5b67ac:	8b 50 08             	mov    0x8(%eax),%edx
5b67af:	4a                   	dec    %edx
5b67b0:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5b67b3:	e8 5c df 03 00       	call   0x5f4714
5b67b8:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
5b67be:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
5b67c4:	3b 85 70 ff ff ff    	cmp    -0x90(%ebp),%eax
5b67ca:	7e 11                	jle    0x5b67dd
5b67cc:	8d 95 70 ff ff ff    	lea    -0x90(%ebp),%edx
5b67d2:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
5b67d8:	e8 6b 2c ff ff       	call   0x5a9448
5b67dd:	8b 45 94             	mov    -0x6c(%ebp),%eax
5b67e0:	99                   	cltd
5b67e1:	33 c2                	xor    %edx,%eax
5b67e3:	2b c2                	sub    %edx,%eax
5b67e5:	48                   	dec    %eax
5b67e6:	01 85 70 ff ff ff    	add    %eax,-0x90(%ebp)
5b67ec:	8b 45 88             	mov    -0x78(%ebp),%eax
5b67ef:	48                   	dec    %eax
5b67f0:	85 c0                	test   %eax,%eax
5b67f2:	0f 8c f9 00 00 00    	jl     0x5b68f1
5b67f8:	40                   	inc    %eax
5b67f9:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
5b67ff:	8b 45 84             	mov    -0x7c(%ebp),%eax
5b6802:	48                   	dec    %eax
5b6803:	85 c0                	test   %eax,%eax
5b6805:	0f 8c d1 00 00 00    	jl     0x5b68dc
5b680b:	40                   	inc    %eax
5b680c:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
5b6812:	33 f6                	xor    %esi,%esi
5b6814:	8b d6                	mov    %esi,%edx
5b6816:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b6819:	8b 08                	mov    (%eax),%ecx
5b681b:	ff 11                	call   *(%ecx)
5b681d:	89 45 98             	mov    %eax,-0x68(%ebp)
5b6820:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
5b6826:	8d 04 40             	lea    (%eax,%eax,2),%eax
5b6829:	01 45 98             	add    %eax,-0x68(%ebp)
5b682c:	33 c0                	xor    %eax,%eax
5b682e:	89 45 a8             	mov    %eax,-0x58(%ebp)
5b6831:	33 c0                	xor    %eax,%eax
5b6833:	89 45 ac             	mov    %eax,-0x54(%ebp)
5b6836:	8b 45 b0             	mov    -0x50(%ebp),%eax
5b6839:	8b 04 f0             	mov    (%eax,%esi,8),%eax
5b683c:	48                   	dec    %eax
5b683d:	85 c0                	test   %eax,%eax
5b683f:	7c 60                	jl     0x5b68a1
5b6841:	40                   	inc    %eax
5b6842:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
5b6848:	33 db                	xor    %ebx,%ebx
5b684a:	8b 45 b0             	mov    -0x50(%ebp),%eax
5b684d:	8b 44 f0 04          	mov    0x4(%eax,%esi,8),%eax
5b6851:	8b 04 d8             	mov    (%eax,%ebx,8),%eax
5b6854:	f7 6d 94             	imull  -0x6c(%ebp)
5b6857:	03 45 a4             	add    -0x5c(%ebp),%eax
5b685a:	3b 85 74 ff ff ff    	cmp    -0x8c(%ebp),%eax
5b6860:	7d 08                	jge    0x5b686a
5b6862:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
5b6868:	eb 0e                	jmp    0x5b6878
5b686a:	3b 85 70 ff ff ff    	cmp    -0x90(%ebp),%eax
5b6870:	7e 06                	jle    0x5b6878
5b6872:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
5b6878:	8a 10                	mov    (%eax),%dl
5b687a:	8b 45 b0             	mov    -0x50(%ebp),%eax
5b687d:	8b 44 f0 04          	mov    0x4(%eax,%esi,8),%eax
5b6881:	8b 44 d8 04          	mov    0x4(%eax,%ebx,8),%eax
5b6885:	01 45 ac             	add    %eax,-0x54(%ebp)
5b6888:	85 c0                	test   %eax,%eax
5b688a:	74 0c                	je     0x5b6898
5b688c:	81 e2 ff 00 00 00    	and    $0xff,%edx
5b6892:	0f af d0             	imul   %eax,%edx
5b6895:	01 55 a8             	add    %edx,-0x58(%ebp)
5b6898:	43                   	inc    %ebx
5b6899:	ff 8d 60 ff ff ff    	decl   -0xa0(%ebp)
5b689f:	75 a9                	jne    0x5b684a
5b68a1:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
5b68a5:	75 0f                	jne    0x5b68b6
5b68a7:	8b 45 a8             	mov    -0x58(%ebp),%eax
5b68aa:	c1 e8 08             	shr    $0x8,%eax
5b68ad:	e8 82 2b ff ff       	call   0x5a9434
5b68b2:	8b d0                	mov    %eax,%edx