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
5b68b4:	eb 0e                	jmp    0x5b68c4
5b68b6:	8b 45 a8             	mov    -0x58(%ebp),%eax
5b68b9:	99                   	cltd
5b68ba:	f7 7d ac             	idivl  -0x54(%ebp)
5b68bd:	e8 72 2b ff ff       	call   0x5a9434
5b68c2:	8b d0                	mov    %eax,%edx
5b68c4:	8b 45 98             	mov    -0x68(%ebp),%eax
5b68c7:	88 50 02             	mov    %dl,0x2(%eax)
5b68ca:	88 50 01             	mov    %dl,0x1(%eax)
5b68cd:	88 10                	mov    %dl,(%eax)
5b68cf:	46                   	inc    %esi
5b68d0:	ff 8d 64 ff ff ff    	decl   -0x9c(%ebp)
5b68d6:	0f 85 38 ff ff ff    	jne    0x5b6814
5b68dc:	ff 45 a4             	incl   -0x5c(%ebp)
5b68df:	ff 85 6c ff ff ff    	incl   -0x94(%ebp)
5b68e5:	ff 8d 68 ff ff ff    	decl   -0x98(%ebp)
5b68eb:	0f 85 0e ff ff ff    	jne    0x5b67ff
5b68f1:	8b 45 84             	mov    -0x7c(%ebp),%eax
5b68f4:	48                   	dec    %eax
5b68f5:	85 c0                	test   %eax,%eax
5b68f7:	7c 1e                	jl     0x5b6917
5b68f9:	40                   	inc    %eax
5b68fa:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
5b6900:	33 f6                	xor    %esi,%esi
5b6902:	8b 45 b0             	mov    -0x50(%ebp),%eax
5b6905:	8b 44 f0 04          	mov    0x4(%eax,%esi,8),%eax
5b6909:	e8 be be e4 ff       	call   0x4027cc
5b690e:	46                   	inc    %esi
5b690f:	ff 8d 68 ff ff ff    	decl   -0x98(%ebp)
5b6915:	75 eb                	jne    0x5b6902
5b6917:	8b 45 b0             	mov    -0x50(%ebp),%eax
5b691a:	e8 ad be e4 ff       	call   0x4027cc
5b691f:	33 c0                	xor    %eax,%eax
5b6921:	5a                   	pop    %edx
5b6922:	59                   	pop    %ecx
5b6923:	59                   	pop    %ecx
5b6924:	64 89 10             	mov    %edx,%fs:(%eax)
5b6927:	68 3c 69 5b 00       	push   $0x5b693c
5b692c:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5b692f:	e8 44 d1 e4 ff       	call   0x403a78
5b6934:	c3                   	ret
5b6935:	e9 d2 d8 e4 ff       	jmp    0x40420c
5b693a:	eb f0                	jmp    0x5b692c
5b693c:	5f                   	pop    %edi
5b693d:	5e                   	pop    %esi
5b693e:	5b                   	pop    %ebx
5b693f:	8b e5                	mov    %ebp,%esp
5b6941:	5d                   	pop    %ebp
5b6942:	c3                   	ret
5b6943:	00 00                	add    %al,(%eax)
5b6945:	00 00                	add    %al,(%eax)
5b6947:	3f                   	aas
5b6948:	00 00                	add    %al,(%eax)
5b694a:	c8 42 00 00          	enter  $0x42,$0x0
5b694e:	80 3f 00             	cmpb   $0x0,(%edi)
5b6951:	00 00                	add    %al,(%eax)
5b6953:	40                   	inc    %eax
5b6954:	00 00                	add    %al,(%eax)
5b6956:	80 43 55 8b          	addb   $0x8b,0x55(%ebx)
5b695a:	ec                   	in     (%dx),%al
5b695b:	81 c4 30 ff ff ff    	add    $0xffffff30,%esp
5b6961:	53                   	push   %ebx
5b6962:	56                   	push   %esi
5b6963:	57                   	push   %edi
5b6964:	88 4d f7             	mov    %cl,-0x9(%ebp)
5b6967:	89 55 f8             	mov    %edx,-0x8(%ebp)
5b696a:	89 45 fc             	mov    %eax,-0x4(%ebp)
5b696d:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b6970:	8b 10                	mov    (%eax),%edx
5b6972:	ff 52 10             	call   *0x10(%edx)
5b6975:	3c 05                	cmp    $0x5,%al
5b6977:	0f 85 5d 0b 00 00    	jne    0x5b74da
5b697d:	80 7d f7 09          	cmpb   $0x9,-0x9(%ebp)
5b6981:	75 19                	jne    0x5b699c
5b6983:	ff 75 10             	push   0x10(%ebp)
5b6986:	ff 75 0c             	push   0xc(%ebp)
5b6989:	8b 4d 08             	mov    0x8(%ebp),%ecx
5b698c:	8b 55 f8             	mov    -0x8(%ebp),%edx
5b698f:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b6992:	e8 61 0b 00 00       	call   0x5b74f8
5b6997:	e9 3e 0b 00 00       	jmp    0x5b74da
5b699c:	80 7d f7 0b          	cmpb   $0xb,-0x9(%ebp)
5b69a0:	75 1f                	jne    0x5b69c1
5b69a2:	ff 75 10             	push   0x10(%ebp)
5b69a5:	ff 75 0c             	push   0xc(%ebp)
5b69a8:	8b 45 08             	mov    0x8(%ebp),%eax
5b69ab:	50                   	push   %eax
5b69ac:	b9 01 00 00 00       	mov    $0x1,%ecx
5b69b1:	8b 55 f8             	mov    -0x8(%ebp),%edx
5b69b4:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b69b7:	e8 4c 5e 00 00       	call   0x5bc808
5b69bc:	e9 19 0b 00 00       	jmp    0x5b74da
5b69c1:	80 7d f7 0a          	cmpb   $0xa,-0x9(%ebp)
5b69c5:	75 1c                	jne    0x5b69e3
5b69c7:	ff 75 10             	push   0x10(%ebp)
5b69ca:	ff 75 0c             	push   0xc(%ebp)
5b69cd:	8b 45 08             	mov    0x8(%ebp),%eax
5b69d0:	50                   	push   %eax
5b69d1:	33 c9                	xor    %ecx,%ecx
5b69d3:	8b 55 f8             	mov    -0x8(%ebp),%edx
5b69d6:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b69d9:	e8 2a 5e 00 00       	call   0x5bc808
5b69de:	e9 f7 0a 00 00       	jmp    0x5b74da
5b69e3:	80 7d f7 0c          	cmpb   $0xc,-0x9(%ebp)
5b69e7:	75 1c                	jne    0x5b6a05
5b69e9:	ff 75 10             	push   0x10(%ebp)
5b69ec:	ff 75 0c             	push   0xc(%ebp)
5b69ef:	8b 45 08             	mov    0x8(%ebp),%eax
5b69f2:	50                   	push   %eax
5b69f3:	33 c9                	xor    %ecx,%ecx
5b69f5:	8b 55 f8             	mov    -0x8(%ebp),%edx
5b69f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b69fb:	e8 c4 15 00 00       	call   0x5b7fc4
5b6a00:	e9 d5 0a 00 00       	jmp    0x5b74da
5b6a05:	80 7d f7 0d          	cmpb   $0xd,-0x9(%ebp)
5b6a09:	75 1c                	jne    0x5b6a27
5b6a0b:	ff 75 10             	push   0x10(%ebp)
5b6a0e:	ff 75 0c             	push   0xc(%ebp)
5b6a11:	8b 45 08             	mov    0x8(%ebp),%eax
5b6a14:	50                   	push   %eax
5b6a15:	b1 01                	mov    $0x1,%cl
5b6a17:	8b 55 f8             	mov    -0x8(%ebp),%edx
5b6a1a:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b6a1d:	e8 a2 15 00 00       	call   0x5b7fc4
5b6a22:	e9 b3 0a 00 00       	jmp    0x5b74da
5b6a27:	33 c0                	xor    %eax,%eax
5b6a29:	8a 45 f7             	mov    -0x9(%ebp),%al
5b6a2c:	03 c0                	add    %eax,%eax
5b6a2e:	8b 04 c5 f4 51 6a 00 	mov    0x6a51f4(,%eax,8),%eax
5b6a35:	89 45 f0             	mov    %eax,-0x10(%ebp)
5b6a38:	33 c0                	xor    %eax,%eax
5b6a3a:	8a 45 f7             	mov    -0x9(%ebp),%al
5b6a3d:	03 c0                	add    %eax,%eax
5b6a3f:	8b 14 c5 fc 51 6a 00 	mov    0x6a51fc(,%eax,8),%edx
5b6a46:	89 55 e8             	mov    %edx,-0x18(%ebp)
5b6a49:	8b 14 c5 00 52 6a 00 	mov    0x6a5200(,%eax,8),%edx
5b6a50:	89 55 ec             	mov    %edx,-0x14(%ebp)
5b6a53:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b6a56:	8b 10                	mov    (%eax),%edx
5b6a58:	ff 52 0c             	call   *0xc(%edx)
5b6a5b:	89 45 80             	mov    %eax,-0x80(%ebp)
5b6a5e:	8b 45 f8             	mov    -0x8(%ebp),%eax
5b6a61:	8b 10                	mov    (%eax),%edx
5b6a63:	ff 52 08             	call   *0x8(%edx)
5b6a66:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
5b6a6c:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b6a6f:	8b 10                	mov    (%eax),%edx
5b6a71:	ff 52 0c             	call   *0xc(%edx)
5b6a74:	89 45 88             	mov    %eax,-0x78(%ebp)
5b6a77:	8b 45 fc             	mov    -0x4(%ebp),%eax
5b6a7a:	8b 10                	mov    (%eax),%edx
5b6a7c:	ff 52 08             	call   *0x8(%edx)
5b6a7f:	89 45 84             	mov    %eax,-0x7c(%ebp)
5b6a82:	83 7d 88 00          	cmpl   $0x0,-0x78(%ebp)
5b6a86:	0f 84 4e 0a 00 00    	je     0x5b74da
5b6a8c:	83 7d 84 00          	cmpl   $0x0,-0x7c(%ebp)
5b6a90:	0f 84 44 0a 00 00    	je     0x5b74da
5b6a96:	83 7d 88 02          	cmpl   $0x2,-0x78(%ebp)
5b6a9a:	7d 0a                	jge    0x5b6aa6
5b6a9c:	83 7d 84 02          	cmpl   $0x2,-0x7c(%ebp)
5b6aa0:	0f 8c 34 0a 00 00    	jl     0x5b74da
5b6aa6:	8b 45 84             	mov    -0x7c(%ebp),%eax
5b6aa9:	03 45 80             	add    -0x80(%ebp),%eax
5b6aac:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
5b6ab2:	db 85 34 ff ff ff    	fildl  -0xcc(%ebp)
5b6ab8:	d8 05 e4 74 5b 00    	fadds  0x5b74e4
5b6abe:	d8 3d e8 74 5b 00    	fdivrs 0x5b74e8
5b6ac4:	dd 9d 70 ff ff ff    	fstpl  -0x90(%ebp)
5b6aca:	9b                   	fwait
5b6acb:	33 c0                	xor    %eax,%eax
5b6acd:	89 45 a4             	mov    %eax,-0x5c(%ebp)
5b6ad0:	33 c9                	xor    %ecx,%ecx
5b6ad2:	55                   	push   %ebp
5b6ad3:	68 d3 74 5b 00       	push   $0x5b74d3
5b6ad8:	64 ff 31             	push   %fs:(%ecx)